Version 3.2.3

This commit is contained in:
Neo committed 2025-12-19 00:34:03 -08:00
1 parent ae5c01cc78
commit 78706903a2
2641 files changed
+228363 -201264

No files matched your search

+1 -1
View File
@@ -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>
+11 -13
View File
@@ -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 );
}
}
}
+153 -107
View File
@@ -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()
{
+1 -1
View File
@@ -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>
+8 -8
View File
@@ -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();
+8 -8
View File
@@ -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();
+10 -10
View File
@@ -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();
+1 -1
View File
@@ -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>