Your IP : 172.28.240.42


Current Path : /var/www/html/clients/rebirth.e-nk.ru/admin/
Upload File :
Current File : /var/www/html/clients/rebirth.e-nk.ru/admin/index.php

<?php

/*
+--------------------------------------------------------------------------
|   Invision Power Board
|   ========================================
|   by Matthew Mecham
|   (c) 2001 - 2004 Invision Power Services
|   Nullified by Terabyte
|   ========================================
|   
|   
|   
+---------------------------------------------------------------------------
|   > $Date: 2006-05-23 15:58:32 +0100 (Tue, 23 May 2006) $
|   > $Revision: 271 $
|   > $Author: bfarber $
+---------------------------------------------------------------------------
|
|   > Admin wrapper script
|   > Script written by Matt Mecham
|   > Date started: 1st March 2002
|
+--------------------------------------------------------------------------
*/

/**
* Main ACP executable wrapper.
*
* Set-up and load module to run
*
* @package	InvisionPowerBoard
* @author   Matt Mecham
* @version	2.1
*/

/**
* Script type
*
*/
define( 'IPB_THIS_SCRIPT', 'admin' );
define( 'IPB_LOAD_SQL'   , 'admin_queries' );

require_once( '../init.php' );

$INFO = array();

//===========================================================================
// NO USER EDITABLE SECTIONS BELOW
//===========================================================================

if (function_exists("set_time_limit") == 1 and SAFE_MODE_ON == 0)
{
	@set_time_limit(0);
}

//--------------------------------
// Load up our classes
//--------------------------------
 
require ROOT_PATH   . "sources/ipsclass.php";
require ROOT_PATH   . "sources/classes/class_session.php";
require ROOT_PATH   . "sources/classes/class_forums.php";
require KERNEL_PATH . "class_converge.php";
require ROOT_PATH   . "conf_global.php";
require ROOT_PATH   . "sources/lib/admin_functions.php";
require ROOT_PATH   . "sources/lib/admin_skin.php";

$ipsclass = new ipsclass();

$ipsclass->vars = $INFO;

//--------------------------------
// The clocks a' tickin'
//--------------------------------

$Debug = new Debug;
$Debug->startTimer();

//--------------------------------
// Additional set up
//--------------------------------

if ( isset($ipsclass->vars['safe_mode_skins']) )
{
	define( 'SAFE_MODE_SKINS', $ipsclass->vars['safe_mode_skins'] );
}
else
{
	define( 'SAFE_MODE_SKINS', SAFE_MODE_ON );
}
		
//===========================================================================
// Load up our database library
//===========================================================================
 
$ipsclass->init_db_connection();

//===========================================================================
// Get cache...
//===========================================================================

$ipsclass->init_cache_setup();
$ipsclass->init_load_cache( array('rss_export', 'bbcode', 'badwords', 'emoticons', 'settings', 'group_cache', 'systemvars', 'skin_id_cache', 'forum_cache', 'moderators', 'stats') );

//--------------------------------
// Set up classes
//--------------------------------

$ipsclass->sess             =  new session();
$ipsclass->sess->ipsclass   =& $ipsclass;

$ipsclass->forums           =  new forum_functions();
$ipsclass->forums->ipsclass =& $ipsclass;

//--------------------------------
// Set up incoming array
//--------------------------------

$ipsclass->parse_incoming();

//--------------------------------
//  Initialize the FUNC
//--------------------------------

$ipsclass->initiate_ipsclass();

//--------------------------------
//  Set converge
//--------------------------------

$ipsclass->converge = new class_converge( $ipsclass->DB );

//-----------------------------------------
// Clean up ad session
//-----------------------------------------

$ipsclass->input['adsess'] = substr( preg_replace( "#[^\w\d]#", "", $ipsclass->input['adsess'] ), 0, 32 );

//--------------------------------
// Message in a bottle?
//--------------------------------

if ( isset($ipsclass->input['messageinabottleacp']) AND $ipsclass->input['messageinabottleacp'] )
{
	$ipsclass->input['messageinabottleacp'] = $ipsclass->clean_evil_tags( $ipsclass->txt_UNhtmlspecialchars( urldecode($ipsclass->input['messageinabottleacp']) ) );
	$ipsclass->main_msg                     = $ipsclass->input['messageinabottleacp'];
}

//--------------------------------
// Fix up base URLs
//--------------------------------

$ipsclass->skin_acp = 'IPB2_Standard';

