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