Вход Регистрация
Файл: IPBMafia.ru_IPB_3.4.6_Final_Rus _Nulled/board/upload/admin/applications/core/modules_public/ajax/login.php
Строк: 121
<?php
/**
 * <pre>
 * Invision Power Services
 * IP.Board v3.4.6
 * Login handler abstraction : AJAX login
 * Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
 * </pre>
 *
 * @author         $Author: bfarber $
 * @copyright    (c) 2001 - 2009 Invision Power Services, Inc.
 * @license        http://www.invisionpower.com/company/standards.php#license
 * @package        IP.Board
 * @subpackage    Core
 * @link        http://www.invisionpower.com
 * @since        Tuesday 1st March 2005 (11:52)
 * @version        $Revision: 10721 $
 */

if ( ! defined'IN_IPB' ) )
{
    print 
"<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
    exit();
}

class 
public_core_ajax_login extends ipsAjaxCommand 
{
    
/**
     * Login handler object
     *
     * @var        object
     */
    
protected $han_login;
    
    
/**
     * Flag : Logged in
     *
     * @var        boolean
     */
    
protected $logged_in        false;
    
    
/**
     * Class entry point
     *
     * @param    object        Registry reference
     * @return    @e void        [Outputs to screen]
     */
    
public function doExecuteipsRegistry $registry 
    {
        
//-----------------------------------------
        // Load handler...
        //-----------------------------------------
        
        
$classToLoad IPSLib::loadLibraryIPS_ROOT_PATH 'sources/handlers/han_login.php''han_login' );
        
$this->han_login = new $classToLoad$this->registry );
        
$this->han_login->init();
        
        
$this->registry->getClass('class_localization')->loadLanguageFile( array( 'public_login' ), 'core' );
        
        
//-----------------------------------------
        // Show form or process login?
        //-----------------------------------------
        
        
if ( $this->request['do'] == 'showForm' )
        {
            
$additional_data    $this->han_login->additionalFormHTML();
            
$replace            false;
            
$data                = array();
            
            if( !
is_null($additional_data) AND is_array($additional_data) AND count($additional_data) )
            {
                
$replace     $additional_data[0];
                
$data        $additional_data[1];
            }

            
$this->returnHtml$this->registry->getClass('output')->getTemplate('global')->loginForm$replace == 'replace' true false$data ) );
        }
        else if ( 
$this->request['do'] == 'authenticateUser' )
        {
            return 
$this->_authenticateUser();
        }
        else
        {
            return 
$this->_doLogIn();
        }
    }
    
    
/**
     * Authenticate a user, returns a JSON array
     *
     * @return    @e void        [Outputs JSON to browser AJAX call]
     */
    
protected function _authenticateUser()
    {
        
//-----------------------------------------
        // INIT
        //-----------------------------------------
        
        
$email    $this->request['emailaddress'];
        
$password $this->request['password'];
        
        
/* Force email check */
        
$this->han_login->setForceEmailCheckTRUE );
        
        
$return $this->han_login->loginPasswordCheck''$email$password );
        
        if ( 
$return !== TRUE )
        {
            
$this->returnJsonArray( array( 'status' => 'error' ) );
        }
        else
        {
            
$this->returnJsonArray( array( 'status' => 'ok''memberData' => $this->han_login->member_data ) );
        }
    }
    
    
/**
     * Main AJAX log in routine
     *
     * @return    @e void        [Outputs JSON to browser AJAX call]
     */
    
protected function _doLogIn()
    {
        
//-----------------------------------------
        // Use central method
        //-----------------------------------------
        
        
$return $this->han_login->verifyLogin();

        if( 
is_array($return[2]) AND count($return[2]) )
        {
            
$this->returnJsonArray( array( 'error' => $return[2]['MSG'] ) );
        }
        else
        {
            
$this->returnJsonArray( array( 'message' => $return[0], 'url' => $return[1] ) );
        }
    }
}
Онлайн: 2
Реклама