1: <?php
2:
3: if (!defined('XOOPS_ROOT_PATH')) exit();
4:
5: require_once XOOPS_ROOT_PATH . "/core/XCube_ActionForm.class.php";
6: require_once XOOPS_MODULE_PATH . "/legacy/class/Legacy_Validator.class.php";
7:
8: class User_UserSearchForm extends XCube_ActionForm
9: {
10: function prepare()
11: {
12:
13:
14:
15: $this->mFormProperties['uname'] =new XCube_StringProperty('uname');
16: $this->mFormProperties['name'] =new XCube_StringProperty('name');
17: $this->mFormProperties['email'] =new XCube_StringProperty('email');
18: $this->mFormProperties['user_icq'] =new XCube_StringProperty('user_icq');
19: $this->mFormProperties['user_aim'] =new XCube_StringProperty('user_aim');
20: $this->mFormProperties['user_yim'] =new XCube_StringProperty('user_yim');
21: $this->mFormProperties['user_msnm'] =new XCube_StringProperty('user_msnm');
22: $this->mFormProperties['url'] =new XCube_StringProperty('url');
23: $this->mFormProperties['user_from'] =new XCube_StringProperty('user_from');
24: $this->mFormProperties['user_occ'] =new XCube_StringProperty('user_occ');
25: $this->mFormProperties['user_intrest'] =new XCube_StringProperty('user_intrest');
26: $this->mFormProperties['lastlog_more'] =new XCube_IntProperty('lastlog_more');
27: $this->mFormProperties['lastlog_less'] =new XCube_IntProperty('lastlog_less');
28: $this->mFormProperties['regdate_more'] =new XCube_IntProperty('regdate_more');
29: $this->mFormProperties['regdate_less'] =new XCube_IntProperty('regdate_less');
30: $this->mFormProperties['over_posts'] =new XCube_IntProperty('over_posts');
31: $this->mFormProperties['under_posts'] =new XCube_IntProperty('under_posts');
32: $this->mFormProperties['mail_condition'] =new XCube_IntProperty('mail_condition');
33: $this->mFormProperties['user_level'] =new XCube_IntProperty('user_level');
34: $this->mFormProperties['groups'] =new XCube_IntArrayProperty('groups');
35:
36: $this->mFormProperties['user_uname_match'] =new XCube_IntProperty('user_uname_match');
37: $this->mFormProperties['user_name_match'] =new XCube_IntProperty('user_name_match');
38: $this->mFormProperties['user_email_match'] =new XCube_IntProperty('user_email_match');
39: $this->mFormProperties['user_icq_match'] =new XCube_IntProperty('user_icq_match');
40: $this->mFormProperties['user_aim_match'] =new XCube_IntProperty('user_aim_match');
41: $this->mFormProperties['user_yim_match'] =new XCube_IntProperty('user_yim_match');
42: $this->mFormProperties['user_msnm_match'] =new XCube_IntProperty('user_msnm_match');
43:
44:
45:
46:
47: $this->mFieldProperties['uname'] =new XCube_FieldProperty($this);
48: $this->mFieldProperties['uname']->setDependsByArray(array('maxlength'));
49: $this->mFieldProperties['uname']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_UNAME, '25');
50: $this->mFieldProperties['uname']->addVar('maxlength', '25');
51:
52: $this->mFieldProperties['name'] =new XCube_FieldProperty($this);
53: $this->mFieldProperties['name']->setDependsByArray(array('maxlength'));
54: $this->mFieldProperties['name']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_NAME, '60');
55: $this->mFieldProperties['name']->addVar('maxlength', '60');
56:
57: $this->mFieldProperties['email'] =new XCube_FieldProperty($this);
58: $this->mFieldProperties['email']->setDependsByArray(array('maxlength'));
59: $this->mFieldProperties['email']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_EMAIL, '60');
60: $this->mFieldProperties['email']->addVar('maxlength', '60');
61:
62: $this->mFieldProperties['user_icq'] =new XCube_FieldProperty($this);
63: $this->mFieldProperties['user_icq']->setDependsByArray(array('maxlength'));
64: $this->mFieldProperties['user_icq']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_USER_ICQ, '15');
65: $this->mFieldProperties['user_icq']->addVar('maxlength', '15');
66:
67: $this->mFieldProperties['user_aim'] =new XCube_FieldProperty($this);
68: $this->mFieldProperties['user_aim']->setDependsByArray(array('maxlength'));
69: $this->mFieldProperties['user_aim']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_USER_AIM, '18');
70: $this->mFieldProperties['user_aim']->addVar('maxlength', '18');
71:
72: $this->mFieldProperties['user_yim'] =new XCube_FieldProperty($this);
73: $this->mFieldProperties['user_yim']->setDependsByArray(array('maxlength'));
74: $this->mFieldProperties['user_yim']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_USER_YIM, '25');
75: $this->mFieldProperties['user_yim']->addVar('maxlength', '25');
76:
77: $this->mFieldProperties['user_msnm'] =new XCube_FieldProperty($this);
78: $this->mFieldProperties['user_msnm']->setDependsByArray(array('maxlength'));
79: $this->mFieldProperties['user_msnm']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_USER_MSNM, '100');
80: $this->mFieldProperties['user_msnm']->addVar('maxlength', '100');
81:
82: $this->mFieldProperties['url'] =new XCube_FieldProperty($this);
83: $this->mFieldProperties['url']->setDependsByArray(array('maxlength'));
84: $this->mFieldProperties['url']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_URL, '100');
85: $this->mFieldProperties['url']->addVar('maxlength', '100');
86:
87: $this->mFieldProperties['user_from'] =new XCube_FieldProperty($this);
88: $this->mFieldProperties['user_from']->setDependsByArray(array('maxlength'));
89: $this->mFieldProperties['user_from']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_USER_FROM, '100');
90: $this->mFieldProperties['user_from']->addVar('maxlength', '100');
91:
92: $this->mFieldProperties['user_occ'] =new XCube_FieldProperty($this);
93: $this->mFieldProperties['user_occ']->setDependsByArray(array('maxlength'));
94: $this->mFieldProperties['user_occ']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_USER_OCC, '100');
95: $this->mFieldProperties['user_occ']->addVar('maxlength', '100');
96:
97: $this->mFieldProperties['user_intrest'] =new XCube_FieldProperty($this);
98: $this->mFieldProperties['user_intrest']->setDependsByArray(array('maxlength'));
99: $this->mFieldProperties['user_intrest']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_USER_INTREST, '150');
100: $this->mFieldProperties['user_intrest']->addVar('maxlength', '150');
101:
102: $this->mFieldProperties['lastlog_more'] =new XCube_FieldProperty($this);
103: $this->mFieldProperties['lastlog_more']->setDependsByArray(array('intRange'));
104: $this->mFieldProperties['lastlog_more']->addMessage('intRange', _AD_USER_ERROR_INTRANGE, _AD_USER_LANG_LASTLOG_MORE, '0');
105: $this->mFieldProperties['lastlog_more']->addVar('min', '0');
106: $this->mFieldProperties['lastlog_more']->addVar('max', '65535');
107:
108: $this->mFieldProperties['lastlog_less'] =new XCube_FieldProperty($this);
109: $this->mFieldProperties['lastlog_less']->setDependsByArray(array('intRange'));
110: $this->mFieldProperties['lastlog_less']->addMessage('intRange', _AD_USER_ERROR_INTRANGE, _AD_USER_LANG_LASTLOG_LESS, '0');
111: $this->mFieldProperties['lastlog_less']->addVar('min', '0');
112: $this->mFieldProperties['lastlog_less']->addVar('max', '65535');
113:
114: $this->mFieldProperties['regdate_more'] =new XCube_FieldProperty($this);
115: $this->mFieldProperties['regdate_more']->setDependsByArray(array('intRange'));
116: $this->mFieldProperties['regdate_more']->addMessage('intRange', _AD_USER_ERROR_INTRANGE, _AD_USER_LANG_REGDATE_MORE, '0');
117: $this->mFieldProperties['regdate_more']->addVar('min', '0');
118: $this->mFieldProperties['regdate_more']->addVar('max', '65535');
119:
120: $this->mFieldProperties['regdate_less'] =new XCube_FieldProperty($this);
121: $this->mFieldProperties['regdate_less']->setDependsByArray(array('intRange'));
122: $this->mFieldProperties['regdate_less']->addMessage('intRange', _AD_USER_ERROR_INTRANGE, _AD_USER_LANG_REGDATE_LESS, '0');
123: $this->mFieldProperties['regdate_less']->addVar('min', '0');
124: $this->mFieldProperties['regdate_less']->addVar('max', '65535');
125:
126: $this->mFieldProperties['over_posts'] =new XCube_FieldProperty($this);
127: $this->mFieldProperties['over_posts']->setDependsByArray(array('intRange'));
128: $this->mFieldProperties['over_posts']->addMessage('intRange', _AD_USER_ERROR_INTRANGE, _AD_USER_LANG_OVER_POSTS, '0');
129: $this->mFieldProperties['over_posts']->addVar('min', '0');
130: $this->mFieldProperties['over_posts']->addVar('max', '65535');
131:
132: $this->mFieldProperties['under_posts'] =new XCube_FieldProperty($this);
133: $this->mFieldProperties['under_posts']->setDependsByArray(array('intRange'));
134: $this->mFieldProperties['under_posts']->addMessage('intRange', _AD_USER_ERROR_INTRANGE, _AD_USER_LANG_UNDER_POSTS, '0');
135: $this->mFieldProperties['under_posts']->addVar('min', '0');
136: $this->mFieldProperties['under_posts']->addVar('max', '65535');
137:
138: $this->mFieldProperties['mail_condition'] =new XCube_FieldProperty($this);
139: $this->mFieldProperties['mail_condition']->setDependsByArray(array('required','intRange'));
140: $this->mFieldProperties['mail_condition']->addMessage('required', _MD_USER_ERROR_REQUIRED, _AD_USER_LANG_DISPLAY_USER_MAIL_CONDITION);
141: $this->mFieldProperties['mail_condition']->addMessage('intRange', _AD_USER_ERROR_INTRANGE, _AD_USER_LANG_DISPLAY_USER_MAIL_CONDITION);
142: $this->mFieldProperties['mail_condition']->addVar('min', '1');
143: $this->mFieldProperties['mail_condition']->addVar('max', '3');
144:
145: $this->mFieldProperties['user_level'] =new XCube_FieldProperty($this);
146: $this->mFieldProperties['user_level']->setDependsByArray(array('required','intRange'));
147: $this->mFieldProperties['user_level']->addMessage('required', _MD_USER_ERROR_REQUIRED, _AD_USER_LANG_DISPLAY_USER_LEVEL);
148: $this->mFieldProperties['user_level']->addMessage('intRange', _AD_USER_ERROR_INTRANGE, _AD_USER_LANG_DISPLAY_USER_LEVEL);
149: $this->mFieldProperties['user_level']->addVar('min', '1');
150: $this->mFieldProperties['user_level']->addVar('max', '3');
151: }
152:
153: 154: 155: 156:
157: function validateGroups()
158: {
159: $groupHandler =& xoops_gethandler('group');
160: foreach ($this->get('groups') as $gid) {
161: $group =& $groupHandler->get($gid);
162: if (!is_object($group)) {
163: $this->addErrorMessage(_AD_USER_ERROR_GROUP_VALUE);
164: }
165: }
166: }
167: }
168:
169: ?>
170: