Version 3.2.3
This commit is contained in:
1 parent
ae5c01cc78
commit
78706903a2
2641 files changed
+228363
-201264
No files matched your search
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionboard.com/">IP.Board</a>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
</body>
|
||||
</html>
|
||||
@@ -3,20 +3,20 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.1.4
|
||||
* IP.Board v3.2.3
|
||||
* Static SETUP Classes for IP.Board 3
|
||||
*
|
||||
* These classes are not required as objects.
|
||||
* Last Updated: $Date: 2010-05-05 09:11:48 -0400 (Wed, 05 May 2010) $
|
||||
* Last Updated: $Date: 2011-07-11 18:25:07 -0400 (Mon, 11 Jul 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author Matt Mecham
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/community/board/license.html
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @link http://hatynka.in
|
||||
* @since 1st December 2008
|
||||
* @version $Revision: 6221 $
|
||||
* @version $Revision: 9199 $
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -31,7 +31,7 @@ class IPSInstall
|
||||
* Create admin account
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
static public function createAdminAccount()
|
||||
{
|
||||
@@ -58,8 +58,6 @@ class IPSInstall
|
||||
'last_activity' => time(),
|
||||
'ip_address' => my_getenv('REMOTE_ADDR'),
|
||||
'view_sigs' => 1,
|
||||
'view_img' => 1,
|
||||
'view_avs' => 1,
|
||||
'restrict_post' => 0,
|
||||
'msg_show_notification' => 1,
|
||||
'msg_count_total' => 0,
|
||||
@@ -67,9 +65,9 @@ class IPSInstall
|
||||
'coppa_user' => 0,
|
||||
'language' => IPSLib::getDefaultLanguage(),
|
||||
'members_auto_dst' => 1,
|
||||
'members_editor_choice' => ipsRegistry::$settings['ips_default_editor'] ? ipsRegistry::$settings['ips_default_editor'] : 'std',
|
||||
'members_editor_choice' => 'rte',
|
||||
'member_uploader' => 'flash',
|
||||
'allow_admin_mails' => 0,
|
||||
'hide_email' => 1,
|
||||
'members_pass_hash' => $passhash,
|
||||
'members_pass_salt' => $salt,
|
||||
'has_blog' => '',
|
||||
@@ -84,7 +82,7 @@ class IPSInstall
|
||||
);
|
||||
|
||||
/* Insert: MEMBERS */
|
||||
ipsRegistry::DB()->force_data_type = array( 'name' => 'string', 'members_display_name' => 'string', 'members_l_username' => 'string', 'members_l_display_name' => 'string' );
|
||||
ipsRegistry::DB()->setDataType( array( 'name', 'members_display_name', 'members_l_username', 'members_l_display_name' ), 'string' );
|
||||
|
||||
ipsRegistry::DB()->insert( 'members', $member );
|
||||
|
||||
@@ -92,7 +90,6 @@ class IPSInstall
|
||||
$member['member_id'] = $member_id;
|
||||
|
||||
/* Insert into the custom profile fields DB */
|
||||
ipsRegistry::DB()->force_data_type = array();
|
||||
ipsRegistry::DB()->insert( 'pfields_content', array( 'member_id' => $member_id ) );
|
||||
|
||||
/* Insert into pp */
|
||||
@@ -101,7 +98,8 @@ class IPSInstall
|
||||
'pp_setting_count_friends' => 1,
|
||||
'signature' => '',
|
||||
'pconversation_filters' => '',
|
||||
'pp_setting_count_comments' => 1 ) );
|
||||
'pp_setting_count_comments' => 1,
|
||||
'pp_setting_count_visitors' => 1 ) );
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,18 +3,18 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.1.4
|
||||
* IP.Board v3.2.3
|
||||
* ipsController for setup
|
||||
* Last Updated: $Date: 2010-09-15 17:14:23 -0400 (Wed, 15 Sep 2010) $
|
||||
* Last Updated: $Date: 2011-09-22 09:37:11 -0400 (Thu, 22 Sep 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author Matt Mecham
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/community/board/license.html
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @link http://hatynka.in
|
||||
* @since 1st December 2008
|
||||
* @version $Revision: 6881 $
|
||||
* @version $Revision: 9537 $
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -50,7 +50,7 @@ class ipsController
|
||||
* Make us a singleton please
|
||||
*
|
||||
* @access private
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
private function __construct() { }
|
||||
|
||||
@@ -58,7 +58,7 @@ class ipsController
|
||||
* Public facing function to run the controller
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
static public function run()
|
||||
{
|
||||
@@ -71,7 +71,7 @@ class ipsController
|
||||
* Initialize ipsRegistry and this class
|
||||
*
|
||||
* @access protected
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
protected function init()
|
||||
{
|
||||
@@ -83,7 +83,7 @@ class ipsController
|
||||
* Handle the incoming request using the command resolver
|
||||
*
|
||||
* @access protected
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
protected function handleRequest()
|
||||
{
|
||||
@@ -131,7 +131,7 @@ class ipsController_CommandResolver
|
||||
* Constructor
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
@@ -158,7 +158,7 @@ class ipsController_CommandResolver
|
||||
/* Got a section? */
|
||||
if ( ! $section )
|
||||
{
|
||||
if ( file_exists( $filepath . 'index.php' ) )
|
||||
if ( is_file( $filepath . 'index.php' ) )
|
||||
{
|
||||
$section = 'index';
|
||||
}
|
||||
@@ -166,14 +166,14 @@ class ipsController_CommandResolver
|
||||
|
||||
$classname = IPS_APP_COMPONENT . '_' . $section;
|
||||
|
||||
if ( file_exists( $filepath . 'manualResolver.php' ) )
|
||||
if ( is_file( $filepath . 'manualResolver.php' ) )
|
||||
{
|
||||
require_once( $filepath . 'manualResolver.php' );
|
||||
require_once( $filepath . 'manualResolver.php' );/*noLibHook*/
|
||||
$classname = IPS_APP_COMPONENT . '_' . $module . '_manualResolver';
|
||||
}
|
||||
else if ( file_exists( $filepath . $section . '.php' ) )
|
||||
else if ( is_file( $filepath . $section . '.php' ) )
|
||||
{
|
||||
require_once( $filepath . $section . '.php' );
|
||||
require_once( $filepath . $section . '.php' );/*noLibHook*/
|
||||
}
|
||||
|
||||
if ( class_exists( $classname ) )
|
||||
@@ -207,17 +207,19 @@ abstract class ipsCommand
|
||||
protected $registry;
|
||||
protected $DB;
|
||||
protected $settings;
|
||||
protected $request;
|
||||
public $request;
|
||||
protected $lang;
|
||||
protected $member;
|
||||
protected $memberData;
|
||||
protected $cache;
|
||||
protected $caches;
|
||||
/**#@-*/
|
||||
|
||||
/**
|
||||
* Constructor override
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
final public function __construct()
|
||||
{
|
||||
@@ -228,7 +230,7 @@ abstract class ipsCommand
|
||||
*
|
||||
* @access public
|
||||
* @param object ipsRegistry reference
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function makeRegistryShortcuts( ipsRegistry $registry )
|
||||
{
|
||||
@@ -248,7 +250,7 @@ abstract class ipsCommand
|
||||
*
|
||||
* @access public
|
||||
* @param object ipsRegistry reference
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function execute( ipsRegistry $registry )
|
||||
{
|
||||
@@ -261,7 +263,7 @@ abstract class ipsCommand
|
||||
*
|
||||
* @access protected
|
||||
* @param object ipsRegistry reference
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
protected abstract function doExecute( ipsRegistry $registry );
|
||||
}
|
||||
@@ -274,7 +276,7 @@ class ipsCommand_default extends ipsCommand
|
||||
*
|
||||
* @access public
|
||||
* @param object ipsRegistry reference
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
protected function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
@@ -285,7 +287,7 @@ class ipsCommand_default extends ipsCommand
|
||||
// Uh oh, this is a big one.. (no forums app)
|
||||
//-----------------------------------------
|
||||
|
||||
if ( ! file_exists( $filepath ) )
|
||||
if ( ! is_file( $filepath ) )
|
||||
{
|
||||
print "Не найден файл команд " . ipsRegistry::$current_module;
|
||||
exit();
|
||||
|
||||
@@ -3,18 +3,18 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.1.4
|
||||
* IP.Board v3.2.3
|
||||
* Registry class for setup
|
||||
* Last Updated: $Date: 2010-09-15 17:14:23 -0400 (Wed, 15 Sep 2010) $
|
||||
* Last Updated: $Date: 2011-08-26 11:38:16 -0400 (Fri, 26 Aug 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author Matt Mecham
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/community/board/license.html
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @link http://hatynka.in
|
||||
* @since 1st December 2008
|
||||
* @version $Revision: 6881 $
|
||||
* @version $Revision: 9420 $
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -171,7 +171,7 @@ class ipsRegistry
|
||||
* Custom destructor
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
static public function __myDestruct()
|
||||
{
|
||||
@@ -188,7 +188,7 @@ class ipsRegistry
|
||||
* Initiate the registry
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public static function init()
|
||||
{
|
||||
@@ -198,15 +198,19 @@ class ipsRegistry
|
||||
}
|
||||
|
||||
self::$initiated = TRUE;
|
||||
|
||||
/* Log current upgrade step */
|
||||
self::logUpgradeStep();
|
||||
|
||||
/* Load static classes */
|
||||
require IPS_ROOT_PATH . "sources/base/core.php";
|
||||
require IPS_ROOT_PATH . "setup/sources/base/setup.php";
|
||||
require( IPS_ROOT_PATH . "sources/base/core.php" );/*noLibHook*/
|
||||
require( IPS_ROOT_PATH . "sources/base/ipsMember.php" );/*noLibHook*/
|
||||
require( IPS_ROOT_PATH . "setup/sources/base/setup.php" );/*noLibHook*/
|
||||
|
||||
/* Load conf global and set up DB */
|
||||
if ( IPS_IS_UPGRADER )
|
||||
{
|
||||
if ( ! file_exists( DOC_IPS_ROOT_PATH . "conf_global.php" ) )
|
||||
if ( ! is_file( DOC_IPS_ROOT_PATH . "conf_global.php" ) )
|
||||
{
|
||||
print "Файл " . DOC_IPS_ROOT_PATH . "conf_global.php не найден!";
|
||||
exit();
|
||||
@@ -236,7 +240,7 @@ class ipsRegistry
|
||||
define( 'IPS_CACHE_PATH', DOC_IPS_ROOT_PATH );
|
||||
}
|
||||
|
||||
require IPS_ROOT_PATH . "setup/sources/base/install.php";
|
||||
require IPS_ROOT_PATH . "setup/sources/base/install.php";/*noLibHook*/
|
||||
}
|
||||
|
||||
/* Input set up... */
|
||||
@@ -299,7 +303,7 @@ class ipsRegistry
|
||||
$file = '1xx.php';
|
||||
}
|
||||
|
||||
require_once( IPS_ROOT_PATH . 'setup/sources/legacy/' . $file );
|
||||
require_once( IPS_ROOT_PATH . 'setup/sources/legacy/' . $file );/*noLibHook*/
|
||||
self::instance()->setClass( 'legacy', new upgradeLegacy( self::instance() ) );
|
||||
}
|
||||
|
||||
@@ -310,7 +314,7 @@ class ipsRegistry
|
||||
IPSSetUp::thawSavedData();
|
||||
|
||||
/* Gather other classes */
|
||||
require_once( IPS_ROOT_PATH . 'setup/sources/classes/output/output.php' );
|
||||
require_once( IPS_ROOT_PATH . 'setup/sources/classes/output/output.php' );/*noLibHook*/
|
||||
|
||||
self::instance()->setClass( 'output', new output( self::instance(), TRUE ) );
|
||||
|
||||
@@ -339,7 +343,7 @@ class ipsRegistry
|
||||
else
|
||||
{
|
||||
# Installer locked?
|
||||
if ( file_exists( DOC_IPS_ROOT_PATH . 'cache/installer_lock.php' ) )
|
||||
if ( is_file( DOC_IPS_ROOT_PATH . 'cache/installer_lock.php' ) )
|
||||
{
|
||||
self::getClass('output')->setTitle( "Установка: Ошибка" );
|
||||
self::getClass('output')->setNextAction( '' );
|
||||
@@ -349,20 +353,33 @@ class ipsRegistry
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Log the step we are in the upgrade routine
|
||||
*/
|
||||
static public function logUpgradeStep()
|
||||
{
|
||||
$_log = date('r') . "\n";
|
||||
$_log .= $_SERVER['REQUEST_URI'] . "\n";
|
||||
|
||||
$_filename = "UPGRADE_LOG_" . date('d_m_Y') . '.cgi';
|
||||
|
||||
file_put_contents( DOC_IPS_ROOT_PATH . 'cache/' . $_filename, $_log, FILE_APPEND );
|
||||
}
|
||||
|
||||
/**
|
||||
* Load conf_global
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
static public function loadConfGlobal()
|
||||
{
|
||||
/* Load config file */
|
||||
if ( file_exists( DOC_IPS_ROOT_PATH . "conf_global.php" ) )
|
||||
if ( is_file( DOC_IPS_ROOT_PATH . 'conf_global.php' ) )
|
||||
{
|
||||
$INFO = array();
|
||||
require DOC_IPS_ROOT_PATH . "conf_global.php";
|
||||
require( DOC_IPS_ROOT_PATH . 'conf_global.php' );/*noLibHook*/
|
||||
|
||||
if ( is_array( $INFO ) && count( $INFO ) )
|
||||
{
|
||||
@@ -378,7 +395,7 @@ class ipsRegistry
|
||||
* Set database handle
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
static public function setDBHandle()
|
||||
{
|
||||
@@ -391,7 +408,7 @@ class ipsRegistry
|
||||
*
|
||||
* @access public
|
||||
* @param string Section key
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
static public function autoLoadNextAction( $section )
|
||||
{
|
||||
@@ -400,7 +417,7 @@ class ipsRegistry
|
||||
|
||||
$_class = IPS_APP_COMPONENT . '_' . $section;
|
||||
|
||||
require_once( IPS_ROOT_PATH . 'setup/applications/' . IPS_APP_COMPONENT . '/sections/' . $section . '.php' );
|
||||
require_once( IPS_ROOT_PATH . 'setup/applications/' . IPS_APP_COMPONENT . '/sections/' . $section . '.php' );/*noLibHook*/
|
||||
$action = new $_class();
|
||||
$action->makeRegistryShortcuts( self::instance() );
|
||||
$action->doExecute( self::instance() );
|
||||
@@ -416,7 +433,7 @@ class ipsRegistry
|
||||
static public function readGlobalConfig()
|
||||
{
|
||||
/* Fetch core writeable files */
|
||||
require_once( IPS_KERNEL_PATH . 'classXML.php' );
|
||||
require_once( IPS_KERNEL_PATH . 'classXML.php' );/*noLibHook*/
|
||||
$xml = new classXML( IPSSetUp::charSet );
|
||||
|
||||
try
|
||||
@@ -480,18 +497,50 @@ class ipsRegistry
|
||||
return isset( self::$_config[ $key ] ) ? self::$_config[ $key ] : FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Grab the app class file
|
||||
*
|
||||
* @param string $app Application to check for app class
|
||||
* @return mixed Null if invalid or no app passed, otherwise app class object
|
||||
*/
|
||||
public static function getAppClass( $app='' )
|
||||
{
|
||||
if( !$app OR !is_string($app) )
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
# Load app class
|
||||
if ( ! isset( self::$app_class[ $app ] ) )
|
||||
{
|
||||
self::$app_class[ $app ] = null;
|
||||
|
||||
$_file = IPSLib::getAppDir( $app ) . '/app_class_' . $app . '.php';
|
||||
$_name = 'app_class_' . $app;
|
||||
|
||||
if ( is_file( $_file ) )
|
||||
{
|
||||
$classToLoad = IPSLib::loadLibrary( $_file, $_name, $app );
|
||||
|
||||
self::$app_class[ $app ] = new $classToLoad( self::instance() );
|
||||
}
|
||||
}
|
||||
|
||||
return self::$app_class[ $app ];
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads application's core variables (if required)
|
||||
*
|
||||
* @access public
|
||||
* @param string App key (dir.. that's directory, not duuhr)
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
static public function _loadCoreVariables()
|
||||
{
|
||||
if ( ! is_object( self::$_masterCoreVariables['__CLASS__'] ) )
|
||||
{
|
||||
require_once( IPS_ROOT_PATH . 'extensions/coreVariables.php' );
|
||||
require_once( IPS_ROOT_PATH . 'extensions/coreVariables.php' );/*noLibHook*/
|
||||
|
||||
/* Add handle */
|
||||
self::$_masterCoreVariables['__CLASS__'] = new coreVariables();
|
||||
@@ -542,15 +591,15 @@ class ipsRegistry
|
||||
*
|
||||
* @access private
|
||||
* @param string App key (dir.. that's directory, not duuhr)
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
static private function _loadAppCoreVariables( $appDir )
|
||||
{
|
||||
if ( ! isset( self::$_coreVariables[ $appDir ] ) )
|
||||
{
|
||||
if( file_exists( IPSLib::getAppDir( $appDir ) . '/extensions/coreVariables.php' ) )
|
||||
if( is_file( IPSLib::getAppDir( $appDir ) . '/extensions/coreVariables.php' ) )
|
||||
{
|
||||
require( IPSLib::getAppDir( $appDir ) . '/extensions/coreVariables.php' );
|
||||
require( IPSLib::getAppDir( $appDir ) . '/extensions/coreVariables.php' );/*noLibHook*/
|
||||
|
||||
/* Add caches */
|
||||
self::$_coreVariables[ $appDir ]['cache'] = is_array( $CACHE ) ? $CACHE : array();
|
||||
@@ -589,7 +638,7 @@ class ipsRegistry
|
||||
* @access public
|
||||
* @param string Key
|
||||
* @param object Value
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
static public function setClass( $key='', $value='' )
|
||||
{
|
||||
@@ -632,24 +681,24 @@ class ipsRegistry
|
||||
throw new Exception( "$key не является объектом" );
|
||||
break;
|
||||
case 'class_captcha':
|
||||
require_once( IPS_KERNEL_PATH . 'classCaptcha.php' );
|
||||
require_once( IPS_KERNEL_PATH . 'classCaptcha.php' );/*noLibHook*/
|
||||
self::$classes['class_captcha'] = new classCaptcha( self::instance() );
|
||||
break;
|
||||
case 'templateEngine':
|
||||
require_once( IPS_KERNEL_PATH . 'classTemplateEngine.php' );
|
||||
require_once( IPS_KERNEL_PATH . 'classTemplateEngine.php' );/*noLibHook*/
|
||||
self::$classes['templateEngine'] = new classTemplate( IPS_ROOT_PATH . 'sources/template_plugins' );
|
||||
break;
|
||||
case 'class_localization':
|
||||
require_once( IPS_ROOT_PATH . 'sources/classes/class_localization.php' );
|
||||
require_once( IPS_ROOT_PATH . 'sources/classes/class_localization.php' );/*noLibHook*/
|
||||
self::$classes['class_localization'] = new class_localization( self::instance() );
|
||||
break;
|
||||
case 'permissions':
|
||||
require_once( IPS_ROOT_PATH . 'sources/classes/class_public_permissions.php' );
|
||||
require_once( IPS_ROOT_PATH . 'sources/classes/class_public_permissions.php' );/*noLibHook*/
|
||||
self::$classes['permissions'] = new classPublicPermissions( self::instance() );
|
||||
break;
|
||||
/* Yes I know this is forums app and not global, but it's still called so much this is a good idea */
|
||||
case 'class_forums':
|
||||
require_once( IPSLib::getAppDir( 'forums' ) . "/sources/classes/forums/class_forums.php" );
|
||||
require_once( IPSLib::getAppDir( 'forums' ) . "/sources/classes/forums/class_forums.php" );/*noLibHook*/
|
||||
self::$classes['class_forums'] = new class_forums( self::instance() );
|
||||
self::$classes['class_forums']->strip_invisible = true;
|
||||
self::$classes['class_forums']->forumsInit();
|
||||
@@ -846,7 +895,7 @@ class ipsRegistry
|
||||
* Check to see if we are initialized
|
||||
*
|
||||
* @access protected
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
protected function checkForInit()
|
||||
{
|
||||
@@ -861,7 +910,7 @@ class ipsRegistry
|
||||
/**
|
||||
* Set up request redirect stuff
|
||||
*
|
||||
* @return void
|
||||
* @return @e void
|
||||
* @author MattMecham
|
||||
* @access protected
|
||||
*/
|
||||
@@ -879,7 +928,7 @@ class ipsRegistry
|
||||
/**
|
||||
* Set up settings
|
||||
*
|
||||
* @return void
|
||||
* @return @e void
|
||||
* @author MattMecham
|
||||
* @access protected
|
||||
*/
|
||||
@@ -957,7 +1006,7 @@ class ipsRegistry
|
||||
/**
|
||||
* Check caches
|
||||
*
|
||||
* @return void
|
||||
* @return @e void
|
||||
* @author MattMecham
|
||||
* @access protected
|
||||
*/
|
||||
@@ -1000,13 +1049,49 @@ class ipsRegistry
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$app_cache = self::$handles['caches']->getCache('app_cache');
|
||||
|
||||
//-----------------------------------------
|
||||
// Build app data and APP specific load requests
|
||||
//-----------------------------------------
|
||||
|
||||
if( is_array($app_cache) AND count($app_cache) )
|
||||
{
|
||||
foreach( $app_cache as $_app_dir => $_app_data )
|
||||
{
|
||||
if ( !IPS_IS_TASK AND ( IPS_AREA == 'public' && ! $_app_data['app_public_title'] ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$_app_data['app_public_title'] = ( $_app_data['app_public_title'] ) ? $_app_data['app_public_title'] : $_app_data['app_title'];
|
||||
self::$applications[ $_app_dir ] = $_app_data;
|
||||
}
|
||||
}
|
||||
|
||||
/* Sort by position */
|
||||
uasort( self::$applications, 'ipsRegistry::_appPositionSort' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Sort by position
|
||||
*
|
||||
* @return integer
|
||||
*/
|
||||
protected static function _appPositionSort( $a, $b )
|
||||
{
|
||||
$a['app_position'] = ( isset( $a['app_position'] ) ) ? $a['app_position'] : 0;
|
||||
$b['app_position'] = ( isset( $b['app_position'] ) ) ? $b['app_position'] : 0;
|
||||
|
||||
return ( $a['app_position'] > $b['app_position'] ) ? +1 : -1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* ips_base_Registry
|
||||
*
|
||||
**/
|
||||
*/
|
||||
abstract class ips_base_Registry
|
||||
{
|
||||
/**
|
||||
@@ -1014,7 +1099,7 @@ abstract class ips_base_Registry
|
||||
*
|
||||
* @access protected
|
||||
* @var array
|
||||
**/
|
||||
*/
|
||||
protected $data_store = array();
|
||||
|
||||
/**
|
||||
@@ -1025,7 +1110,7 @@ abstract class ips_base_Registry
|
||||
* @access public
|
||||
* @param mixed $key
|
||||
* @return mixed
|
||||
**/
|
||||
*/
|
||||
protected function get( $key )
|
||||
{
|
||||
if( isset( $this->data_store[ $key ] ) )
|
||||
@@ -1047,7 +1132,7 @@ abstract class ips_base_Registry
|
||||
* @param mixed $key
|
||||
* @param mixed $val
|
||||
* @return mixed
|
||||
**/
|
||||
*/
|
||||
protected function set( $key, $val )
|
||||
{
|
||||
$this->data_store[ $key ] = $val;
|
||||
@@ -1187,7 +1272,7 @@ class ips_DBRegistry extends ips_base_Registry
|
||||
* @access public
|
||||
* @param object $db_driver DB instance
|
||||
* @param string $key Key of the db connection to check
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
|
||||
static function setDB( $db_driver, $key='' )
|
||||
@@ -1200,7 +1285,7 @@ class ips_DBRegistry extends ips_base_Registry
|
||||
/* Fix up settings */
|
||||
if ( ! class_exists( 'dbMain' ) )
|
||||
{
|
||||
require_once ( IPS_KERNEL_PATH . 'classDb' . ucwords($db_driver) . ".php" );
|
||||
require_once ( IPS_KERNEL_PATH . 'classDb' . ucwords($db_driver) . ".php" );/*noLibHook*/
|
||||
}
|
||||
|
||||
$classname = "db_driver_" . $db_driver;
|
||||
@@ -1290,7 +1375,7 @@ class ips_DBRegistry extends ips_base_Registry
|
||||
|
||||
IPSDebug::addMessage( "* Checking for query cache file: " . $file );
|
||||
|
||||
if ( file_exists( $file ) )
|
||||
if ( is_file( $file ) )
|
||||
{
|
||||
self::getDB( $key )->loadCacheFile( $file, $class, TRUE );
|
||||
return TRUE;
|
||||
@@ -1409,7 +1494,7 @@ class ips_CacheRegistry extends ips_base_Registry
|
||||
* Initialize class
|
||||
*
|
||||
* @access private
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
private function init()
|
||||
{
|
||||
@@ -1423,8 +1508,8 @@ class ips_CacheRegistry extends ips_base_Registry
|
||||
|
||||
if( function_exists('eaccelerator_get') AND ipsRegistry::$settings['use_eaccelerator'] == 1 )
|
||||
{
|
||||
require IPS_KERNEL_PATH.'interfaces/interfaceCache.php';
|
||||
require IPS_KERNEL_PATH.'classCacheEaccelerator.php';
|
||||
require IPS_KERNEL_PATH.'interfaces/interfaceCache.php';/*noLibHook*/
|
||||
require IPS_KERNEL_PATH.'classCacheEaccelerator.php';/*noLibHook*/
|
||||
self::$cacheLib = new classCacheEaccelerator( ipsRegistry::$settings['board_url'] );
|
||||
}
|
||||
|
||||
@@ -1434,8 +1519,8 @@ class ips_CacheRegistry extends ips_base_Registry
|
||||
|
||||
else if( function_exists('memcache_connect') AND ipsRegistry::$settings['use_memcache'] == 1 )
|
||||
{
|
||||
require IPS_KERNEL_PATH.'interfaces/interfaceCache.php';
|
||||
require IPS_KERNEL_PATH.'classCacheMemcache.php';
|
||||
require IPS_KERNEL_PATH.'interfaces/interfaceCache.php';/*noLibHook*/
|
||||
require IPS_KERNEL_PATH.'classCacheMemcache.php';/*noLibHook*/
|
||||
self::$cacheLib = new classCacheMemcache( ipsRegistry::$settings['board_url'], ipsRegistry::$settings );
|
||||
}
|
||||
|
||||
@@ -1445,8 +1530,8 @@ class ips_CacheRegistry extends ips_base_Registry
|
||||
|
||||
else if( function_exists('xcache_get') AND ipsRegistry::$settings['use_xcache'] == 1 )
|
||||
{
|
||||
require IPS_KERNEL_PATH.'interfaces/interfaceCache.php';
|
||||
require IPS_KERNEL_PATH.'classCacheXcache.php';
|
||||
require IPS_KERNEL_PATH.'interfaces/interfaceCache.php';/*noLibHook*/
|
||||
require IPS_KERNEL_PATH.'classCacheXcache.php';/*noLibHook*/
|
||||
self::$cacheLib = new classCacheXcache( ipsRegistry::$settings['board_url'] );
|
||||
}
|
||||
|
||||
@@ -1456,8 +1541,8 @@ class ips_CacheRegistry extends ips_base_Registry
|
||||
|
||||
else if( function_exists('apc_fetch') AND ipsRegistry::$settings['use_apc'] == 1 )
|
||||
{
|
||||
require IPS_KERNEL_PATH.'interfaces/interfaceCache.php';
|
||||
require IPS_KERNEL_PATH.'classCacheApc.php';
|
||||
require IPS_KERNEL_PATH.'interfaces/interfaceCache.php';/*noLibHook*/
|
||||
require IPS_KERNEL_PATH.'classCacheApc.php';/*noLibHook*/
|
||||
self::$cacheLib = new classCacheApc( ipsRegistry::$settings['board_url'] );
|
||||
}
|
||||
|
||||
@@ -1467,8 +1552,8 @@ class ips_CacheRegistry extends ips_base_Registry
|
||||
|
||||
else if( ipsRegistry::$settings['use_diskcache'] == 1 )
|
||||
{
|
||||
require IPS_KERNEL_PATH.'interfaces/interfaceCache.php';
|
||||
require IPS_KERNEL_PATH.'classCacheDiskcache.php';
|
||||
require IPS_KERNEL_PATH.'interfaces/interfaceCache.php';/*noLibHook*/
|
||||
require IPS_KERNEL_PATH.'classCacheDiskcache.php';/*noLibHook*/
|
||||
self::$cacheLib = new classCacheDiskcache( ipsRegistry::$settings['board_url'] );
|
||||
}
|
||||
|
||||
@@ -1617,7 +1702,7 @@ class ips_CacheRegistry extends ips_base_Registry
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( strstr( $temp_cache[$key], "a:" ) )
|
||||
if ( is_string($temp_cache[$key]) AND strstr( $temp_cache[$key], "a:" ) !== false )
|
||||
{
|
||||
self::instance()->data_store[ $key ] = unserialize( $temp_cache[$key] );
|
||||
}
|
||||
@@ -1700,7 +1785,7 @@ class ips_CacheRegistry extends ips_base_Registry
|
||||
* @access protected
|
||||
* @param string Cache Key
|
||||
* @param mixed Cache value (typically an array)
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
protected function cacheSet( $key, $val )
|
||||
{
|
||||
@@ -1738,7 +1823,7 @@ class ips_CacheRegistry extends ips_base_Registry
|
||||
}
|
||||
}
|
||||
|
||||
ipsRegistry::DB()->no_escape_fields['cs_key'] = 1;
|
||||
ipsRegistry::DB()->preventAddSlashes( array( 'cs_key' => 1 ) );
|
||||
|
||||
if ( $this->save_options['donow'] )
|
||||
{
|
||||
@@ -1803,16 +1888,22 @@ class ips_CacheRegistry extends ips_base_Registry
|
||||
{
|
||||
if ( ! in_array( $key, array_keys( self::instance()->data_store ) ) )
|
||||
{
|
||||
if ( IPS_IS_UPGRADER )
|
||||
{
|
||||
self::_loadCaches( array( $key ) );
|
||||
}
|
||||
|
||||
$cache = self::instance()->data_store[ $key ];
|
||||
}
|
||||
else
|
||||
{
|
||||
$cache = self::instance()->get( $key );
|
||||
$cache = self::instance()->data_store[ $key ];
|
||||
}
|
||||
|
||||
return $cache;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Fetch all the caches as a reference
|
||||
*
|
||||
@@ -1830,7 +1921,7 @@ class ips_CacheRegistry extends ips_base_Registry
|
||||
* @access public
|
||||
* @param string Cache key
|
||||
* @param mixed Cache value
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
static public function updateCacheWithoutSaving( $key, $value )
|
||||
{
|
||||
@@ -1877,86 +1968,81 @@ class ips_CacheRegistry extends ips_base_Registry
|
||||
* @access public
|
||||
* @param string Cache key
|
||||
* @param string Application
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
static public function rebuildCache( $key, $app='' )
|
||||
{
|
||||
$app = IPSText::alphanumericalClean( $app );
|
||||
|
||||
/* INIT */
|
||||
$app = IPSText::alphanumericalClean( $app );
|
||||
$_caches = array();
|
||||
|
||||
if( $app )
|
||||
{
|
||||
if ( $app == 'global' )
|
||||
{
|
||||
$CACHE = ipsRegistry::_fetchCoreVariables( 'cache' );
|
||||
$_caches = ipsRegistry::_fetchCoreVariables( 'cache' );
|
||||
}
|
||||
else
|
||||
{
|
||||
$CACHE = ipsRegistry::_fetchAppCoreVariables( $app, 'cache' );
|
||||
}
|
||||
|
||||
if ( $CACHE[ $key ] )
|
||||
{
|
||||
$file_to_check = $CACHE[ $key ]['recache_file'];
|
||||
|
||||
if ( $file_to_check AND is_file($file_to_check) AND file_exists( $file_to_check ) )
|
||||
/* isset there is needed to prevent issues on applications installation */
|
||||
if( isset( ipsRegistry::$applications[$app] ) && !IPSLib::appIsInstalled($app) )
|
||||
{
|
||||
$_class = $CACHE[ $key ]['recache_class'];
|
||||
$_func = $CACHE[ $key ]['recache_function'];
|
||||
|
||||
require_once( $file_to_check );
|
||||
|
||||
if( class_exists( $_class ) )
|
||||
{
|
||||
$recache = new $_class( ipsRegistry::instance() );
|
||||
|
||||
if( method_exists( $recache, 'makeRegistryShortcuts' ) )
|
||||
{
|
||||
$recache->makeRegistryShortcuts( ipsRegistry::instance() );
|
||||
}
|
||||
|
||||
$recache->$_func();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
$_caches = ipsRegistry::_fetchAppCoreVariables( $app, 'cache' );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
/* Get all caches from all apps */
|
||||
$_caches = ipsRegistry::_fetchCoreVariables( 'cache' );
|
||||
|
||||
foreach( ipsRegistry::$applications as $appDir => $appData )
|
||||
{
|
||||
foreach( new DirectoryIterator( IPS_ROOT_PATH . 'applications' ) as $application )
|
||||
$CACHE = ipsRegistry::_fetchAppCoreVariables( $appDir, 'cache' );
|
||||
|
||||
if ( is_array( $CACHE ) )
|
||||
{
|
||||
if( $application->isDir() AND !$application->isDot() )
|
||||
{
|
||||
$CACHE = ipsRegistry::_fetchAppCoreVariables( IPS_APP_COMPONENT, 'cache' );
|
||||
|
||||
if ( is_array( $CACHE ) )
|
||||
{
|
||||
if ( $CACHE[ $key ] )
|
||||
{
|
||||
$file_to_check = $CACHE[ $key ]['recache_file'];
|
||||
|
||||
if ( $file_to_check AND file_exists( $file_to_check ) )
|
||||
{
|
||||
$_class = $CACHE[ $key ]['recache_class'];
|
||||
$_func = $CACHE[ $key ]['recache_function'];
|
||||
|
||||
require_once( $file_to_check );
|
||||
$recache = new $_class( ipsRegistry::instance() );
|
||||
|
||||
if( method_exists( $recache, 'makeRegistryShortcuts' ) )
|
||||
{
|
||||
$recache->makeRegistryShortcuts( ipsRegistry::instance() );
|
||||
}
|
||||
|
||||
$recache->$_func();
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
$_caches = array_merge( $_caches, $CACHE );
|
||||
}
|
||||
} catch ( Exception $e ) {}
|
||||
}
|
||||
}
|
||||
|
||||
/* Rebuild the cache, if found */
|
||||
if( isset( $_caches[ $key ] ) )
|
||||
{
|
||||
$file_to_check = $_caches[ $key ]['recache_file'];
|
||||
|
||||
if ( $file_to_check AND is_file( $file_to_check ) )
|
||||
{
|
||||
$_func = $_caches[ $key ]['recache_function'];
|
||||
|
||||
/* Hackish way to check for action overloader */
|
||||
if ( strpos( $file_to_check, '/modules_' ) !== FALSE )
|
||||
{
|
||||
$_class = IPSLib::loadActionOverloader( $file_to_check, $_caches[ $key ]['recache_class'] );
|
||||
}
|
||||
elseif ( $app )
|
||||
{
|
||||
$_class = IPSLib::loadLibrary( $file_to_check, $_caches[ $key ]['recache_class'], ($app == 'global') ? 'core' : $app );
|
||||
}
|
||||
|
||||
/* Fallback */
|
||||
if ( !$_class )
|
||||
{
|
||||
$_class = $_caches[ $key ]['recache_class'];
|
||||
}
|
||||
|
||||
$recache = new $_class( ipsRegistry::instance() );
|
||||
|
||||
if( method_exists( $recache, 'makeRegistryShortcuts' ) )
|
||||
{
|
||||
$recache->makeRegistryShortcuts( ipsRegistry::instance() );
|
||||
}
|
||||
|
||||
$recache->$_func();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2171,7 +2257,7 @@ class ips_MemberRegistry extends ips_base_Registry
|
||||
* Destructor
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function __myDestruct()
|
||||
{
|
||||
@@ -2181,7 +2267,7 @@ class ips_MemberRegistry extends ips_base_Registry
|
||||
* Our singleton INIT function
|
||||
*
|
||||
* @access protected
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
protected static function init()
|
||||
{
|
||||
@@ -2195,12 +2281,7 @@ class ips_MemberRegistry extends ips_base_Registry
|
||||
{
|
||||
foreach( array_reverse( explode( ',', my_getenv('HTTP_X_FORWARDED_FOR') ) ) as $x_f )
|
||||
{
|
||||
$x_f = trim($x_f);
|
||||
|
||||
if ( preg_match( '/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $x_f ) )
|
||||
{
|
||||
$addrs[] = $x_f;
|
||||
}
|
||||
$addrs[] = trim($x_f);
|
||||
}
|
||||
|
||||
$addrs[] = my_getenv('HTTP_CLIENT_IP');
|
||||
@@ -2216,16 +2297,24 @@ class ips_MemberRegistry extends ips_base_Registry
|
||||
|
||||
foreach ( $addrs as $ip )
|
||||
{
|
||||
if ( $ip )
|
||||
//-----------------------------------------
|
||||
// IP v4
|
||||
//-----------------------------------------
|
||||
|
||||
if ( IPSLib::validateIPv4( $ip ) )
|
||||
{
|
||||
preg_match( "/^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/", $ip, $match );
|
||||
|
||||
self::instance()->ip_address = $match[1].'.'.$match[2].'.'.$match[3].'.'.$match[4];
|
||||
|
||||
if ( self::instance()->ip_address AND self::instance()->ip_address != '...' )
|
||||
{
|
||||
break;
|
||||
}
|
||||
self::instance()->ip_address = $ip;
|
||||
break;
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// IP v6
|
||||
//-----------------------------------------
|
||||
|
||||
else if ( IPSLib::validateIPv6( $ip ) )
|
||||
{
|
||||
self::instance()->ip_address = $ip;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2233,7 +2322,7 @@ class ips_MemberRegistry extends ips_base_Registry
|
||||
// Make sure we take a valid IP address
|
||||
//-----------------------------------------
|
||||
|
||||
if ( ( ! self::instance()->ip_address OR self::instance()->ip_address == '...' ) AND ! isset( $_SERVER['SHELL'] ) AND $_SERVER['SESSIONNAME'] != 'Console' )
|
||||
if ( !self::instance()->ip_address AND ! isset( $_SERVER['SHELL'] ) AND $_SERVER['SESSIONNAME'] != 'Console' )
|
||||
{
|
||||
print "Невозможно определить ваш IPv4 адрес";
|
||||
exit();
|
||||
@@ -2241,7 +2330,7 @@ class ips_MemberRegistry extends ips_base_Registry
|
||||
|
||||
if ( IPS_IS_UPGRADER )
|
||||
{
|
||||
require_once( IPS_ROOT_PATH . "setup/sources/classes/session/sessions.php" );
|
||||
require_once( IPS_ROOT_PATH . "setup/sources/classes/session/sessions.php" );/*noLibHook*/
|
||||
|
||||
self::$session_class = new sessions();
|
||||
}
|
||||
@@ -2281,7 +2370,7 @@ class ips_MemberRegistry extends ips_base_Registry
|
||||
* @access public
|
||||
* @param string Key
|
||||
* @param mixed Value
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
static public function setProperty( $key, $value )
|
||||
{
|
||||
@@ -2300,11 +2389,10 @@ class ips_MemberRegistry extends ips_base_Registry
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the current member
|
||||
* Set current member to the member ID specified
|
||||
*
|
||||
* @access public
|
||||
* @param int Member ID
|
||||
* @return void
|
||||
* @param integer Member ID
|
||||
* @return @e void
|
||||
*/
|
||||
static public function setMember( $member_id )
|
||||
{
|
||||
@@ -2322,8 +2410,10 @@ class ips_MemberRegistry extends ips_base_Registry
|
||||
if ( $member_id )
|
||||
{
|
||||
self::instance()->data_store = IPSMember::load( $member_id, 'extendedProfile,customFields,groups,itemMarkingStorage' );
|
||||
}
|
||||
|
||||
if ( self::instance()->data_store['member_id'] )
|
||||
/* Got a member ID? */
|
||||
if ( !empty($member_id) && self::instance()->data_store['member_id'] )
|
||||
{
|
||||
self::setUpMember();
|
||||
|
||||
@@ -2334,22 +2424,11 @@ class ips_MemberRegistry extends ips_base_Registry
|
||||
{
|
||||
self::instance()->data_store = IPSMember::setUpGuest();
|
||||
|
||||
self::instance()->perm_id = ( isset(self::instance()->data_store['org_perm_id']) AND self::instance()->data_store['org_perm_id'] ) ? self::instance()->data_store['org_perm_id'] : self::instance()->data_store['g_perm_id'];
|
||||
self::instance()->perm_id_array = explode( ",", self::instance()->perm_id );
|
||||
|
||||
# Form hash
|
||||
self::instance()->form_hash = md5("этой строчки здесь нет");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
self::instance()->data_store = IPSMember::setUpGuest();
|
||||
|
||||
self::instance()->perm_id = ( isset(self::instance()->data_store['org_perm_id']) AND self::instance()->data_store['org_perm_id'] ) ? self::instance()->data_store['org_perm_id'] : self::instance()->data_store['g_perm_id'];
|
||||
self::instance()->perm_id_array = explode( ",", self::instance()->perm_id );
|
||||
self::instance()->perm_id = !empty(self::instance()->data_store['org_perm_id']) ? self::instance()->data_store['org_perm_id'] : self::instance()->data_store['g_perm_id'];
|
||||
self::instance()->perm_id_array = explode( ',', self::instance()->perm_id );
|
||||
|
||||
# Form hash
|
||||
self::instance()->form_hash = md5("этой строчки здесь нет");
|
||||
self::instance()->form_hash = md5("this is only here to prevent it breaking on guests");
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
@@ -2469,7 +2548,7 @@ class ips_MemberRegistry extends ips_base_Registry
|
||||
* Set up a member
|
||||
*
|
||||
* @access private
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
static public function setUpMember()
|
||||
{
|
||||
@@ -2494,4 +2573,4 @@ class ips_MemberRegistry extends ips_base_Registry
|
||||
self::instance()->perm_id = ( isset(self::instance()->data_store['org_perm_id']) AND self::instance()->data_store['org_perm_id'] ) ? self::instance()->data_store['org_perm_id'] : self::instance()->data_store['g_perm_id'];
|
||||
self::instance()->perm_id_array = explode( ",", self::instance()->perm_id );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,20 +3,20 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.1.4
|
||||
* IP.Board v3.2.3
|
||||
* Static SETUP Classes for IP.Board 3
|
||||
*
|
||||
* These classes are not required as objects.
|
||||
* Last Updated: $Date: 2010-11-15 11:39:10 -0500 (Mon, 15 Nov 2010) $
|
||||
* Last Updated: $Date: 2011-10-12 12:19:44 -0400 (Wed, 12 Oct 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author Matt Mecham
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/community/board/license.html
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @link http://hatynka.in
|
||||
* @since 1st December 2008
|
||||
* @version $Revision: 7185 $
|
||||
* @version $Revision: 9605 $
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -41,14 +41,7 @@ class IPSSetUp
|
||||
* @var string
|
||||
*/
|
||||
const minDb_mysql = '4.1.0';
|
||||
|
||||
/**
|
||||
* Min MSSQL Version
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
const minDb_mssql = '10.0.0';
|
||||
|
||||
|
||||
/**
|
||||
* Min PHP Version
|
||||
*
|
||||
@@ -62,15 +55,7 @@ class IPSSetUp
|
||||
* @var string
|
||||
*/
|
||||
const prefDb_mysql = '5.0.0';
|
||||
|
||||
/**
|
||||
* Min MSSQL Version
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
const prefDb_mssql = '10.0.0';
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Doc Char Set
|
||||
*
|
||||
@@ -130,13 +115,51 @@ class IPSSetUp
|
||||
*/
|
||||
static public function is200plus()
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Check for cached value first
|
||||
//-----------------------------------------
|
||||
|
||||
if( defined('MAX_UPGRADE_VERSION_ID') )
|
||||
{
|
||||
if( MAX_UPGRADE_VERSION_ID < 20000 )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
if ( ipsRegistry::DB()->checkForField( 'upgrade_id', 'upgrade_history' ) )
|
||||
{
|
||||
/* Now, this table is created in the first step between 1.3 and 2.0, so check for contents */
|
||||
$test = ipsRegistry::DB()->buildAndFetch( array( 'select' => 'MAX(upgrade_version_id) as max',
|
||||
'from' => 'upgrade_history' ) );
|
||||
|
||||
if ( $test['max'] < 20000 )
|
||||
if( $test['max'] )
|
||||
{
|
||||
$key = $test['max'];
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( self::is130plus() === TRUE )
|
||||
{
|
||||
$key = '10003';
|
||||
}
|
||||
else if ( self::is120plus() === TRUE )
|
||||
{
|
||||
$key = '10002';
|
||||
}
|
||||
else
|
||||
{
|
||||
$key = '10001';
|
||||
}
|
||||
}
|
||||
|
||||
define( 'MAX_UPGRADE_VERSION_ID', $key );
|
||||
|
||||
if ( $key < 20000 )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
@@ -300,10 +323,10 @@ class IPSSetUp
|
||||
{
|
||||
foreach( $data as $num )
|
||||
{
|
||||
if ( file_exists( IPSLib::getAppDir( $app ) . '/setup/versions/upg_' . $num . '/version_class.php' ) )
|
||||
if ( is_file( IPSLib::getAppDir( $app ) . '/setup/versions/upg_' . $num . '/version_class.php' ) )
|
||||
{
|
||||
$_class = 'version_class_' . $num;
|
||||
require_once( IPSLib::getAppDir( $app ) . '/setup/versions/upg_' . $num . '/version_class.php' );
|
||||
$_class = 'version_class_' . $app . '_' . $num;
|
||||
require_once( IPSLib::getAppDir( $app ) . '/setup/versions/upg_' . $num . '/version_class.php' );/*noLibHook*/
|
||||
|
||||
$_tmp = new $_class( ipsRegistry::instance() );
|
||||
|
||||
@@ -458,7 +481,7 @@ class IPSSetUp
|
||||
/* Try and write the file */
|
||||
if ( $sqlData AND @file_put_contents( $fileName, str_replace( "\n\n", "\n", $sqlData ) ) )
|
||||
{
|
||||
@chmod( $fileName, 0777 );
|
||||
@chmod( $fileName, IPS_FILE_PERMISSION );
|
||||
return $fileName;
|
||||
}
|
||||
else
|
||||
@@ -498,6 +521,7 @@ class IPSSetUp
|
||||
* @access public
|
||||
* @param string SQL Query
|
||||
* @param string SQL Prefix
|
||||
* @todo We're not using MSSQL anymore, we should remove those preg_replace at some point or do we leave them if someone else writes MSSQL drivers?
|
||||
*/
|
||||
static public function addPrefixToQuery( $query, $prefix )
|
||||
{
|
||||
@@ -506,7 +530,9 @@ class IPSSetUp
|
||||
/* Remove default ibf_ from < 3.0.0 files */
|
||||
if ( strstr( $query, 'ibf' ) )
|
||||
{
|
||||
$query = preg_replace("/\sibf_(\S+?)([\s\.,]|$)/", " \\1\\2", $query);
|
||||
// This strips the prefix (if it's ibf_) even when we manually add it. I checked and none of the previous upgrade routines have 'ibf_' hardcoded in them
|
||||
// so we need to not strip it automatically here otherwise anyone with ibf_ prefix will have issues.
|
||||
//$query = preg_replace("/\sibf_(\S+?)([\s\.,]|$)/", " \\1\\2", $query);
|
||||
}
|
||||
|
||||
$query = preg_replace( "#^CREATE TABLE(?:\s+?)?(\S+)#is" , "CREATE TABLE " . $prefix."\\1 ", $query );
|
||||
@@ -515,6 +541,7 @@ class IPSSetUp
|
||||
$query = preg_replace( "#^TRUNCATE TABLE(?:\s+?)?(\S+)(\s+?)?#i", "TRUNCATE TABLE ". $prefix."\\1 ", $query );
|
||||
$query = preg_replace( "#^DELETE FROM(?:\s+?)?(\S+)(\s+?)?#i" , "DELETE FROM " . $prefix."\\1 ", $query );
|
||||
$query = preg_replace( "#^INSERT INTO(?:\s+?)?(\S+)\s+?#i" , "INSERT INTO " . $prefix."\\1 ", $query );
|
||||
//$query = preg_replace( "#^INSERT IGNORE INTO(?:\s+?)?(\S+)\s+?#i", "INSERT IGNORE INTO " . $prefix."\\1 ", $query );
|
||||
$query = preg_replace( "#^UPDATE(?:\s+?)?(\S+)\s+?#i" , "UPDATE " . $prefix."\\1 ", $query );
|
||||
$query = preg_replace( "#^REPLACE INTO(?:\s+?)?(\S+)\s+?#i" , "REPLACE INTO " . $prefix."\\1 ", $query );
|
||||
$query = preg_replace( "#^ALTER TABLE(?:\s+?)?(\S+)\s+?#i" , "ALTER TABLE " . $prefix."\\1 ", $query );
|
||||
@@ -607,7 +634,7 @@ class IPSSetUp
|
||||
|
||||
if ( $tmp > $from AND $tmp <= $to )
|
||||
{
|
||||
if ( file_exists( IPSLib::getAppDir( $app ) . '/setup/versions/' . $file . '/version_class.php' ) )
|
||||
if ( is_file( IPSLib::getAppDir( $app ) . '/setup/versions/' . $file . '/version_class.php' ) )
|
||||
{
|
||||
$classes[] = $tmp;
|
||||
}
|
||||
@@ -653,6 +680,7 @@ class IPSSetUp
|
||||
$DBVersions = self::fetchDbAppVersions( $app );
|
||||
$tmp = $DBVersions;
|
||||
$key = array_pop( $tmp );
|
||||
$coreApps = array( 'calendar', 'core' );
|
||||
|
||||
if ( ! $key OR ! count( $DBVersions ) )
|
||||
{
|
||||
@@ -664,13 +692,19 @@ class IPSSetUp
|
||||
|
||||
$key = intval( $_version['app_long_version'] );
|
||||
}
|
||||
else
|
||||
else if( in_array( $app, $coreApps ) )
|
||||
{
|
||||
if ( ipsRegistry::DB()->checkForField( 'upgrade_id', 'upgrade_history' ) )
|
||||
if( defined('MAX_UPGRADE_VERSION_ID') )
|
||||
{
|
||||
$key = MAX_UPGRADE_VERSION_ID;
|
||||
}
|
||||
else if ( ipsRegistry::DB()->checkForField( 'upgrade_id', 'upgrade_history' ) )
|
||||
{
|
||||
/* Now, this table is created in the first step between 1.3 and 2.0, so check for contents */
|
||||
$test = ipsRegistry::DB()->buildAndFetch( array( 'select' => 'MAX(upgrade_version_id) as max', 'from' => 'upgrade_history' ) );
|
||||
|
||||
define( 'MAX_UPGRADE_VERSION_ID', $test['max'] );
|
||||
|
||||
$key = ( $test['max'] ) ? $test['max'] : '10003';
|
||||
}
|
||||
else if ( self::is130plus() === TRUE )
|
||||
@@ -686,69 +720,72 @@ class IPSSetUp
|
||||
$key = '10001';
|
||||
}
|
||||
}
|
||||
|
||||
/* Blog Version Check */
|
||||
if( $app == 'blog' )
|
||||
|
||||
if ( !$key )
|
||||
{
|
||||
if ( ipsRegistry::DB()->checkForField( 'blog_upgrade_id', 'blog_upgrade_history' ) )
|
||||
/* Blog Version Check */
|
||||
if( $app == 'blog' )
|
||||
{
|
||||
$test = ipsRegistry::DB()->buildAndFetch( array( 'select' => 'MAX(blog_version_id) as max', 'from' => 'blog_upgrade_history' ) );
|
||||
$key = ( $test['max'] ) ? $test['max'] : $key;
|
||||
if ( ipsRegistry::DB()->checkForField( 'blog_upgrade_id', 'blog_upgrade_history' ) )
|
||||
{
|
||||
$test = ipsRegistry::DB()->buildAndFetch( array( 'select' => 'MAX(blog_version_id) as max', 'from' => 'blog_upgrade_history' ) );
|
||||
$key = ( $test['max'] ) ? $test['max'] : $key;
|
||||
}
|
||||
else
|
||||
{
|
||||
$key = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
/* Gallery Version Check */
|
||||
else if( $app == 'gallery' )
|
||||
{
|
||||
$key = 0;
|
||||
if ( ipsRegistry::DB()->checkForField( 'gallery_upgrade_id', 'gallery_upgrade_history' ) )
|
||||
{
|
||||
$test = ipsRegistry::DB()->buildAndFetch( array( 'select' => 'MAX(gallery_version_id) as max', 'from' => 'gallery_upgrade_history' ) );
|
||||
$key = ( $test['max'] ) ? $test['max'] : $key;
|
||||
}
|
||||
else
|
||||
{
|
||||
$key = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* Gallery Version Check */
|
||||
else if( $app == 'gallery' )
|
||||
{
|
||||
if ( ipsRegistry::DB()->checkForField( 'gallery_upgrade_id', 'gallery_upgrade_history' ) )
|
||||
else if( $app == 'downloads' )
|
||||
{
|
||||
$test = ipsRegistry::DB()->buildAndFetch( array( 'select' => 'MAX(gallery_version_id) as max', 'from' => 'gallery_upgrade_history' ) );
|
||||
$key = ( $test['max'] ) ? $test['max'] : $key;
|
||||
if ( ipsRegistry::DB()->checkForField( 'idm_upgrade_id', 'idm_upgrade_history' ) )
|
||||
{
|
||||
$test = ipsRegistry::DB()->buildAndFetch( array( 'select' => 'MAX(idm_version_id) as max', 'from' => 'idm_upgrade_history' ) );
|
||||
$key = ( $test['max'] ) ? $test['max'] : $key;
|
||||
}
|
||||
else
|
||||
{
|
||||
$key = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
else if( $app == 'ipchat' )
|
||||
{
|
||||
$key = 0;
|
||||
if ( ipsRegistry::DB()->checkForTable( 'chat_log_archive' ) )
|
||||
{
|
||||
$_a = array_keys( $XMLVersions );
|
||||
$a = array_shift( $_a );
|
||||
$key = ( $a ) ? $a : '11005';
|
||||
}
|
||||
else
|
||||
{
|
||||
$key = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if( $app == 'downloads' )
|
||||
{
|
||||
if ( ipsRegistry::DB()->checkForField( 'idm_upgrade_id', 'idm_upgrade_history' ) )
|
||||
else if( $app == 'ccs' )
|
||||
{
|
||||
$test = ipsRegistry::DB()->buildAndFetch( array( 'select' => 'MAX(idm_version_id) as max', 'from' => 'idm_upgrade_history' ) );
|
||||
$key = ( $test['max'] ) ? $test['max'] : $key;
|
||||
}
|
||||
else
|
||||
{
|
||||
$key = 0;
|
||||
}
|
||||
}
|
||||
else if( $app == 'ipchat' )
|
||||
{
|
||||
if ( ipsRegistry::DB()->checkForTable( 'chat_log_archive' ) )
|
||||
{
|
||||
$_a = array_keys( $XMLVersions );
|
||||
$a = array_shift( $_a );
|
||||
$key = ( $a ) ? $a : '11005';
|
||||
}
|
||||
else
|
||||
{
|
||||
$key = 0;
|
||||
}
|
||||
}
|
||||
else if( $app == 'ccs' )
|
||||
{
|
||||
if ( ipsRegistry::DB()->checkForTable( 'ccs_pages' ) )
|
||||
{
|
||||
$_a = array_keys( $XMLVersions );
|
||||
$a = array_shift( $_a );
|
||||
$key = ( $a ) ? $a : '20006';
|
||||
}
|
||||
else
|
||||
{
|
||||
$key = 0;
|
||||
if ( ipsRegistry::DB()->checkForTable( 'ccs_pages' ) )
|
||||
{
|
||||
$_a = array_keys( $XMLVersions );
|
||||
$a = array_shift( $_a );
|
||||
$key = ( $a ) ? $a : '20006';
|
||||
}
|
||||
else
|
||||
{
|
||||
$key = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -911,12 +948,12 @@ class IPSSetUp
|
||||
$versions = array();
|
||||
|
||||
/* Fetch core writeable files */
|
||||
require_once( IPS_KERNEL_PATH . 'classXML.php' );
|
||||
require_once( IPS_KERNEL_PATH . 'classXML.php' );/*noLibHook*/
|
||||
$xml = new classXML( IPSSetUp::charSet );
|
||||
|
||||
try
|
||||
{
|
||||
if( !file_exists( IPSLib::getAppDir( $app ) . '/xml/versions.xml' ) )
|
||||
if( !is_file( IPSLib::getAppDir( $app ) . '/xml/versions.xml' ) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -991,7 +1028,7 @@ class IPSSetUp
|
||||
{
|
||||
$_xmlFileSearch = str_replace( '{app}', $_app, $xmlFileSearch );
|
||||
|
||||
if ( ! file_exists( IPSLib::getAppDir( $_app ) . '/xml/' . $_xmlFileSearch ) )
|
||||
if ( ! is_file( IPSLib::getAppDir( $_app ) . '/xml/' . $_xmlFileSearch ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@@ -1039,9 +1076,9 @@ class IPSSetUp
|
||||
/**
|
||||
* Custom error checker routine...
|
||||
*/
|
||||
if( file_exists( IPSLib::getAppDir( $app ) . '/setup/versions/install/installCheck.php' ) )
|
||||
if( is_file( IPSLib::getAppDir( $app ) . '/setup/versions/install/installCheck.php' ) )
|
||||
{
|
||||
require_once( IPSLib::getAppDir( $app ) . '/setup/versions/install/installCheck.php' );
|
||||
require_once( IPSLib::getAppDir( $app ) . '/setup/versions/install/installCheck.php' );/*noLibHook*/
|
||||
$checkerClass = $app . '_installCheck';
|
||||
|
||||
if( class_exists($checkerClass) )
|
||||
@@ -1052,13 +1089,13 @@ class IPSSetUp
|
||||
}
|
||||
|
||||
/* Got a file? */
|
||||
if ( ! file_exists( $file ) )
|
||||
if ( ! is_file( $file ) )
|
||||
{
|
||||
return $info;
|
||||
}
|
||||
|
||||
/* Fetch app writeable files */
|
||||
require_once( IPS_KERNEL_PATH . 'classXML.php' );
|
||||
require_once( IPS_KERNEL_PATH . 'classXML.php' );/*noLibHook*/
|
||||
$xml = new classXML( IPSSetUp::charSet );
|
||||
|
||||
try
|
||||
@@ -1077,7 +1114,7 @@ class IPSSetUp
|
||||
{
|
||||
if ( $data['dir'] )
|
||||
{
|
||||
if ( ! @mkdir( $_path, 0777, TRUE ) )
|
||||
if ( ! @mkdir( $_path, IPS_FOLDER_PERMISSION, TRUE ) )
|
||||
{
|
||||
$info['notexist'][] = $_path;
|
||||
}
|
||||
@@ -1089,7 +1126,7 @@ class IPSSetUp
|
||||
}
|
||||
else if ( ! is_writeable( $_path ) )
|
||||
{
|
||||
if ( ! @chmod( $_path, 0777 ) )
|
||||
if ( ! @chmod( $_path, is_dir( $_path ) ? IPS_FOLDER_PERMISSION : IPS_FILE_PERMISSION ) )
|
||||
{
|
||||
$info['notwrite'][] = $_path;
|
||||
}
|
||||
@@ -1120,21 +1157,22 @@ class IPSSetUp
|
||||
$info = array();
|
||||
|
||||
/* Fetch core writeable files */
|
||||
require_once( IPS_KERNEL_PATH . 'classXML.php' );
|
||||
require_once( IPS_KERNEL_PATH . 'classXML.php' );/*noLibHook*/
|
||||
$xml = new classXML( $charset ? $charset : IPSSetUp::charSet );
|
||||
|
||||
try
|
||||
{
|
||||
if( file_exists( IPSLib::getAppDir( $app ) . '/xml/information.xml' ) )
|
||||
if( is_file( IPSLib::getAppDir( $app ) . '/xml/information.xml' ) )
|
||||
{
|
||||
$xml->load( IPSLib::getAppDir( $app ) . '/xml/information.xml' );
|
||||
|
||||
/* Fetch general information */
|
||||
foreach( $xml->fetchElements( 'data' ) as $xmlelement )
|
||||
{
|
||||
$data = $xml->fetchElementsFromRecord( $xmlelement );
|
||||
|
||||
$info['name'] = $data['name'];
|
||||
//TERANOTE: remove this code below after making sure it doesn't cause issues the new way
|
||||
/*$data = $xml->fetchElementsFromRecord( $xmlelement );
|
||||
|
||||
$info['name'] = $data['name'];
|
||||
$info['title'] = $data['name'];
|
||||
$info['author'] = $data['author'];
|
||||
$info['description'] = $data['description'];
|
||||
@@ -1142,7 +1180,15 @@ class IPSSetUp
|
||||
$info['disabledatinstall'] = ( $data['disabledatinstall'] ) ? 1 : 0;
|
||||
$info['key'] = $app;
|
||||
$info['ipskey'] = $data['ipskey'];
|
||||
$info['hide_tab'] = $data['hide_tab'];
|
||||
$info['hide_tab'] = $data['hide_tab'];*/
|
||||
|
||||
$info = $xml->fetchElementsFromRecord( $xmlelement );
|
||||
|
||||
/* Sort some things */
|
||||
$info['title'] = $info['name'];
|
||||
$info['disabledatinstall'] = intval($info['disabledatinstall']);
|
||||
$info['hide_tab'] = intval($info['hide_tab']);
|
||||
$info['key'] = $app;
|
||||
}
|
||||
|
||||
/* Fetch template information */
|
||||
@@ -1181,7 +1227,7 @@ class IPSSetUp
|
||||
// No modules?
|
||||
//-----------------------------------------
|
||||
|
||||
if( !file_exists( IPSLib::getAppDir( $app ) . '/xml/' . $app . '_modules.xml' ) )
|
||||
if( !is_file( IPSLib::getAppDir( $app ) . '/xml/' . $app . '_modules.xml' ) )
|
||||
{
|
||||
return array();
|
||||
}
|
||||
@@ -1191,7 +1237,7 @@ class IPSSetUp
|
||||
|
||||
try
|
||||
{
|
||||
require_once( IPS_KERNEL_PATH . 'classXML.php' );
|
||||
require_once( IPS_KERNEL_PATH . 'classXML.php' );/*noLibHook*/
|
||||
$xml = new classXML( $charset ? $charset : IPSSetUp::charSet );
|
||||
|
||||
$xml->load( IPSLib::getAppDir( $app ) . '/xml/' . $app . '_modules.xml' );
|
||||
@@ -1251,7 +1297,7 @@ class IPSSetUp
|
||||
* @access public
|
||||
* @param string Key
|
||||
* @param string Value
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
static function setSavedData( $key, $value )
|
||||
{
|
||||
@@ -1293,7 +1339,7 @@ class IPSSetUp
|
||||
*
|
||||
* @access public
|
||||
* @param string Raw data for thawing
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
static function thawSavedData( $data='' )
|
||||
{
|
||||
@@ -1329,9 +1375,9 @@ class IPSSetUp
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( file_exists( DOC_IPS_ROOT_PATH . 'conf_global.php' ) )
|
||||
if ( is_file( DOC_IPS_ROOT_PATH . 'conf_global.php' ) )
|
||||
{
|
||||
require( DOC_IPS_ROOT_PATH . 'conf_global.php' );
|
||||
require( DOC_IPS_ROOT_PATH . 'conf_global.php' );/*noLibHook*/
|
||||
return trim( $VAR );
|
||||
}
|
||||
}
|
||||
@@ -1344,7 +1390,7 @@ class IPSSetUp
|
||||
*
|
||||
* @access private
|
||||
* @param string Encoded data to write
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
private static function _writeFreezerCache( $data )
|
||||
{
|
||||
@@ -1354,7 +1400,7 @@ class IPSSetUp
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( file_exists( DOC_IPS_ROOT_PATH . 'conf_global.php' ) AND is_writeable( DOC_IPS_ROOT_PATH . 'conf_global.php' ) )
|
||||
if ( is_file( DOC_IPS_ROOT_PATH . 'conf_global.php' ) AND is_writeable( DOC_IPS_ROOT_PATH . 'conf_global.php' ) )
|
||||
{
|
||||
$_data = file_get_contents( DOC_IPS_ROOT_PATH . 'conf_global.php' );
|
||||
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionboard.com/">IP.Board</a>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
</body>
|
||||
</html>
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionboard.com/">IP.Board</a>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,18 +2,18 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.1.4
|
||||
* IP.Board v3.2.3
|
||||
* Installer output methods
|
||||
* Last Updated: $Date: 2010-09-15 17:14:23 -0400 (Wed, 15 Sep 2010) $
|
||||
* Last Updated: $Date: 2011-07-22 12:01:28 -0400 (Fri, 22 Jul 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author Matt Mecham
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/community/board/license.html
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @link http://hatynka.in
|
||||
* @since 1st December 2008
|
||||
* @version $Revision: 6881 $
|
||||
* @version $Revision: 9305 $
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -186,7 +186,7 @@ class output
|
||||
* @access public
|
||||
* @param object ipsRegistry reference
|
||||
* @param bool Whether to init
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function __construct( ipsRegistry $registry, $init=FALSE )
|
||||
{
|
||||
@@ -203,14 +203,14 @@ class output
|
||||
if ( $init === TRUE )
|
||||
{
|
||||
/* Load 'template' */
|
||||
require_once( IPS_ROOT_PATH . 'setup/templates/skin_setup.php' );
|
||||
require_once( IPS_ROOT_PATH . 'setup/templates/skin_setup.php' );/*noLibHook*/
|
||||
$this->template = new skin_setup( $registry );
|
||||
|
||||
/* Images URL */
|
||||
$this->imageUrl = '../setup/public/images';
|
||||
$this->imageUrl = '../setup/' . PUBLIC_DIRECTORY . '/images';
|
||||
|
||||
/* Fetch sequence data */
|
||||
require_once( IPS_KERNEL_PATH . 'classXML.php' );
|
||||
require_once( IPS_KERNEL_PATH . 'classXML.php' );/*noLibHook*/
|
||||
$xml = new classXML( IPSSetUp::charSet );
|
||||
$file = ( IPS_IS_UPGRADER ) ? IPS_ROOT_PATH . 'setup/xml/upgrade_sequence.xml' : IPS_ROOT_PATH . 'setup/xml/sequence.xml';
|
||||
|
||||
@@ -240,7 +240,7 @@ class output
|
||||
|
||||
/* Set up URLs */
|
||||
$this->settings['base_url'] = ( $this->settings['base_url'] ) ? $this->settings['base_url'] : IPSSetUp::getSavedData('install_url');
|
||||
$this->settings['img_url_no_dir'] = $this->settings['base_url'] . '/public/style_images/';
|
||||
$this->settings['img_url_no_dir'] = $this->settings['base_url'] . '/' . PUBLIC_DIRECTORY . '/style_images/';
|
||||
|
||||
/* Set Current Page */
|
||||
$this->currentPage = ( $this->request['section'] ) ? $this->request['section'] : 'index';
|
||||
@@ -303,13 +303,36 @@ class output
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Keeps upgrader happy
|
||||
*/
|
||||
public function buildSEOUrl( $url, $type, $title, $template )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public function isLargeTouchDevice()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public function isSmallTouchDevice()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getReplacement()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Add an message string
|
||||
*
|
||||
* @access public
|
||||
* @param string Message
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function addMessage( $string )
|
||||
{
|
||||
@@ -321,7 +344,7 @@ class output
|
||||
*
|
||||
* @access public
|
||||
* @param string Error
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function addError( $string )
|
||||
{
|
||||
@@ -333,7 +356,7 @@ class output
|
||||
*
|
||||
* @access public
|
||||
* @param string Warning
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function addWarning( $string )
|
||||
{
|
||||
@@ -368,7 +391,7 @@ class output
|
||||
* @access public
|
||||
* @param string content to add
|
||||
* @param boolean Prepend isntead of append
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function addContent( $content, $prepend=false )
|
||||
{
|
||||
@@ -388,7 +411,7 @@ class output
|
||||
* @access public
|
||||
* @param string Current Human version
|
||||
* @param string App key
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function setVersionAndApp( $version, $app )
|
||||
{
|
||||
@@ -402,7 +425,7 @@ class output
|
||||
* @access public
|
||||
* @param mixed Current step
|
||||
* @param int Total steps
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function setInstallStep( $current, $total )
|
||||
{
|
||||
@@ -414,7 +437,7 @@ class output
|
||||
*
|
||||
* @access public
|
||||
* @param boolean TRUE = hide button, FALSE = show button
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function setHideButton( $hide=FALSE )
|
||||
{
|
||||
@@ -426,7 +449,7 @@ class output
|
||||
*
|
||||
* @access public
|
||||
* @param string action URL
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function setNextAction( $url )
|
||||
{
|
||||
@@ -438,7 +461,7 @@ class output
|
||||
*
|
||||
* @access public
|
||||
* @param string Page title
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function setTitle( $title )
|
||||
{
|
||||
@@ -453,7 +476,7 @@ class output
|
||||
* @param string Nav URL
|
||||
* @param string SEO title
|
||||
* @param string SEO template
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function addNavigation( $title, $url, $seoTitle='', $seoTemplate='' )
|
||||
{
|
||||
@@ -465,7 +488,7 @@ class output
|
||||
*
|
||||
* @access public
|
||||
* @param bool Error yes/no
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function setError( $boolean )
|
||||
{
|
||||
@@ -490,7 +513,6 @@ class output
|
||||
* @access public
|
||||
* @param string
|
||||
* @return string
|
||||
* @todo [Future] Remove the legacy remapping in 3.1. We will assume posts have been rebuilt by then.
|
||||
*/
|
||||
public function replaceMacros( $text )
|
||||
{
|
||||
@@ -504,19 +526,13 @@ class output
|
||||
$text = str_replace( "{style_image_url}" , $this->settings['img_url'] , $text );
|
||||
$text = str_replace( "{style_images_url}" , $this->settings['img_url'] , $text );
|
||||
|
||||
//-----------------------------------------
|
||||
// Fix legacy emoticon/avatar/images links
|
||||
//-----------------------------------------
|
||||
|
||||
$text = preg_replace( "#img\s+?src=([\"'])(?:{$this->settings['board_url']}[^\"']+?)?(?<!public%2F)style_(images|avatars|emoticons)([^\"']+?)[\"'](.+?)?".">#is", "img src=\\1".$this->settings['public_dir']."style_\\2\\3\\1\\4>", $text );
|
||||
|
||||
//-----------------------------------------
|
||||
// Fix up IPB image url
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $this->settings['ipb_img_url'] )
|
||||
{
|
||||
$text = preg_replace( "#img\s+?src=[\"']public/style_(images|avatars|emoticons)(.+?)[\"'](.+?)?".">#is", "img src=\"".$this->settings['ipb_img_url']."public/style_\\1\\2\"\\3>", $text );
|
||||
$text = preg_replace( "#img\s+?src=[\"']" . PUBLIC_DIRECTORY . "/style_(images|avatars|emoticons)(.+?)[\"'](.+?)?".">#is", "img src=\"" . $this->settings['ipb_img_url'] . PUBLIC_DIRECTORY . "/style_\\1\\2\"\\3>", $text );
|
||||
}
|
||||
|
||||
|
||||
@@ -528,7 +544,7 @@ class output
|
||||
*
|
||||
* @access public
|
||||
* @param boolean TRUE - freeze data, FALSE, do not.
|
||||
* @return void Nothin'
|
||||
* @return @e void Nothin'
|
||||
*/
|
||||
public function sendOutput( $saveData=TRUE )
|
||||
{
|
||||
@@ -596,45 +612,50 @@ class output
|
||||
* @param string SEO Title
|
||||
* @return string HTML to browser and exits
|
||||
*/
|
||||
public function redirectScreen( $text="", $url="", $seoTitle="" )
|
||||
public function redirectScreen( $text="", $url="", $seoTitle="", $seoTemplate='' )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// INIT
|
||||
//-----------------------------------------
|
||||
|
||||
$this->_sendOutputSetUp( 'redirect' );
|
||||
|
||||
//-----------------------------------------
|
||||
// Forcing silent redirects?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $this->settings['ipb_remove_redirect_pages'] == 1 )
|
||||
/* Use new inline notifications */
|
||||
if ( ! defined('IPS_FORCE_HTML_REDIRECT') OR ! IPS_FORCE_HTML_REDIRECT )
|
||||
{
|
||||
$this->silentRedirect( $url );
|
||||
$_SESSION['ips_InlineMessage'] = $text;
|
||||
$this->silentRedirect($url, $seoTitle, false, $seoTemplate );
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Gather output
|
||||
//-----------------------------------------
|
||||
|
||||
$output = $this->outputFormatClass->fetchOutput( $this->_html, $this->_title, $this->_navigation, $this->_documentHeadItems, $this->_jsLoader, array( 'url' => $url, 'text' => $text, 'seoTitle' => $seoTitle ) );
|
||||
|
||||
//-----------------------------------------
|
||||
// Check for SQL Debug
|
||||
//-----------------------------------------
|
||||
|
||||
$this->_checkSQLDebug();
|
||||
|
||||
//-----------------------------------------
|
||||
// Print it...
|
||||
//-----------------------------------------
|
||||
|
||||
$this->outputFormatClass->printHeader();
|
||||
|
||||
print $output;
|
||||
|
||||
$this->outputFormatClass->finishUp();
|
||||
|
||||
else
|
||||
{
|
||||
//-----------------------------------------
|
||||
// INIT
|
||||
//-----------------------------------------
|
||||
|
||||
$this->_sendOutputSetUp( 'redirect' );
|
||||
|
||||
//-----------------------------------------
|
||||
// Gather output
|
||||
//-----------------------------------------
|
||||
|
||||
$output = $this->outputFormatClass->fetchOutput( $this->_html, $this->_title, $this->_navigation, $this->_documentHeadItems, $this->_jsLoader, array( 'url' => $url, 'text' => $text, 'seoTitle' => $seoTitle, 'seoTemplate' => $seoTemplate ) );
|
||||
|
||||
$output = $this->templateHooks( $output );
|
||||
|
||||
//-----------------------------------------
|
||||
// Check for SQL Debug
|
||||
//-----------------------------------------
|
||||
|
||||
$this->_checkSQLDebug();
|
||||
|
||||
//-----------------------------------------
|
||||
// Print it...
|
||||
//-----------------------------------------
|
||||
|
||||
$this->outputFormatClass->printHeader();
|
||||
|
||||
/* Remove unused hook comments */
|
||||
$output = preg_replace( '#<!--hook\.([^\>]+?)-->#', '', $output );
|
||||
|
||||
print $output;
|
||||
|
||||
$this->outputFormatClass->finishUp();
|
||||
}
|
||||
|
||||
exit;
|
||||
}
|
||||
|
||||
@@ -657,7 +678,7 @@ class output
|
||||
* @access public
|
||||
* @param string Type of data to add: css, js, raw, rss, rsd, etc
|
||||
* @param string Data to add
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function addToDocumentHead( $type, $data )
|
||||
{
|
||||
@@ -675,10 +696,10 @@ class output
|
||||
{
|
||||
$remapData = array();
|
||||
|
||||
if ( file_exists( DOC_IPS_ROOT_PATH . 'cache/skin_cache/masterMap.php' ) )
|
||||
if ( is_file( DOC_IPS_ROOT_PATH . 'cache/skin_cache/masterMap.php' ) )
|
||||
{
|
||||
$REMAP = array();
|
||||
require( DOC_IPS_ROOT_PATH . 'cache/skin_cache/masterMap.php' );
|
||||
require( DOC_IPS_ROOT_PATH . 'cache/skin_cache/masterMap.php' );/*noLibHook*/
|
||||
|
||||
if ( is_array( $REMAP ) && count( $REMAP ) )
|
||||
{
|
||||
@@ -689,12 +710,9 @@ class output
|
||||
{
|
||||
if ( preg_match( "#^[a-zA-Z]#", $id ) )
|
||||
{
|
||||
if ( is_array( $REMAP['masterKeys'] ) )
|
||||
if ( is_array( $REMAP['masterKeys'] ) AND in_array( $id, $REMAP['masterKeys'] ) )
|
||||
{
|
||||
if ( in_array( $id, $REMAP['masterKeys'] ) )
|
||||
{
|
||||
$_skin = array( 'set_id' => $id );
|
||||
}
|
||||
$_skin = array( 'set_id' => $id );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -715,12 +733,9 @@ class output
|
||||
/* IN DEV default */
|
||||
if ( preg_match( "#^[a-zA-Z]#", $REMAP['inDevDefault'] ) )
|
||||
{
|
||||
if ( is_array( $REMAP['masterKeys'] ) )
|
||||
if ( is_array( $REMAP['masterKeys'] ) AND in_array( $REMAP['inDevDefault'], $REMAP['masterKeys'] ) )
|
||||
{
|
||||
if ( in_array( $REMAP['inDevDefault'], $REMAP['masterKeys'] ) )
|
||||
{
|
||||
$_skin = array( 'set_id' => $REMAP['inDevDefault'] );
|
||||
}
|
||||
$_skin = array( 'set_id' => $REMAP['inDevDefault'] );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -737,18 +752,18 @@ class output
|
||||
|
||||
/* Master keys */
|
||||
$remapData['masterKeys'] = $REMAP['masterKeys'];
|
||||
|
||||
|
||||
/* Images */
|
||||
$remapData['images'] = $REMAP['images'];
|
||||
|
||||
/* IN DEV export */
|
||||
foreach( $REMAP['export'] as $id => $key )
|
||||
{
|
||||
if ( preg_match( "#^[a-zA-Z]#", $key ) )
|
||||
{
|
||||
if ( is_array( $REMAP['masterKeys'] ) )
|
||||
if ( is_array( $REMAP['masterKeys'] ) AND in_array( $key, $REMAP['masterKeys'] ) )
|
||||
{
|
||||
if ( in_array( $key, $REMAP['masterKeys'] ) )
|
||||
{
|
||||
$_skin = array( 'set_id' => $key );
|
||||
}
|
||||
$_skin = array( 'set_id' => $key );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -767,12 +782,12 @@ class output
|
||||
}
|
||||
else
|
||||
{
|
||||
$remapData = array( 'templates' => array( 0 => 'master_skin' ),
|
||||
'css' => array( 0 => 'master_css' ),
|
||||
'inDevDefault' => 0 );
|
||||
$remapData = array( 'templates' => array( 'root' => 'master_skin' ),
|
||||
'css' => array( 'root' => 'master_css' ),
|
||||
'inDevDefault' => 'root'
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
return $remapData;
|
||||
}
|
||||
|
||||
@@ -808,5 +823,13 @@ class output
|
||||
return array();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Dummy method to prevent error in recache routines
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function getTemplate( $file )
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionboard.com/">IP.Board</a>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,18 +2,18 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.1.4
|
||||
* IP.Board v3.2.3
|
||||
* Setup sessions class
|
||||
* Last Updated: $Date: 2010-07-14 05:39:08 -0400 (Wed, 14 Jul 2010) $
|
||||
* Last Updated: $Date: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author Matt Mecham
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/community/board/license.html
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @link http://hatynka.in
|
||||
* @since 1st December 2008
|
||||
* @version $Revision: 6647 $
|
||||
* @version $Revision: 8644 $
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -75,7 +75,7 @@ class sessions extends ips_MemberRegistry
|
||||
* Authorize
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionboard.com/">IP.Board</a>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,18 +2,18 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.1.4
|
||||
* IP.Board v3.2.3
|
||||
* Version Specific Upgrade Functions
|
||||
* Last Updated: $Date: 2010-10-01 20:18:21 -0400 (Fri, 01 Oct 2010) $
|
||||
* Last Updated: $Date: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author Matt Mecham
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/community/board/license.html
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @link http://hatynka.in
|
||||
* @since 1st December 2008
|
||||
* @version $Revision: 6937 $
|
||||
* @version $Revision: 8644 $
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -31,7 +31,7 @@ class upgradeLegacy
|
||||
* Constructor
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function __construct( ipsRegistry $registry )
|
||||
{
|
||||
@@ -44,7 +44,7 @@ class upgradeLegacy
|
||||
$this->caches =& $this->registry->cache()->fetchCaches();
|
||||
|
||||
//* Make sure tables exist that won't in pre 3.0 versions */
|
||||
if ( file_exists( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' ) )
|
||||
if ( is_file( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' ) )
|
||||
{
|
||||
/* Init vars */
|
||||
$UPGRADE_HISTORY_TABLE = '';
|
||||
@@ -53,7 +53,7 @@ class upgradeLegacy
|
||||
$UPGRADE_CSS_PREVIOUS = '';
|
||||
$UPGRADE_TEMPLATE_PREVIOUS = '';
|
||||
|
||||
require( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' );
|
||||
require( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' );/*noLibHook*/
|
||||
|
||||
$prefix = $this->registry->dbFunctions()->getPrefix();
|
||||
|
||||
|
||||
@@ -2,18 +2,18 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.1.4
|
||||
* IP.Board v3.2.3
|
||||
* Version Specific Upgrade Functions
|
||||
* Last Updated: $Date: 2010-10-01 20:18:21 -0400 (Fri, 01 Oct 2010) $
|
||||
* Last Updated: $Date: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author Matt Mecham
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/community/board/license.html
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @link http://hatynka.in
|
||||
* @since 1st December 2008
|
||||
* @version $Revision: 6937 $
|
||||
* @version $Revision: 8644 $
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -31,7 +31,7 @@ class upgradeLegacy
|
||||
* Constructor
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function __construct( ipsRegistry $registry )
|
||||
{
|
||||
@@ -44,7 +44,7 @@ class upgradeLegacy
|
||||
$this->caches =& $this->registry->cache()->fetchCaches();
|
||||
|
||||
/* Make sure tables exist that won't in pre 3.0 versions */
|
||||
if ( file_exists( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' ) )
|
||||
if ( is_file( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' ) )
|
||||
{
|
||||
/* Init vars */
|
||||
$UPGRADE_TABLE_FIELD = '';
|
||||
@@ -52,7 +52,7 @@ class upgradeLegacy
|
||||
$UPGRADE_CSS_PREVIOUS = '';
|
||||
$UPGRADE_TEMPLATE_PREVIOUS = '';
|
||||
|
||||
require( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' );
|
||||
require( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' );/*noLibHook*/
|
||||
|
||||
$prefix = $this->registry->dbFunctions()->getPrefix();
|
||||
|
||||
|
||||
@@ -2,18 +2,18 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.1.4
|
||||
* IP.Board v3.2.3
|
||||
* Version Specific Upgrade Functions
|
||||
* Last Updated: $Date: 2010-09-15 17:14:23 -0400 (Wed, 15 Sep 2010) $
|
||||
* Last Updated: $Date: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author Matt Mecham
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/community/board/license.html
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @link http://hatynka.in
|
||||
* @since 1st December 2008
|
||||
* @version $Revision: 6881 $
|
||||
* @version $Revision: 8644 $
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -31,7 +31,7 @@ class upgradeLegacy
|
||||
* Constructor
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
* @return @e void
|
||||
*/
|
||||
public function __construct( ipsRegistry $registry )
|
||||
{
|
||||
@@ -44,7 +44,7 @@ class upgradeLegacy
|
||||
$this->caches =& $this->registry->cache()->fetchCaches();
|
||||
|
||||
/* Make sure tables exist that won't in pre 3.0 versions */
|
||||
if ( file_exists( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' ) )
|
||||
if ( is_file( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' ) )
|
||||
{
|
||||
/* Init vars */
|
||||
$UPGRADE_TABLE_FIELD = '';
|
||||
@@ -52,7 +52,7 @@ class upgradeLegacy
|
||||
$UPGRADE_CSS_PREVIOUS = '';
|
||||
$UPGRADE_TEMPLATE_PREVIOUS = '';
|
||||
|
||||
require( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' );
|
||||
require( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' );/*noLibHook*/
|
||||
|
||||
$prefix = $this->registry->dbFunctions()->getPrefix();
|
||||
|
||||
@@ -154,7 +154,7 @@ class upgradeLegacy
|
||||
*/
|
||||
public function authenticateLogIn( $username, $password )
|
||||
{
|
||||
require_once( IPS_ROOT_PATH . 'sources/handlers/han_login.php' );
|
||||
require_once( IPS_ROOT_PATH . 'sources/handlers/han_login.php' );/*noLibHook*/
|
||||
$han_login = new han_login( $this->registry );
|
||||
$han_login->is_admin_auth = 1;
|
||||
$han_login->init();
|
||||
@@ -209,7 +209,7 @@ class upgradeLegacy
|
||||
*/
|
||||
public function fetchLogInForm()
|
||||
{
|
||||
require_once( IPS_ROOT_PATH . 'sources/handlers/han_login.php' );
|
||||
require_once( IPS_ROOT_PATH . 'sources/handlers/han_login.php' );/*noLibHook*/
|
||||
$han_login = new han_login( $this->registry );
|
||||
$han_login->is_admin_auth = 1;
|
||||
$han_login->init();
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionboard.com/">IP.Board</a>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user