Contao\ModuleLogout::generate PHP Method

generate() public method

Logout the current user and redirect
public generate ( ) : string
return string
    public function generate()
    {
        if (TL_MODE == 'BE') {
            /** @var BackendTemplate|object $objTemplate */
            $objTemplate = new \BackendTemplate('be_wildcard');
            $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD']['logout'][0]) . ' ###';
            $objTemplate->title = $this->headline;
            $objTemplate->id = $this->id;
            $objTemplate->link = $this->name;
            $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id;
            return $objTemplate->parse();
        }
        // Set last page visited
        if ($this->redirectBack) {
            $_SESSION['LAST_PAGE_VISITED'] = $this->getReferer();
        }
        $this->import('FrontendUser', 'User');
        $strRedirect = \Environment::get('base');
        // Redirect to last page visited
        if ($this->redirectBack && !empty($_SESSION['LAST_PAGE_VISITED'])) {
            $strRedirect = $_SESSION['LAST_PAGE_VISITED'];
        } elseif ($this->jumpTo && ($objTarget = $this->objModel->getRelated('jumpTo')) instanceof PageModel) {
            /** @var PageModel $objTarget */
            $strRedirect = $objTarget->getFrontendUrl();
        }
        // Log out and redirect
        if ($this->User->logout()) {
            $this->redirect($strRedirect);
        }
        return '';
    }