1: <?php
2: 3: 4: 5:
6:
7: if (!defined('XOOPS_ROOT_PATH')) exit();
8:
9: require_once XOOPS_MODULE_PATH . "/user/forms/UserConfirmForm.class.php";
10: require_once XOOPS_MODULE_PATH . "/user/forms/UserRegisterEditForm.class.php";
11: require_once XOOPS_MODULE_PATH . "/user/class/RegistMailBuilder.class.php";
12:
13: 14: 15: 16: 17: 18:
19: class User_UserRegister_confirmAction extends User_Action
20: {
21: var $mActionForm = null;
22: var $mRegistForm = null;
23: var $mConfig = null;
24:
25: var $mNewUser = null;
26:
27: var $mRedirectMessage = null;
28:
29: 30: 31:
32: function prepare(&$controller, &$xoopsUser, $moduleConfig)
33: {
34: $this->mConfig = $moduleConfig;
35:
36: $this->_getRegistForm($controller);
37: $this->_processActionForm();
38: }
39:
40: function execute(&$controller, &$xoopsUser)
41: {
42: if (XCube_Root::getSingleton()->mContext->mRequest->getRequest('_form_control_cancel') != null)
43: {
44: return USER_FRAME_VIEW_CANCEL;
45: }
46:
47: $memberHandler =& xoops_gethandler('member');
48: $this->mNewUser =& $memberHandler->createUser();
49: $this->mRegistForm->update($this->mNewUser);
50: $this->mNewUser->set('uorder', $controller->mRoot->mContext->getXoopsConfig('com_order'), true);
51: $this->mNewUser->set('umode', $controller->mRoot->mContext->getXoopsConfig('com_mode'), true);
52: if ($this->mConfig['activation_type'] == 1) {
53: $this->mNewUser->set('level', 1, true);
54: }
55:
56: if (!$memberHandler->insertUser($this->mNewUser)) {
57: $this->mRedirectMessage = _MD_USER_LANG_REGISTERNG;
58: return USER_FRAME_VIEW_ERROR;
59: }
60:
61: if (!$memberHandler->addUserToGroup(XOOPS_GROUP_USERS, $this->mNewUser->get('uid'))) {
62: $this->mRedirectMessage = _MD_USER_LANG_REGISTERNG;
63: return USER_FRAME_VIEW_ERROR;
64: }
65:
66: $this->_clearRegistForm($controller);
67:
68: $this->_processMail($controller);
69: $this->_eventNotifyMail($controller);
70:
71: XCube_DelegateUtils::call('Legacy.Event.RegistUser.Success', new XCube_Ref($this->mNewUser));
72:
73: return USER_FRAME_VIEW_SUCCESS;
74: }
75:
76: function getDefaultView(&$controller, &$xoopsUser)
77: {
78: return USER_FRAME_VIEW_INPUT;
79: }
80:
81: 82: 83: 84:
85: function _getRegistForm(&$controller)
86: {
87: $this->mRegistForm = unserialize($_SESSION['user_register_actionform']);
88: if (!is_object($this->mRegistForm)) {
89: $controller->executeForward('./register.php?action=UserRegister');
90: }
91: }
92:
93: 94: 95: 96:
97: function _clearRegistForm(&$controller)
98: {
99: unset($_SESSION['user_register_actionform']);
100: }
101:
102: function _processMail(&$controller)
103: {
104: $activationType = $this->mConfig['activation_type'];
105:
106: if($activationType == 1) {
107: return;
108: }
109:
110:
111: $builder = ($activationType == 0) ? new User_RegistUserActivateMailBuilder()
112: : new User_RegistUserAdminActivateMailBuilder();
113:
114: $director =new User_UserRegistMailDirector($builder, $this->mNewUser, $controller->mRoot->mContext->getXoopsConfig(), $this->mConfig);
115: $director->contruct();
116: $mailer =& $builder->getResult();
117:
118: if (!$mailer->send()) {
119: }
120: }
121:
122: function _eventNotifyMail(&$controller)
123: {
124: if($this->mConfig['new_user_notify'] == 1 && !empty($this->mConfig['new_user_notify_group'])) {
125: $builder =new User_RegistUserNotifyMailBuilder();
126: $director =new User_UserRegistMailDirector($builder, $this->mNewUser, $controller->mRoot->mContext->getXoopsConfig(), $this->mConfig);
127: $director->contruct();
128: $mailer =& $builder->getResult();
129: $mailer->send();
130: }
131: }
132:
133: function _processActionForm()
134: {
135: $this->mActionForm =new User_UserConfirmForm();
136: $this->mActionForm->prepare();
137: }
138:
139: function executeViewError(&$controller, &$xoopsUser, &$render)
140: {
141: $controller->executeRedirect(XOOPS_URL . '/', 1, $this->mRedirectMessage);
142: }
143:
144: 145: 146: 147: 148: 149: 150:
151: public function executeViewCancel(&$controller, &$xoopsUser, &$render)
152: {
153: $controller->executeForward(XOOPS_URL.'/register.php');
154: }
155:
156: function executeViewInput(&$controller,&$xoopsUser,&$render)
157: {
158: $render->setTemplateName("user_register_confirm.html");
159: $render->setAttribute("actionForm", $this->mActionForm);
160: $render->setAttribute("registForm", $this->mRegistForm);
161: }
162:
163: function executeViewSuccess(&$controller, &$xoopsUser, &$render)
164: {
165: $activationType = $this->mConfig['activation_type'];
166:
167: if ($activationType == 0) {
168: $render->setTemplateName("user_register_finish.html");
169: $render->setAttribute("complete_message", _MD_USER_MESSAGE_YOURREGISTERED);
170: }
171: elseif ($activationType == 1) {
172: $controller->executeRedirect(XOOPS_URL . '/', 4, _MD_USER_MESSAGE_ACTLOGIN);
173: }
174: elseif($activationType == 2) {
175: $render->setTemplateName("user_register_finish.html");
176: $render->setAttribute("complete_message", _MD_USER_MESSAGE_YOURREGISTERED2);
177: }
178: else {
179:
180:
181:
182: $render->setTemplateName("user_register_finish.html");
183: $render->setAttribute("complete_message", _MD_USER_MESSAGE_YOURREGISTERED2);
184: }
185: }
186: }
187: ?>
188: