1: <?php
2: 3: 4: 5:
6:
7: if (!defined('XOOPS_ROOT_PATH')) exit();
8:
9: require_once XOOPS_MODULE_PATH . "/user/class/AbstractFilterForm.class.php";
10:
11: define('RANKS_SORT_KEY_RANK_ID', 1);
12: define('RANKS_SORT_KEY_RANK_TITLE', 2);
13: define('RANKS_SORT_KEY_RANK_MIN', 3);
14: define('RANKS_SORT_KEY_RANK_MAX', 4);
15: define('RANKS_SORT_KEY_RANK_SPECIAL', 5);
16: define('RANKS_SORT_KEY_MAXVALUE', 5);
17:
18: define('RANKS_SORT_KEY_DEFAULT', RANKS_SORT_KEY_RANK_ID);
19:
20: class User_RanksFilterForm extends User_AbstractFilterForm
21: {
22: var $mSortKeys = array(
23: RANKS_SORT_KEY_RANK_ID => 'rank_id',
24: RANKS_SORT_KEY_RANK_TITLE => 'rank_title',
25: RANKS_SORT_KEY_RANK_MIN => 'rank_min',
26: RANKS_SORT_KEY_RANK_MAX => 'rank_max',
27: RANKS_SORT_KEY_RANK_SPECIAL => 'rank_special'
28: );
29:
30: var $mKeyword = "";
31: var $mOptionField = "";
32:
33: function getDefaultSortKey()
34: {
35: return RANKS_SORT_KEY_DEFAULT;
36: }
37:
38: function fetch()
39: {
40: parent::fetch();
41:
42: $root =& XCube_Root::getSingleton();
43: $rank_special = $root->mContext->mRequest->getRequest('rank_special');
44: $option_field = $root->mContext->mRequest->getRequest('option_field');
45: $search = $root->mContext->mRequest->getRequest('search');
46: if (isset($_REQUEST['rank_special'])) {
47: $this->mNavi->addExtra('rank_special', xoops_getrequest('rank_special'));
48: $this->_mCriteria->add(new Criteria('rank_special', xoops_getrequest('rank_special')));
49: }
50:
51: if (isset($_REQUEST['option_field'])) {
52: $this->mNavi->addExtra('option_field', xoops_getrequest('option_field'));
53: $this->mOptionField = $option_field;
54: if ( $this->mOptionField == "special" ) {
55:
56: $this->_mCriteria->add(new Criteria('rank_special', '1'));
57: }
58: elseif ( $this->mOptionField == "normal" ) {
59:
60: $this->_mCriteria->add(new Criteria('rank_special', '0'));
61: }
62: else {
63:
64: }
65: }
66:
67:
68: if (!empty($search)) {
69: $this->mKeyword = $search;
70: $this->mNavi->addExtra('search', $this->mKeyword);
71: $this->_mCriteria->add(new Criteria('rank_title', '%' . $this->mKeyword . '%', 'LIKE'));
72: }
73:
74: $this->_mCriteria->addSort($this->getSort(), $this->getOrder());
75: }
76: }
77:
78: ?>
79: