XCL Web Application Platform 2.5.0
The XoopsCube Legacy Project
Loading...
Searching...
No Matches
UserActivateAction.class.php
1<?php
6
7if (!defined('XOOPS_ROOT_PATH')) {
8 exit();
9}
10
11require_once XOOPS_MODULE_PATH . '/user/class/AbstractEditAction.class.php';
12require_once XOOPS_MODULE_PATH . '/user/class/RegistMailBuilder.class.php';
13
15{
16 public function _getId()
17 {
18 return isset($_REQUEST['uid']) ? (int)xoops_getrequest('uid') : 0;
19 }
20
21 public function &_getHandler()
22 {
23 $handler =& xoops_getmodulehandler('users', 'user');
24 return $handler;
25 }
26
31 public function isEnableCreate()
32 {
33 return false;
34 }
35
40 public function isSecure()
41 {
42 return false;
43 }
44
45 public function getDefaultView(&$controller, &$xoopsUser)
46 {
47 if ((!isset($_REQUEST['actkey'])) || (!$this->mObject)) {
48 $controller->executeForward(XOOPS_URL . '/');
49 }
50
51 if ($this->mObject->get('actkey') != xoops_getrequest('actkey')) {
52 $controller->executeRedirect(XOOPS_URL . '/', 3, _MD_USER_MESSAGE_ACTKEYNOT);
53 }
54
55 if ($this->mObject->get('level') > 0) {
56 $controller->executeRedirect(XOOPS_URL . '/user.php', 3, _MD_USER_MESSAGE_ACONTACT);
57 }
58
59 $this->mObject->set('level', '1');
60
61 //
62 // Force update with GET request
63 //
64 $this->mObjectHandler->insert($this->mObject, true);
65
66 if (2 == $this->mConfig['activation_type']) {
67 $builder =new User_RegistAdminCommitMailBuilder();
68 $director =new User_UserRegistMailDirector($builder, $this->mObject, $controller->mRoot->mContext->getXoopsConfig(), $this->mConfig);
69 $director->contruct();
70 $mailer=&$builder->getResult();
71 XCube_DelegateUtils::call('Legacy.Event.RegistUser.SendMail', new XCube_Ref($mailer), 'Activated');
72 if ($mailer->send()) {
73 $controller->executeRedirect(XOOPS_URL . '/', 5, sprintf(_MD_USER_MESSAGE_ACTVMAILOK, $this->mObject->get('uname')));
74 } else {
75 $controller->executeRedirect(XOOPS_URL . '/', 5, sprintf(_MD_USER_MESSAGE_ACTVMAILNG, $this->mObject->get('uname')));
76 }
77 } else {
78 $controller->executeRedirect(XOOPS_URL . '/user.php', 5, _MD_USER_MESSAGE_ACTLOGIN);
79 }
80 }
81}