1: <?php
2:
3: if (!defined('XOOPS_ROOT_PATH')) exit();
4:
5: require_once XOOPS_MODULE_PATH . "/user/forms/AbstractUserEditForm.class.php";
6:
7: 8: 9:
10: class User_EditUserForm extends User_AbstractUserEditForm
11: {
12: function getTokenName()
13: {
14: return "Module.User.EditUserForm.Token." . $this->get('uid');
15: }
16:
17: 18: 19:
20: function prepare()
21: {
22: parent::prepare();
23:
24:
25:
26:
27: $this->mFormProperties['uid'] =new XCube_IntProperty('uid');
28: $this->mFormProperties['name'] =new XCube_StringProperty('name');
29:
30: if ($this->mConfig['allow_chgmail']) {
31: $this->mFormProperties['email'] =new XCube_StringProperty('email');
32: }
33:
34: $this->mFormProperties['user_viewemail'] =new XCube_BoolProperty('user_viewemail');
35: $this->mFormProperties['url'] =new XCube_StringProperty('url');
36: $this->mFormProperties['user_icq'] =new XCube_StringProperty('user_icq');
37: $this->mFormProperties['user_aim'] =new XCube_StringProperty('user_aim');
38: $this->mFormProperties['user_yim'] =new XCube_StringProperty('user_yim');
39: $this->mFormProperties['user_msnm'] =new XCube_StringProperty('user_msnm');
40: $this->mFormProperties['user_from'] =new XCube_StringProperty('user_from');
41: $this->mFormProperties['timezone_offset'] =new XCube_FloatProperty('timezone_offset');
42: $this->mFormProperties['umode'] =new XCube_StringProperty('umode');
43: $this->mFormProperties['uorder'] =new XCube_IntProperty('uorder');
44: $this->mFormProperties['notify_method'] =new XCube_IntProperty('notify_method');
45: $this->mFormProperties['notify_mode'] =new XCube_IntProperty('notify_mode');
46: $this->mFormProperties['user_occ'] =new XCube_StringProperty('user_occ');
47: $this->mFormProperties['user_intrest'] =new XCube_StringProperty('user_intrest');
48: $this->mFormProperties['user_sig'] =new XCube_TextProperty('user_sig');
49: $this->mFormProperties['attachsig'] =new XCube_BoolProperty('attachsig');
50: $this->mFormProperties['bio'] =new XCube_TextProperty('bio');
51: $this->mFormProperties['pass'] =new XCube_StringProperty('pass');
52: $this->mFormProperties['vpass'] =new XCube_StringProperty('vpass');
53: $this->mFormProperties['usercookie'] =new XCube_BoolProperty('usercookie');
54: $this->mFormProperties['user_mailok'] =new XCube_BoolProperty('user_mailok');
55:
56:
57:
58:
59: $this->mFieldProperties['name'] =new XCube_FieldProperty($this);
60: $this->mFieldProperties['name']->setDependsByArray(array('maxlength'));
61: $this->mFieldProperties['name']->addMessage("maxlength", _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_NAME, "60");
62: $this->mFieldProperties['name']->addVar("maxlength", 60);
63:
64: if ($this->mConfig['allow_chgmail']) {
65: $this->mFieldProperties['email'] =new XCube_FieldProperty($this);
66: $this->mFieldProperties['email']->setDependsByArray(array('required', 'maxlength', 'email'));
67: $this->mFieldProperties['email']->addMessage("required", _MD_USER_ERROR_REQUIRED, _MD_USER_LANG_EMAIL, "60");
68: $this->mFieldProperties['email']->addMessage("maxlength", _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_EMAIL, "60");
69: $this->mFieldProperties['email']->addVar("maxlength", 60);
70: $this->mFieldProperties['email']->addMessage('email', _MD_USER_ERROR_EMAIL, _MD_USER_LANG_EMAIL);
71: }
72:
73: $this->mFieldProperties['url'] =new XCube_FieldProperty($this);
74: $this->mFieldProperties['url']->setDependsByArray(array('maxlength'));
75: $this->mFieldProperties['url']->addMessage("maxlength", _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_WEBSITE, "100");
76: $this->mFieldProperties['url']->addVar("maxlength", 100);
77:
78: $this->mFieldProperties['user_icq'] =new XCube_FieldProperty($this);
79: $this->mFieldProperties['user_icq']->setDependsByArray(array('maxlength'));
80: $this->mFieldProperties['user_icq']->addMessage("maxlength", _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_USER_ICQ, "15");
81: $this->mFieldProperties['user_icq']->addVar("maxlength", 15);
82:
83: $this->mFieldProperties['user_from'] =new XCube_FieldProperty($this);
84: $this->mFieldProperties['user_from']->setDependsByArray(array('maxlength'));
85: $this->mFieldProperties['user_from']->addMessage("maxlength", _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_USER_FROM, "100");
86: $this->mFieldProperties['user_from']->addVar("maxlength", 100);
87:
88: $this->mFieldProperties['user_aim'] =new XCube_FieldProperty($this);
89: $this->mFieldProperties['user_aim']->setDependsByArray(array('maxlength'));
90: $this->mFieldProperties['user_aim']->addMessage("maxlength", _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_USER_AIM, "18");
91: $this->mFieldProperties['user_aim']->addVar("maxlength", 18);
92:
93: $this->mFieldProperties['user_msnm'] =new XCube_FieldProperty($this);
94: $this->mFieldProperties['user_msnm']->setDependsByArray(array('maxlength'));
95: $this->mFieldProperties['user_msnm']->addMessage("maxlength", _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_USER_MSNM, "100");
96: $this->mFieldProperties['user_msnm']->addVar("maxlength", 100);
97:
98: $this->mFieldProperties['pass'] =new XCube_FieldProperty($this);
99: $this->mFieldProperties['pass']->setDependsByArray(array('minlength', 'maxlength'));
100: $this->mFieldProperties['pass']->addMessage('minlength', _MD_USER_ERROR_MINLENGTH, _MD_USER_LANG_PASS, $this->mConfig['minpass']);
101: $this->mFieldProperties['pass']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_PASS, '32');
102: $this->mFieldProperties['pass']->addVar('minlength', $this->mConfig['minpass']);
103: $this->mFieldProperties['pass']->addVar('maxlength', 32);
104:
105: $this->mFieldProperties['vpass'] =new XCube_FieldProperty($this);
106: $this->mFieldProperties['vpass']->setDependsByArray(array('maxlength'));
107: $this->mFieldProperties['vpass']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_VERIFYPASS, '32');
108: $this->mFieldProperties['vpass']->addVar('maxlength', 32);
109:
110: $this->mFieldProperties['timezone_offset'] =new XCube_FieldProperty($this);
111: $this->mFieldProperties['timezone_offset']->setDependsByArray(array('required'));
112: $this->mFieldProperties['timezone_offset']->addMessage('required', _MD_USER_ERROR_REQUIRED, _MD_USER_LANG_TIMEZONE_OFFSET);
113:
114: $this->mFieldProperties['umode'] =new XCube_FieldProperty($this);
115: $this->mFieldProperties['umode']->setDependsByArray(array('required'));
116: $this->mFieldProperties['umode']->addMessage('required', _MD_USER_ERROR_REQUIRED, _MD_USER_LANG_UMODE);
117:
118: $this->mFieldProperties['uorder'] =new XCube_FieldProperty($this);
119: $this->mFieldProperties['uorder']->setDependsByArray(array('required','intRange'));
120: $this->mFieldProperties['uorder']->addMessage('required', _MD_USER_ERROR_REQUIRED, _MD_USER_LANG_UORDER);
121: $this->mFieldProperties['uorder']->addMessage('intRange', _MD_USER_ERROR_INJURY, _MD_USER_LANG_UORDER);
122: $this->mFieldProperties['uorder']->addVar('min', 0);
123: $this->mFieldProperties['uorder']->addVar('max', 1);
124:
125: $this->mFieldProperties['notify_method'] =new XCube_FieldProperty($this);
126: $this->mFieldProperties['notify_method']->setDependsByArray(array('required','intRange'));
127: $this->mFieldProperties['notify_method']->addMessage('required', _MD_USER_ERROR_REQUIRED, _MD_USER_LANG_NOTIFY_METHOD);
128: $this->mFieldProperties['notify_method']->addMessage('intRange', _MD_USER_ERROR_INJURY, _MD_USER_LANG_NOTIFY_METHOD);
129: $this->mFieldProperties['notify_method']->addVar('min', 0);
130: $this->mFieldProperties['notify_method']->addVar('max', 2);
131:
132: $this->mFieldProperties['notify_mode'] =new XCube_FieldProperty($this);
133: $this->mFieldProperties['notify_mode']->setDependsByArray(array('required','intRange'));
134: $this->mFieldProperties['notify_mode']->addMessage('required', _MD_USER_ERROR_REQUIRED, _MD_USER_LANG_NOTIFY_MODE);
135: $this->mFieldProperties['notify_mode']->addMessage('intRange', _MD_USER_ERROR_INJURY, _MD_USER_LANG_NOTIFY_MODE);
136: $this->mFieldProperties['notify_mode']->addVar('min', 0);
137: $this->mFieldProperties['notify_mode']->addVar('max', 2);
138:
139: $this->mFieldProperties['user_occ'] =new XCube_FieldProperty($this);
140: $this->mFieldProperties['user_occ']->setDependsByArray(array('maxlength'));
141: $this->mFieldProperties['user_occ']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_USER_OCC, '100');
142: $this->mFieldProperties['user_occ']->addVar('maxlength', 100);
143:
144: $this->mFieldProperties['user_intrest'] =new XCube_FieldProperty($this);
145: $this->mFieldProperties['user_intrest']->setDependsByArray(array('maxlength'));
146: $this->mFieldProperties['user_intrest']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_USER_INTREST, '150');
147: $this->mFieldProperties['user_intrest']->addVar('maxlength', 150);
148:
149: $this->mFieldProperties['bio'] =new XCube_FieldProperty($this);
150: $this->mFieldProperties['bio']->setDependsByArray(array('maxlength'));
151: $this->mFieldProperties['bio']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_BIO, '250');
152: $this->mFieldProperties['bio']->addVar('maxlength', 250);
153:
154: XCube_DelegateUtils::call('Legacy_Profile.SetupActionForm', $this);
155: }
156:
157: function load(&$obj)
158: {
159: $this->set('uid', $obj->get('uid'));
160: $this->set('name', $obj->get('name'));
161:
162: if ($this->mConfig['allow_chgmail']) {
163: $this->set('email', $obj->get('email'));
164: }
165:
166: $this->set('url', $obj->get('url'));
167: $this->set('user_icq', $obj->get('user_icq'));
168: $this->set('user_from', $obj->get('user_from'));
169: $this->set('user_sig', $obj->get('user_sig'));
170: $this->set('user_viewemail', $obj->get('user_viewemail'));
171: $this->set('user_aim', $obj->get('user_aim'));
172: $this->set('user_yim', $obj->get('user_yim'));
173: $this->set('user_msnm', $obj->get('user_msnm'));
174:
175: $this->set('attachsig', $obj->get('attachsig'));
176: $this->set('timezone_offset', $obj->get('timezone_offset'));
177: $this->set('umode', $obj->get('umode'));
178: $this->set('uorder', $obj->get('uorder'));
179: $this->set('notify_method', $obj->get('notify_method'));
180: $this->set('notify_mode', $obj->get('notify_mode'));
181: $this->set('user_occ', $obj->get('user_occ'));
182: $this->set('bio', $obj->get('bio'));
183: $this->set('user_intrest', $obj->get('user_intrest'));
184: $this->set('user_mailok', $obj->get('user_mailok'));
185:
186: $this->set('pass', null);
187: $this->set('vpass', null);
188:
189: $root =& XCube_Root::getSingleton();
190: $this->set('usercookie', empty($_COOKIE[$this->mConfig['usercookie']]) ? 0 : 1);
191:
192: XCube_DelegateUtils::call('Legacy_Profile.LoadActionForm', $this);
193: }
194:
195: function update(&$obj)
196: {
197: $obj->set('name', $this->get('name'));
198:
199: if ($this->mConfig['allow_chgmail']) {
200: $obj->set('email', $this->get('email'));
201: }
202:
203: $obj->set('url', $this->get('url'));
204: $obj->set('user_icq', $this->get('user_icq'));
205: $obj->set('user_from', $this->get('user_from'));
206: $obj->set('user_sig', $this->get('user_sig'));
207: $obj->set('user_viewemail', $this->get('user_viewemail'));
208: $obj->set('user_aim', $this->get('user_aim'));
209: $obj->set('user_yim', $this->get('user_yim'));
210: $obj->set('user_msnm', $this->get('user_msnm'));
211:
212: if (strlen($this->get('pass'))) {
213: $obj->set('pass', md5($this->get('pass')));
214: }
215:
216: $obj->set('attachsig', $this->get('attachsig'));
217: $obj->set('timezone_offset', $this->get('timezone_offset'));
218: $obj->set('umode', $this->get('umode'));
219: $obj->set('uorder', $this->get('uorder'));
220: $obj->set('notify_method', $this->get('notify_method'));
221: $obj->set('notify_mode', $this->get('notify_mode'));
222: $obj->set('user_occ', $this->get('user_occ'));
223: $obj->set('bio', $this->get('bio'));
224: $obj->set('user_intrest', $this->get('user_intrest'));
225: $obj->set('user_mailok', $this->get('user_mailok'));
226: }
227: }
228:
229: ?>
230: