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