XCL Web Application Platform 2.5.0
The XoopsCube Legacy Project
Loading...
Searching...
No Matches
UserRegisterEditForm.class.php
1<?php
2
3if (!defined('XOOPS_ROOT_PATH')) {
4 exit();
5}
6
7require_once __DIR__ . '/AbstractUserEditForm.class.php';
8
9class User_RegisterEditForm extends User_AbstractUserEditForm
10{
11 public function getTokenName()
12 {
13 return 'module.user.UserRegisterEditForm.TOKEN';
14 }
15
16 public function prepare()
17 {
18 parent::prepare();
19 //
20 // Set form properties
21 //
22 $this->mFormProperties['uname'] =new XCube_StringProperty('uname');
23 $this->mFormProperties['email'] =new XCube_StringProperty('email');
24 $this->mFormProperties['user_viewemail'] =new XCube_BoolProperty('user_viewemail');
25 $this->mFormProperties['url'] =new XCube_StringProperty('url');
26 $this->mFormProperties['timezone_offset'] =new XCube_FloatProperty('timezone_offset');
27 $this->mFormProperties['pass'] =new XCube_StringProperty('pass');
28 $this->mFormProperties['vpass'] =new XCube_StringProperty('vpass');
29 $this->mFormProperties['user_mailok'] =new XCube_BoolProperty('user_mailok');
30 $this->mFormProperties['agree'] =new XCube_BoolProperty('agree');
31
32 //
33 // Set field properties
34 //
35 $this->mFieldProperties['uname'] =new XCube_FieldProperty($this);
36 $this->mFieldProperties['uname']->setDependsByArray(['required', 'maxlength', 'minlength']);
37 $this->mFieldProperties['uname']->addMessage('required', _MD_USER_ERROR_REQUIRED, _MD_USER_LANG_UNAME, '25');
38 $this->mFieldProperties['uname']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_UNAME, min(25, $this->mConfig['maxuname']));
39 $this->mFieldProperties['uname']->addMessage('minlength', _MD_USER_ERROR_MINLENGTH, _MD_USER_LANG_UNAME, $this->mConfig['minuname']);
40 $this->mFieldProperties['uname']->addVar('maxlength', min(25, $this->mConfig['maxuname']));
41 $this->mFieldProperties['uname']->addVar('minlength', $this->mConfig['minuname']);
42
43 $this->mFieldProperties['email'] =new XCube_FieldProperty($this);
44 $this->mFieldProperties['email']->setDependsByArray(['required', 'maxlength', 'email']);
45 $this->mFieldProperties['email']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_EMAIL, '60');
46 $this->mFieldProperties['email']->addMessage('required', _MD_USER_ERROR_REQUIRED, _MD_USER_LANG_EMAIL, '60');
47 $this->mFieldProperties['email']->addVar('maxlength', 60);
48 $this->mFieldProperties['email']->addMessage('email', _MD_USER_ERROR_EMAIL, _MD_USER_LANG_EMAIL);
49
50 $this->mFieldProperties['url'] =new XCube_FieldProperty($this);
51 $this->mFieldProperties['url']->setDependsByArray(['maxlength']);
52 $this->mFieldProperties['url']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_URL, '100');
53 $this->mFieldProperties['url']->addVar('maxlength', 100);
54
55 $this->mFieldProperties['pass'] =new XCube_FieldProperty($this);
56 $this->mFieldProperties['pass']->setDependsByArray(['required', 'minlength', 'maxlength']);
57 $this->mFieldProperties['pass']->addMessage('required', _MD_USER_ERROR_REQUIRED, _MD_USER_LANG_PASS, '32');
58 $this->mFieldProperties['pass']->addMessage('minlength', _MD_USER_ERROR_MINLENGTH, _MD_USER_LANG_PASS, $this->mConfig['minpass']);
59 $this->mFieldProperties['pass']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_PASS, '32');
60 $this->mFieldProperties['pass']->addVar('minlength', $this->mConfig['minpass']);
61 $this->mFieldProperties['pass']->addVar('maxlength', 32);
62
63 $this->mFieldProperties['vpass'] =new XCube_FieldProperty($this);
64 $this->mFieldProperties['vpass']->setDependsByArray(['required', 'maxlength']);
65 $this->mFieldProperties['vpass']->addMessage('required', _MD_USER_ERROR_REQUIRED, _MD_USER_LANG_VERIFYPASS, '32');
66 $this->mFieldProperties['vpass']->addMessage('maxlength', _MD_USER_ERROR_MAXLENGTH, _MD_USER_LANG_VERIFYPASS, '32');
67 $this->mFieldProperties['vpass']->addVar('maxlength', 32);
68
69 $this->mFieldProperties['timezone_offset'] =new XCube_FieldProperty($this);
70 $this->mFieldProperties['timezone_offset']->setDependsByArray(['required']);
71 $this->mFieldProperties['timezone_offset']->addMessage('required', _MD_USER_ERROR_REQUIRED, _MD_USER_LANG_TIMEZONE_OFFSET);
72 }
73
74 public function load(&$obj)
75 {
76 }
77
78 public function update(&$obj)
79 {
80 $obj->set('uname', $this->get('uname'));
81 $obj->set('email', $this->get('email'));
82 $obj->set('user_viewemail', $this->get('user_viewemail'));
83 $obj->set('url', $this->get('url'));
84 $obj->set('user_avatar', 'blank.gif', true);
85 $obj->set('timezone_offset', $this->get('timezone_offset'));
86 $obj->set('pass', User_Utils::encryptPassword($this->get('pass')));
87 $obj->set('user_mailok', $this->get('user_mailok'));
88 $obj->set('agree', $this->get('agree'));
89
90 $actkey=substr(md5(uniqid(random_int(0, mt_getrandmax()), 1)), 0, 8);
91 $obj->set('actkey', $actkey, true);
92 $obj->set('user_regdate', time(), true);
93 }
94}
95
97{
98 public function prepare()
99 {
100 parent::prepare();
101
102 // set properties
103 $this->mFormProperties['agree']=new XCube_IntProperty('agree');
104
105 // set fields
106 $this->mFieldProperties['agree']=new XCube_FieldProperty($this);
107 $this->mFieldProperties['agree']->setDependsByArray(['required', 'intRange']);
108 $this->mFieldProperties['agree']->addMessage('required', _MD_USER_ERROR_UNEEDAGREE);
109 $this->mFieldProperties['agree']->addMessage('intRange', _MD_USER_ERROR_UNEEDAGREE);
110 $this->mFieldProperties['agree']->addVar('min', 1);
111 $this->mFieldProperties['agree']->addVar('max', 1);
112 }
113}
prepare()
[Abstract] Set up form properties and field properties.
update(&$obj)
[Abstract] Updates an object with properties values.
getTokenName()
Gets the token name of this actionform's token.
prepare()
[Abstract] Set up form properties and field properties.
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.