$ipsclass->base_url     = $ipsclass->vars['board_url']."/" . IPB_ACP_DIRECTORY . "/index." . $ipsclass->vars['php_ext'].'?adsess='.$ipsclass->input['adsess'];
$ipsclass->skin_acp_url = $ipsclass->vars['board_url']."/skin_acp/".$ipsclass->skin_acp;

//--------------------------------
// Load global ACP skin
//--------------------------------

$ipsclass->skin_acp_global = $ipsclass->acp_load_template('cp_skin_global');

//--------------------------------
// Load public skin
//--------------------------------

$ipsclass->load_skin();

//--------------------------------
// Import Admin Functions
//--------------------------------
 
$ipsclass->admin           =  new admin_functions();
$ipsclass->admin->ipsclass =& $ipsclass;
$ipsclass->admin->img_url  =  $ipsclass->skin_acp_url;

//------------------------------------------------
// Load skin & lang
//------------------------------------------------

$ipsclass->vars['AVATARS_URL']   = $ipsclass->vars['board_url'].'/style_avatars';
$ipsclass->vars['EMOTICONS_URL'] = $ipsclass->vars['board_url'].'/style_emoticons/<#EMO_DIR#>';
$ipsclass->vars['mime_img']      = $ipsclass->vars['board_url'].'/style_images/<#IMG_DIR#>/folder_mime_types';

$ipsclass->load_language( 'lang_global' );

//------------------------------------------------
// Import Skinable elements
//------------------------------------------------
 
$ipsclass->adskin           = new admin_skin();
$ipsclass->adskin->ipsclass =& $ipsclass;
$ipsclass->adskin->init_admin_skin();

//------------------------------------------------------
// Require..
//------------------------------------------------------

require_once( ROOT_PATH.'sources/lib/admin_cache_functions.php' );
$ipsclass->cache_func = new admin_cache_functions();
$ipsclass->cache_func->ipsclass =& $ipsclass;

//------------------------------------------------------
// Legacy mode?
//------------------------------------------------------

if ( LEGACY_MODE )
{
	$DB       =& $ipsclass->DB;
	$std      =& $ipsclass;
	$ibforums =& $ipsclass;
	$forums   =& $ipsclass->forums;
	$print    =& $ipsclass->print;
	$sess     =& $ipsclass->sess;
}

//------------------------------------------------------
// ACP Session-ize the member
//------------------------------------------------------

$ipsclass->admin_session = array( '_session_validated' => 0 );

$ipsclass->admin->acp_session_validation();

//------------------------------------------------------
// Generate auth key
//------------------------------------------------------

$ipsclass->_admin_auth_key = $ipsclass->admin->security_auth_get();

//------------------------------------------------------
// What are we doing, then?
//------------------------------------------------------

$ipsclass->input['act'] = isset($ipsclass->input['act']) ? $ipsclass->input['act'] 		  : '';
$ipsclass->input['st']	= isset($ipsclass->input['st'])  ? intval($ipsclass->input['st']) : 0;

if ( ( $ipsclass->input['act'] != 'login' ) AND ( ! $ipsclass->admin_session['_session_validated'] ) )
{
	//------------------------------
	// Force log in
	//------------------------------
	
	$ipsclass->input['act']  = 'login';
	$ipsclass->input['code'] = 'login';
	
	require_once( ROOT_PATH."sources/action_admin/login.php" );
	
	$runme           = new ad_login();
	$runme->ipsclass =& $ipsclass;
	$runme->auto_run();
	
	exit();
}
else if ( strtolower($ipsclass->input['act']) == 'login' )
{
	//------------------------------
	// Ok - got a log in, kill section
	//------------------------------
	
	$ipsclass->input['section'] = '';
}

//------------------------------------------------------
// Fix up board url
//------------------------------------------------------

if ( $ipsclass->admin->session_type == 'cookie' )
{
	$ipsclass->base_url = $ipsclass->vars['board_url']."/" . IPB_ACP_DIRECTORY . "/index." . $ipsclass->vars['php_ext'].'?';
}
else
{
	$ipsclass->base_url = $ipsclass->vars['board_url']."/" . IPB_ACP_DIRECTORY . "/index." . $ipsclass->vars['php_ext'].'?adsess='.$ipsclass->input['adsess'];
}

//------------------------------------------------------
//  What do you want to require today?
//------------------------------------------------------

