RegistrationHandler::activateUser PHP Method

activateUser() public method

Check credentials and activate a new user
public activateUser ( $args, $request )
$args array
$request PKPRequest
    function activateUser($args, $request)
    {
        $username = array_shift($args);
        $accessKeyCode = array_shift($args);
        $userDao = DAORegistry::getDAO('UserDAO');
        $user = $userDao->getByUsername($username);
        if (!$user) {
            $request->redirect(null, 'login');
        }
        // Checks user and token
        import('lib.pkp.classes.security.AccessKeyManager');
        $accessKeyManager = new AccessKeyManager();
        $accessKeyHash = AccessKeyManager::generateKeyHash($accessKeyCode);
        $accessKey = $accessKeyManager->validateKey('RegisterContext', $user->getId(), $accessKeyHash);
        if ($accessKey != null && $user->getDateValidated() === null) {
            // Activate user
            $user->setDisabled(false);
            $user->setDisabledReason('');
            $user->setDateValidated(Core::getCurrentDate());
            $userDao->updateObject($user);
            $templateMgr = TemplateManager::getManager($request);
            $templateMgr->assign('message', 'user.login.activated');
            return $templateMgr->display('frontend/pages/message.tpl');
        }
        $request->redirect(null, 'login');
    }

Usage Example

Example #1
0
 function activateUser($args)
 {
     import('pages.user.RegistrationHandler');
     RegistrationHandler::activateUser($args);
 }