HEX
Server: Apache/2.4.59 (Debian)
System: Linux skycube.cz 4.19.0-25-amd64 #1 SMP Debian 4.19.289-2 (2023-08-08) x86_64
User: ilya (534)
PHP: 7.3.31-1~deb10u7
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: /var/www/ilya/data/www/kamforum.ru/index.php
<?php

date_default_timezone_set('Asia/Kamchatka');
header("Content-Type: text/html; charset=windows-1251");

/*
+--------------------------------------------------------------------------
|   Invision Power Board v2.1.5
|   ========================================
|   by Matthew Mecham
|   (c) 2001 - 2005 Invision Power Services
|   http://www.invisionpower.com
|   ========================================
|   Web: http://www.invisionboard.com
|   Time: Sun, 09 Oct 2005 11:51:26 GMT
|   Release: 1a47e28f0443faa9f14d0c0a45151e54
|   Email: matt@invisionpower.com
+---------------------------------------------------------------------------
|   INVISION POWER BOARD IS NOT FREE SOFTWARE!
|   http://www.invisionboard.com/?license
+---------------------------------------------------------------------------
|
|   > Wrapper script
|   > Script written by Matt Mecham
|   > Date started: 14th February 2002
|	> Date updated: IPB 2.1.0: Tue 12 July 2005
|
+--------------------------------------------------------------------------
*/

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

/**
* Script type
*
*/
define( 'IPB_THIS_SCRIPT', 'public' );
define( 'IPB_LOAD_SQL'   , 'queries' );

require_once( './init.php' );

//===========================================================================
// MAIN PROGRAM
//===========================================================================

$INFO = array();

//--------------------------------
// Load our classes
//--------------------------------

require_once ROOT_PATH   . "sources/ipsclass.php";
require_once ROOT_PATH   . "sources/classes/class_display.php";
require_once ROOT_PATH   . "sources/classes/class_session.php";
require_once ROOT_PATH   . "sources/classes/class_forums.php";
require_once KERNEL_PATH . "class_converge.php";
require_once ROOT_PATH   . "conf_global.php";

# Initiate super-class
$ipsclass       = new ipsclass();
$ipsclass->vars = $INFO;

//--------------------------------
// The clocks a' tickin'
//--------------------------------
		
$Debug = new Debug;
$Debug->startTimer();

//--------------------------------
// Load the DB driver and such
//--------------------------------

$ipsclass->init_db_connection();

//--------------------------------
// INIT other classes
//--------------------------------

$ipsclass->print            =  new display();
$ipsclass->print->ipsclass  =& $ipsclass;

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

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

//--------------------------------
//  Set up our vars
//--------------------------------

$ipsclass->parse_incoming();

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

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

//--------------------------------
// Global announcements functions
//--------------------------------

require_once ROOT_PATH   . "sources/components_public/globalmess.php";

$ipsclass->globalmess		=  new globalmess;
$ipsclass->globalmess->ipsclass	=& $ipsclass;

//===========================================================================
// Generate choice array
//===========================================================================