$choice = array(
				'content'     => array( 'acp_content'     , 'acp_content'     , 'content' ),
				'lookandfeel' => array( 'acp_lookandfeel' , 'acp_lookandfeel' , 'lookandfeel' ),
				'tools'       => array( 'acp_tools'       , 'acp_tools'       , 'tools' ),
				'components'  => array( 'acp_components'  , 'acp_components'  , 'components' ),
				'admin'       => array( 'acp_admin'       , 'acp_admin'       , 'admin' ),
				'help'       => array( 'acp_help'       , 'acp_help'       , 'help' ),
				
				 # Non CP specific action
				 'xmlout'    => array( "xmlout"          , 'xmlout' ),
				 'prefs'     => array( "prefs"           , 'prefs' ),
				 'login'     => array( 'login'           , 'login' ),
				 'rtempl'    => array( 'remote_template' , 'remote_template' ),
				 'quickhelp' => array( "quickhelp"       , 'quickhelp' ),
			   );
				
//---------------------------------------------------
// Check to make sure the array key exits..
//---------------------------------------------------

if ( ( ! isset($ipsclass->input['section']) ) OR  ( ! isset($choice[ $ipsclass->input['section'] ][0]) ) OR ( ! $ipsclass->input['section'] ) )
{ 
	# Got an act?
	if ( isset($ipsclass->input['act']) AND isset($choice[ $ipsclass->input['act'] ][0]) AND $choice[ $ipsclass->input['act'] ][0] )
	{
		require_once( ROOT_PATH.'sources/action_admin/'.$choice[ $ipsclass->input['act'] ][0].'.php' );
		$constructor          = 'ad_'.$choice[ $ipsclass->input['act'] ][1];
		$runmeagain           = new $constructor;
		$runmeagain->ipsclass =& $ipsclass;
		$runmeagain->auto_run();
	}
	else
	{
		$ipsclass->input['section'] = 'admin';
	}
}

//---------------------------------------------------
// Menu type
//---------------------------------------------------

$ipsclass->menu_type = $choice[ $ipsclass->input['section'] ][2];

//---------------------------------------------------
// Require and run
//---------------------------------------------------

require ROOT_PATH."sources/acp_loaders/".$choice[ $ipsclass->input['section'] ][0].".php";
	
$runme = new $choice[ $ipsclass->input['section'] ][1];
$runme->ipsclass =& $ipsclass;
$runme->auto_run();

//+-------------------------------------------------
// Skin emergency mode...
//+-------------------------------------------------

function skin_emergency()
{
	global $ipsclass;
	
	if ( $_GET['skinrebuild'] == 1 )
	{
		print "Attempted to rebuild the skins and failed.<br />Please contact technical support for more assistance.";
		exit();
	}
	
	//-----------------------------------------
	// Rebuild ID cache..
	//-----------------------------------------
	
	require_once( ROOT_PATH.'sources/lib/admin_cache_functions.php' );
    $adcache           = new admin_cache_functions();
    $adcache->ipsclass =& $this->ipsclass;
    
	$ipsclass->cache['skin_id_cache'] = $adcache->_rebuild_skin_id_cache();
	
	//-----------------------------------------
	// Attempt to recache the default skin
	//-----------------------------------------
	
	foreach( $ipsclass->cache['skin_id_cache'] as $data )
	{
		if ( $data['set_default'] )
		{
			$default_skin = $data['set_skin_set_id'];
		}
	}
	
	//-----------------------------------------
	// Load library
	//-----------------------------------------
	
	require_once( ROOT_PATH.'sources/lib/admin_cache_functions.php' );
	$ipsclass->cache_func           = new admin_cache_functions();
	$ipsclass->cache_func->ipsclass =& $this->ipsclass;
	$ipsclass->cache_func->_rebuild_all_caches( array($default_skin) );
	
	//-----------------------------------------
	// Try to turn on safe mode
	//-----------------------------------------
	
	if ( ! @file_exists( CACHE_PATH.'cache/skin_cache/cacheid_'.$default_skin.'/skin_global.php' ) )
	{
		if ( $ipsclass->vars['safe_mode_skins'] != 1 )
		{
			$ipsclass->DB->do_update( "conf_settings", array( 'conf_value' => 1 ), "conf_key='safe_mode_skins'" );
			
			require_once( ROOT_PATH.'sources/action_admin/settings.php' );
			$adsettings           = new ad_settings();
			$adsettings->ipsclass =& $this->ipsclass;
			$adsettings->setting_rebuildcache();
		}
	}
	
	//-----------------------------------------
	// Update panic message
	//-----------------------------------------
	
	$ipsclass->DB->simple_exec_query( array( "delete" => "cache_store", "where" => "cs_key='skinpanic'" ) );
	$ipsclass->DB->do_insert( 'cache_store', array( 'cs_value' => 'rebuildemergency', 'cs_key' => 'skinpanic' ) );
	
	$ipsclass->boink_it( $ipsclass->base_url.'&skinrebuild=1' );	
}


?>