Jump to content
GIGN Forum

Ipb Forum :(


exIS
 Share

Recommended Posts

Tur tas rindas nav numurētas + tur ir daudz rindu :(

<?php

/*

+--------------------------------------------------------------------------

| Invision Power Board v2.1.6

| ========================================

| by Matthew Mecham

| © 2001 - 2005 Invision Power Services

| http://www.invisionpower.com

| ========================================

| Web: http://www.invisionboard.com

| Time: N/A

| Release: DGT ; If you like script - buy it

| Email: [email protected]

+---------------------------------------------------------------------------

| INVISION POWER BOARD IS NOT FREE SOFTWARE!

| http://www.invisionboard.com/?license

+---------------------------------------------------------------------------

| > $Date: 2006-02-01 18:16:26 +0000 (Wed, 01 Feb 2006) $

| > $Revision: 132 $

| > $Author: bfarber $

+---------------------------------------------------------------------------

|

| > 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 );

//===========================================================================

// 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() ),

'task' => array( 'taskloader' , 'taskloader' , array() ),

'findpost' => array( 'findpost' , 'findpost' , 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() ),

);

//---------------------------------------------------

// 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

{

$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.'&';

}

$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'] = 'en';

}

//--------------------------------

// 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();

}

?>

Edited by exIS
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...