$choice = array(
                 "idx"        => array( "boards"             , 'boards'       , array('chatting','birthdays', 'calendar') ),
                 "sc"         => array( "boards"             , 'boards'       , array('chatting','birthdays', 'calendar') ),
                 "sf"         => array( "forums"             , 'forums'       , array('announcements', 'multimod') ),
                 "sr"         => array( "forums"             , 'forums'       , array() ),
                 "st"         => array( "topics"             , 'topics'       , array('attachtypes','bbcode', 'multimod','ranks','profilefields' ) ),
                 "announce"   => array( "announcements"      , 'announcements', array('bbcode','badwords','emoticons','ranks','profilefields' ) ),
                 "login"      => array( "login"              , 'login'        , array() ),
                 "post"       => array( "post"               , 'post'         , array('attachtypes','badwords','bbcode','emoticons','ranks' ) ),
                 "reg"        => array( "register"           , 'register'     , array() ),
                 "online"     => array( "online"             , 'online'       , array() ),
                 "members"    => array( "memberlist"         , 'memberlist'   , array('ranks','profilefields' ) ),
                 "help"       => array( "help"               , 'help'         , array() ),
                 "search"     => array( "search"             , 'search'       , array('badwords','emoticons','attachtypes','multimod','bbcode','ranks','profilefields' ) ),
                 "mod"        => array( "moderate"           , 'moderate'     , array('attachtypes','multimod','bbcode','emoticons','badwords' ) ),
                 "print"      => array( "misc/print_page"    , 'printpage'    , array('attachtypes','bbcode', 'multimod','ranks','profilefields' ) ),
                 "forward"    => array( "misc/forward_page"  , 'forwardpage'  , array() ),
                 "mail"       => array( "misc/contact_member", 'contactmember', array() ),
                 "report"     => array( "misc/contact_member", 'contactmember', array() ),
                 "chat"       => array( "misc/contact_member", 'contactmember', array() ),
                 'boardrules' => array( "misc/contact_member", 'contactmember', array() ),
                 "msg"        => array( "messenger"          , 'messenger'    , array('profilefields','attachtypes','badwords','bbcode','emoticons' ) ),
                 "usercp"     => array( "usercp"             , 'usercp'       , array('attachtypes','badwords','bbcode','emoticons' ) ),
                 "profile"    => array( "profile"            , 'profile'      , array('ranks','profilefields','badwords','bbcode','emoticons' ) ),
                 "track"      => array( "misc/tracker"       , 'tracker'      , array() ),
                 "stats"      => array( "misc/stats"         , 'stats'        , array() ),
                 "attach"     => array( "misc/attach"        , 'attach'       , array('attachtypes' ) ),
                 'legends'    => array( 'misc/legends'       , 'legends'      , array('badwords','bbcode'  ,'emoticons'  ) ),
                 'calendar'   => array( "calendar"           , 'calendar'     , array('attachtypes','bbcode', 'ranks','multimod','emoticons','badwords' ) ),
                 'buddy'      => array( "browsebuddy"        , 'assistant'    , array() ),
                 'mmod'       => array( "misc/multi_moderate", 'mmod'         , array('multimod' ) ),
                 'warn'       => array( "misc/warn"          , 'warn'         , array('badwords','bbcode'  ,'emoticons'  ) ),
                 'home'       => array( 'portal'             , 'portal'       , array('portal','attachtypes','bbcode', 'multimod','ranks','profilefields' ) ),
                 'module'     => array( 'modules'            , 'modules'      , array() ),
				 'membermap2'=> array( 'membermap2/membermap2', 'membermap2'      , array() ),
                 'task'       => array( 'taskloader'         , 'taskloader'   , array() ),
                 'findpost'   => array( 'findpost'           , 'findpost'     , array() ),
                 'awards'     => array( 'awards'             , 'awards'       , array() ),				 
                 "xmlout"     => array( "xmlout"             , 'xmlout'       , array('attachtypes','multimod','bbcode','ranks','profilefields' ) ),
                 'paysubs'    => array( 'paysubscriptions'   , 'paysubscriptions' , array() ),
                 'rssout'     => array( 'rssout'             , 'rssout'       , array() ),
                 'component'  => array( 'component'          , 'component'    , array() ),
                 'statistics' => array( 'D2mods/Statistics/stats', 'statistics', array()  ),				 
				 'rep'        => array( 'reputation'         , 'reputation'   , array() ),
               );

//---------------------------------------------------
// Check to make sure the array key exits..
//---------------------------------------------------

$ipsclass->input['_low_act'] = strtolower( $ipsclass->input['act'] );

if (! isset($choice[ $ipsclass->input['_low_act'] ][0]) )
{
	$ipsclass->input['act'] = 'idx';
	$ipsclass->input['_low_act'] = 'idx';
}

//===========================================================================
//  Short tags...
//===========================================================================

if ( $ipsclass->input['showforum'] != "" )
{
	$ipsclass->input['act'] = "sf";
	$ipsclass->input['f']   = intval($ipsclass->input['showforum']);
}
else if ( $ipsclass->input['showtopic'] != "")
{
	$ipsclass->input['act'] = "st";
	$ipsclass->input['t']   = intval($ipsclass->input['showtopic']);
	
	//---------------------------------------------------
	// Grab and cache the topic now as we need the 'f' attr for
	// the skins...
	//---------------------------------------------------
	
	$ipsclass->DB->simple_construct( array( 'select' => '*',
											'from'   => 'topics',
											'where'  => "tid=".$ipsclass->input['t'],
								  )      );
						
	$ipsclass->DB->simple_exec();
                       
    $ipsclass->topic_cache = $ipsclass->DB->fetch_row();
    $ipsclass->input['f']  = $ipsclass->topic_cache['forum_id'];
}
else if ( $ipsclass->input['showuser'] != "")
{
	$ipsclass->input['act'] = "profile";
	$ipsclass->input['MID'] = intval($ipsclass->input['showuser']);
}
else if ( $ipsclass->input['automodule'] != "" )
{
	$ipsclass->input['act']    = 'module';
	$ipsclass->input['module'] = $ipsclass->input['automodule'];
}
else if ( $ipsclass->input['autocom'] != "" )
{
	$ipsclass->input['act']    = 'component';
	$ipsclass->input['module'] = $ipsclass->input['autocom'];
}
else if($ipsclass->input['awardscp'] != "")
{
	$ipsclass->input['act']    = 'awards';
	$ipsclass->input['MID'] = $ipsclass->input['awardscp'];
}
else
{
	$ipsclass->input['act'] = $ipsclass->input['act'] == '' ? "idx" : $ipsclass->input['act'];
}

