Contao\ModuleRegistration::activateAcount PHP Method

activateAcount() protected method

Activate an account
protected activateAcount ( )
    protected function activateAcount()
    {
        $this->strTemplate = 'mod_message';
        /** @var FrontendTemplate|object $objTemplate */
        $objTemplate = new \FrontendTemplate($this->strTemplate);
        $this->Template = $objTemplate;
        $objMember = \MemberModel::findOneByActivation(\Input::get('token'));
        if ($objMember === null) {
            $this->Template->type = 'error';
            $this->Template->message = $GLOBALS['TL_LANG']['MSC']['accountError'];
            return;
        }
        // Update the account
        $objMember->disable = '';
        $objMember->activation = '';
        $objMember->save();
        // HOOK: post activation callback
        if (isset($GLOBALS['TL_HOOKS']['activateAccount']) && is_array($GLOBALS['TL_HOOKS']['activateAccount'])) {
            foreach ($GLOBALS['TL_HOOKS']['activateAccount'] as $callback) {
                $this->import($callback[0]);
                $this->{$callback[0]}->{$callback[1]}($objMember, $this);
            }
        }
        // Log activity
        $this->log('User account ID ' . $objMember->id . ' (' . \Idna::decodeEmail($objMember->email) . ') has been activated', __METHOD__, TL_ACCESS);
        // Redirect to the jumpTo page
        if (($objTarget = $this->objModel->getRelated('reg_jumpTo')) instanceof PageModel) {
            /** @var PageModel $objTarget */
            $this->redirect($objTarget->getFrontendUrl());
        }
        // Confirm activation
        $this->Template->type = 'confirm';
        $this->Template->message = $GLOBALS['TL_LANG']['MSC']['accountActivated'];
    }