Вход Регистрация
Файл: contao-3.5.8/system/modules/core/controllers/BackendIndex.php
Строк: 110
<?php

/**
 * Contao Open Source CMS
 *
 * Copyright (c) 2005-2016 Leo Feyer
 *
 * @license LGPL-3.0+
 */

namespace Contao;


/**
 * Handle back end logins and logouts.
 *
 * @author Leo Feyer <https://github.com/leofeyer>
 */
class BackendIndex extends Backend
{

    
/**
     * Initialize the controller
     *
     * 1. Import the user
     * 2. Call the parent constructor
     * 3. Login the user
     * 4. Load the language files
     * DO NOT CHANGE THIS ORDER!
     */
    
public function __construct()
    {
        
$this->import('BackendUser''User');
        
parent::__construct();

        
// Login
        
if ($this->User->login())
        {
            
$strUrl 'contao/main.php';

            
// Redirect to the last page visited
            
if (Input::get('referer'true) != '')
            {
                
$strUrl base64_decode(Input::get('referer'true));
            }

            
$this->redirect($strUrl);
        }

        
// Reload the page if authentication fails
        
elseif (!empty($_POST['username']) && !empty($_POST['password']))
        {
            
$this->reload();
        }

        
// Reload the page once after a logout to create a new session_id()
        
elseif ($this->User->logout())
        {
            
$this->reload();
        }

        
System::loadLanguageFile('default');
        
System::loadLanguageFile('tl_user');
    }


    
/**
     * Run the controller and parse the login template
     */
    
public function run()
    {
        
/** @var BackendTemplate|object $objTemplate */
        
$objTemplate = new BackendTemplate('be_login');

        
// Show a cookie warning
        
if (Input::get('referer'true) != '' && empty($_COOKIE))
        {
            
$objTemplate->noCookies $GLOBALS['TL_LANG']['MSC']['noCookies'];
        }

        
$strHeadline sprintf($GLOBALS['TL_LANG']['MSC']['loginTo'], Config::get('websiteTitle'));

        
$objTemplate->theme Backend::getTheme();
        
$objTemplate->messages Message::generate();
        
$objTemplate->base Environment::get('base');
        
$objTemplate->language $GLOBALS['TL_LANGUAGE'];
        
$objTemplate->languages System::getLanguages(true);
        
$objTemplate->title specialchars($strHeadline);
        
$objTemplate->charset Config::get('characterSet');
        
$objTemplate->action ampersand(Environment::get('request'));
        
$objTemplate->userLanguage $GLOBALS['TL_LANG']['tl_user']['language'][0];
        
$objTemplate->headline $strHeadline;
        
$objTemplate->curLanguage Input::post('language') ?: str_replace('-''_'$GLOBALS['TL_LANGUAGE']);
        
$objTemplate->curUsername Input::post('username') ?: '';
        
$objTemplate->uClass = ($_POST && empty($_POST['username'])) ? ' class="login_error"' '';
        
$objTemplate->pClass = ($_POST && empty($_POST['password'])) ? ' class="login_error"' '';
        
$objTemplate->loginButton specialchars($GLOBALS['TL_LANG']['MSC']['loginBT']);
        
$objTemplate->username $GLOBALS['TL_LANG']['tl_user']['username'][0];
        
$objTemplate->password $GLOBALS['TL_LANG']['MSC']['password'][0];
        
$objTemplate->feLink $GLOBALS['TL_LANG']['MSC']['feLink'];
        
$objTemplate->frontendFile Environment::get('base');
        
$objTemplate->disableCron Config::get('disableCron');
        
$objTemplate->ie6warning sprintf($GLOBALS['TL_LANG']['ERR']['ie6warning'], '<a href="http://ie6countdown.com">''</a>');
        
$objTemplate->default $GLOBALS['TL_LANG']['MSC']['default'];

        
$objTemplate->output();
    }
}
Онлайн: 1
Реклама