if ( ! $ipsclass->input['_low_act'] OR $ipsclass->input['_low_act'] == 'idx' )
{
	$ipsclass->input['_low_act'] = strtolower($ipsclass->input['act']);
}

//--------------------------------
// Start off the cache array
//--------------------------------

$ipsclass->cache_array = array_merge( $choice[ $ipsclass->input['_low_act'] ][2], array('rss_calendar', 'rss_export','components','banfilters', 'settings', 'group_cache', 'systemvars', 'skin_id_cache', 'forum_cache', 'moderators', 'stats', 'languages') );

//--------------------------------
// Module? Load INIT class
//--------------------------------

if ( ( $ipsclass->input['act'] == 'module' OR $ipsclass->input['act'] == 'component' ) and $ipsclass->input['module'] )
{
	$file = ROOT_PATH.'sources/components_init/'. $ipsclass->txt_alphanumerical_clean( $ipsclass->input['module'] ).'.php';
	
	if ( file_exists( $file ) )
	{
		require_once( $file );
		$init_class = new component_init();
		$init_class->ipsclass =& $ipsclass;
		$init_class->run_init();
	}
}

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

$ipsclass->init_load_cache( $ipsclass->cache_array );

//--------------------------------
// Set debug mode
//--------------------------------

$ipsclass->DB->set_debug_mode( $ipsclass->vars['sql_debug'] == 1 ? intval($_GET['debug']) : 0 );

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

$ipsclass->initiate_ipsclass();

//--------------------------------
//  The rest :D
//--------------------------------

$ipsclass->member     = $ipsclass->sess->authorise();
$ipsclass->lastclick  = $ipsclass->sess->last_click;
$ipsclass->location   = $ipsclass->sess->location;
$ipsclass->session_id = $ipsclass->sess->session_id; // Used in URLs
$ipsclass->my_session = $ipsclass->sess->session_id; // Used in code

//-----------------------------------------
// Cache md5 check
//-----------------------------------------

$ipsclass->md5_check = $ipsclass->return_md5_check();
		
//--------------------------------
//  Initialize the forums
//--------------------------------

$ipsclass->forums->strip_invisible = 1;
$ipsclass->forums->forums_init();

//--------------------------------
// Load the skin
//--------------------------------

$ipsclass->load_skin();

list($ppu,$tpu) = explode( "&", $ipsclass->member['view_prefs'] );
		
$ipsclass->vars['display_max_topics'] = ($tpu > 0) ? $tpu : $ipsclass->vars['display_max_topics'];
$ipsclass->vars['display_max_posts']  = ($ppu > 0) ? $ppu : $ipsclass->vars['display_max_posts'];

//===========================================================================
//  Set up the session ID stuff
//===========================================================================

if ( $ipsclass->session_type == 'cookie' )
{
	$ipsclass->session_id = "";
	$ipsclass->base_url   = $ipsclass->vars['board_url'].'/index.'.$ipsclass->vars['php_ext'].'?';
}
else
{
	$ipsclass->base_url = $ipsclass->vars['board_url'].'/index.'.$ipsclass->vars['php_ext'].'?s='.$ipsclass->session_id.'&amp;';
}

$ipsclass->js_base_url = $ipsclass->vars['board_url'].'/index.'.$ipsclass->vars['php_ext'].'?s='.$ipsclass->session_id.'&';

//--------------------------------
//  Set up the forum_read cookie
//--------------------------------

$ipsclass->hdl_forum_read_cookie();

//===========================================================================
//  Set up defaults
//===========================================================================

$ipsclass->skin_id = $ipsclass->skin['_setid'];

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

//--------------------------------
//  Set up our language choice
//--------------------------------

if ($ipsclass->vars['default_language'] == "")
{
	$ipsclass->vars['default_language'] = 'ru';
}

//--------------------------------
// Did we choose a language?
//--------------------------------

If ( $ipsclass->input['setlanguage'] and $ipsclass->input['langid'] and $ipsclass->member['id'] )
{
	if ( is_array( $ipsclass->cache['languages'] ) and count( $ipsclass->cache['languages'] ) )
	{
		foreach( $ipsclass->cache['languages'] as $idx => $data )
		{
			if ( $data['ldir'] == $ipsclass->input['langid'] )
			{
				$ipsclass->DB->do_update( 'members', array( 'language' => $data['ldir'] ), 'id='.$ipsclass->member['id'] );
				$ipsclass->member['language'] = $data['ldir'];
			}
		}
	}
}
		
$ipsclass->load_language('lang_global');

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

