Version 3.3.4
This commit is contained in:
1 parent
78706903a2
commit
fb6b5baabc
2206 files changed
+409828
-382984
No files matched your search
@@ -1,10 +1,10 @@
|
||||
<html>
|
||||
<head><title>IP.Board - Bulletin Board System</title></head>
|
||||
<body>
|
||||
<h1>403: IP.Board -> Forbidden</h1>
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
</body>
|
||||
<html>
|
||||
<head><title>IP.Board - Bulletin Board System</title></head>
|
||||
<body>
|
||||
<h1>403: IP.Board -> Forbidden</h1>
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,10 +1,10 @@
|
||||
<html>
|
||||
<head><title>IP.Board - Bulletin Board System</title></head>
|
||||
<body>
|
||||
<h1>403: IP.Board -> Forbidden</h1>
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
</body>
|
||||
<html>
|
||||
<head><title>IP.Board - Bulletin Board System</title></head>
|
||||
<body>
|
||||
<h1>403: IP.Board -> Forbidden</h1>
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,92 +1,92 @@
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.2.3
|
||||
* Installer: EULA file
|
||||
* Last Updated: $LastChangedDate: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: ips_terabyte $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://hatynka.in
|
||||
* @version $Rev: 8644 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class install_address extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* INIT */
|
||||
$error = false;
|
||||
|
||||
/* Check input? */
|
||||
if ( $this->request['do'] == 'check' )
|
||||
{
|
||||
/* Check Directory */
|
||||
if ( ! ( is_dir( $this->request['install_dir'] ) ) )
|
||||
{
|
||||
$error = true;
|
||||
$this->registry->output->addWarning( 'Указанной директории не существует' );
|
||||
}
|
||||
|
||||
/* Check URL */
|
||||
if ( ! $this->request['install_dir'] )
|
||||
{
|
||||
$error = true;
|
||||
$this->registry->output->addWarning( 'Вы не указали URL' );
|
||||
}
|
||||
|
||||
if( ! $error )
|
||||
{
|
||||
/* Save Form Data */
|
||||
IPSSetUp::setSavedData('install_dir', preg_replace( "#(//)$#", "", str_replace( '\\', '/', $this->request['install_dir'] ) . '/' ) );
|
||||
IPSSetUp::setSavedData('install_url', preg_replace( "#(//)$#", "", str_replace( '\\', '/', $this->request['install_url'] ) . '/' ) );
|
||||
|
||||
/* Next Action */
|
||||
$this->registry->autoLoadNextAction( 'license' );
|
||||
}
|
||||
}
|
||||
|
||||
/* Guess at directory */
|
||||
|
||||
if( !defined('CP_DIRECTORY') )
|
||||
{
|
||||
define( 'CP_DIRECTORY', 'admin' );
|
||||
}
|
||||
|
||||
$dir = str_replace( CP_DIRECTORY . '/install' , '' , getcwd() );
|
||||
$dir = str_replace( CP_DIRECTORY . '\install' , '' , $dir ); // Windows
|
||||
$dir = str_replace( '\\' , '/', $dir );
|
||||
|
||||
/* Guess at URL */
|
||||
$url = str_replace( "/" . CP_DIRECTORY . "/installer/index.php" , "", $_SERVER['HTTP_REFERER'] );
|
||||
$url = str_replace( "/" . CP_DIRECTORY . "/installer/" , "", $url);
|
||||
$url = str_replace( "/" . CP_DIRECTORY . "/installer" , "", $url);
|
||||
$url = str_replace( "/" . CP_DIRECTORY . "/install/index.php" , "", $_SERVER['HTTP_REFERER'] );
|
||||
$url = str_replace( "/" . CP_DIRECTORY . "/install/" , "", $url);
|
||||
$url = str_replace( "/" . CP_DIRECTORY . "/install" , "", $url);
|
||||
$url = str_replace( "/" . CP_DIRECTORY , "", $url);
|
||||
$url = str_replace( "index.php" , "", $url);
|
||||
$url = preg_replace( "!\?(.+?)*!" , "", $url );
|
||||
$url = "{$url}/";
|
||||
|
||||
/* Page Output */
|
||||
$this->registry->output->setTitle( "Директории и URLы" );
|
||||
$this->registry->output->setNextAction( "address&do=check" );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_address( $dir, $url ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.3.4
|
||||
* Installer: EULA file
|
||||
* Last Updated: $LastChangedDate: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @version $Rev: 10914 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class install_address extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* INIT */
|
||||
$error = false;
|
||||
|
||||
/* Check input? */
|
||||
if ( $this->request['do'] == 'check' )
|
||||
{
|
||||
/* Check Directory */
|
||||
if ( ! ( is_dir( $this->request['install_dir'] ) ) )
|
||||
{
|
||||
$error = true;
|
||||
$this->registry->output->addWarning( 'The specified directory does not exist' );
|
||||
}
|
||||
|
||||
/* Check URL */
|
||||
if ( ! $this->request['install_dir'] )
|
||||
{
|
||||
$error = true;
|
||||
$this->registry->output->addWarning( 'You did not specify a URL' );
|
||||
}
|
||||
|
||||
if( ! $error )
|
||||
{
|
||||
/* Save Form Data */
|
||||
IPSSetUp::setSavedData('install_dir', preg_replace( "#(//)$#", "", str_replace( '\\', '/', $this->request['install_dir'] ) . '/' ) );
|
||||
IPSSetUp::setSavedData('install_url', preg_replace( "#(//)$#", "", str_replace( '\\', '/', $this->request['install_url'] ) . '/' ) );
|
||||
|
||||
/* Next Action */
|
||||
$this->registry->autoLoadNextAction( 'license' );
|
||||
}
|
||||
}
|
||||
|
||||
/* Guess at directory */
|
||||
|
||||
if( !defined('CP_DIRECTORY') )
|
||||
{
|
||||
define( 'CP_DIRECTORY', 'admin' );
|
||||
}
|
||||
|
||||
$dir = str_replace( CP_DIRECTORY . '/install' , '' , getcwd() );
|
||||
$dir = str_replace( CP_DIRECTORY . '\install' , '' , $dir ); // Windows
|
||||
$dir = str_replace( '\\' , '/', $dir );
|
||||
|
||||
/* Guess at URL */
|
||||
$url = str_replace( "/" . CP_DIRECTORY . "/installer/index.php" , "", $_SERVER['HTTP_REFERER'] );
|
||||
$url = str_replace( "/" . CP_DIRECTORY . "/installer/" , "", $url);
|
||||
$url = str_replace( "/" . CP_DIRECTORY . "/installer" , "", $url);
|
||||
$url = str_replace( "/" . CP_DIRECTORY . "/install/index.php" , "", $_SERVER['HTTP_REFERER'] );
|
||||
$url = str_replace( "/" . CP_DIRECTORY . "/install/" , "", $url);
|
||||
$url = str_replace( "/" . CP_DIRECTORY . "/install" , "", $url);
|
||||
$url = str_replace( "/" . CP_DIRECTORY , "", $url);
|
||||
$url = str_replace( "index.php" , "", $url);
|
||||
$url = preg_replace( "!\?(.+?)*!" , "", $url );
|
||||
$url = "{$url}/";
|
||||
|
||||
/* Page Output */
|
||||
$this->registry->output->setTitle( "Paths and URLs" );
|
||||
$this->registry->output->setNextAction( "address&do=check" );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_address( $dir, $url ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,88 +1,88 @@
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.2.3
|
||||
* Installer: ADMIN file
|
||||
* Last Updated: $LastChangedDate: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: ips_terabyte $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://hatynka.in
|
||||
* @version $Rev: 8644 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class install_admin extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
$_e = 0;
|
||||
|
||||
/* Check input? */
|
||||
if( $this->request['do'] == 'check' )
|
||||
{
|
||||
if( ! $this->request['username'] )
|
||||
{
|
||||
$_e = 1;
|
||||
$this->registry->output->addWarning( 'Необходимо указать имя пользователя' );
|
||||
}
|
||||
|
||||
if( ! $this->request['password'] )
|
||||
{
|
||||
$_e = 1;
|
||||
$this->registry->output->addWarning( 'Необходимо ввести пароль' );
|
||||
}
|
||||
else
|
||||
{
|
||||
if( $this->request['password'] != $this->request['confirm_password'] )
|
||||
{
|
||||
$_e = 1;
|
||||
$this->registry->output->addWarning( 'Введенные пароли не совпадают' );
|
||||
}
|
||||
}
|
||||
|
||||
if( ! $this->request['email'] OR IPSText::checkEmailAddress( $this->request['email'] ) !== TRUE )
|
||||
{
|
||||
$_e = 1;
|
||||
$this->registry->output->addWarning( 'Необходимо указать Email' );
|
||||
}
|
||||
|
||||
if ( $_e )
|
||||
{
|
||||
$this->registry->output->setTitle( "Администратор: Ошибка" );
|
||||
$this->registry->output->setNextAction( 'admin&do=check' );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_admin() );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Save Form Data */
|
||||
IPSSetUp::setSavedData('admin_user', $this->request['username'] );
|
||||
IPSSetUp::setSavedData('admin_pass', $this->request['password'] );
|
||||
IPSSetUp::setSavedData('admin_email', $this->request['email'] );
|
||||
|
||||
/* Next Action */
|
||||
$this->registry->autoLoadNextAction( 'install' );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/* Output */
|
||||
$this->registry->output->setTitle( "Создание учетной записи администратора" );
|
||||
$this->registry->output->setNextAction( 'admin&do=check' );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_admin() );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.3.4
|
||||
* Installer: ADMIN file
|
||||
* Last Updated: $LastChangedDate: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @version $Rev: 10914 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class install_admin extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
$_e = 0;
|
||||
|
||||
/* Check input? */
|
||||
if( $this->request['do'] == 'check' )
|
||||
{
|
||||
if( ! $this->request['username'] )
|
||||
{
|
||||
$_e = 1;
|
||||
$this->registry->output->addWarning( 'You must specify a display name for the admin account' );
|
||||
}
|
||||
|
||||
if( ! $this->request['password'] )
|
||||
{
|
||||
$_e = 1;
|
||||
$this->registry->output->addWarning( 'You must specify a password for the admin account' );
|
||||
}
|
||||
else
|
||||
{
|
||||
if( $this->request['password'] != $this->request['confirm_password'] )
|
||||
{
|
||||
$_e = 1;
|
||||
$this->registry->output->addWarning( 'The admin passwords did not match' );
|
||||
}
|
||||
}
|
||||
|
||||
if( ! $this->request['email'] OR IPSText::checkEmailAddress( $this->request['email'] ) !== TRUE )
|
||||
{
|
||||
$_e = 1;
|
||||
$this->registry->output->addWarning( 'You must specify an email address for the admin account' );
|
||||
}
|
||||
|
||||
if ( $_e )
|
||||
{
|
||||
$this->registry->output->setTitle( "Admin: Errors" );
|
||||
$this->registry->output->setNextAction( 'admin&do=check' );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_admin() );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Save Form Data */
|
||||
IPSSetUp::setSavedData('admin_user', $this->request['username'] );
|
||||
IPSSetUp::setSavedData('admin_pass', $this->request['password'] );
|
||||
IPSSetUp::setSavedData('admin_email', $this->request['email'] );
|
||||
|
||||
/* Next Action */
|
||||
$this->registry->autoLoadNextAction( 'install' );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/* Output */
|
||||
$this->registry->output->setTitle( "Admin Account Creation" );
|
||||
$this->registry->output->setNextAction( 'admin&do=check' );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_admin() );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
}
|
||||
@@ -1,152 +1,152 @@
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.2.3
|
||||
* Installer: EULA file
|
||||
* Last Updated: $LastChangedDate: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: ips_terabyte $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://hatynka.in
|
||||
* @version $Rev: 8644 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class install_apps extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Check input? */
|
||||
if( $this->request['do'] == 'check' )
|
||||
{
|
||||
/* Check Directory */
|
||||
if ( ! is_array( $_POST['apps'] ) OR ! count( $_POST['apps'] ) )
|
||||
{
|
||||
$this->registry->output->addError( 'Нужно выбрать хотя бы одно приложение' );
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Save Form Data */
|
||||
IPSSetUp::setSavedData('install_apps', implode( ',', array_keys( $_POST['apps'] ) ) );
|
||||
|
||||
/* Check writeable files */
|
||||
foreach( array_keys( $_POST['apps'] ) as $appDir )
|
||||
{
|
||||
$info = IPSSetUp::fetchXmlAppWriteableFiles( $appDir );
|
||||
|
||||
if ( count( $info['notexist'] ) )
|
||||
{
|
||||
foreach( $info['notexist'] as $path )
|
||||
{
|
||||
$this->registry->output->addWarning( 'Файл или директория "' . $path . '" не существует, создайте ее' );
|
||||
}
|
||||
}
|
||||
|
||||
if ( count( $info['notwrite'] ) )
|
||||
{
|
||||
foreach( $info['notwrite'] as $path )
|
||||
{
|
||||
$this->registry->output->addWarning( 'Запись в "' . $path . '" невозможна, измените права доступа' );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Custom errors
|
||||
*/
|
||||
if ( count( $info['other'] ) )
|
||||
{
|
||||
foreach( $info['other'] as $error )
|
||||
{
|
||||
$this->registry->output->addWarning( $error );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Do we have errors? */
|
||||
if ( ! count( $this->registry->output->fetchWarnings() ) )
|
||||
{
|
||||
/* Next Action */
|
||||
$this->registry->autoLoadNextAction( 'address' );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Generate apps... */
|
||||
$apps = array( 'core' => array(), 'ips' => array(), 'other' => array() );
|
||||
|
||||
foreach( array( 'applications', 'applications_addon/ips', 'applications_addon/other' ) as $_pBit )
|
||||
{
|
||||
$path = IPS_ROOT_PATH . $_pBit;
|
||||
$handle = opendir( $path );
|
||||
|
||||
while ( ( $file = readdir( $handle ) ) !== FALSE )
|
||||
{
|
||||
if ( ! preg_match( "#^\.#", $file ) )
|
||||
{
|
||||
if ( is_dir( $path . '/' . $file ) )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Get it!
|
||||
//-----------------------------------------
|
||||
|
||||
if ( ! is_file( IPS_ROOT_PATH . $_pBit . '/' . $file . '/xml/information.xml' ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$data = IPSSetUp::fetchXmlAppInformation( $file, $this->settings['gb_char_set'] );
|
||||
|
||||
switch( $_pBit )
|
||||
{
|
||||
case 'applications':
|
||||
$apps['core'][ $file ] = $data;
|
||||
break;
|
||||
case 'applications_addon/ips':
|
||||
$apps['ips'][ $file ] = $data;
|
||||
break;
|
||||
case 'applications_addon/other':
|
||||
$apps['other'][ $file ] = $data;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
closedir( $handle );
|
||||
}
|
||||
|
||||
/* Reorder the array so that core is first */
|
||||
$new_array = array();
|
||||
$new_array['core'] = $apps['core']['core'];
|
||||
|
||||
foreach( $apps['core'] as $app => $data )
|
||||
{
|
||||
if( $app == 'core' )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$new_array[$app] = $data;
|
||||
}
|
||||
|
||||
$apps['core'] = $new_array;
|
||||
|
||||
/* Page Output */
|
||||
$this->registry->output->setTitle( "Приложения" );
|
||||
$this->registry->output->setNextAction( 'apps&do=check' );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_apps( $apps ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.3.4
|
||||
* Installer: EULA file
|
||||
* Last Updated: $LastChangedDate: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @version $Rev: 10914 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class install_apps extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Check input? */
|
||||
if( $this->request['do'] == 'check' )
|
||||
{
|
||||
/* Check Directory */
|
||||
if ( ! is_array( $_POST['apps'] ) OR ! count( $_POST['apps'] ) )
|
||||
{
|
||||
$this->registry->output->addError( 'You must select to install at least one application' );
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Save Form Data */
|
||||
IPSSetUp::setSavedData('install_apps', implode( ',', array_keys( $_POST['apps'] ) ) );
|
||||
|
||||
/* Check writeable files */
|
||||
foreach( array_keys( $_POST['apps'] ) as $appDir )
|
||||
{
|
||||
$info = IPSSetUp::fetchXmlAppWriteableFiles( $appDir );
|
||||
|
||||
if ( count( $info['notexist'] ) )
|
||||
{
|
||||
foreach( $info['notexist'] as $path )
|
||||
{
|
||||
$this->registry->output->addWarning( 'File or directory does not exist: "' . $path . '", please create it via FTP' );
|
||||
}
|
||||
}
|
||||
|
||||
if ( count( $info['notwrite'] ) )
|
||||
{
|
||||
foreach( $info['notwrite'] as $path )
|
||||
{
|
||||
$this->registry->output->addWarning( 'File or directory is not writeable: "' . $path . '", please CHMOD via FTP' );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Custom errors
|
||||
*/
|
||||
if ( count( $info['other'] ) )
|
||||
{
|
||||
foreach( $info['other'] as $error )
|
||||
{
|
||||
$this->registry->output->addWarning( $error );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Do we have errors? */
|
||||
if ( ! count( $this->registry->output->fetchWarnings() ) )
|
||||
{
|
||||
/* Next Action */
|
||||
$this->registry->autoLoadNextAction( 'address' );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Generate apps... */
|
||||
$apps = array( 'core' => array(), 'ips' => array(), 'other' => array() );
|
||||
|
||||
foreach( array( 'applications', 'applications_addon/ips', 'applications_addon/other' ) as $_pBit )
|
||||
{
|
||||
$path = IPS_ROOT_PATH . $_pBit;
|
||||
$handle = opendir( $path );
|
||||
|
||||
while ( ( $file = readdir( $handle ) ) !== FALSE )
|
||||
{
|
||||
if ( ! preg_match( "#^\.#", $file ) )
|
||||
{
|
||||
if ( is_dir( $path . '/' . $file ) )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Get it!
|
||||
//-----------------------------------------
|
||||
|
||||
if ( ! is_file( IPS_ROOT_PATH . $_pBit . '/' . $file . '/xml/information.xml' ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$data = IPSSetUp::fetchXmlAppInformation( $file, $this->settings['gb_char_set'] );
|
||||
|
||||
switch( $_pBit )
|
||||
{
|
||||
case 'applications':
|
||||
$apps['core'][ $file ] = $data;
|
||||
break;
|
||||
case 'applications_addon/ips':
|
||||
$apps['ips'][ $file ] = $data;
|
||||
break;
|
||||
case 'applications_addon/other':
|
||||
$apps['other'][ $file ] = $data;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
closedir( $handle );
|
||||
}
|
||||
|
||||
/* Reorder the array so that core is first */
|
||||
$new_array = array();
|
||||
$new_array['core'] = $apps['core']['core'];
|
||||
|
||||
foreach( $apps['core'] as $app => $data )
|
||||
{
|
||||
if( $app == 'core' )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$new_array[$app] = $data;
|
||||
}
|
||||
|
||||
$apps['core'] = $new_array;
|
||||
|
||||
/* Page Output */
|
||||
$this->registry->output->setTitle( "Applications" );
|
||||
$this->registry->output->setNextAction( 'apps&do=check' );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_apps( $apps ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
}
|
||||
@@ -1,281 +1,281 @@
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.2.3
|
||||
* Installer: EULA file
|
||||
* Last Updated: $LastChangedDate: 2011-09-16 15:32:18 -0400 (Fri, 16 Sep 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://hatynka.in
|
||||
* @version $Rev: 9503 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class install_db extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Dealing with the result of the form asking for DB input */
|
||||
if ( $this->request['do'] == 'check' )
|
||||
{
|
||||
/* Make sure the fields were filled out */
|
||||
if ( ! $this->request['overwrite'] AND ( ! $this->request['db_host'] || ! $this->request['db_name'] || ! $this->request['db_user'] ) )
|
||||
{
|
||||
$this->registry->output->addWarning( 'Необходимо полностью заполнить форму' );
|
||||
}
|
||||
/* No special characters */
|
||||
else if( preg_match( "/[^a-zA-Z0-9_]/", $this->request['db_pre'] ) )
|
||||
{
|
||||
$this->registry->output->addWarning( 'Нельзя использовать специальные символы в префиске таблиц' );
|
||||
}
|
||||
else
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Quick basic check for extensions
|
||||
//-----------------------------------------
|
||||
|
||||
if( strtolower(IPSSetUp::getSavedData('sql_driver')) == 'mysql' )
|
||||
{
|
||||
if( !function_exists('mysqli_connect') AND !function_exists('mysql_connect') )
|
||||
{
|
||||
$this->registry->output->setTitle( "Databases: Error" );
|
||||
$this->registry->output->setNextAction( 'db&do=check' );
|
||||
$this->registry->output->addWarning( "You do not have the mysql or mysqli PHP extension installed. You must install one of these PHP extensions before you can continue." );
|
||||
$this->registry->output->addContent( $this->fetchContent() );
|
||||
$this->registry->output->sendOutput();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Load DB driver..
|
||||
//-----------------------------------------
|
||||
|
||||
require_once( IPS_KERNEL_PATH . 'classDb' . ucwords( IPSSetUp::getSavedData('sql_driver') ) . '.php' );/*noLibHook*/
|
||||
|
||||
$classname = "db_driver_".IPSSetUp::getSavedData('sql_driver');
|
||||
|
||||
$DB = new $classname;
|
||||
|
||||
$DB->obj['sql_database'] = $this->request['db_name'];
|
||||
$DB->obj['sql_user'] = $this->request['db_user'];
|
||||
$DB->obj['sql_pass'] = $_REQUEST['db_pass'];
|
||||
$DB->obj['sql_host'] = $this->request['db_host'];
|
||||
$DB->obj['sql_tbl_prefix'] = $this->request['db_pre'];
|
||||
|
||||
//--------------------------------------------------
|
||||
// Any "extra" configs required for this driver?
|
||||
//--------------------------------------------------
|
||||
|
||||
if ( is_file( IPS_ROOT_PATH . 'setup/sql/'.IPSSetUp::getSavedData('sql_driver').'_install.php' ) )
|
||||
{
|
||||
require_once( IPS_ROOT_PATH . 'setup/sql/'.IPSSetUp::getSavedData('sql_driver').'_install.php' );/*noLibHook*/
|
||||
|
||||
$extra_install = new install_extra( $this->registry );
|
||||
|
||||
$extra_install->install_form_process();
|
||||
|
||||
if ( count( $extra_install->errors ) )
|
||||
{
|
||||
$this->registry->output->addWarning( implode( "<br />", $extra_install->errors ) );
|
||||
}
|
||||
|
||||
if ( is_array( $extra_install->info_extra ) and count( $extra_install->info_extra ) )
|
||||
{
|
||||
foreach( $extra_install->info_extra as $k => $v )
|
||||
{
|
||||
IPSSetUp::setSavedData( '__sql__' . $k, $v );
|
||||
}
|
||||
}
|
||||
|
||||
if ( is_array( $DB->connect_vars ) and count( $DB->connect_vars ) )
|
||||
{
|
||||
foreach( $DB->connect_vars as $k => $v )
|
||||
{
|
||||
$DB->connect_vars[ $k ] = $extra_install->info_extra[ $k ];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Error check
|
||||
//-----------------------------------------
|
||||
|
||||
if ( count( $extra_install->errors ) )
|
||||
{
|
||||
$this->registry->output->setTitle( "База данных: Ошибка" );
|
||||
$this->registry->output->setNextAction( 'db&do=check' );
|
||||
$this->registry->output->addContent( $this->fetchContent() );
|
||||
$this->registry->output->sendOutput();
|
||||
return;
|
||||
}
|
||||
|
||||
//------------------------------------------
|
||||
// Make CONSTANT
|
||||
//------------------------------------------
|
||||
|
||||
define( 'SQL_DRIVER' , IPSSetUp::getSavedData('sql_driver') );
|
||||
define( 'IPS_MAIN_DB_CLASS_LOADED', TRUE );
|
||||
|
||||
//------------------------------------------
|
||||
// Try a DB connection
|
||||
//------------------------------------------
|
||||
|
||||
$DB->return_die = true;
|
||||
|
||||
if ( ! $DB->connect() )
|
||||
{
|
||||
$errors[] = $DB->error;
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Error check
|
||||
//-----------------------------------------
|
||||
|
||||
if ( is_array( $errors ) AND count( $errors ) )
|
||||
{
|
||||
$this->registry->output->setTitle( "База данных: Ошибка" );
|
||||
$this->registry->output->setNextAction( 'db&do=check' );
|
||||
$this->registry->output->addWarning( implode( "<br />", $errors ) );
|
||||
$this->registry->output->addContent( $this->fetchContent() );
|
||||
$this->registry->output->sendOutput();
|
||||
return;
|
||||
}
|
||||
|
||||
/* Save Form Data */
|
||||
IPSSetUp::setSavedData('db_host', $_REQUEST['db_host'] );
|
||||
IPSSetUp::setSavedData('db_name', $this->request['db_name'] );
|
||||
IPSSetUp::setSavedData('db_user', $this->request['db_user'] );
|
||||
IPSSetUp::setSavedData('db_pass', $_REQUEST['db_pass'] );
|
||||
IPSSetUp::setSavedData('db_pre' , $this->request['db_pre'] );
|
||||
|
||||
/* Are we overwriting an IP.Board 2.x or 3.x installation? */
|
||||
if ( ! $this->request['overwrite'] )
|
||||
{
|
||||
if ( $DB->checkForTable( 'upgrade_history' ) )
|
||||
{
|
||||
/* Get latest version */
|
||||
$latest = $DB->buildAndFetch( array( 'select' => '*',
|
||||
'from' => 'upgrade_history',
|
||||
'where' => "upgrade_app='core'",
|
||||
'order' => 'upgrade_version_id DESC',
|
||||
'limit' => array( 0, 1 ) ) );
|
||||
|
||||
if ( is_array( $latest ) )
|
||||
{
|
||||
$this->registry->output->setTitle( "База данных: Ошибка" );
|
||||
$this->registry->output->setNextAction( 'db&do=check' );
|
||||
$this->registry->output->addWarning( "Обнаружена установленная IP.Board " . $latest['upgrade_version_human'] );
|
||||
$this->registry->output->addContent( $this->fetchContent( TRUE ) );
|
||||
$this->registry->output->sendOutput();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Next Action */
|
||||
$this->registry->autoLoadNextAction( 'admin' );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------
|
||||
// DO WE HAVE A DB DRIVER SET?
|
||||
//--------------------------------------------------
|
||||
|
||||
IPSSetUp::setSavedData('sql_driver', strtolower( ( IPSSetUp::getSavedData('sql_driver') == "" ) ? $_REQUEST['sql_driver'] : IPSSetUp::getSavedData('sql_driver') ) );
|
||||
|
||||
if ( ! IPSSetUp::getSavedData('sql_driver') )
|
||||
{
|
||||
//----------------------------------------------
|
||||
// Test to see how many DB driver's we've got..
|
||||
//----------------------------------------------
|
||||
|
||||
$dh = opendir( IPS_KERNEL_PATH );
|
||||
|
||||
while ( $file = @readdir( $dh ) )
|
||||
{
|
||||
if ( preg_match( "/^classDb([a-zA-Z0-9]*)\.php/i", $file, $driver ) )
|
||||
{
|
||||
if ( stristr( $driver[1], 'client' ) OR ! $driver[1] )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$drivers[] = $driver[1];
|
||||
}
|
||||
}
|
||||
|
||||
@closedir( $dh );
|
||||
|
||||
//----------------------------------------------
|
||||
// Got more than one?
|
||||
//----------------------------------------------
|
||||
|
||||
if ( count($drivers) > 1 )
|
||||
{
|
||||
//------------------------------------------
|
||||
// Show choice screen first...
|
||||
//------------------------------------------
|
||||
|
||||
/* Page Output */
|
||||
$this->registry->output->setTitle( "База данных" );
|
||||
$this->registry->output->setNextAction( 'db' );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_check_db( $drivers ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
else
|
||||
{
|
||||
//------------------------------------------
|
||||
// Use only driver installed
|
||||
//------------------------------------------
|
||||
|
||||
IPSSetUp::setSavedData( 'sql_driver', strtolower($drivers[0]) );
|
||||
}
|
||||
}
|
||||
|
||||
$this->request['db_host'] = ( $this->request['db_host'] ) ? $this->request['db_host'] : 'localhost';
|
||||
|
||||
$this->registry->output->setTitle( "База данных" );
|
||||
$this->registry->output->setNextAction( 'db&do=check' );
|
||||
$this->registry->output->addContent( $this->fetchContent() );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch content
|
||||
*
|
||||
* @access public
|
||||
* @param bool
|
||||
* @return string
|
||||
*/
|
||||
public function fetchContent( $check=FALSE )
|
||||
{
|
||||
/* Output */
|
||||
$content = ( $check === FALSE ) ? $this->registry->output->template()->page_db() : $this->registry->output->template()->page_dbOverride();
|
||||
|
||||
/* Driver extras? */
|
||||
if ( is_file( IPS_ROOT_PATH . 'setup/sql/'.IPSSetUp::getSavedData('sql_driver').'_install.php' ) )
|
||||
{
|
||||
require_once( IPS_ROOT_PATH . 'setup/sql/'.IPSSetUp::getSavedData('sql_driver').'_install.php' );/*noLibHook*/
|
||||
$extra_install = new install_extra( $this->registry );
|
||||
|
||||
$content = str_replace( '<!--{EXTRA.SQL}-->', $extra_install->install_form_extra(), $content );
|
||||
}
|
||||
|
||||
return $content;
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.3.4
|
||||
* Installer: EULA file
|
||||
* Last Updated: $LastChangedDate: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @version $Rev: 10914 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class install_db extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Dealing with the result of the form asking for DB input */
|
||||
if ( $this->request['do'] == 'check' )
|
||||
{
|
||||
/* Make sure the fields were filled out */
|
||||
if ( ! $this->request['overwrite'] AND ( ! $this->request['db_host'] || ! $this->request['db_name'] || ! $this->request['db_user'] ) )
|
||||
{
|
||||
$this->registry->output->addWarning( 'You must fill out the form completely' );
|
||||
}
|
||||
/* No special characters */
|
||||
else if( preg_match( "/[^a-zA-Z0-9_]/", $this->request['db_pre'] ) )
|
||||
{
|
||||
$this->registry->output->addWarning( 'You cannot use special characters in the database prefix' );
|
||||
}
|
||||
else
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Quick basic check for extensions
|
||||
//-----------------------------------------
|
||||
|
||||
if( strtolower(IPSSetUp::getSavedData('sql_driver')) == 'mysql' )
|
||||
{
|
||||
if( !function_exists('mysqli_connect') AND !function_exists('mysql_connect') )
|
||||
{
|
||||
$this->registry->output->setTitle( "Databases: Error" );
|
||||
$this->registry->output->setNextAction( 'db&do=check' );
|
||||
$this->registry->output->addWarning( "You do not have the mysql or mysqli PHP extension installed. You must install one of these PHP extensions before you can continue." );
|
||||
$this->registry->output->addContent( $this->fetchContent() );
|
||||
$this->registry->output->sendOutput();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Load DB driver..
|
||||
//-----------------------------------------
|
||||
|
||||
require_once( IPS_KERNEL_PATH . 'classDb' . ucwords( IPSSetUp::getSavedData('sql_driver') ) . '.php' );/*noLibHook*/
|
||||
|
||||
$classname = "db_driver_".IPSSetUp::getSavedData('sql_driver');
|
||||
|
||||
$DB = new $classname;
|
||||
|
||||
$DB->obj['sql_database'] = $this->request['db_name'];
|
||||
$DB->obj['sql_user'] = $this->request['db_user'];
|
||||
$DB->obj['sql_pass'] = $_REQUEST['db_pass'];
|
||||
$DB->obj['sql_host'] = $this->request['db_host'];
|
||||
$DB->obj['sql_tbl_prefix'] = $this->request['db_pre'];
|
||||
|
||||
//--------------------------------------------------
|
||||
// Any "extra" configs required for this driver?
|
||||
//--------------------------------------------------
|
||||
|
||||
if ( is_file( IPS_ROOT_PATH . 'setup/sql/'.IPSSetUp::getSavedData('sql_driver').'_install.php' ) )
|
||||
{
|
||||
require_once( IPS_ROOT_PATH . 'setup/sql/'.IPSSetUp::getSavedData('sql_driver').'_install.php' );/*noLibHook*/
|
||||
|
||||
$extra_install = new install_extra( $this->registry );
|
||||
|
||||
$extra_install->install_form_process();
|
||||
|
||||
if ( count( $extra_install->errors ) )
|
||||
{
|
||||
$this->registry->output->addWarning( implode( "<br />", $extra_install->errors ) );
|
||||
}
|
||||
|
||||
if ( is_array( $extra_install->info_extra ) and count( $extra_install->info_extra ) )
|
||||
{
|
||||
foreach( $extra_install->info_extra as $k => $v )
|
||||
{
|
||||
IPSSetUp::setSavedData( '__sql__' . $k, $v );
|
||||
}
|
||||
}
|
||||
|
||||
if ( is_array( $DB->connect_vars ) and count( $DB->connect_vars ) )
|
||||
{
|
||||
foreach( $DB->connect_vars as $k => $v )
|
||||
{
|
||||
$DB->connect_vars[ $k ] = $extra_install->info_extra[ $k ];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Error check
|
||||
//-----------------------------------------
|
||||
|
||||
if ( count( $extra_install->errors ) )
|
||||
{
|
||||
$this->registry->output->setTitle( "Databases: Error" );
|
||||
$this->registry->output->setNextAction( 'db&do=check' );
|
||||
$this->registry->output->addContent( $this->fetchContent() );
|
||||
$this->registry->output->sendOutput();
|
||||
return;
|
||||
}
|
||||
|
||||
//------------------------------------------
|
||||
// Make CONSTANT
|
||||
//------------------------------------------
|
||||
|
||||
define( 'SQL_DRIVER' , IPSSetUp::getSavedData('sql_driver') );
|
||||
define( 'IPS_MAIN_DB_CLASS_LOADED', TRUE );
|
||||
|
||||
//------------------------------------------
|
||||
// Try a DB connection
|
||||
//------------------------------------------
|
||||
|
||||
$DB->return_die = true;
|
||||
|
||||
if ( ! $DB->connect() )
|
||||
{
|
||||
$errors[] = $DB->error;
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Error check
|
||||
//-----------------------------------------
|
||||
|
||||
if ( is_array( $errors ) AND count( $errors ) )
|
||||
{
|
||||
$this->registry->output->setTitle( "Databases: Error" );
|
||||
$this->registry->output->setNextAction( 'db&do=check' );
|
||||
$this->registry->output->addWarning( implode( "<br />", $errors ) );
|
||||
$this->registry->output->addContent( $this->fetchContent() );
|
||||
$this->registry->output->sendOutput();
|
||||
return;
|
||||
}
|
||||
|
||||
/* Save Form Data */
|
||||
IPSSetUp::setSavedData('db_host', $_REQUEST['db_host'] );
|
||||
IPSSetUp::setSavedData('db_name', $this->request['db_name'] );
|
||||
IPSSetUp::setSavedData('db_user', $this->request['db_user'] );
|
||||
IPSSetUp::setSavedData('db_pass', $_REQUEST['db_pass'] );
|
||||
IPSSetUp::setSavedData('db_pre' , $this->request['db_pre'] );
|
||||
|
||||
/* Are we overwriting an IP.Board 2.x or 3.x installation? */
|
||||
if ( ! $this->request['overwrite'] )
|
||||
{
|
||||
if ( $DB->checkForTable( 'upgrade_history' ) )
|
||||
{
|
||||
/* Get latest version */
|
||||
$latest = $DB->buildAndFetch( array( 'select' => '*',
|
||||
'from' => 'upgrade_history',
|
||||
'where' => "upgrade_app='core'",
|
||||
'order' => 'upgrade_version_id DESC',
|
||||
'limit' => array( 0, 1 ) ) );
|
||||
|
||||
if ( is_array( $latest ) )
|
||||
{
|
||||
$this->registry->output->setTitle( "Databases: Error" );
|
||||
$this->registry->output->setNextAction( 'db&do=check' );
|
||||
$this->registry->output->addWarning( "Existing IP.Board " . $latest['upgrade_version_human'] . " Detected" );
|
||||
$this->registry->output->addContent( $this->fetchContent( TRUE ) );
|
||||
$this->registry->output->sendOutput();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Next Action */
|
||||
$this->registry->autoLoadNextAction( 'admin' );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------
|
||||
// DO WE HAVE A DB DRIVER SET?
|
||||
//--------------------------------------------------
|
||||
|
||||
IPSSetUp::setSavedData('sql_driver', strtolower( ( IPSSetUp::getSavedData('sql_driver') == "" ) ? $_REQUEST['sql_driver'] : IPSSetUp::getSavedData('sql_driver') ) );
|
||||
|
||||
if ( ! IPSSetUp::getSavedData('sql_driver') )
|
||||
{
|
||||
//----------------------------------------------
|
||||
// Test to see how many DB driver's we've got..
|
||||
//----------------------------------------------
|
||||
|
||||
$dh = opendir( IPS_KERNEL_PATH );
|
||||
|
||||
while ( $file = @readdir( $dh ) )
|
||||
{
|
||||
if ( preg_match( "/^classDb([a-zA-Z0-9]*)\.php/i", $file, $driver ) )
|
||||
{
|
||||
if ( stristr( $driver[1], 'client' ) OR ! $driver[1] )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$drivers[] = $driver[1];
|
||||
}
|
||||
}
|
||||
|
||||
@closedir( $dh );
|
||||
|
||||
//----------------------------------------------
|
||||
// Got more than one?
|
||||
//----------------------------------------------
|
||||
|
||||
if ( count($drivers) > 1 )
|
||||
{
|
||||
//------------------------------------------
|
||||
// Show choice screen first...
|
||||
//------------------------------------------
|
||||
|
||||
/* Page Output */
|
||||
$this->registry->output->setTitle( "Databases" );
|
||||
$this->registry->output->setNextAction( 'db' );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_check_db( $drivers ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
else
|
||||
{
|
||||
//------------------------------------------
|
||||
// Use only driver installed
|
||||
//------------------------------------------
|
||||
|
||||
IPSSetUp::setSavedData( 'sql_driver', strtolower($drivers[0]) );
|
||||
}
|
||||
}
|
||||
|
||||
$this->request['db_host'] = ( $this->request['db_host'] ) ? $this->request['db_host'] : 'localhost';
|
||||
|
||||
$this->registry->output->setTitle( "Databases" );
|
||||
$this->registry->output->setNextAction( 'db&do=check' );
|
||||
$this->registry->output->addContent( $this->fetchContent() );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch content
|
||||
*
|
||||
* @access public
|
||||
* @param bool
|
||||
* @return string
|
||||
*/
|
||||
public function fetchContent( $check=FALSE )
|
||||
{
|
||||
/* Output */
|
||||
$content = ( $check === FALSE ) ? $this->registry->output->template()->page_db() : $this->registry->output->template()->page_dbOverride();
|
||||
|
||||
/* Driver extras? */
|
||||
if ( is_file( IPS_ROOT_PATH . 'setup/sql/'.IPSSetUp::getSavedData('sql_driver').'_install.php' ) )
|
||||
{
|
||||
require_once( IPS_ROOT_PATH . 'setup/sql/'.IPSSetUp::getSavedData('sql_driver').'_install.php' );/*noLibHook*/
|
||||
$extra_install = new install_extra( $this->registry );
|
||||
|
||||
$content = str_replace( '<!--{EXTRA.SQL}-->', $extra_install->install_form_extra(), $content );
|
||||
}
|
||||
|
||||
return $content;
|
||||
}
|
||||
}
|
||||
@@ -1,48 +1,48 @@
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.2.3
|
||||
* Installer: EULA file
|
||||
* Last Updated: $LastChangedDate: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: ips_terabyte $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://hatynka.in
|
||||
* @version $Rev: 8644 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class install_done extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
$installLocked = FALSE;
|
||||
|
||||
/* Lock the page */
|
||||
if ( @file_put_contents( DOC_IPS_ROOT_PATH . 'cache/installer_lock.php', 'Just out of interest, what did you expect to see here?' ) )
|
||||
{
|
||||
$installLocked = TRUE;
|
||||
}
|
||||
|
||||
/* Clean conf global */
|
||||
IPSInstall::cleanConfGlobal();
|
||||
|
||||
/* Simply return the EULA page */
|
||||
$this->registry->output->setTitle( "Установка завершена!" );
|
||||
$this->registry->output->setHideButton( TRUE );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_installComplete( $installLocked ) );
|
||||
$this->registry->output->sendOutput( FALSE );
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.3.4
|
||||
* Installer: EULA file
|
||||
* Last Updated: $LastChangedDate: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @version $Rev: 10914 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class install_done extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
$installLocked = FALSE;
|
||||
|
||||
/* Lock the page */
|
||||
if ( @file_put_contents( DOC_IPS_ROOT_PATH . 'cache/installer_lock.php', 'Just out of interest, what did you expect to see here?' ) )
|
||||
{
|
||||
$installLocked = TRUE;
|
||||
}
|
||||
|
||||
/* Clean conf global */
|
||||
IPSInstall::cleanConfGlobal();
|
||||
|
||||
/* Simply return the EULA page */
|
||||
$this->registry->output->setTitle( "Complete!" );
|
||||
$this->registry->output->setHideButton( TRUE );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_installComplete( $installLocked ) );
|
||||
$this->registry->output->sendOutput( FALSE );
|
||||
}
|
||||
}
|
||||
@@ -1,36 +1,36 @@
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.2.3
|
||||
* Installer: EULA file
|
||||
* Last Updated: $LastChangedDate: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: ips_terabyte $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://hatynka.in
|
||||
* @version $Rev: 8644 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class install_eula extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Simply return the EULA page */
|
||||
$this->registry->output->setTitle( "Соглашение" );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_eula() );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.3.4
|
||||
* Installer: EULA file
|
||||
* Last Updated: $LastChangedDate: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @version $Rev: 10914 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class install_eula extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Simply return the EULA page */
|
||||
$this->registry->output->setTitle( "EULA" );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_eula() );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
<html>
|
||||
<head><title>IP.Board - Bulletin Board System</title></head>
|
||||
<body>
|
||||
<h1>403: IP.Board -> Forbidden</h1>
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
</body>
|
||||
<html>
|
||||
<head><title>IP.Board - Bulletin Board System</title></head>
|
||||
<body>
|
||||
<h1>403: IP.Board -> Forbidden</h1>
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,159 +1,159 @@
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.2.3
|
||||
* Installer: Index file
|
||||
* Last Updated: $LastChangedDate: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: ips_terabyte $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://hatynka.in
|
||||
* @version $Rev: 8644 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class install_index extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* INIT */
|
||||
$filesOK = NULL;
|
||||
$extensions = get_loaded_extensions();
|
||||
$extensionsOK = TRUE;
|
||||
$extensionData = array();
|
||||
|
||||
/* Test Extensions */
|
||||
$INSTALLDATA = array();
|
||||
include( IPS_ROOT_PATH . 'setup/xml/requiredextensions.php' );/*noLibHook*/
|
||||
|
||||
if ( is_array( $INSTALLDATA ) && count( $INSTALLDATA ) )
|
||||
{
|
||||
foreach( $INSTALLDATA as $data )
|
||||
{
|
||||
if ( ! in_array( $data['testfor'], $extensions ) )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Added 'nohault' key which will show a
|
||||
// warning but not prohibit installation
|
||||
//-----------------------------------------
|
||||
|
||||
if( $data['nohault'] )
|
||||
{
|
||||
$data['_ok'] = 1; // Anything but true or false
|
||||
$extensionsOK = 1; // Anything but true or false
|
||||
}
|
||||
else
|
||||
{
|
||||
$extensionsOK = FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['_ok'] = TRUE;
|
||||
}
|
||||
|
||||
$extensionData[] = $data;
|
||||
}
|
||||
}
|
||||
|
||||
/* Check for conf_global.dist.php */
|
||||
if ( is_file( DOC_IPS_ROOT_PATH . 'conf_global.dist.php') AND ! is_file( DOC_IPS_ROOT_PATH.'conf_global.php') )
|
||||
{
|
||||
if ( ! @rename( DOC_IPS_ROOT_PATH.'conf_global.dist.php', DOC_IPS_ROOT_PATH.'conf_global.php' ) )
|
||||
{
|
||||
$filesOK = FALSE;
|
||||
$this->registry->output->addError( "<strong>Вы должны переименовать файл 'conf_global.<b style='color:red'>dist.php</b>' в 'conf_global.<b style='color:red'>php</b>' перед продолжением.</strong>
|
||||
Этот файл можно найти в корневой директории IP.Board." );
|
||||
}
|
||||
}
|
||||
|
||||
/* All extensions loaded OK? */
|
||||
if ( $extensionsOK == TRUE AND $filesOK === NULL )
|
||||
{
|
||||
$filesOK = FALSE;
|
||||
|
||||
/* Fetch core writeable files */
|
||||
require_once( IPS_KERNEL_PATH . 'classXML.php' );/*noLibHook*/
|
||||
$xml = new classXML( IPSSetUp::charSet );
|
||||
|
||||
try
|
||||
{
|
||||
$xml->load( IPS_ROOT_PATH . 'setup/xml/writeablefiles.xml' );
|
||||
|
||||
foreach( $xml->fetchElements( 'file' ) as $xmlelement )
|
||||
{
|
||||
$data = $xml->fetchElementsFromRecord( $xmlelement );
|
||||
|
||||
if ( $data['path'] )
|
||||
{
|
||||
$_path = DOC_IPS_ROOT_PATH . $data['path'];
|
||||
|
||||
if ( ! file_exists( $_path ) )
|
||||
{
|
||||
if ( $data['dir'] )
|
||||
{
|
||||
if ( ! @mkdir( $_path, IPS_FOLDER_PERMISSION, TRUE ) )
|
||||
{
|
||||
$this->registry->output->addError( 'Директория "' . $data['path'] . '" не существует, создайте ее' );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->registry->output->addError( 'Файл "' . $data['path'] . '" не существует, создайте его' );
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! is_writeable( $_path ) )
|
||||
{
|
||||
if ( ! @chmod( $_path, is_dir( $_path ) ? IPS_FOLDER_PERMISSION : IPS_FILE_PERMISSION ) )
|
||||
{
|
||||
if ( is_dir( $_path ) )
|
||||
{
|
||||
$this->registry->output->addError( 'Запись в директорию: "' . $data['path'] . '" невозможна , измените права доступа' );
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->registry->output->addError( 'Запись в файл "' . $data['path'] . '" невозможна, измените права доступа' );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! count( $this->registry->output->fetchErrors() ) )
|
||||
{
|
||||
$filesOK = TRUE;
|
||||
}
|
||||
}
|
||||
catch( Exception $error )
|
||||
{
|
||||
$filesOK = FALSE;
|
||||
$this->registry->output->addError( "Файл " . IPS_ROOT_PATH . 'setup/xml/writeablefiles.xml не найден' );
|
||||
}
|
||||
}
|
||||
|
||||
/* Hide buttons? */
|
||||
if ( $filesOK !== TRUE OR $extensionsOK != TRUE )
|
||||
{
|
||||
$this->registry->output->setNextAction( '' );
|
||||
$this->registry->output->setHideButton( TRUE );
|
||||
}
|
||||
|
||||
/* Simply return the requirements page */
|
||||
$this->registry->output->setTitle( "Требования" );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_requirements( $filesOK, $extensionsOK, $extensionData ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.3.4
|
||||
* Installer: Index file
|
||||
* Last Updated: $LastChangedDate: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @version $Rev: 10914 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class install_index extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* INIT */
|
||||
$filesOK = NULL;
|
||||
$extensions = get_loaded_extensions();
|
||||
$extensionsOK = TRUE;
|
||||
$extensionData = array();
|
||||
|
||||
/* Test Extensions */
|
||||
$INSTALLDATA = array();
|
||||
include( IPS_ROOT_PATH . 'setup/xml/requiredextensions.php' );/*noLibHook*/
|
||||
|
||||
if ( is_array( $INSTALLDATA ) && count( $INSTALLDATA ) )
|
||||
{
|
||||
foreach( $INSTALLDATA as $data )
|
||||
{
|
||||
if ( ! in_array( $data['testfor'], $extensions ) )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Added 'nohault' key which will show a
|
||||
// warning but not prohibit installation
|
||||
//-----------------------------------------
|
||||
|
||||
if( $data['nohault'] )
|
||||
{
|
||||
$data['_ok'] = 1; // Anything but true or false
|
||||
$extensionsOK = 1; // Anything but true or false
|
||||
}
|
||||
else
|
||||
{
|
||||
$extensionsOK = FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['_ok'] = TRUE;
|
||||
}
|
||||
|
||||
$extensionData[] = $data;
|
||||
}
|
||||
}
|
||||
|
||||
/* Check for conf_global.dist.php */
|
||||
if ( is_file( DOC_IPS_ROOT_PATH . 'conf_global.dist.php') AND ! is_file( DOC_IPS_ROOT_PATH.'conf_global.php') )
|
||||
{
|
||||
if ( ! @rename( DOC_IPS_ROOT_PATH.'conf_global.dist.php', DOC_IPS_ROOT_PATH.'conf_global.php' ) )
|
||||
{
|
||||
$filesOK = FALSE;
|
||||
$this->registry->output->addError( "<strong>You MUST rename the file 'conf_global.<b style='color:red'>dist.php</b>' TO 'conf_global.<b style='color:red'>php</b>' before continuing.</strong>
|
||||
This file can be found in the 'root' directory on your IP.Board install." );
|
||||
}
|
||||
}
|
||||
|
||||
/* All extensions loaded OK? */
|
||||
if ( $extensionsOK == TRUE AND $filesOK === NULL )
|
||||
{
|
||||
$filesOK = FALSE;
|
||||
|
||||
/* Fetch core writeable files */
|
||||
require_once( IPS_KERNEL_PATH . 'classXML.php' );/*noLibHook*/
|
||||
$xml = new classXML( IPSSetUp::charSet );
|
||||
|
||||
try
|
||||
{
|
||||
$xml->load( IPS_ROOT_PATH . 'setup/xml/writeablefiles.xml' );
|
||||
|
||||
foreach( $xml->fetchElements( 'file' ) as $xmlelement )
|
||||
{
|
||||
$data = $xml->fetchElementsFromRecord( $xmlelement );
|
||||
|
||||
if ( $data['path'] )
|
||||
{
|
||||
$_path = DOC_IPS_ROOT_PATH . $data['path'];
|
||||
|
||||
if ( ! file_exists( $_path ) )
|
||||
{
|
||||
if ( $data['dir'] )
|
||||
{
|
||||
if ( ! @mkdir( $_path, IPS_FOLDER_PERMISSION, TRUE ) )
|
||||
{
|
||||
$this->registry->output->addError( 'Directory does not exist: "' . $data['path'] . '", please create it via FTP' );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->registry->output->addError( 'File does not exist: "' . $data['path'] . '", please create it via FTP' );
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! is_writeable( $_path ) )
|
||||
{
|
||||
if ( ! @chmod( $_path, is_dir( $_path ) ? IPS_FOLDER_PERMISSION : IPS_FILE_PERMISSION ) )
|
||||
{
|
||||
if ( is_dir( $_path ) )
|
||||
{
|
||||
$this->registry->output->addError( 'Can not write to directory: "' . $data['path'] . '", please CHMOD to 777' );
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->registry->output->addError( 'Can not write to file: "' . $data['path'] . '", please CHMOD to 777' );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! count( $this->registry->output->fetchErrors() ) )
|
||||
{
|
||||
$filesOK = TRUE;
|
||||
}
|
||||
}
|
||||
catch( Exception $error )
|
||||
{
|
||||
$filesOK = FALSE;
|
||||
$this->registry->output->addError( "Cannot locate: " . IPS_ROOT_PATH . 'setup/xml/writeablefiles.xml' );
|
||||
}
|
||||
}
|
||||
|
||||
/* Hide buttons? */
|
||||
if ( $filesOK !== TRUE OR $extensionsOK != TRUE )
|
||||
{
|
||||
$this->registry->output->setNextAction( '' );
|
||||
$this->registry->output->setHideButton( TRUE );
|
||||
}
|
||||
|
||||
/* Simply return the requirements page */
|
||||
$this->registry->output->setTitle( "Requirements" );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_requirements( $filesOK, $extensionsOK, $extensionData ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,74 +1,51 @@
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.2.3
|
||||
* Installer: License Key
|
||||
* Last Updated: $LastChangedDate: 2011-08-30 20:24:16 -0400 (Tue, 30 Aug 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://hatynka.in
|
||||
* @version $Rev: 9434 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class install_license extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
$lcheck = '';
|
||||
if ( $this->request['do'] == 'check' )
|
||||
{
|
||||
$lcheck = $this->check();
|
||||
if ( $lcheck === TRUE )
|
||||
{
|
||||
$this->registry->autoLoadNextAction( 'db' );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$this->registry->output->setTitle( "Ключ лицензии" );
|
||||
$this->registry->output->setNextAction( "license&do=check" );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_license( $lcheck ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
|
||||
/**
|
||||
* Check License Key
|
||||
*
|
||||
* @access public
|
||||
* @return bool
|
||||
*/
|
||||
private function check()
|
||||
{
|
||||
$this->request['lkey'] = trim( $this->request['lkey'] );
|
||||
|
||||
// License key is optional
|
||||
if( ! $this->request['lkey'] )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
$url = IPSSetup::getSavedData( 'install_url' );
|
||||
|
||||
require_once( IPS_KERNEL_PATH . 'classFileManagement.php' );
|
||||
$query = new classFileManagement();
|
||||
$query->use_sockets = 1;
|
||||
$response = $query->getFileContents( "http://myipb.in/license.php?api=activateKey&lk={$this->request['lkey']}&domain=".urlencode($url) );
|
||||
$response = json_decode( $response, true );
|
||||
IPSSetup::setSavedData( 'lkey', $this->request['lkey'] );
|
||||
return TRUE;
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.3 (4)
|
||||
* Installer: License Key
|
||||
* Last Updated: $LastChangedDate: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @version $Rev: 10914 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class install_license extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
$lcheck = $this->check();
|
||||
$this->registry->autoLoadNextAction( 'db' );
|
||||
return;
|
||||
|
||||
$this->registry->output->setTitle( "License Key" );
|
||||
$this->registry->output->setNextAction( "license&do=check" );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_license( $lcheck ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
|
||||
/**
|
||||
* Check License Key
|
||||
*
|
||||
* @access public
|
||||
* @return bool
|
||||
*/
|
||||
private function check()
|
||||
{
|
||||
IPSSetup::setSavedData( 'lkey', 'Nulled by _Dark_ (IPBMafia.Ru)');
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
<html>
|
||||
<head><title>IP.Board - Bulletin Board System</title></head>
|
||||
<body>
|
||||
<h1>403: IP.Board -> Forbidden</h1>
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
</body>
|
||||
<html>
|
||||
<head><title>IP.Board - Bulletin Board System</title></head>
|
||||
<body>
|
||||
<h1>403: IP.Board -> Forbidden</h1>
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,378 +1,379 @@
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.2.3
|
||||
* Installer: EULA file
|
||||
* Last Updated: $LastChangedDate: 2011-05-24 22:52:26 -0400 (Tue, 24 May 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://hatynka.in
|
||||
* @version $Rev: 8886 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class upgrade_apps extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Delete sessions and continue */
|
||||
if ( $this->request['do'] == 'rsessions' )
|
||||
{
|
||||
IPSSetUp::removePreviousSession();
|
||||
}
|
||||
|
||||
/* Rebuild from last session and continue */
|
||||
if ( $this->request['do'] == 'rcontinue' )
|
||||
{
|
||||
$oldSession = IPSSetUp::checkForPreviousSessions();
|
||||
|
||||
if ( count( $oldSession ) AND $oldSession['_session_get']['section'] AND $oldSession['_sd']['install_apps'] )
|
||||
{
|
||||
IPSSetUp::restorePreviousSession( $oldSession );
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
||||
/* Check for failed upgrade */
|
||||
if ( ! $this->request['do'] OR ( $this->request['do'] != 'rsessions' ) )
|
||||
{
|
||||
$oldSession = IPSSetUp::checkForPreviousSessions();
|
||||
|
||||
if ( count( $oldSession ) AND $oldSession['_session_get']['section'] AND $oldSession['_sd']['install_apps'] )
|
||||
{
|
||||
/* Page Output */
|
||||
$this->registry->output->setTitle( "Applications" );
|
||||
$this->registry->output->setNextAction( 'apps&do=rsessions' );
|
||||
//$this->registry->output->setHideButton( TRUE );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->upgrade_previousSession( $oldSession ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
}
|
||||
|
||||
/* Save data */
|
||||
if ( $this->request['do'] == 'save' )
|
||||
{
|
||||
$apps = explode( ',', IPSSetUp::getSavedData('install_apps') );
|
||||
$toSave = array();
|
||||
$vNums = array();
|
||||
|
||||
if ( is_array( $apps ) and count( $apps ) )
|
||||
{
|
||||
foreach( $apps as $app )
|
||||
{
|
||||
/* Grab version numbers */
|
||||
$numbers = IPSSetUp::fetchAppVersionNumbers( $app );
|
||||
|
||||
/* Grab all numbers */
|
||||
$nums[ $app ] = IPSSetUp::fetchXmlAppVersions( $app );
|
||||
|
||||
/* Grab app data */
|
||||
$appData[ $app ] = IPSSetUp::fetchXmlAppInformation( $app, $this->settings['gb_char_set'] );
|
||||
|
||||
$appClasses[ $app ] = IPSSetUp::fetchVersionClasses( $app, $numbers['current'][0], $numbers['latest'][0] );
|
||||
|
||||
/* Store starting vnums */
|
||||
$vNums[ $app ] = $numbers['current'][0];
|
||||
}
|
||||
|
||||
/* Got anything? */
|
||||
if ( count( $appClasses ) )
|
||||
{
|
||||
foreach( $appClasses as $app => $data )
|
||||
{
|
||||
foreach( $data as $num )
|
||||
{
|
||||
if ( is_file( 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( $this->registry );
|
||||
|
||||
if ( method_exists( $_tmp, 'preInstallOptionsSave' ) )
|
||||
{
|
||||
$_t = $_tmp->preInstallOptionsSave();
|
||||
|
||||
if ( is_array( $_t ) AND count( $_t ) )
|
||||
{
|
||||
$toSave[ $app ][ $num ] = $_t;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Save it */
|
||||
if ( count( $toSave ) )
|
||||
{
|
||||
IPSSetUp::setSavedData('custom_options', $toSave );
|
||||
}
|
||||
|
||||
if ( count( $vNums ) )
|
||||
{
|
||||
IPSSetUp::setSavedData('version_numbers', $vNums );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/* Next Action */
|
||||
$this->registry->autoLoadNextAction( 'license' );
|
||||
}
|
||||
/* Check input? */
|
||||
else if ( $this->request['do'] == 'check' )
|
||||
{
|
||||
/* Check Directory */
|
||||
if ( ! is_array( $_POST['apps'] ) OR ! count( $_POST['apps'] ) )
|
||||
{
|
||||
$this->registry->output->addWarning( 'Необходмо выбрать приложения для обновления.' );
|
||||
}
|
||||
else
|
||||
{
|
||||
/* If it's lower than 3.0.0, then add in the removed apps */
|
||||
if ( IPSSetUp::is300plus() !== TRUE )
|
||||
{
|
||||
$_POST['apps']['forums'] = 1;
|
||||
$_POST['apps']['members'] = 1;
|
||||
$_POST['apps']['calendar'] = 1;
|
||||
$_POST['apps']['chat'] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( $_POST['apps']['core'] )
|
||||
{
|
||||
$_POST['apps']['forums'] = 1;
|
||||
$_POST['apps']['members'] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* Save Form Data */
|
||||
IPSSetUp::setSavedData('install_apps', implode( ',', array_keys( $_POST['apps'] ) ) );
|
||||
|
||||
/* Got any app-version classes? */
|
||||
$appClasses = array();
|
||||
$output = array();
|
||||
$nums = array();
|
||||
$appData = array();
|
||||
|
||||
foreach( $_POST['apps'] as $app => $val )
|
||||
{
|
||||
/* Grab version numbers */
|
||||
$numbers = IPSSetUp::fetchAppVersionNumbers( $app );
|
||||
|
||||
/* Grab all numbers */
|
||||
$nums[ $app ] = IPSSetUp::fetchXmlAppVersions( $app );
|
||||
|
||||
/* Grab app data */
|
||||
$appData[ $app ] = IPSSetUp::fetchXmlAppInformation( $app, $this->settings['gb_char_set'] );
|
||||
|
||||
$appClasses[ $app ] = IPSSetUp::fetchVersionClasses( $app, $numbers['current'][0], $numbers['latest'][0] );
|
||||
}
|
||||
|
||||
/* Got anything? */
|
||||
$error = FALSE;
|
||||
if ( count( $appClasses ) )
|
||||
{
|
||||
foreach( $appClasses as $app => $data )
|
||||
{
|
||||
if ( is_file( IPSLib::getAppDir( $app ) . '/setup/upgradeCheck.php' ) )
|
||||
{
|
||||
$_class = $app . '_upgradeCheck';
|
||||
require_once( IPSLib::getAppDir( $app ) . '/setup/upgradeCheck.php' );/*noLibHook*/
|
||||
$requirements_class = new $_class();
|
||||
|
||||
if ( method_exists( $requirements_class, 'checkForProblems' ) )
|
||||
{
|
||||
$check = $requirements_class->checkForProblems();
|
||||
if ( $check !== TRUE )
|
||||
{
|
||||
$error = TRUE;
|
||||
$this->registry->output->addError( $check );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach( $data as $num )
|
||||
{
|
||||
if ( is_file( 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( $this->registry );
|
||||
|
||||
if ( method_exists( $_tmp, 'preInstallOptionsForm' ) )
|
||||
{
|
||||
$_t = $_tmp->preInstallOptionsForm();
|
||||
|
||||
if ( $_t )
|
||||
{
|
||||
$output[ $app ][ $num ] = array( 'long' => $nums[ $app ][ $num ],
|
||||
'app' => $appData[ $app ],
|
||||
'out' => $_t );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Finally... */
|
||||
if ( count( $output ) or $error === TRUE )
|
||||
{
|
||||
$this->registry->output->setTitle( "Приложения" );
|
||||
$this->registry->output->setNextAction( 'apps&do=save' );
|
||||
//$this->registry->output->setHideButton( TRUE );
|
||||
if ( !$error )
|
||||
{
|
||||
$this->registry->output->addContent( $this->registry->output->template()->upgrade_appsOptions( $output ) );
|
||||
}
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Next Action */
|
||||
$this->registry->autoLoadNextAction( 'license' );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Generate apps... */
|
||||
$apps = array( 'core' => array(), 'ips' => array(), 'other' => array() );
|
||||
|
||||
foreach( array( 'applications', 'applications_addon/ips', 'applications_addon/other' ) as $_pBit )
|
||||
{
|
||||
$path = IPS_ROOT_PATH . $_pBit;
|
||||
$handle = opendir( $path );
|
||||
|
||||
while ( ( $file = readdir( $handle ) ) !== FALSE )
|
||||
{
|
||||
if ( ! preg_match( "#^\.#", $file ) )
|
||||
{
|
||||
if ( is_dir( $path . '/' . $file ) )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Get it!
|
||||
//-----------------------------------------
|
||||
|
||||
if ( ! is_file( IPS_ROOT_PATH . $_pBit . '/' . $file . '/xml/information.xml' ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$data = IPSSetUp::fetchXmlAppInformation( $file, $this->settings['gb_char_set'] );
|
||||
|
||||
switch( $_pBit )
|
||||
{
|
||||
case 'applications':
|
||||
$apps['core'][ $file ] = $data;
|
||||
break;
|
||||
case 'applications_addon/ips':
|
||||
$apps['ips'][ $file ] = $data;
|
||||
break;
|
||||
case 'applications_addon/other':
|
||||
$apps['other'][ $file ] = $data;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
closedir( $handle );
|
||||
}
|
||||
|
||||
/* Reorder the array so that core is first */
|
||||
$new_array = array();
|
||||
$new_array['core'] = $apps['core']['core'];
|
||||
|
||||
foreach( $apps['core'] as $app => $data )
|
||||
{
|
||||
if( $app == 'core' )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$new_array[$app] = $data;
|
||||
}
|
||||
|
||||
$apps['core'] = $new_array;
|
||||
|
||||
/* Now get version numbers */
|
||||
foreach( $apps as $type => $app )
|
||||
{
|
||||
foreach( $apps[ $type ] as $app => $data )
|
||||
{
|
||||
if ( $type == 'core' and ( $app == 'forums' OR $app == 'members' ) )
|
||||
{
|
||||
/* Skip forums and members and just count core for now */
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Grab version numbers */
|
||||
$numbers = IPSSetUp::fetchAppVersionNumbers( $app );
|
||||
|
||||
$appClasses[ $app ] = IPSSetUp::fetchVersionClasses( $app, $numbers['current'][0], $numbers['latest'][0] );
|
||||
|
||||
$apps[ $type ][ $app ]['_vnumbers'] = $numbers;
|
||||
}
|
||||
}
|
||||
|
||||
/* Any notices? */
|
||||
$notices = array();
|
||||
if ( count( $appClasses ) )
|
||||
{
|
||||
foreach( $appClasses as $app => $data )
|
||||
{
|
||||
$notices[ $app ] = array();
|
||||
|
||||
foreach( $data as $num )
|
||||
{
|
||||
if ( is_file( 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( $this->registry );
|
||||
|
||||
if ( method_exists( $_tmp, 'preInstallNotices' ) )
|
||||
{
|
||||
$_t = $_tmp->preInstallNotices();
|
||||
|
||||
if ( $_t )
|
||||
{
|
||||
$notices[ $app ] = array_merge( $_t, $notices[ $app ] );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* If it's lower than 3.0.0, then remove some apps and make them part of 'core' */
|
||||
if ( IPSSetUp::is300plus() !== TRUE )
|
||||
{
|
||||
unset( $apps['ips']['calendar'] );
|
||||
unset( $apps['ips']['chat'] );
|
||||
}
|
||||
|
||||
/* Page Output */
|
||||
$this->registry->output->setTitle( "Приложения" );
|
||||
$this->registry->output->setNextAction( 'apps&do=check' );
|
||||
//$this->registry->output->setHideButton( TRUE );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->upgrade_apps( $apps, $notices ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.3.4
|
||||
* Installer: EULA file
|
||||
* Last Updated: $LastChangedDate: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @version $Rev: 10914 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class upgrade_apps extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Delete sessions and continue */
|
||||
if ( $this->request['do'] == 'rsessions' )
|
||||
{
|
||||
IPSSetUp::removePreviousSession();
|
||||
}
|
||||
|
||||
/* Rebuild from last session and continue */
|
||||
if ( $this->request['do'] == 'rcontinue' )
|
||||
{
|
||||
$oldSession = IPSSetUp::checkForPreviousSessions();
|
||||
|
||||
if ( count( $oldSession ) AND $oldSession['_session_get']['section'] AND $oldSession['_sd']['install_apps'] )
|
||||
{
|
||||
IPSSetUp::restorePreviousSession( $oldSession );
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
||||
/* Check for failed upgrade */
|
||||
if ( ! $this->request['do'] OR ( $this->request['do'] != 'rsessions' ) )
|
||||
{
|
||||
$oldSession = IPSSetUp::checkForPreviousSessions();
|
||||
|
||||
if ( count( $oldSession ) AND $oldSession['_session_get']['section'] AND $oldSession['_sd']['install_apps'] )
|
||||
{
|
||||
/* Page Output */
|
||||
$this->registry->output->setTitle( "Applications" );
|
||||
$this->registry->output->setNextAction( 'apps&do=rsessions' );
|
||||
//$this->registry->output->setHideButton( TRUE );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->upgrade_previousSession( $oldSession ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
}
|
||||
|
||||
/* Save data */
|
||||
if ( $this->request['do'] == 'save' )
|
||||
{
|
||||
$apps = explode( ',', IPSSetUp::getSavedData('install_apps') );
|
||||
$toSave = array();
|
||||
$vNums = array();
|
||||
|
||||
if ( is_array( $apps ) and count( $apps ) )
|
||||
{
|
||||
foreach( $apps as $app )
|
||||
{
|
||||
/* Grab version numbers */
|
||||
$numbers = IPSSetUp::fetchAppVersionNumbers( $app );
|
||||
|
||||
/* Grab all numbers */
|
||||
$nums[ $app ] = IPSSetUp::fetchXmlAppVersions( $app );
|
||||
|
||||
/* Grab app data */
|
||||
$appData[ $app ] = IPSSetUp::fetchXmlAppInformation( $app, $this->settings['gb_char_set'] );
|
||||
|
||||
$appClasses[ $app ] = IPSSetUp::fetchVersionClasses( $app, $numbers['current'][0], $numbers['latest'][0] );
|
||||
|
||||
/* Store starting vnums */
|
||||
$vNums[ $app ] = $numbers['current'][0];
|
||||
}
|
||||
|
||||
/* Got anything? */
|
||||
if ( count( $appClasses ) )
|
||||
{
|
||||
foreach( $appClasses as $app => $data )
|
||||
{
|
||||
foreach( $data as $num )
|
||||
{
|
||||
if ( is_file( 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( $this->registry );
|
||||
|
||||
if ( method_exists( $_tmp, 'preInstallOptionsSave' ) )
|
||||
{
|
||||
$_t = $_tmp->preInstallOptionsSave();
|
||||
|
||||
if ( is_array( $_t ) AND count( $_t ) )
|
||||
{
|
||||
$toSave[ $app ][ $num ] = $_t;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Save it */
|
||||
if ( count( $toSave ) )
|
||||
{
|
||||
IPSSetUp::setSavedData('custom_options', $toSave );
|
||||
}
|
||||
|
||||
if ( count( $vNums ) )
|
||||
{
|
||||
IPSSetUp::setSavedData('version_numbers', $vNums );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/* Next Action */
|
||||
$this->registry->autoLoadNextAction( 'license' );
|
||||
}
|
||||
/* Check input? */
|
||||
else if ( $this->request['do'] == 'check' )
|
||||
{
|
||||
/* Check Directory */
|
||||
if ( ! is_array( $_POST['apps'] ) OR ! count( $_POST['apps'] ) )
|
||||
{
|
||||
/* We use 'warning' because it has same effect but does not block the 'next' button (which they'll want to use after selecting an app when page reloads) */
|
||||
$this->registry->output->addWarning( 'You must select to upgrade at least one application' );
|
||||
}
|
||||
else
|
||||
{
|
||||
/* If it's lower than 3.0.0, then add in the removed apps */
|
||||
if ( IPSSetUp::is300plus() !== TRUE )
|
||||
{
|
||||
$_POST['apps']['forums'] = 1;
|
||||
$_POST['apps']['members'] = 1;
|
||||
$_POST['apps']['calendar'] = 1;
|
||||
$_POST['apps']['chat'] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( $_POST['apps']['core'] )
|
||||
{
|
||||
$_POST['apps']['forums'] = 1;
|
||||
$_POST['apps']['members'] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* Save Form Data */
|
||||
IPSSetUp::setSavedData('install_apps', implode( ',', array_keys( $_POST['apps'] ) ) );
|
||||
|
||||
/* Got any app-version classes? */
|
||||
$appClasses = array();
|
||||
$output = array();
|
||||
$nums = array();
|
||||
$appData = array();
|
||||
|
||||
foreach( $_POST['apps'] as $app => $val )
|
||||
{
|
||||
/* Grab version numbers */
|
||||
$numbers = IPSSetUp::fetchAppVersionNumbers( $app );
|
||||
|
||||
/* Grab all numbers */
|
||||
$nums[ $app ] = IPSSetUp::fetchXmlAppVersions( $app );
|
||||
|
||||
/* Grab app data */
|
||||
$appData[ $app ] = IPSSetUp::fetchXmlAppInformation( $app, $this->settings['gb_char_set'] );
|
||||
|
||||
$appClasses[ $app ] = IPSSetUp::fetchVersionClasses( $app, $numbers['current'][0], $numbers['latest'][0] );
|
||||
}
|
||||
|
||||
/* Got anything? */
|
||||
$error = FALSE;
|
||||
if ( count( $appClasses ) )
|
||||
{
|
||||
foreach( $appClasses as $app => $data )
|
||||
{
|
||||
if ( is_file( IPSLib::getAppDir( $app ) . '/setup/upgradeCheck.php' ) )
|
||||
{
|
||||
$_class = $app . '_upgradeCheck';
|
||||
require_once( IPSLib::getAppDir( $app ) . '/setup/upgradeCheck.php' );/*noLibHook*/
|
||||
$requirements_class = new $_class();
|
||||
|
||||
if ( method_exists( $requirements_class, 'checkForProblems' ) )
|
||||
{
|
||||
$check = $requirements_class->checkForProblems( $appClasses );
|
||||
if ( $check !== TRUE )
|
||||
{
|
||||
$error = TRUE;
|
||||
$this->registry->output->addError( $check );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach( $data as $num )
|
||||
{
|
||||
if ( is_file( 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( $this->registry );
|
||||
|
||||
if ( method_exists( $_tmp, 'preInstallOptionsForm' ) )
|
||||
{
|
||||
$_t = $_tmp->preInstallOptionsForm();
|
||||
|
||||
if ( $_t )
|
||||
{
|
||||
$output[ $app ][ $num ] = array( 'long' => $nums[ $app ][ $num ],
|
||||
'app' => $appData[ $app ],
|
||||
'out' => $_t );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Finally... */
|
||||
if ( count( $output ) or $error === TRUE )
|
||||
{
|
||||
$this->registry->output->setTitle( "Applications" );
|
||||
$this->registry->output->setNextAction( 'apps&do=save' );
|
||||
//$this->registry->output->setHideButton( TRUE );
|
||||
if ( !$error )
|
||||
{
|
||||
$this->registry->output->addContent( $this->registry->output->template()->upgrade_appsOptions( $output ) );
|
||||
}
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Next Action */
|
||||
$this->registry->autoLoadNextAction( 'license' );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Generate apps... */
|
||||
$apps = array( 'core' => array(), 'ips' => array(), 'other' => array() );
|
||||
|
||||
foreach( array( 'applications', 'applications_addon/ips', 'applications_addon/other' ) as $_pBit )
|
||||
{
|
||||
$path = IPS_ROOT_PATH . $_pBit;
|
||||
$handle = opendir( $path );
|
||||
|
||||
while ( ( $file = readdir( $handle ) ) !== FALSE )
|
||||
{
|
||||
if ( ! preg_match( "#^\.#", $file ) )
|
||||
{
|
||||
if ( is_dir( $path . '/' . $file ) )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Get it!
|
||||
//-----------------------------------------
|
||||
|
||||
if ( ! is_file( IPS_ROOT_PATH . $_pBit . '/' . $file . '/xml/information.xml' ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$data = IPSSetUp::fetchXmlAppInformation( $file, $this->settings['gb_char_set'] );
|
||||
|
||||
switch( $_pBit )
|
||||
{
|
||||
case 'applications':
|
||||
$apps['core'][ $file ] = $data;
|
||||
break;
|
||||
case 'applications_addon/ips':
|
||||
$apps['ips'][ $file ] = $data;
|
||||
break;
|
||||
case 'applications_addon/other':
|
||||
$apps['other'][ $file ] = $data;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
closedir( $handle );
|
||||
}
|
||||
|
||||
/* Reorder the array so that core is first */
|
||||
$new_array = array();
|
||||
$new_array['core'] = $apps['core']['core'];
|
||||
|
||||
foreach( $apps['core'] as $app => $data )
|
||||
{
|
||||
if( $app == 'core' )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$new_array[$app] = $data;
|
||||
}
|
||||
|
||||
$apps['core'] = $new_array;
|
||||
|
||||
/* Now get version numbers */
|
||||
foreach( $apps as $type => $app )
|
||||
{
|
||||
foreach( $apps[ $type ] as $app => $data )
|
||||
{
|
||||
if ( $type == 'core' and ( $app == 'forums' OR $app == 'members' ) )
|
||||
{
|
||||
/* Skip forums and members and just count core for now */
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Grab version numbers */
|
||||
$numbers = IPSSetUp::fetchAppVersionNumbers( $app );
|
||||
|
||||
$appClasses[ $app ] = IPSSetUp::fetchVersionClasses( $app, $numbers['current'][0], $numbers['latest'][0] );
|
||||
|
||||
$apps[ $type ][ $app ]['_vnumbers'] = $numbers;
|
||||
}
|
||||
}
|
||||
|
||||
/* Any notices? */
|
||||
$notices = array();
|
||||
if ( count( $appClasses ) )
|
||||
{
|
||||
foreach( $appClasses as $app => $data )
|
||||
{
|
||||
$notices[ $app ] = array();
|
||||
|
||||
foreach( $data as $num )
|
||||
{
|
||||
if ( is_file( 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( $this->registry );
|
||||
|
||||
if ( method_exists( $_tmp, 'preInstallNotices' ) )
|
||||
{
|
||||
$_t = $_tmp->preInstallNotices();
|
||||
|
||||
if ( $_t )
|
||||
{
|
||||
$notices[ $app ] = array_merge( $_t, $notices[ $app ] );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* If it's lower than 3.0.0, then remove some apps and make them part of 'core' */
|
||||
if ( IPSSetUp::is300plus() !== TRUE )
|
||||
{
|
||||
unset( $apps['ips']['calendar'] );
|
||||
unset( $apps['ips']['chat'] );
|
||||
}
|
||||
|
||||
/* Page Output */
|
||||
$this->registry->output->setTitle( "Applications" );
|
||||
$this->registry->output->setNextAction( 'apps&do=check' );
|
||||
//$this->registry->output->setHideButton( TRUE );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->upgrade_apps( $apps, $notices ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
}
|
||||
@@ -1,100 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Invision Power Services
|
||||
* IP.Board v3.0.0
|
||||
* Upgrader: Database Convertion
|
||||
*
|
||||
* @author Tony
|
||||
* @license This is NULLED!
|
||||
* @package Invision Power Board
|
||||
* @link http://hatynka.in
|
||||
*
|
||||
*/
|
||||
|
||||
class upgrade_convert extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry ) {
|
||||
|
||||
// uncomment to skip this step
|
||||
//$this->registry->autoLoadNextAction( 'apps' );
|
||||
|
||||
if( strtolower( $this->settings['sql_driver'] ) == 'mysql' ) {
|
||||
|
||||
$utf8_ok = FALSE;
|
||||
$table_prefix = $this->registry->dbFunctions()->getPrefix(); // PREFIX CAN BE EMPTY !
|
||||
|
||||
$this->DB->return_die = 1;
|
||||
$this->DB->allow_sub_select = 1;
|
||||
$this->DB->error = '';
|
||||
|
||||
if( substr( $this->DB->getSqlVersion(), 0, 1 ) >= 5 ) {
|
||||
$query = "SELECT table_collation FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = '{$this->settings['sql_database']}' AND table_name LIKE '{$table_prefix}%'";
|
||||
|
||||
$this->DB->query( $query );
|
||||
|
||||
if ( $this->DB->error ) {
|
||||
$this->registry->output->addError( nl2br( $query ) . '<br /><br />' . $this->DB->error );
|
||||
}
|
||||
else {
|
||||
|
||||
$utf8_ok = TRUE;
|
||||
|
||||
while( $r = $this->DB->fetch() ) {
|
||||
|
||||
if ( strpos( $r['table_collation'], 'utf8' ) !== 0 ) {
|
||||
$utf8_ok = FALSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
$tables = Array( 'posts', 'forums' );
|
||||
|
||||
foreach( $tables as $table ) {
|
||||
|
||||
$table = $table_prefix . $table;
|
||||
$query = 'SHOW CREATE TABLE ' . $table;
|
||||
|
||||
$this->DB->query( $query );
|
||||
|
||||
if ( $this->DB->error ) {
|
||||
$this->registry->output->addError( nl2br( $query ) . '<br /><br />' . $this->DB->error );
|
||||
$utf8_ok = FALSE;
|
||||
break;
|
||||
}
|
||||
|
||||
$code = $this->DB->fetch();
|
||||
|
||||
if ( preg_match( '/ DEFAULT CHARSET=utf8/', $code['Create Table'] )) {
|
||||
$utf8_ok = TRUE;
|
||||
}
|
||||
else {
|
||||
$utf8_ok = FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if( $utf8_ok ) {
|
||||
$this->registry->autoLoadNextAction( 'apps' );
|
||||
}
|
||||
else {
|
||||
$this->registry->output->setNextAction( '' );
|
||||
$this->registry->output->setHideButton( TRUE );
|
||||
$this->registry->output->setTitle( 'Конвертация базы данных' );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_convert() );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
}
|
||||
else {
|
||||
$this->registry->autoLoadNextAction( 'apps' );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,95 +1,95 @@
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.2.3
|
||||
* Installer: DONE file
|
||||
* Last Updated: $LastChangedDate: 2011-05-24 15:40:20 -0400 (Tue, 24 May 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://hatynka.in
|
||||
* @version $Rev: 8884 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class upgrade_done extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Remove the FURL cache */
|
||||
@unlink( IPS_CACHE_PATH . 'cache/furlCache.php' );
|
||||
|
||||
/* Got anything to show? */
|
||||
$apps = explode( ',', IPSSetUp::getSavedData('install_apps') );
|
||||
$vNums = IPSSetUp::getSavedData('version_numbers');
|
||||
$output = array();
|
||||
|
||||
if ( is_array( $apps ) and count( $apps ) )
|
||||
{
|
||||
foreach( $apps as $app )
|
||||
{
|
||||
/* Grab version numbers */
|
||||
$numbers = IPSSetUp::fetchAppVersionNumbers( $app );
|
||||
|
||||
/* Grab all numbers */
|
||||
$nums[ $app ] = IPSSetUp::fetchXmlAppVersions( $app );
|
||||
|
||||
/* Grab app data */
|
||||
$appData[ $app ] = IPSSetUp::fetchXmlAppInformation( $app, $this->settings['gb_char_set'] );
|
||||
|
||||
$appClasses[ $app ] = IPSSetUp::fetchVersionClasses( $app, $vNums[ $app ], $numbers['latest'][0] );
|
||||
}
|
||||
|
||||
/* Got anything? */
|
||||
if ( count( $appClasses ) )
|
||||
{
|
||||
foreach( $appClasses as $app => $data )
|
||||
{
|
||||
foreach( $data as $num )
|
||||
{
|
||||
if ( is_file( 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( $this->registry );
|
||||
|
||||
if ( method_exists( $_tmp, 'postInstallNotices' ) )
|
||||
{
|
||||
$_t = $_tmp->postInstallNotices();
|
||||
|
||||
if ( is_array( $_t ) AND count( $_t ) )
|
||||
{
|
||||
$output[ $app ][ $num ] = array( 'long' => $nums[ $app ][ $num ],
|
||||
'app' => $appData[ $app ],
|
||||
'out' => implode( "<br />", $_t ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Remove any SQL source files */
|
||||
IPSSetUp::removeSqlSourceFiles();
|
||||
|
||||
/* Simply return the Done page */
|
||||
$this->registry->output->setTitle( "Обновление завершено!" );
|
||||
$this->registry->output->setHideButton( TRUE );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->upgrade_complete( $output ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.3.4
|
||||
* Installer: DONE file
|
||||
* Last Updated: $LastChangedDate: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @version $Rev: 10914 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class upgrade_done extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Remove the FURL cache */
|
||||
@unlink( IPS_CACHE_PATH . 'cache/furlCache.php' );
|
||||
|
||||
/* Got anything to show? */
|
||||
$apps = explode( ',', IPSSetUp::getSavedData('install_apps') );
|
||||
$vNums = IPSSetUp::getSavedData('version_numbers');
|
||||
$output = array();
|
||||
|
||||
if ( is_array( $apps ) and count( $apps ) )
|
||||
{
|
||||
foreach( $apps as $app )
|
||||
{
|
||||
/* Grab version numbers */
|
||||
$numbers = IPSSetUp::fetchAppVersionNumbers( $app );
|
||||
|
||||
/* Grab all numbers */
|
||||
$nums[ $app ] = IPSSetUp::fetchXmlAppVersions( $app );
|
||||
|
||||
/* Grab app data */
|
||||
$appData[ $app ] = IPSSetUp::fetchXmlAppInformation( $app, $this->settings['gb_char_set'] );
|
||||
|
||||
$appClasses[ $app ] = IPSSetUp::fetchVersionClasses( $app, $vNums[ $app ], $numbers['latest'][0] );
|
||||
}
|
||||
|
||||
/* Got anything? */
|
||||
if ( count( $appClasses ) )
|
||||
{
|
||||
foreach( $appClasses as $app => $data )
|
||||
{
|
||||
foreach( $data as $num )
|
||||
{
|
||||
if ( is_file( 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( $this->registry );
|
||||
|
||||
if ( method_exists( $_tmp, 'postInstallNotices' ) )
|
||||
{
|
||||
$_t = $_tmp->postInstallNotices();
|
||||
|
||||
if ( is_array( $_t ) AND count( $_t ) )
|
||||
{
|
||||
$output[ $app ][ $num ] = array( 'long' => $nums[ $app ][ $num ],
|
||||
'app' => $appData[ $app ],
|
||||
'out' => implode( "<br />", $_t ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Remove any SQL source files */
|
||||
IPSSetUp::removeSqlSourceFiles();
|
||||
|
||||
/* Simply return the Done page */
|
||||
$this->registry->output->setTitle( "Complete!" );
|
||||
$this->registry->output->setHideButton( TRUE );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->upgrade_complete( $output ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
<html>
|
||||
<head><title>IP.Board - Bulletin Board System</title></head>
|
||||
<body>
|
||||
<h1>403: IP.Board -> Forbidden</h1>
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
</body>
|
||||
<html>
|
||||
<head><title>IP.Board - Bulletin Board System</title></head>
|
||||
<body>
|
||||
<h1>403: IP.Board -> Forbidden</h1>
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,78 +1,76 @@
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.2.3
|
||||
* Upgrader: Index file - Shows log in page
|
||||
* Last Updated: $LastChangedDate: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: ips_terabyte $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://hatynka.in
|
||||
* @version $Rev: 8644 $
|
||||
*
|
||||
*/
|
||||
|
||||
class upgrade_index extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
if ( ! $this->request['do'] OR $this->request['do'] == 'form' )
|
||||
{
|
||||
/* Simply return the log in page */
|
||||
$this->_showForm();
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Error: No input */
|
||||
if ( ! $_POST['username'] OR ! $_POST['password'] )
|
||||
{
|
||||
$this->registry->output->addWarning( "Необходимо ввести имя пользователя и пароль" );
|
||||
$this->_showForm();
|
||||
}
|
||||
|
||||
/* Now authenticate against legacy file */
|
||||
$result = $this->registry->legacy->authenticateLogIn( $this->request['username'], $this->request['password'] );
|
||||
|
||||
if ( $result !== TRUE )
|
||||
{
|
||||
/* .. then it contains an error message */
|
||||
$this->registry->output->addWarning( $result );
|
||||
$this->_showForm();
|
||||
}
|
||||
|
||||
/* Still here? We're good to go. Create session and forward */
|
||||
$this->request['s'] = $this->member->sessionClass()->createSession( $this->registry->legacy->fetchMemberData(), $this->registry->legacy->fetchAuthKey() );
|
||||
|
||||
$this->registry->autoLoadNextAction( 'overview' );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows the log in form
|
||||
*
|
||||
* @access private
|
||||
* @return void
|
||||
*/
|
||||
public function _showForm()
|
||||
{
|
||||
$this->registry->output->setTitle( "Авторизация" );
|
||||
$this->registry->output->setNextAction( 'index&do=login' );
|
||||
$this->registry->output->addContent( $this->registry->legacy->fetchLogInForm() );
|
||||
$this->registry->output->sendOutput();
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.3.4
|
||||
* Upgrader: Index file - Shows log in page
|
||||
* Last Updated: $LastChangedDate: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @version $Rev: 10914 $
|
||||
*
|
||||
*/
|
||||
|
||||
class upgrade_index extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
if ( ! $this->request['do'] OR $this->request['do'] == 'form' )
|
||||
{
|
||||
/* Simply return the log in page */
|
||||
$this->_showForm();
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Error: No input */
|
||||
if ( ! $_POST['username'] OR ! $_POST['password'] )
|
||||
{
|
||||
$this->registry->output->addWarning( "You must enter a valid account to login" );
|
||||
$this->_showForm();
|
||||
}
|
||||
|
||||
/* Now authenticate against legacy file */
|
||||
$result = $this->registry->legacy->authenticateLogIn( $this->request['username'], $this->request['password'] );
|
||||
|
||||
if ( $result !== TRUE )
|
||||
{
|
||||
/* .. then it contains an error message */
|
||||
$this->registry->output->addWarning( $result );
|
||||
$this->_showForm();
|
||||
}
|
||||
|
||||
/* Still here? We're good to go. Create session and forward */
|
||||
$this->request['s'] = $this->member->sessionClass()->createSession( $this->registry->legacy->fetchMemberData(), $this->registry->legacy->fetchAuthKey() );
|
||||
|
||||
$this->registry->autoLoadNextAction( 'overview' );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows the log in form
|
||||
*
|
||||
* @access private
|
||||
* @return void
|
||||
*/
|
||||
public function _showForm()
|
||||
{
|
||||
$this->registry->output->setTitle( "Log In" );
|
||||
$this->registry->output->setNextAction( 'index&do=login' );
|
||||
$this->registry->output->addContent( $this->registry->legacy->fetchLogInForm() );
|
||||
$this->registry->output->sendOutput();
|
||||
exit();
|
||||
}
|
||||
}
|
||||
@@ -1,88 +1,52 @@
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.2.3
|
||||
* Installer: License Key
|
||||
* Last Updated: $LastChangedDate: 2011-05-26 15:04:51 -0400 (Thu, 26 May 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://hatynka.in
|
||||
* @version $Rev: 8903 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class upgrade_license extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* If less than 3, just bounce out as settings tables won't be here, etc */
|
||||
if ( IPSSetUp::is300plus() !== TRUE )
|
||||
{
|
||||
$this->registry->autoLoadNextAction( 'upgrade' );
|
||||
return;
|
||||
}
|
||||
|
||||
if ( $this->request['do'] == 'check' )
|
||||
{
|
||||
$lcheck = $this->check();
|
||||
if ( $lcheck === TRUE )
|
||||
{
|
||||
$this->registry->autoLoadNextAction( 'upgrade' );
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$lcheck = $this->check( TRUE );
|
||||
if ( $lcheck === TRUE )
|
||||
{
|
||||
$this->registry->autoLoadNextAction( 'upgrade' );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$this->registry->output->setTitle( "Ключ лицензии" );
|
||||
$this->registry->output->setNextAction( "license&do=check" );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_license( $lcheck ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
|
||||
/**
|
||||
* Check License Key
|
||||
*
|
||||
* @access public
|
||||
* @return bool
|
||||
*/
|
||||
private function check( $init=FALSE )
|
||||
{
|
||||
$this->request['lkey'] = ( $init ) ? ipsRegistry::$settings['ipb_reg_number'] : trim( $this->request['lkey'] );
|
||||
|
||||
if ( !$this->request['lkey'] and !$init )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
$url = ipsRegistry::$settings['board_url'] ? ipsRegistry::$settings['board_url'] : ipsRegistry::$settings['base_url'];
|
||||
|
||||
require_once( IPS_KERNEL_PATH . 'classFileManagement.php' );/*noLibHook*/
|
||||
$query = new classFileManagement();
|
||||
$query->use_sockets = 1;
|
||||
$response = $query->getFileContents( "http://myipb.in/license.php?api=activateKey&lk={$this->request['lkey']}&domain=".urlencode($url) );
|
||||
$response = json_decode( $response, true );
|
||||
IPSLib::updateSettings( array( 'ipb_reg_number' => $this->request['lkey'] ) );
|
||||
return TRUE;
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.3 (4)
|
||||
* Installer: License Key
|
||||
* Last Updated: $LastChangedDate: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @version $Rev: 10914 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class upgrade_license extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
$lcheck = $this->check();
|
||||
$this->registry->autoLoadNextAction( 'upgrade' );
|
||||
return;
|
||||
|
||||
$this->registry->output->setTitle( "License Key" );
|
||||
$this->registry->output->setNextAction( "license&do=check" );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_license( $lcheck ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
|
||||
/**
|
||||
* Check License Key
|
||||
*
|
||||
* @access public
|
||||
* @return bool
|
||||
*/
|
||||
private function check( $init=FALSE )
|
||||
{
|
||||
IPSLib::updateSettings( array( 'ipb_reg_number' => 'Nulled by _Dark_ (IPBMafia.Ru)' ) );
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@@ -1,170 +1,169 @@
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.2.3
|
||||
* Upgrader: Index file - Shows log in page
|
||||
* Last Updated: $LastChangedDate: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: ips_terabyte $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license This is NULLED!
|
||||
* @package IP.Board
|
||||
* @link http://hatynka.in
|
||||
* @version $Rev: 8644 $
|
||||
*
|
||||
*/
|
||||
|
||||
class upgrade_overview extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* INIT */
|
||||
$filesOK = NULL;
|
||||
$extensions = get_loaded_extensions();
|
||||
$extensionsOK = TRUE;
|
||||
$extensionData = array();
|
||||
|
||||
/* Test to make sure core.php is up-to-date. Large file may not always upload cleanly */
|
||||
if ( ! method_exists( 'IPSLib', 'loadLibrary' ) )
|
||||
{
|
||||
$filesOK = false;
|
||||
$this->registry->output->addError( 'Please ensure that "' . CP_DIRECTORY . '/sources/base/core.php" is up-to-date. Re-upload via FTP if necessary' );
|
||||
}
|
||||
|
||||
/* Test Extensions */
|
||||
$INSTALLDATA = array();
|
||||
include( IPS_ROOT_PATH . 'setup/xml/requiredextensions.php' );/*noLibHook*/
|
||||
|
||||
if ( is_array( $INSTALLDATA ) && count( $INSTALLDATA ) )
|
||||
{
|
||||
foreach( $INSTALLDATA as $data )
|
||||
{
|
||||
if ( ! in_array( $data['testfor'], $extensions ) )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Added 'nohault' key which will show a
|
||||
// warning but not prohibit installation
|
||||
//-----------------------------------------
|
||||
|
||||
if( $data['nohault'] )
|
||||
{
|
||||
$data['_ok'] = 1; // Anything but true or false
|
||||
$extensionsOK = 1; // Anything but true or false
|
||||
}
|
||||
else
|
||||
{
|
||||
$extensionsOK = FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['_ok'] = TRUE;
|
||||
}
|
||||
|
||||
$extensionData[] = $data;
|
||||
}
|
||||
}
|
||||
|
||||
/* All extensions loaded OK? */
|
||||
if ( $extensionsOK == TRUE AND $filesOK === NULL )
|
||||
{
|
||||
$filesOK = FALSE;
|
||||
|
||||
/* Fetch core writeable files */
|
||||
require_once( IPS_KERNEL_PATH . 'classXML.php' );/*noLibHook*/
|
||||
$xml = new classXML( IPSSetUp::charSet );
|
||||
|
||||
try
|
||||
{
|
||||
$xml->load( IPS_ROOT_PATH . 'setup/xml/writeablefiles.xml' );
|
||||
|
||||
foreach( $xml->fetchElements( 'file' ) as $xmlelement )
|
||||
{
|
||||
$data = $xml->fetchElementsFromRecord( $xmlelement );
|
||||
|
||||
if ( $data['path'] )
|
||||
{
|
||||
$_path = DOC_IPS_ROOT_PATH . $data['path'];
|
||||
|
||||
if ( ! file_exists( $_path ) )
|
||||
{
|
||||
if ( $data['dir'] )
|
||||
{
|
||||
if ( ! @mkdir( $_path, IPS_FOLDER_PERMISSION, TRUE ) )
|
||||
{
|
||||
$this->registry->output->addError( 'Директория не существует: "' . $data['path'] . '". Пожалуйста, создайте ее' );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->registry->output->addError( 'Файл не существует: "' . $data['path'] . '". Пожалуйста, создайте его' );
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! is_writeable( $_path ) )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// If we're upgrading, don't do this to conf_global
|
||||
// @link http://community.invisionpower.com/tracker/issue-20478-config-file-premission/
|
||||
//-----------------------------------------
|
||||
|
||||
if( strpos( $_path, 'conf_global.php' ) !== false )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( ! @chmod( $_path, is_dir( $_path ) ? IPS_FOLDER_PERMISSION : IPS_FILE_PERMISSION ) )
|
||||
{
|
||||
if ( is_dir( $_path ) )
|
||||
{
|
||||
$this->registry->output->addError( 'Невозможна запись в директорию: "' . $data['path'] . '", измените права доступа к ней на 777' );
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->registry->output->addError( 'Невозможна запись в файл: "' . $data['path'] . '", измените права доступа к нему на 777' );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! count( $this->registry->output->fetchErrors() ) )
|
||||
{
|
||||
$filesOK = TRUE;
|
||||
}
|
||||
}
|
||||
catch( Exception $error )
|
||||
{
|
||||
$filesOK = FALSE;
|
||||
$this->registry->output->addError( "Невозможно найти файл: " . IPS_ROOT_PATH . 'setup/xml/writeablefiles.xml' );
|
||||
}
|
||||
}
|
||||
|
||||
/* Set next action */
|
||||
//$this->registry->output->setNextAction( 'apps' );
|
||||
$this->registry->output->setNextAction( 'convert' );
|
||||
|
||||
/* Hide buttons? */
|
||||
if ( $filesOK !== TRUE OR $extensionsOK != TRUE )
|
||||
{
|
||||
$this->registry->output->setNextAction( '' );
|
||||
$this->registry->output->setHideButton( TRUE );
|
||||
}
|
||||
|
||||
/* Simply return the requirements page */
|
||||
$this->registry->output->setTitle( "Требования" );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_requirements( $filesOK, $extensionsOK, $extensionData, 'обновления' ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
}
|
||||
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.3.4
|
||||
* Upgrader: Index file - Shows log in page
|
||||
* Last Updated: $LastChangedDate: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @version $Rev: 10914 $
|
||||
*
|
||||
*/
|
||||
|
||||
class upgrade_overview extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* INIT */
|
||||
$filesOK = NULL;
|
||||
$extensions = get_loaded_extensions();
|
||||
$extensionsOK = TRUE;
|
||||
$extensionData = array();
|
||||
|
||||
/* Test to make sure core.php is up-to-date. Large file may not always upload cleanly */
|
||||
if ( ! method_exists( 'IPSLib', 'loadLibrary' ) )
|
||||
{
|
||||
$filesOK = false;
|
||||
$this->registry->output->addError( 'Please ensure that "' . CP_DIRECTORY . '/sources/base/core.php" is up-to-date. Re-upload via FTP if necessary' );
|
||||
}
|
||||
|
||||
/* Test Extensions */
|
||||
$INSTALLDATA = array();
|
||||
include( IPS_ROOT_PATH . 'setup/xml/requiredextensions.php' );/*noLibHook*/
|
||||
|
||||
if ( is_array( $INSTALLDATA ) && count( $INSTALLDATA ) )
|
||||
{
|
||||
foreach( $INSTALLDATA as $data )
|
||||
{
|
||||
if ( ! in_array( $data['testfor'], $extensions ) )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Added 'nohault' key which will show a
|
||||
// warning but not prohibit installation
|
||||
//-----------------------------------------
|
||||
|
||||
if( $data['nohault'] )
|
||||
{
|
||||
$data['_ok'] = 1; // Anything but true or false
|
||||
$extensionsOK = 1; // Anything but true or false
|
||||
}
|
||||
else
|
||||
{
|
||||
$extensionsOK = FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['_ok'] = TRUE;
|
||||
}
|
||||
|
||||
$extensionData[] = $data;
|
||||
}
|
||||
}
|
||||
|
||||
/* All extensions loaded OK? */
|
||||
if ( $extensionsOK == TRUE AND $filesOK === NULL )
|
||||
{
|
||||
$filesOK = FALSE;
|
||||
|
||||
/* Fetch core writeable files */
|
||||
require_once( IPS_KERNEL_PATH . 'classXML.php' );/*noLibHook*/
|
||||
$xml = new classXML( IPSSetUp::charSet );
|
||||
|
||||
try
|
||||
{
|
||||
$xml->load( IPS_ROOT_PATH . 'setup/xml/writeablefiles.xml' );
|
||||
|
||||
foreach( $xml->fetchElements( 'file' ) as $xmlelement )
|
||||
{
|
||||
$data = $xml->fetchElementsFromRecord( $xmlelement );
|
||||
|
||||
if ( $data['path'] )
|
||||
{
|
||||
$_path = DOC_IPS_ROOT_PATH . $data['path'];
|
||||
|
||||
if ( ! file_exists( $_path ) )
|
||||
{
|
||||
if ( $data['dir'] )
|
||||
{
|
||||
if ( ! @mkdir( $_path, IPS_FOLDER_PERMISSION, TRUE ) )
|
||||
{
|
||||
$this->registry->output->addError( 'Directory does not exist: "' . $data['path'] . '", please create it via FTP' );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->registry->output->addError( 'File does not exist: "' . $data['path'] . '", please create it via FTP' );
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! is_writeable( $_path ) )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// If we're upgrading, don't do this to conf_global
|
||||
// @link http://community.invisionpower.com/tracker/issue-20478-config-file-premission/
|
||||
//-----------------------------------------
|
||||
|
||||
if( strpos( $_path, 'conf_global.php' ) !== false )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( ! @chmod( $_path, is_dir( $_path ) ? IPS_FOLDER_PERMISSION : IPS_FILE_PERMISSION ) )
|
||||
{
|
||||
if ( is_dir( $_path ) )
|
||||
{
|
||||
$this->registry->output->addError( 'Can not write to directory: "' . $data['path'] . '", please CHMOD to 777' );
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->registry->output->addError( 'Can not write to file: "' . $data['path'] . '", please CHMOD to 777' );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! count( $this->registry->output->fetchErrors() ) )
|
||||
{
|
||||
$filesOK = TRUE;
|
||||
}
|
||||
}
|
||||
catch( Exception $error )
|
||||
{
|
||||
$filesOK = FALSE;
|
||||
$this->registry->output->addError( "Cannot locate: " . IPS_ROOT_PATH . 'setup/xml/writeablefiles.xml' );
|
||||
}
|
||||
}
|
||||
|
||||
/* Set next action */
|
||||
$this->registry->output->setNextAction( 'apps' );
|
||||
|
||||
/* Hide buttons? */
|
||||
if ( $filesOK !== TRUE OR $extensionsOK != TRUE )
|
||||
{
|
||||
$this->registry->output->setNextAction( '' );
|
||||
$this->registry->output->setHideButton( TRUE );
|
||||
}
|
||||
|
||||
/* Simply return the requirements page */
|
||||
$this->registry->output->setTitle( "Requirements" );
|
||||
$this->registry->output->addContent( $this->registry->output->template()->page_requirements( $filesOK, $extensionsOK, $extensionData, 'upgrade' ) );
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user