Version 2.3.6

This commit is contained in:
Neo committed 2025-12-19 00:26:08 -08:00
1 parent a3bb603c96
commit 19b38c7c74
764 files changed
+143731 -118164

No files matched your search

+6 -32
View File
@@ -1,34 +1,8 @@
<?php
/*
+--------------------------------------------------------------------------
| Invision Power Board 2.2.2
| Invision Power Board INSTALLER
| ========================================
| by Matthew Mecham
| (c) 2001 - 2005 Invision Power Services, Inc.
| http://www.invisionpower.com
| =============================================
| Web: http://www.invisionboard.com
| http://www.ibresource.ru/products/invisionpowerboard/
| Time: Monday 05th of March 2007 10:10:55 PM
| Release: e3790216629e5a2aaf37070b32237f06
| Licence Info: http://www.invisionboard.com/?license
| http://www.ibresource.ru/license
+---------------------------------------------------------------------------
| INVISION POWER BOARD IS NOT FREE / OPEN SOURCE!
+---------------------------------------------------------------------------
| INVISION POWER BOARD ÍÅ ßÂËßÅÒÑß ÁÅÑÏËÀÒÍÛÌ ÏÐÎÃÐÀÌÌÍÛÌ ÎÁÅÑÏÅ×ÅÍÈÅÌ!
| Ïðàâà íà ÏÎ ïðèíàäëåæàò Invision Power Services
| Ïðàâà íà ïåðåâîä IBResource (http://www.ibresource.ru)
+----------------------------------------------------------------------------
| Action controller for Adresses page
+----------------------------------------------------------------------------
*/
/**
* Invision Power Board
* Action controller for Adresses page
*/
/**
* Invision Power Board
* Action controller for Adresses page
*/
class action_address
{
@@ -47,13 +21,13 @@ class action_address
/* Check Directory */
if( ! $this->install->ipsclass->input['install_dir'] OR ! ( is_dir( $this->install->ipsclass->input['install_dir'] ) ) )
{
$errors[] = 'Óêàçàííûé ïóòü íå ñóùåñòâóåò â ñèñòåìå';
$errors[] = 'The specified directory does not exist';
}
/* Check URL */
if( ! $this->install->ipsclass->input['install_url'] )
{
$errors[] = 'Àäðåñ óñòàíîâêè íå óêàçàí';
$errors[] = 'You did not specify a URL';
}
if( is_array( $errors ) )
+5 -31
View File
@@ -1,30 +1,4 @@
<?php
/*
+--------------------------------------------------------------------------
| Invision Power Board 2.2.2
| Invision Power Board INSTALLER
| ========================================
| by Matthew Mecham
| (c) 2001 - 2005 Invision Power Services, Inc.
| http://www.invisionpower.com
| =============================================
| Web: http://www.invisionboard.com
| http://www.ibresource.ru/products/invisionpowerboard/
| Time: Monday 05th of March 2007 10:10:55 PM
| Release: e3790216629e5a2aaf37070b32237f06
| Licence Info: http://www.invisionboard.com/?license
| http://www.ibresource.ru/license
+---------------------------------------------------------------------------
| INVISION POWER BOARD IS NOT FREE / OPEN SOURCE!
+---------------------------------------------------------------------------
| INVISION POWER BOARD ÍÅ ßÂËßÅÒÑß ÁÅÑÏËÀÒÍÛÌ ÏÐÎÃÐÀÌÌÍÛÌ ÎÁÅÑÏÅ×ÅÍÈÅÌ!
| Ïðàâà íà ÏÎ ïðèíàäëåæàò Invision Power Services
| Ïðàâà íà ïåðåâîä IBResource (http://www.ibresource.ru)
+----------------------------------------------------------------------------
| Action controller for admin page
+----------------------------------------------------------------------------
*/
<?php
/**
* Invision Power Board
* Action controller for admin page
@@ -46,24 +20,24 @@ class action_admin
{
if( ! $this->install->ipsclass->input['username'] )
{
$errors[] = 'Íåîáõîäèìî óêàçàòü èìÿ ïîëüçîâàòåëÿ ';
$errors[] = 'You must specify a username for the admin account';
}
if( ! $this->install->ipsclass->input['password'] )
{
$errors[] = 'Íåîáõîäèìî óêàçàòü ïàðîëü';
$errors[] = 'You must specify a password for the admin account';
}
else
{
if( $this->install->ipsclass->input['password'] != $this->install->ipsclass->input['confirm_password'] )
{
$errors[] = 'Ââåäåííûå ïàðîëè íå ñîâïàäàþò';
$errors[] = 'The admin passwords did not match';
}
}
if( ! $this->install->ipsclass->input['email'] )
{
$errors[] = 'Íåîáõîäèìî óêàçàòü e-mail àäðåñ';
$errors[] = 'You must sepcify an email account for the admin account';
}
if( is_array( $errors ) )
+17 -38
View File
@@ -1,30 +1,4 @@
<?php
/*
+--------------------------------------------------------------------------
| Invision Power Board 2.2.2
| Invision Power Board INSTALLER
| ========================================
| by Matthew Mecham
| (c) 2001 - 2005 Invision Power Services, Inc.
| http://www.invisionpower.com
| =============================================
| Web: http://www.invisionboard.com
| http://www.ibresource.ru/products/invisionpowerboard/
| Time: Monday 05th of March 2007 10:10:55 PM
| Release: e3790216629e5a2aaf37070b32237f06
| Licence Info: http://www.invisionboard.com/?license
| http://www.ibresource.ru/license
+---------------------------------------------------------------------------
| INVISION POWER BOARD IS NOT FREE / OPEN SOURCE!
+---------------------------------------------------------------------------
| INVISION POWER BOARD ÍÅ ßÂËßÅÒÑß ÁÅÑÏËÀÒÍÛÌ ÏÐÎÃÐÀÌÌÍÛÌ ÎÁÅÑÏÅ×ÅÍÈÅÌ!
| Ïðàâà íà ÏÎ ïðèíàäëåæàò Invision Power Services
| Ïðàâà íà ïåðåâîä IBResource (http://www.ibresource.ru)
+----------------------------------------------------------------------------
| Action controller for DB page
+----------------------------------------------------------------------------
*/
<?php
/**
* Invision Power Board
* Action controller for DB page
@@ -41,13 +15,18 @@ class action_db
function run()
{
if( isset($this->install->ipsclass->input['db_pre']) )
{
$this->install->ipsclass->input['db_pre'] = strtolower($this->install->ipsclass->input['db_pre']);
}
/* Check input? */
if ( $this->install->ipsclass->input['sub'] == 'check' )
{
/* Make sure the fields were filled out */
if ( ! $this->install->ipsclass->input['db_host'] || ! $this->install->ipsclass->input['db_name'] || ! $this->install->ipsclass->input['db_user'] )
{
$errors[] = 'Ôîðìà äîëæíà áûòü ïîëíîñòüþ çàïîëíåíà';
$errors[] = 'You must fill out the form completely';
}
//-----------------------------------------
@@ -110,7 +89,7 @@ class action_db
}
}
}
//-----------------------------------------
// Error check
//-----------------------------------------
@@ -140,7 +119,7 @@ class action_db
if( !count($errors) )
{
$errors[] = "Íå ïîëó÷èëîñü ñîåäèíèòüñÿ ñ ñåðâåðîì Áàçû Äàííûõ. Ïîæàëóéñòà ïåðåïðîâåðüòå âñþ èíôîðìàöèþ è ïîïðîáóéòå ñíîâà.";
$errors[] = "There was a problem connecting to your SQL server. Please doublecheck your login information and try again.";
}
}
@@ -178,14 +157,14 @@ class action_db
//-----------------------------------------
$html = "<tr>
<td colspan='2'>
<div class='warning'>
<p><strong style='color:red'>Âû ïûòàåòåñü óñòàíîâèòü ïðèëîæåíèå â áàçó ãäå óæå åñòü òàáëèöû îò ïðåäûäóùåé óñòàíîâêè.</strong>
<br />Åñëè âû õîòèòå ïðîäîëæèòü óñòàíîâêó, òî ïîìíèòå ÷òî âñå ñóùåñòâóþùèå òàáëèöû ñ äàííûìè áóäóò óäàëåíû.
Åñëè âû õîòèòå óñòàíîâèòü ïðèëîæåíèå ñ èñïîëüçîâàíèåì ýòîé áàçû è íå ïîòåðÿòü ñóùåñòâóþùèå òàáëèöû, èñïîëüçóéòå äðóãîé ïåðôèêñ òàáëèö.</p>
<input type='checkbox' value='1' name='_drop_tables' /><strong>ÓÄÀËÈÒÜ ÑÓÙÅÑÒÂÓÞÙÈÅ ÒÀÁËÈÖÛ ÏÐÈ ÓÑÒÀÍÎÂÊÅ</strong>
</div>
</td>
<td colspan='2'>
<div class='warning'>
<p><strong style='color:red'>You are attempting to install in a database that already has tables from another installation</strong>
<br />If you wish to install in this database, all current tables will be dropped which means any existing data will be deleted.
You can either continue, choosing to delete all current data or you can choose another SQL table prefix.</p>
<input type='checkbox' value='1' name='_drop_tables' /><strong>DELETE ANY CURRENT TABLES BEFORE INSTALLING</strong>
</div>
</td>
</tr>";
$this->install->template->page_content = str_replace( '<!--{TOP.SQL}-->', $html, $this->install->template->page_content );
+1 -27
View File
@@ -1,30 +1,4 @@
<?php
/*
+--------------------------------------------------------------------------
| Invision Power Board 2.2.2
| Invision Power Board INSTALLER
| ========================================
| by Matthew Mecham
| (c) 2001 - 2005 Invision Power Services, Inc.
| http://www.invisionpower.com
| =============================================
| Web: http://www.invisionboard.com
| http://www.ibresource.ru/products/invisionpowerboard/
| Time: Monday 05th of March 2007 10:10:55 PM
| Release: e3790216629e5a2aaf37070b32237f06
| Licence Info: http://www.invisionboard.com/?license
| http://www.ibresource.ru/license
+---------------------------------------------------------------------------
| INVISION POWER BOARD IS NOT FREE / OPEN SOURCE!
+---------------------------------------------------------------------------
| INVISION POWER BOARD ÍÅ ßÂËßÅÒÑß ÁÅÑÏËÀÒÍÛÌ ÏÐÎÃÐÀÌÌÍÛÌ ÎÁÅÑÏÅ×ÅÍÈÅÌ!
| Ïðàâà íà ÏÎ ïðèíàäëåæàò Invision Power Services
| Ïðàâà íà ïåðåâîä IBResource (http://www.ibresource.ru)
+----------------------------------------------------------------------------
| Action controller for done page
+----------------------------------------------------------------------------
*/
<?php
/**
* Invision Power Board
* Action controller for done page
+1 -27
View File
@@ -1,30 +1,4 @@
<?php
/*
+--------------------------------------------------------------------------
| Invision Power Board 2.2.2
| Invision Power Board INSTALLER
| ========================================
| by Matthew Mecham
| (c) 2001 - 2005 Invision Power Services, Inc.
| http://www.invisionpower.com
| =============================================
| Web: http://www.invisionboard.com
| http://www.ibresource.ru/products/invisionpowerboard/
| Time: Monday 05th of March 2007 10:10:55 PM
| Release: e3790216629e5a2aaf37070b32237f06
| Licence Info: http://www.invisionboard.com/?license
| http://www.ibresource.ru/license
+---------------------------------------------------------------------------
| INVISION POWER BOARD IS NOT FREE / OPEN SOURCE!
+---------------------------------------------------------------------------
| INVISION POWER BOARD ÍÅ ßÂËßÅÒÑß ÁÅÑÏËÀÒÍÛÌ ÏÐÎÃÐÀÌÌÍÛÌ ÎÁÅÑÏÅ×ÅÍÈÅÌ!
| Ïðàâà íà ÏÎ ïðèíàäëåæàò Invision Power Services
| Ïðàâà íà ïåðåâîä IBResource (http://www.ibresource.ru)
+----------------------------------------------------------------------------
| Action controller for EULA page
+----------------------------------------------------------------------------
*/
<?php
/**
* Invision Power Board
* Action controller for EULA page
+1 -10
View File
@@ -1,10 +1 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<meta name="author" content="Êîìïàíèÿ IBResource è Invision Power Services Inc.">
<title>Îøèáêà ðóññêîé âåðñèè Invision Power Board</title>
</head><body>
<h1>Îøèáêà <a href="http://www.ibresource.ru/">ðóññêîé âåðñèè Invision Power Board</a></h1>
<font size="4">Âû ïîïàëè íà íåñóùåñòâóþùóþ ñòðàíèöó!<br>Ïîæàëóéñòà íàæìèòå íà êíîïî÷êó &laquo;<b>Íàçàä</b>&raquo; â&nbsp;âàøåì áðàóçåðå äëÿ âîçâðàùåíèÿ íà ïðåäûäóùóþ ñòðàíèöó.</font>
</body>
</html>
<html>␍<head><title>Invision Power Board - Bulletin Board System</title></head>␍<body>␍<h1>403: Invision Power Board -> Forbidden</h1>␍<hr>␍You have reached this Page in error, please use␍your back button to return to Invision Board.␍<hr>␍<a href="http://anonym.to/http://www.invisionboard.com/">Invision Power Board</a>␍</body>␍</html>
File diff suppressed because it is too large. Load diff
+1 -27
View File
@@ -1,30 +1,4 @@
<?php
/*
+--------------------------------------------------------------------------
| Invision Power Board 2.2.2
| Invision Power Board INSTALLER
| ========================================
| by Matthew Mecham
| (c) 2001 - 2005 Invision Power Services, Inc.
| http://www.invisionpower.com
| =============================================
| Web: http://www.invisionboard.com
| http://www.ibresource.ru/products/invisionpowerboard/
| Time: Monday 05th of March 2007 10:10:55 PM
| Release: e3790216629e5a2aaf37070b32237f06
| Licence Info: http://www.invisionboard.com/?license
| http://www.ibresource.ru/license
+---------------------------------------------------------------------------
| INVISION POWER BOARD IS NOT FREE / OPEN SOURCE!
+---------------------------------------------------------------------------
| INVISION POWER BOARD ÍÅ ßÂËßÅÒÑß ÁÅÑÏËÀÒÍÛÌ ÏÐÎÃÐÀÌÌÍÛÌ ÎÁÅÑÏÅ×ÅÍÈÅÌ!
| Ïðàâà íà ÏÎ ïðèíàäëåæàò Invision Power Services
| Ïðàâà íà ïåðåâîä IBResource (http://www.ibresource.ru)
+----------------------------------------------------------------------------
| Action controller for requirements page
+----------------------------------------------------------------------------
*/
<?php
/**
* Invision Power Board
* Action controller for requirements page
+328 -354
View File
@@ -1,355 +1,329 @@
<?php
/*
+--------------------------------------------------------------------------
| Invision Power Board 2.2.2
| Invision Power Board INSTALLER
| ========================================
| by Matthew Mecham
| (c) 2001 - 2005 Invision Power Services, Inc.
| http://www.invisionpower.com
| =============================================
| Web: http://www.invisionboard.com
| http://www.ibresource.ru/products/invisionpowerboard/
| Time: Monday 05th of March 2007 10:10:55 PM
| Release: e3790216629e5a2aaf37070b32237f06
| Licence Info: http://www.invisionboard.com/?license
| http://www.ibresource.ru/license
+---------------------------------------------------------------------------
| INVISION POWER BOARD IS NOT FREE / OPEN SOURCE!
+---------------------------------------------------------------------------
| INVISION POWER BOARD ÍÅ ßÂËßÅÒÑß ÁÅÑÏËÀÒÍÛÌ ÏÐÎÃÐÀÌÌÍÛÌ ÎÁÅÑÏÅ×ÅÍÈÅÌ!
| Ïðàâà íà ÏÎ ïðèíàäëåæàò Invision Power Services
| Ïðàâà íà ïåðåâîä IBResource (http://www.ibresource.ru)
+----------------------------------------------------------------------------
| Invision Installer Framework
+----------------------------------------------------------------------------
*/
/**
* Invision Power Board
* Invision Installer Framework
*/
class class_installer
{
var $product_name = '';
var $product_license = '';
var $product_version = '';
var $product_key = '';
var $build_id = '';
var $version_php_min = '';
var $version_mysql_min = '';
var $required_dirs = array();
var $required_files = array();
var $writeable_dirs = array();
var $writeable_files = array();
/**
* class_installer::set_product_info
*
* Set basic information about the product being installed
*
* @param string $name
* @param string $license
* @param array $versions
* @param string $key
* @return void
*/
function set_product_info( $name, $license, $versions, $key )
{
$this->product_name = $name;
$this->product_license = $license;
$this->product_versions = $versions;
$this->product_key = $key;
}
/**
* class_installer:set_software_versions
*
* Set required software versions of php and mysql
*
* @param string $php_min Example: 3.0.0
* @param string $mysql_min Example: 4.4.0
*/
function set_software_versions( $php_min, $mysql_min )
{
$this->version_php_min = explode( '.', $php_min );
$this->version_mysql_min = $mysql_min;
}
/**
* class_installer::set_required
*
* Set what files and directories must be present for an installation
*
* @param array $dirs
* @param array $files
*/
function set_required( $dirs, $files )
{
$this->required_dirs = $dirs;
$this->required_files = $files;
}
/**
* class_installer::set_writeable
*
* Set what files and directories must be writeable
*
* @param array $dirs
* @param array $files
*/
function set_writeable( $dirs=array(), $files=array() )
{
$this->writeable_dirs = $dirs;
$this->writeable_files = $files;
}
/**
* class_installer::check_requirements
*
* Checks to make sure that all requirements are met, including software versions,
* directories, and files.
*
* @return array $errors
*/
function check_requirements()
{
/* Errors Array */
$errors = array();
/**
* PHP Version Checking
*/
/* Check Min PHP Version */
$check_php = explode( '.', $this->version_php_min );
if ( PHP_VERSION < $this->version_php_min )
{
$errors[] = 'Âåðñèÿ PHP, óñòàíîâëåííàÿ íà âàøåì ñåðâåðå, íå óäîâëåòâîðÿåò ñèñòåìíûì òðåáîâàíèÿì ïðîäóêòà. Äëÿ ïðîäîëæåíèÿ óñòàíîâêè íåîáõîäèìî îáíîâèòü PHP.';
}
/**
* SQL Version Checking
*/
/**
* Required Directories/Files Checking
*/
if( count( $this->required_dirs ) )
{
foreach( $this->required_dirs as $_d )
{
if( ! ( is_dir( $_d) && is_readable( $_d ) ) )
{
$errors[] = 'Íå âîçìîæíî íàéòè òðåáóåìóþ äèðåêòîðèþ: "' . $_d . '"';
}
}
}
if( count( $this->required_files ) )
{
foreach( $this->required_files as $_f )
{
if( ! ( file_exists( $_f) && is_readable( $_f ) ) )
{
$errors[] = 'Íå âîçìîæíî íàéòè òðåáóåìûé ôàéë: "' . $_f . '"';
}
}
}
/**
* Writeable Directories/File Checking
*/
if( count( $this->writeable_dirs ) )
{
foreach( $this->writeable_dirs as $_d )
{
if( ! is_writeable( $_d ) )
{
$errors[] = 'Äèðåêòîðèÿ &laquo;' . str_replace( INS_DOC_ROOT_PATH, '', $_d ) . '&raquo; íå äîñòóïíà äëÿ çàïèñè.<br />Ïîæàëóéñòà èçìåíèòå ïðàâà äîñòóïà (CHMOD) íà 777.';
}
}
foreach( $this->writeable_files as $_f )
{
if( ! is_writeable( $_f ) )
{
$errors[] = 'Ôàéë &laquo;' . str_replace( INS_DOC_ROOT_PATH, '', $_f ) . '&raquo; íå äîñòóïåí äëÿ çàïèñè.<br />Ïîæàëóéñòà èçìåíèòå ïðàâà äîñòóïà (CHMOD) íà 777.';
}
}
}
return $errors;
}
/**
* class_installer::unpack_config
*
* Reads and stores the information from the config.xml file
*
*/
function read_config()
{
// Get Configuration File
$config = implode( '', file( INS_ROOT_PATH . 'installfiles/config.xml' ) );
$xml = new class_xml();
$config = $xml->xml_parse_document( $config );
// Set Info
$this->product_name = $this->ipsclass->txt_convert_charsets($xml->xml_array['installdata']['package']['name']['VALUE'], 'UTF-8');
$this->product_license = $this->ipsclass->txt_convert_charsets($xml->xml_array['installdata']['package']['license']['VALUE'], 'UTF-8');
$this->product_version = $this->ipsclass->txt_convert_charsets($xml->xml_array['installdata']['package']['version']['VALUE'], 'UTF-8');
$this->product_long_version = $this->ipsclass->txt_convert_charsets($xml->xml_array['installdata']['package']['versionlong']['VALUE'], 'UTF-8');
$this->build_id = $this->ipsclass->txt_convert_charsets($xml->xml_array['installdata']['package']['build']['VALUE'], 'UTF-8');
// Override.
$this->product_version = IPBVERSION;
}
/**
* class_installer::write_file
*
* Simple method for writing a file
*
* @param string $name Full name, including path, of file to write
* @param string $data Contents of file
*/
function write_file( $name, $data )
{
$fh = @fopen( $name, "w" );
@fwrite( $fh, $data, strlen( $data ) );
@fclose( $fh );
}
/**
* class_installer::create_admin_converge
*
* Builds converge entry for admin
*
* @return integer $id Converge ID
*/
function create_admin_converge()
{
/* Build Entry */
$salt = $this->ipsclass->converge->generate_password_salt( 5 );
$passhash = $this->ipsclass->converge->generate_compiled_passhash( $salt, md5( $this->saved_data['admin_pass'] ) );
$converge = array( 'converge_email' => $this->saved_data['admin_email'],
'converge_joined' => time(),
'converge_pass_hash' => $passhash,
'converge_pass_salt' => str_replace( '\\', "\\\\", $salt ),
);
/* Insert */
$this->ipsclass->DB->do_insert( 'members_converge', $converge );
/* Return ID */
return $this->ipsclass->DB->get_insert_id();
}
/**
* class_installer::chmod_dir
*
* chmods all files and directories in the given path
*
* @param string $path
* @param integer $mode
*/
function chmod_dir( $path, $mode )
{
/* Open directory */
$dh = @opendir( $path );
while( false !== ( $f = @readdir( $dh ) ) )
{
if( $f != '.' && $f != '..' )
{
/* Full file path */
$_path = $path . '/'. $f;
/* CHMOD directory and contents */
if( @is_dir( $_path ) )
{
@chmod( $_path, $mode );
$this->chmod_dir( $_path, $mode );
}
/* CHMOD file */
else
{
@chmod( $_path, $mode );
}
}
}
/* Close directory */
@closedir( $dh );
}
/**
* class_installer::process
*
* Figures out what action to run
*
*/
function process()
{
/* Require Action */
require_once( INS_ROOT_PATH . 'core/actions/' . $this->template->page_current . '.php' );
/* Initialize */
$class = 'action_' . $this->template->page_current;
$this->action = new $class( $this );
$this->action->run();
}
/*-------------------------------------------------------------------------*/
// Lock installer
/*-------------------------------------------------------------------------*/
/**
* Lock Installer
* Writes a lock file
*
* @return void
*/
function lock_installer()
{
//-----------------------------------------
// Write!
//-----------------------------------------
$this->write_file( INS_ROOT_PATH . 'installfiles/lock.php', 'LOCKED' );
}
/*-------------------------------------------------------------------------*/
// Check lock
/*-------------------------------------------------------------------------*/
/**
* Lock Installer
* Writes a lock file
*
* @return void
*/
function check_lock()
{
//-----------------------------------------
// Write!
//-----------------------------------------
return file_exists( INS_ROOT_PATH . 'installfiles/lock.php' ) ? 1 : 0;
}
/* Overridden by application specific class */
function pre_process() {}
function post_process() {}
function set_requirements() {}
}
<?php
/**
* Invision Power Board
* Invision Installer Framework
*/
class class_installer
{
var $product_name = '';
var $product_license = '';
var $product_version = '';
var $product_key = '';
var $build_id = '';
var $version_php_min = '';
var $version_mysql_min = '';
var $required_dirs = array();
var $required_files = array();
var $writeable_dirs = array();
var $writeable_files = array();
/**
* class_installer::set_product_info
*
* Set basic information about the product being installed
*
* @param string $name
* @param string $license
* @param array $versions
* @param string $key
* @return void
*/
function set_product_info( $name, $license, $versions, $key )
{
$this->product_name = $name;
$this->product_license = $license;
$this->product_versions = $versions;
$this->product_key = $key;
}
/**
* class_installer:set_software_versions
*
* Set required software versions of php and mysql
*
* @param string $php_min Example: 3.0.0
* @param string $mysql_min Example: 4.4.0
*/
function set_software_versions( $php_min, $mysql_min )
{
$this->version_php_min = explode( '.', $php_min );
$this->version_mysql_min = $mysql_min;
}
/**
* class_installer::set_required
*
* Set what files and directories must be present for an installation
*
* @param array $dirs
* @param array $files
*/
function set_required( $dirs, $files )
{
$this->required_dirs = $dirs;
$this->required_files = $files;
}
/**
* class_installer::set_writeable
*
* Set what files and directories must be writeable
*
* @param array $dirs
* @param array $files
*/
function set_writeable( $dirs=array(), $files=array() )
{
$this->writeable_dirs = $dirs;
$this->writeable_files = $files;
}
/**
* class_installer::check_requirements
*
* Checks to make sure that all requirements are met, including software versions,
* directories, and files.
*
* @return array $errors
*/
function check_requirements()
{
/* Errors Array */
$errors = array();
/**
* PHP Version Checking
*/
/* Check Min PHP Version */
$check_php = explode( '.', $this->version_php_min );
if ( PHP_VERSION < $this->version_php_min )
{
$errors[] = 'Your PHP installation is too old to run this product, please upgrade before continuing.';
}
/**
* SQL Version Checking
*/
/**
* Required Directories/Files Checking
*/
if( count( $this->required_dirs ) )
{
foreach( $this->required_dirs as $_d )
{
if( ! ( is_dir( $_d) && is_readable( $_d ) ) )
{
$errors[] = 'A required directory could not be located: "' . $_d . '"';
}
}
}
if( count( $this->required_files ) )
{
foreach( $this->required_files as $_f )
{
if( ! ( file_exists( $_f) && is_readable( $_f ) ) )
{
$errors[] = 'A required file could not be located: "' . $_f . '"';
}
}
}
/**
* Writeable Directories/File Checking
*/
if( count( $this->writeable_dirs ) )
{
foreach( $this->writeable_dirs as $_d )
{
if( ! is_writeable( $_d ) )
{
$errors[] = 'Can not write to directory: "' . str_replace( INS_DOC_ROOT_PATH, '', $_d ) . '", please CHMOD to 777';
}
}
foreach( $this->writeable_files as $_f )
{
if( ! is_writeable( $_f ) )
{
$errors[] = 'Can not write to file: "' . str_replace( INS_DOC_ROOT_PATH, '', $_f ) . '", please CHMOD to 777';
}
}
}
return $errors;
}
/**
* class_installer::unpack_config
*
* Reads and stores the information from the config.xml file
*
*/
function read_config()
{
// Get Configuration File
$config = implode( '', file( INS_ROOT_PATH . 'installfiles/config.xml' ) );
$xml = new class_xml();
$config = $xml->xml_parse_document( $config );
// Set Info
$this->product_name = $xml->xml_array['installdata']['package']['name']['VALUE'];
$this->product_license = $xml->xml_array['installdata']['package']['license']['VALUE'];
$this->product_version = $xml->xml_array['installdata']['package']['version']['VALUE'];
$this->product_long_version = $xml->xml_array['installdata']['package']['versionlong']['VALUE'];
$this->build_id = $xml->xml_array['installdata']['package']['build']['VALUE'];
// Override.
$this->product_version = IPBVERSION;
}
/**
* class_installer::write_file
*
* Simple method for writing a file
*
* @param string $name Full name, including path, of file to write
* @param string $data Contents of file
*/
function write_file( $name, $data )
{
$fh = @fopen( $name, "w" );
@fwrite( $fh, $data, strlen( $data ) );
@fclose( $fh );
}
/**
* class_installer::create_admin_converge
*
* Builds converge entry for admin
*
* @return integer $id Converge ID
*/
function create_admin_converge()
{
/* Build Entry */
$salt = $this->ipsclass->converge->generate_password_salt( 5 );
$passhash = $this->ipsclass->converge->generate_compiled_passhash( $salt, md5( $this->saved_data['admin_pass'] ) );
$converge = array( 'converge_email' => $this->saved_data['admin_email'],
'converge_joined' => time(),
'converge_pass_hash' => $passhash,
'converge_pass_salt' => str_replace( '\\', "\\\\", $salt ),
);
/* Insert */
$this->ipsclass->DB->do_insert( 'members_converge', $converge );
/* Return ID */
return $this->ipsclass->DB->get_insert_id();
}
/**
* class_installer::chmod_dir
*
* chmods all files and directories in the given path
*
* @param string $path
* @param integer $mode
*/
function chmod_dir( $path, $mode )
{
/* Open directory */
$dh = @opendir( $path );
while( false !== ( $f = @readdir( $dh ) ) )
{
if( $f != '.' && $f != '..' )
{
/* Full file path */
$_path = $path . '/'. $f;
/* CHMOD directory and contents */
if( @is_dir( $_path ) )
{
@chmod( $_path, $mode );
$this->chmod_dir( $_path, $mode );
}
/* CHMOD file */
else
{
@chmod( $_path, $mode );
}
}
}
/* Close directory */
@closedir( $dh );
}
/**
* class_installer::process
*
* Figures out what action to run
*
*/
function process()
{
/* Require Action */
require_once( INS_ROOT_PATH . 'core/actions/' . $this->template->page_current . '.php' );
/* Initialize */
$class = 'action_' . $this->template->page_current;
$this->action = new $class( $this );
$this->action->run();
}
/*-------------------------------------------------------------------------*/
// Lock installer
/*-------------------------------------------------------------------------*/
/**
* Lock Installer
* Writes a lock file
*
* @return void
*/
function lock_installer()
{
//-----------------------------------------
// Write!
//-----------------------------------------
$this->write_file( INS_ROOT_PATH . 'installfiles/lock.php', 'LOCKED' );
}
/*-------------------------------------------------------------------------*/
// Check lock
/*-------------------------------------------------------------------------*/
/**
* Lock Installer
* Writes a lock file
*
* @return void
*/
function check_lock()
{
//-----------------------------------------
// Write!
//-----------------------------------------
return file_exists( INS_ROOT_PATH . 'installfiles/lock.php' ) ? 1 : 0;
}
/* Overridden by application specific class */
function pre_process() {}
function post_process() {}
function set_requirements() {}
}
?>
File diff suppressed because it is too large. Load diff
+2 -2
View File
@@ -18,8 +18,8 @@ define( 'INS_ROOT_PATH', str_replace( "//", "/", preg_replace( "#/core$#is", "",
*
* @since 2.0.0.2005-01-01
*/
define ( 'IPBVERSION', '2.2.2' );
define ( 'IPB_LONG_VERSION', '22011' );
define ( 'IPBVERSION', '2.3.6' );
define ( 'IPB_LONG_VERSION', '23010' );
/**
* DOC ROOT PATH
+1 -10
View File
@@ -1,10 +1 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<meta name="author" content="Êîìïàíèÿ IBResource è Invision Power Services Inc.">
<title>Îøèáêà ðóññêîé âåðñèè Invision Power Board</title>
</head><body>
<h1>Îøèáêà <a href="http://www.ibresource.ru/">ðóññêîé âåðñèè Invision Power Board</a></h1>
<font size="4">Âû ïîïàëè íà íåñóùåñòâóþùóþ ñòðàíèöó!<br>Ïîæàëóéñòà íàæìèòå íà êíîïî÷êó &laquo;<b>Íàçàä</b>&raquo; â&nbsp;âàøåì áðàóçåðå äëÿ âîçâðàùåíèÿ íà ïðåäûäóùóþ ñòðàíèöó.</font>
</body>
</html>
<html>␍<head><title>Invision Power Board - Bulletin Board System</title></head>␍<body>␍<h1>403: Invision Power Board -> Forbidden</h1>␍<hr>␍You have reached this Page in error, please use␍your back button to return to Invision Board.␍<hr>␍<a href="http://anonym.to/http://www.invisionboard.com/">Invision Power Board</a>␍</body>␍</html>
+20 -97
View File
@@ -1,25 +1,16 @@
<?php
/*
+--------------------------------------------------------------------------
| Invision Power Board 2.2.2
| Invision Power Board INSTALLER
| ========================================
| by Matthew Mecham
| (c) 2001 - 2005 Invision Power Services, Inc.
| http://www.invisionpower.com
| =============================================
| Web: http://www.invisionboard.com
| http://www.ibresource.ru/products/invisionpowerboard/
| Time: Monday 05th of March 2007 10:10:55 PM
| Release: e3790216629e5a2aaf37070b32237f06
| Licence Info: http://www.invisionboard.com/?license
| http://www.ibresource.ru/license
+---------------------------------------------------------------------------
| INVISION POWER BOARD IS NOT FREE / OPEN SOURCE!
+---------------------------------------------------------------------------
| INVISION POWER BOARD ÍÅ ßÂËßÅÒÑß ÁÅÑÏËÀÒÍÛÌ ÏÐÎÃÐÀÌÌÍÛÌ ÎÁÅÑÏÅ×ÅÍÈÅÌ!
| Ïðàâà íà ÏÎ ïðèíàäëåæàò Invision Power Services
| Ïðàâà íà ïåðåâîä IBResource (http://www.ibresource.ru)
/*
+--------------------------------------------------------------------------
| Invision Power Board
| =============================================
| by Matthew Mecham
| (c) 2001 - 2006 Invision Power Services, Inc.
| http://www.invisionpower.com
| =============================================
| Web: http://www.invisionboard.com
| Time: Tue, 01 Nov 2005 14:38:09 GMT
| Release: 68ff9281c6fdcce88910e08cec1045a3
| Licence Info: http://www.invisionboard.com/?license
+---------------------------------------------------------------------------
| > $Date: 2005-10-10 16:01:09 +0100 (Mon, 10 Oct 2005) $
| > $Revision: 5 $
@@ -341,7 +332,7 @@ class ipsclass {
// Char set
//-----------------------------------------
$this->vars['gb_char_set'] = $this->vars['gb_char_set'] ? $this->vars['gb_char_set'] : 'windows-1251';
$this->vars['gb_char_set'] = $this->vars['gb_char_set'] ? $this->vars['gb_char_set'] : 'iso-8859-1';
//-----------------------------------------
// PHP API
@@ -496,7 +487,7 @@ class ipsclass {
* @return void
*/
function init_db_connection( $db, $user, $pass, $host, $pre, $cp, $driver='mysql' )
function init_db_connection( $db, $user, $pass, $host, $pre, $driver='mysql' )
{
//-----------------------------------------
// INIT
@@ -512,8 +503,8 @@ class ipsclass {
{
$file = str_replace( '<%driver%>', $driver, INS_SQL_FILE );
}
$classname = "db_driver_".$driver;
$classname = "db_driver_".$driver;
$this->DB = new $classname;
@@ -521,8 +512,7 @@ class ipsclass {
$this->DB->obj['sql_user'] = $user;
$this->DB->obj['sql_pass'] = $pass;
$this->DB->obj['sql_host'] = $host;
$this->DB->obj['sql_tbl_prefix'] = $pre;
$this->DB->obj['mysql_codepage'] = $cp;
$this->DB->obj['sql_tbl_prefix'] = $pre;
$this->DB->obj['use_shutdown'] = 0;
if ( $file )
@@ -918,31 +908,11 @@ class ipsclass {
{
if ( $v['donow'] )
{
if ( $this->vars['sql_driver'] == 'mysql' )
{
$this->DB->query( "REPLACE INTO ".SQL_PREFIX."cache_store SET cs_key='{$v['name']}', cs_value='$value', cs_array=".intval($v['array']) );
}
else
{
$this->DB->simple_construct( array( 'delete' => 'cache_store', 'where' => "cs_key='{$v['name']}'" ) );
$this->DB->simple_exec();
$this->DB->do_insert( 'cache_store', array( 'cs_array' => intval($v['array']), 'cs_key' => $v['name'], 'cs_value' => $value ) );
}
$this->DB->do_replace_into( 'cache_store', array( 'cs_array' => intval($v['array']), 'cs_key' => $v['name'], 'cs_value' => $value ), array( 'cs_key' ) );
}
else
{
if ( $this->vars['sql_driver'] == 'mysql' )
{
$this->DB->query( "REPLACE INTO ".SQL_PREFIX."cache_store SET cs_key='{$v['name']}', cs_value='$value', cs_array=".intval($v['array']) );
}
else
{
$this->DB->simple_construct( array( 'delete' => 'cache_store', 'where' => "cs_key='{$v['name']}'" ) );
$this->DB->simple_shutdown_exec();
$this->DB->do_shutdown_insert( 'cache_store', array( 'cs_array' => intval($v['array']), 'cs_key' => $v['name'], 'cs_value' => $value ) );
}
$this->DB->do_shutdown_replace_into( 'cache_store', array( 'cs_array' => intval($v['array']), 'cs_key' => $v['name'], 'cs_value' => $value ), array( 'cs_key' ) );
}
}
else
@@ -1003,54 +973,7 @@ class ipsclass {
$this->DB->close_db();
}
/*-------------------------------------------------------------------------*/
// Convert string between char-sets
/*-------------------------------------------------------------------------*/
/**
* Convert a string between charsets
*
* @param string Input String
* @param string Current char set
* @param string Destination char set
* @return string Parsed string
* @since 2.1.0
*/
function txt_convert_charsets($t, $original_cset, $destination_cset="")
{
$original_cset = strtolower($original_cset);
$text = $t;
//-----------------------------------------
// Did we pass a destination?
//-----------------------------------------
$destination_cset = strtolower($destination_cset) ? strtolower($destination_cset) : strtolower($this->vars['gb_char_set']);
// echo $destination_cset; exit;
//-----------------------------------------
// Not the same?
//-----------------------------------------
if ( $destination_cset == $original_cset )
{
return $t;
}
//-----------------------------------------
// Do the convert
//-----------------------------------------
if ( ! is_object( $this->class_convert_charset ) )
{
require_once( INS_KERNEL_PATH.'/class_convert_charset.php' );
$this->class_convert_charset = new class_convert_charset();
}
$text = $this->class_convert_charset->convert_charset( $text, $original_cset, $destination_cset );
return $text ? $text : $t;
}
/*-------------------------------------------------------------------------*/
// txt_alphanumerical_clean
// ------------------
+52 -53
View File
@@ -35,11 +35,11 @@ class install_template
if ( file_exists( INS_ROOT_PATH . 'installfiles/sequence.xml' ) )
{
$config = implode( '', file( INS_ROOT_PATH . 'installfiles/sequence.xml' ) );
$xml = new class_xml();
$config = $xml->xml_parse_document( $config );
$config = implode( '', file( INS_ROOT_PATH . 'installfiles/sequence.xml' ) );
$xml = new class_xml();
$config = $xml->xml_parse_document( $config );
//-----------------------------------------
// Loop through and sort out settings...
//-----------------------------------------
@@ -54,11 +54,11 @@ class install_template
foreach( $_pages as $position => $data )
{
$this->install_pages[ $data['file'] ] = $this->ipsclass->txt_convert_charsets( $data['menu'], 'UTF-8' );
$this->install_pages[ $data['file'] ] = $data['menu'];
}
}
$this->install_pages['done'] = 'Çàâåðøåíèå';
$this->install_pages['done'] = 'Finish';
/* Set Current Page */
$this->page_current = ( $this->ipsclass->input['p'] ) ? $this->ipsclass->input['p'] : 'requirements';
@@ -145,8 +145,7 @@ echo <<<EOF
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">
<title>Ìàñòåð óñòàíîâêè ïðîäóêòîâ Invision Power Services</title>
<title>IPS Installer</title>
<style type='text/css' media='all'>
@import url('install.css');
</style>
@@ -168,7 +167,7 @@ echo <<<EOF
<div id='ipswrapper'>
<div class='main_shell'>
<h1><img src='images/package_icon.gif' align='absmiddle' /> Óñòàíîâùèê ïðîäóêòîâ Invision Power Services</h1>
<h1><img src='images/package_icon.gif' align='absmiddle' /> Welcome to the IPS Product Installer</h1>
<div class='content_shell'>
<div class='package'>
<div>
@@ -195,7 +194,7 @@ echo <<<EOF
</div>
<div style='vertical-align: middle'>
<h2>Óñòàíîâêà {$this->product_name}</h2>
<h2>{$this->product_name} Installation</h2>
<strong>{$this->product_version}</strong>
</div>
</div>
@@ -210,7 +209,7 @@ echo <<<EOF
<div class='hr'></div>
<div style='padding-top: 17px; padding-right: 15px; padding-left: 15px'>
<div style='float: left'>
<input type='button' class='nav_button' value='Ïðåêðàòèòü óñòàíîâêó' onclick="window.location='index.php';return false;" />
<input type='button' class='nav_button' value='Cancel Installation' onclick="window.location='index.php';return false;" />
</div>
<div style='float: right'>
@@ -221,7 +220,7 @@ if( ! $this->hide_next )
if( $this->next_action == 'disabled' )
{
echo <<<EOF
<input type='submit' class='nav_button' value='Óñòàíîâêà íå çàâåðøåíà...' disabled='disabled' />
<input type='submit' class='nav_button' value='Install can not continue...' disabled='disabled' />
EOF;
}
else
@@ -231,11 +230,11 @@ if( !$this->next_action )
$back = $this->ipsclass->my_getenv('HTTP_REFERER');
echo <<<EOF
<input type='button' class='nav_button' value='< Íàçàä' onclick="window.location='{$back}';return false;" />
<input type='button' class='nav_button' value='< Back' onclick="window.location='{$back}';return false;" />
EOF;
}
echo <<<EOF
<input type='submit' class='nav_button' value='Äàëüøå >' />
<input type='submit' class='nav_button' value='Next >' />
EOF;
}
}
@@ -251,7 +250,7 @@ echo <<<EOF
EOF;
echo date("Y");
echo <<<EOF
Invision Power Services, Inc. & IBresource, LTD
Invision Power Services, Inc.
</div>
</div>
@@ -278,16 +277,16 @@ return <<<EOF
<img src='images/wizard.gif' align='absmiddle' />
</div>
<div>
Âàñ ïðèâåòñòâóåò óñòàíîâùèê {$this->product_name}. Äàííûé ìàñòåð ïîìîæåò âàì óñòàíîâèòü íîâóþ âåðñèþ ïðîäóêòà.
Welcome to the installer for {$this->product_name}. This wizard will guide you through the installation process.
</div>
</div>
<br/><br/>
<h3>Ñèñòåìíûå òðåáîâàíèÿ:</h3>
<h3>System Requirements</h3>
<br />
<strong>PHP:</strong> v{$php_version} èëè âûøå<br />
<strong>SQL:</strong> mySQL v$sql_version èëè âûøå
<strong>PHP:</strong> v{$php_version} or better<br />
<strong>SQL:</strong> mySQL v$sql_version or better
<br /><br />
EOF;
}
@@ -309,7 +308,7 @@ check_eula = function()
}
else
{
alert( 'Âû äîëæíû ïðèíÿòü ïîëüçîâàòåëüñêîå ñîãëàøåíèå, ïðåæäå ÷åì ïðîäîëæèòü óñòàíîâêó' );
alert( 'You must agree to the license before continuing' );
return false;
}
}
@@ -318,13 +317,13 @@ document.getElementById( 'install-form' ).onsubmit = check_eula;
</script>
Ïîæàëóéñòà ïðî÷èòàéòå è ïðèìèòå ïîëüçîâàòåëüñêîå ñîãëàøåíèå.<br /><br />
Please read and agree to the End User License Agreement before continuing.<br /><br />
<div class='eula'>
$eula
</div>
<input type='checkbox' name='eula' id='eula'><strong> ß ïðèíèìàþ</strong>
<input type='checkbox' name='eula' id='eula'><strong> I agree to the license agreement</strong>
EOF;
@@ -339,16 +338,16 @@ return <<<EOF
<div id='warn-message' style='display:none;'><center><div id='warn-message-content'></div></center></div>
<fieldset>
<legend><img src='images/addresses.gif' align='absmiddle' />&nbsp; Äèðåêòîðèè óñòàíîâêè</legend>
<legend><img src='images/addresses.gif' align='absmiddle' />&nbsp; Address details</legend>
<table style='width: 100%; border: 0px; padding:0px' cellspacing='0'>
<tr>
<td width='30%' class='title'>Ïóòü óñòàíîâêè:</td>
<td width='30%' class='title'>Install Directory:</td>
<td width='70%' class='content'><input type='text' class='sql_form' name='install_dir' value='{$dir}'></td>
</tr>
<tr>
<td width='30%' class='title'>Àäðåñ óñòàíîâêè:</td>
<td width='30%' class='title'>Install Address:</td>
<td width='70%' class='content'><input type='text' class='sql_form' name='install_url' value='{$url}'></td>
</tr>
</table>
@@ -377,14 +376,14 @@ return <<<EOF
<div class='info' style='margin-top: 4px;'>
<div class='float_img'><img src='images/help.gif' /></div>
<div>Ïîæàëóéñòà óêàæèòå êàêóþ áàçà äàííûõ áóäåò èñïîëüçîâàòüñÿ.</div>
<div>Please select which database engine you wish to use.</div>
</div>
<fieldset>
<legend><img src='images/db.gif' align='absmiddle' />&nbsp; Áàçû Äàííûõ</legend>
<legend><img src='images/db.gif' align='absmiddle' />&nbsp; Database Engine</legend>
<table style='width: 100%; border: 0px; padding:0px' cellspacing='0'>
<tr>
<td width='30%' class='title'>SQL Äðàéâåð:</td>
<td width='30%' class='title'>SQL Driver:</td>
<td width='70%' class='content'>
<select name='sql_driver' class='sql_form'>$_drivers</select>
</td>
@@ -405,39 +404,39 @@ return <<<EOF
<div class='info' style='margin-top: 4px;'>
<div class='float_img'><img src='images/help.gif' /></div>
<div>Åñëè âû íå óâåðåíû èëè íå çíàåòå äàííûõ, íåîáõîäèìûõ äëÿ äàííîãî øàãà, óòî÷íèòå ó âàøåãî õîñòèíã ïðîâàéäåðà...</div>
<div>Ask your webhost if you are unsure about any of these settings. You must create the database before installing..</div>
</div>
<fieldset>
<legend><img src='images/db.gif' align='absmiddle' />&nbsp; Ñåðâåð Áàçû Äàííûõ (ÁÄ)</legend>
<legend><img src='images/db.gif' align='absmiddle' />&nbsp; Database details</legend>
<table style='width: 100%; border: 0px; padding:0px' cellspacing='0'>
<!--{TOP.SQL}-->
<tr>
<td width='30%' class='title'>Àäðåñ ñåðâåðà:</td>
<td width='30%' class='title'>SQL Host:</td>
<td width='70%' class='content'>
<input type='text' class='sql_form' value='localhost' name='db_host'>
</td>
</tr>
<tr>
<td class='title'>Èìÿ áàçû äàííûõ:</td>
<td class='title'>Database Name:</td>
<td class='content'>
<input type='text' class='sql_form' name='db_name' value='{$_REQUEST['db_name']}'>
</td>
</tr>
<tr>
<td class='title'>Ïîëüçîâàòåëü ÁÄ:</td>
<td class='title'>SQL Username:</td>
<td class='content'>
<input type='text' class='sql_form' name='db_user' value='{$_REQUEST['db_user']}'>
</td>
</tr>
<tr>
<td class='title'>Ïàðîëü ÁÄ:</td>
<td class='title'>SQL Password:</td>
<td class='content'>
<input type='password' class='sql_form' name='db_pass'>
</td>
</tr>
<tr>
<td class='title'>Ïðåôèêñ òàáëèö:</td>
<td class='title'>SQL Table Prefix:</td>
<td class='content'>
<input type='text' class='sql_form' name='db_pre' value='$prefix'>
</td>
@@ -456,24 +455,24 @@ EOF;
{
return <<<EOF
<fieldset>
<legend><img src='images/admin.gif' align='absmiddle' />&nbsp; Ó÷åòíàÿ çàïèñü Àäìèíèñòðàòîðà</legend>
<legend><img src='images/admin.gif' align='absmiddle' />&nbsp; Your administrative account</legend>
<table style='width: 100%; border: 0px; padding:0px' cellspacing='0'>
<tr>
<td width='30%' class='title'>Èìÿ ïîëüçîâàòåëÿ:</td>
<td width='30%' class='title'>Username:</td>
<td width='70%' class='content'><input type='text' class='sql_form' name='username'></td>
</tr>
<tr>
<td class='title'>Ïàðîëü:</td>
<td class='title'>Password:</td>
<td class='content'><input type='password' class='sql_form' name='password'></td>
</tr>
<tr>
<td class='title'>Ïîäòâåðæäåíèå ïàðîëÿ:</td>
<td class='title'>Confirm Password:</td>
<td class='content'><input type='password' class='sql_form' name='confirm_password'></td>
</tr>
<tr>
<td class='title'>E-mail àäðåñ:</td>
<td class='title'>E-mail Address:</td>
<td class='content'><input type='text' class='sql_form' name='email'></td>
</tr>
</table>
@@ -488,11 +487,12 @@ EOF;
function install_page()
{
return <<<EOF
Ìàñòåð ñîáðàë âñå äàííûå è ãîòîâ íà÷àòü óñòàíîâêó {$this->product_name}. Íàæìèòå <strong>Íà÷àòü óñòàíîâêó</strong> äëÿ çàïóñêà àâòîìàòè÷åñêîãî ïðîöåññà óñòàíîâêè!<br /><br />
The installer is now ready to complete the installation of your {$this->product_name}. Click <strong>Start</strong> to
begin the automatic process!<br /><br />
<div style='float: right'>
<input type='submit' class='nav_button' value='Íà÷àòü óñòàíîâêó...'>
<input type='submit' class='nav_button' value='Start installation...'>
</div>
EOF;
}
@@ -527,7 +527,7 @@ $HTML .= <<<EOF
</ul>
<br />
<div style='float: right'>
<input type='submit' class='nav_button' value='Íàæìèòå ñþäà, åñëè âàñ íå ïåðåìåñòèëî àâòîìàòè÷åñêè...' />
<input type='submit' class='nav_button' value='Click here if not forwarded' />
</div>
EOF;
@@ -568,23 +568,22 @@ EOF;
{
$extra = "<div class='warning'>
<div style='float: left; margin-right: 7px; margin-left: 5px'><img src='images/warning.gif' /></div>
<p>ÓÑÒÀÍÎÂÙÈÊ ÍÅ ÇÀÁËÎÊÈÐÎÂÀÍ<br />Ïîæàëóéñòà ïåðåèìåíóéòå èëè óäàëèòå 'install/index.php' êàê ìîæíî áûñòðåå!</p>
<p>INSTALLER NOT LOCKED<br />Please disable or remove 'install/index.php' immediately!</p>
</div>";
}
$HTML .= <<<EOF
<br />
<img src='images/install_done.gif' align='absmiddle' />&nbsp;&nbsp;<span class='done_text'>Óñòàíîâêà çàâåðøåíà!</span><Br /><Br />
Ïîçäðàâëÿåì, óñòàíîâêà <a href='$url'>{$this->product_name}</a> çàâåðøåíà! Íèæå ïðèâåäåíû íåñêîëüêî ïîëåçíûõ ññûëîê, êîòîðûå ïîìîãóò â âàøåé ðàáîòå.<br /><br />
<img src='images/install_done.gif' align='absmiddle' />&nbsp;&nbsp;<span class='done_text'>Installation complete!</span><Br /><Br />
Congratulations, your <a href='$url'>{$this->product_name}</a> is now installed and ready to use! Below are some
links you may find useful.<br /><br /><br />
$extra
<h3>Ïîëåçíûå ññûëêè:</h3>
<h3>Useful Links</h3>
<ul id='links'>
<li><img src='images/link.gif' align='absmiddle' /> <a href='http://external.iblink.ru/clientarea'>Êëèåíò-öåíòð</a></li>
<li><img src='images/link.gif' align='absmiddle' /> <a href='http://external.iblink.ru/docs-ipb'>Äîêóìåíòàöèÿ</a></li>
<li><img src='images/link.gif' align='absmiddle' /> <a href='http://external.iblink.ru/forums'>Ôîðóìû êîìïàíèè IBresource</a></li>
<li><img src='images/link.gif' align='absmiddle' /> <a href='http://external.iblink.ru/wiki'>Invison Power Book</a></li>
<li><img src='images/link.gif' align='absmiddle' /> <a href='http://external.ipslink.com/ipboard22/landing/?p=forums'>Ôîðóìû êîìïàíèè IPS</a></li>
<li><img src='images/link.gif' align='absmiddle' /> <a href='http://external.ipslink.com/ipboard22/landing/?p=clientarea'>Client area</a></li>
<li><img src='images/link.gif' align='absmiddle' /> <a href='http://external.ipslink.com/ipboard22/landing/?p=docs-ipb'>Documentation</a></li>
<li><img src='images/link.gif' align='absmiddle' /> <a href='http://external.ipslink.com/ipboard22/landing/?p=forums'>IPS Company Forum</a></li>
</ul>
EOF;