if ( LEGACY_MODE )
{
	$DB       =& $ipsclass->DB;
	$std      =& $ipsclass;
	$ibforums =& $ipsclass;
	$forums   =& $ipsclass->forums;
	$print    =& $ipsclass->print;
	$sess     =& $ipsclass->sess;
	
	$ipsclass->load_template('skin_global');
	$ipsclass->skin_global = $ipsclass->compiled_templates['skin_global'];
}

//===========================================================================
// DECONSTRUCTOR
//===========================================================================

if ( USE_SHUTDOWN and $ipsclass->input['act'] != 'task' )
{
	@chdir( ROOT_PATH );
	$ROOT_PATH = getcwd();
	
	register_shutdown_function( array( &$ipsclass, 'my_deconstructor') );
}

//===========================================================================
// Force log in / board offline?
//===========================================================================

if ($ipsclass->input['_low_act']   != 'login'  and
	$ipsclass->input['_low_act']   != 'reg'    and
	$ipsclass->input['_low_act']   != 'xmlout' and
	$ipsclass->input['_low_act']   != 'attach' and
	$ipsclass->input['_low_act']   != 'task'   and
	$ipsclass->input['_low_act']   != 'paysubs' )
{

	//--------------------------------
	//  Do we have permission to view
	//  the board?
	//--------------------------------
	
	if ($ipsclass->member['g_view_board'] != 1)
	{ 
		$ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'no_view_board') );
	}
	
	//--------------------------------
	//  Is the board offline?
	//--------------------------------
	
	if ($ipsclass->vars['board_offline'] == 1)
	{
		if ($ipsclass->member['g_access_offline'] != 1)
		{
			$ipsclass->vars['no_reg'] = 1;
			$ipsclass->board_offline();
		}
	}
	
	//--------------------------------
	//  Is log in enforced?
	//--------------------------------
	
	if ( (! $ipsclass->member['id']) and ($ipsclass->vars['force_login'] == 1) )
	{
		require ROOT_PATH."sources/action_public/login.php";
		$runme = new login();
		$runme->ipsclass =& $ipsclass;
		$runme->auto_run();
		
	}
	
	//--------------------------------
	// Show PURCHASE screen?
	// Not enforced
	//--------------------------------
	
	if ( ! $ipsclass->member['sub_end'] )
	{
		//--------------------------------
		// 1: No enforce, chosen from reg
		//--------------------------------
		
		if ( ! $ipsclass->vars['subsm_enforce'] and $ipsclass->member['subs_pkg_chosen'] )
		{
			$ipsclass->input['act']     = 'paysubs';
			$ipsclass->input['CODE']    = 'paymentmethod';
			$ipsclass->input['sub']     = $ipsclass->member['subs_pkg_chosen'];
			$ipsclass->input['nocp']    = 1;
			$ipsclass->input['msgtype'] = 'fromreg';
		}
	
		//--------------------------------
		// Show PURCHASE screen?
		// Enforced
		//--------------------------------
		
		if ( $ipsclass->vars['subsm_enforce'] and $ipsclass->member['mgroup'] == $ipsclass->vars['subsm_nopkg_group'] )
		{
			$ipsclass->input['act']     = 'paysubs';
			$ipsclass->input['nocp']    = 1;
			$ipsclass->input['msgtype'] = 'force';
			
			if ( $ipsclass->member['subs_pkg_chosen'] )
			{
				$ipsclass->input['CODE']    = 'paymentmethod';
				$ipsclass->input['sub']     = $ipsclass->member['subs_pkg_chosen'];
			}
		}
	}
}

//===========================================================================
// REQUIRE AND RUN
//===========================================================================                

if ( $ipsclass->input['act'] == 'home' AND $ipsclass->vars['csite_on'] )
{
	require ROOT_PATH."sources/action_public/portal.php";
	$csite           =  new portal();
	$csite->ipsclass =& $ipsclass;
	$csite->auto_run();
}
else if ( $ipsclass->input['act'] == 'module' AND USE_MODULES )
{
	require ROOT_PATH."modules/module_loader.php";
	$loader           =  new module_loader();
	$loader->ipsclass =& $ipsclass;
	$loader->run_loader();
}
else if ( $ipsclass->input['act'] == 'component' )
{
	$file = ROOT_PATH.'sources/components_public/'. $ipsclass->txt_alphanumerical_clean( $ipsclass->input['module'] ).'.php';
	
	if ( file_exists( $file ) )
	{
		require_once( $file );
		$loader           =  new component_public();
		$loader->ipsclass =& $ipsclass;
		$loader->run_component();
	}
	else
	{
		@header( "Location: ".$ipsclass->base_url );
	}
}
else
{	 
	// Require and run
	require_once( ROOT_PATH."sources/action_public/".$choice[ strtolower($ipsclass->input['act']) ][0].".php" );
	$runme = new $choice[ strtolower($ipsclass->input['act']) ][1];
	$runme->ipsclass =& $ipsclass;
	$runme->auto_run();
}


?>