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

-26
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
+----------------------------------------------------------------------------
*/
/**
* Invision Power Board
* Action controller for done page
-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 EULA page
+----------------------------------------------------------------------------
*/
/**
* Invision Power Board
* Action controller for EULA page
@@ -41,11 +15,6 @@ class action_eula
function run()
{
if( isset($this->install->ipsclass->input['mysql_codepage']) AND $this->install->ipsclass->input['mysql_codepage'] != 'none' )
{
$this->install->saved_data['mysql_codepage'] = $this->install->ipsclass->input['mysql_codepage'];
}
/* Page Output */
$this->install->template->append( $this->install->template->eula_page( nl2br($this->install->product_license) ) );
$this->install->template->next_action = '?p=install';
+1
View File
@@ -0,0 +1 @@
<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>
+246 -150
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 install page
+----------------------------------------------------------------------------
*/
/**
* Invision Power Board
* Action controller for install page
@@ -33,7 +7,6 @@
class action_install
{
var $install;
var $extra_install;
var $helpfiles = 0;
@@ -52,10 +25,6 @@ class action_install
$this->install->saved_data['helpfile'] = intval($this->install->ipsclass->input['helpfile']) ? intval($this->install->ipsclass->input['helpfile']) : $this->install->saved_data['helpfile'];
$this->install->saved_data['man'] = intval($this->install->ipsclass->input['man']) ? intval($this->install->ipsclass->input['man']) : $this->install->saved_data['man'];
if ( isset($this->install->saved_data['mysql_codepage']) AND !isset($this->install->ipsclass->vars['mysql_codepage']) ) {
$this->install->ipsclass->DB->obj['mysql_codepage'] = $this->install->saved_data['mysql_codepage'];
}
/* Switch */
switch( $this->install->ipsclass->input['sub'] )
{
@@ -144,11 +113,6 @@ class action_install
*/
function install_sql()
{
if ( $this->install->saved_data['mysql_codepage'] AND !isset($this->install->ipsclass->vars['mysql_codepage']) )
{
$output = $this->install->write_codepage_configuration();
}
if ( $this->install->current_upgrade AND $this->install->current_upgrade < 20000 )
{
// Jump right to the finish routine for 1.x
@@ -169,14 +133,6 @@ class action_install
require_once ( INS_ROOT_PATH.'installfiles/upg_'.$this->install->current_upgrade.'/'.strtolower($this->install->ipsclass->vars['sql_driver']).'_updates.php' );
}
if ( file_exists( INS_ROOT_PATH.'sql/'.$this->install->ipsclass->vars['sql_driver'].'_install.php' ) )
{
require_once( INS_ROOT_PATH.'sql/'.$this->install->ipsclass->vars['sql_driver'].'_install.php' );
$extra_install = new install_extra();
$extra_install->ipsclass =& $this->install->ipsclass;
}
// Create/Alter tables
if ( count( $SQL ) > 0 )
{
@@ -191,15 +147,11 @@ class action_install
$q = str_replace( "<%time%>", time(), $q );
if ( preg_match("/CREATE TABLE (\S+) \(/", $q) )
if( $this->install->ipsclass->vars['mysql_tbl_type'] )
{
//-----------------------------------
// Pass to handler
//-----------------------------------
if ( $extra_install AND method_exists( $extra_install, 'process_query_create' ) )
if( preg_match( "/^create table(.+?)/i", $q ) )
{
$q = $extra_install->process_query_create( $q );
$q = preg_replace( "/^(.+?)\);$/is", "\\1) TYPE={$this->install->ipsclass->vars['mysql_tbl_type']};", $q );
}
}
@@ -222,7 +174,7 @@ class action_install
}
}
$message[] = "Âûïîëíåíî $this->sqlcount çàïðîñîâ...";
$message[] = $this->sqlcount." queries run...";
}
else
{
@@ -235,11 +187,11 @@ class action_install
if ( count( $this->install->error ) > 0 )
{
$this->install->message = count($message) ? implode( "<br />", $message ) : "Ïðîäîëæàåì îáíîâëåíèå";
$this->install->message = count($message) ? implode( "<br />", $message ) : "Proceeding with update";
$this->install->template->warning( array_merge( array( $this->install->message ),
array( 'Ïðîáëåìû ïðè îáíîâëåíèè äî '.$this->install->versions[ $this->install->current_upgrade ]. ' (' . $this->install->current_upgrade . ')' ),
array( "<span style='color:red'>Îøèáîê: ".count($this->install->error).'</span>' ),
array( 'Error in upgrade '.$this->install->versions[ $this->install->current_upgrade ]. ' (' . $this->install->current_upgrade . ')' ),
array( "<span style='color:red'>".count($this->install->error).' errors found</span>' ),
$this->install->error ) );
$this->install->template->in_error = 1;
@@ -250,14 +202,14 @@ class action_install
if( $this->install->saved_data['man'] AND $output )
{
$output = "<h3><b>Äëÿ ïðîäîëæåíèÿ îáíîâëåíèÿ íåîáõîäèìî âûïîëíèòü ñëåäóþùèå MySQL çàïðîñû:</b></h3><br /><div class='eula'>".nl2br(htmlspecialchars($output)).'</div>';
$output = "<h3><b>Please run these queries in your MySQL database before continuing..</b></h3><br />".nl2br(htmlspecialchars($output));
$this->install->template->next_action = '?p=install&sub=finish';
$this->install->template->append( $output );
}
else
{
$output[] = count($message) ? implode( "<br />", $message ) : "Íåò çàïðîñîâ, íàñòðîåê äëÿ èìïîðòèðîâàíèÿ...<br /><br />Ïðîäîëæàåì îáíîâëåíèå";
$output[] = count($message) ? implode( "<br />", $message ) : "No queries, settings, or permissions to import...<br /><br />Proceeding with update";
$this->install->template->next_action = '?p=install&sub=finish';
$this->install->template->append( $this->install->template->install_page_refresh( $output ) );
$this->install->template->hide_next = 1;
@@ -304,7 +256,7 @@ class action_install
// Run it
//-------------------------------
$settings->settings_do_import( 1, 1 );
$settings->settings_do_import( 1 );
$message[] = $this->install->ipsclass->main_msg;
@@ -320,11 +272,11 @@ class action_install
if ( count( $this->install->error ) > 0 )
{
$this->install->message = count($message) ? implode( "<br />", $message ) : "Ïðîäîëæàåì îáíîâëåíèå";
$this->install->message = count($message) ? implode( "<br />", $message ) : "Proceeding with update";
$this->install->template->warning( array_merge( array( $this->install->message ),
array( 'Ïðîáëåìû ïðè îáíîâëåíèè äî '.$this->install->versions[ $this->install->current_upgrade ]. ' (' . $this->install->current_upgrade . ')' ),
array( "<span style='color:red'>Îøèáîê: ".count($this->install->error).'</span>' ),
array( 'Error in upgrade '.$this->install->versions[ $this->install->current_upgrade ]. ' (' . $this->install->current_upgrade . ')' ),
array( "<span style='color:red'>".count($this->install->error).' errors found</span>' ),
$this->install->error ) );
$this->install->template->in_error = 1;
@@ -333,7 +285,7 @@ class action_install
return;
}
$output[] = count($message) ? implode( "<br />", $message ) : "Íåò íàñòðîåê äëÿ èìïîðòèðîâàíèÿ...<br /><br />Ïðîäîëæàåì îáíîâëåíèå";
$output[] = count($message) ? implode( "<br />", $message ) : "No settings to import...<br /><br />Proceeding with update";
$this->install->template->next_action = '?p=install&sub=acpperms';
$this->install->template->append( $this->install->template->install_page_refresh( $output ) );
$this->install->template->hide_next = 1;
@@ -372,7 +324,7 @@ class action_install
$api->add_task();
$message[] = $api->error ? "<span style='color:red;'>Íå óäàëîñü îáíîâèòü ñïèñîê çàäà÷ ïëàíèðîâùèêà. Âîñïîëüçóéòåñü èíòñðóìåíòîì îáíîâëåíèÿ çàäà÷ â ÀÖ.</span>" : "Îáíîâëåíèå ñïèñêà çàäà÷ ïëàíèðîâùèêà...";
$message[] = $api->error ? "<span style='color:red;'>Could not rebuild tasks. Please rebuild tasks in the ACP from the Task Manager page</span>" : "Rebuilt Tasks from XML...";
//-------------------------------
// Load module...
@@ -399,7 +351,7 @@ class action_install
//-----------------------------------------
// Install FAQ
//-----------------------------------------
$message[] = "Îáíîâëåíèå ðàçäåëîâ ïîìîùè...";
$message[] = "Updating FAQ information...";
$xml = new class_xml();
$xml->lite_parser = 1;
@@ -443,13 +395,81 @@ class action_install
}
}
//-----------------------------------------
// XML: Help Information
//-----------------------------------------
$message[] = "Inserting ACP help files...";
$keys = array();
$this->install->ipsclass->DB->build_query( array( 'select' => 'page_key', 'from' => 'acp_help' ) );
$this->install->ipsclass->DB->exec_query();
while( $r = $this->install->ipsclass->DB->fetch_row() )
{
$keys[] = $r['page_key'];
}
$xml = new class_xml();
$xml->lite_parser = 1;
$content = implode( "", file( ROOT_PATH . 'resources/help_sections.xml' ) );
$xml->xml_parse_document( $content );
foreach( $xml->xml_array['helpsectionsexport']['helpsectionsgroup']['helpsections'] as $id => $entry )
{
$newrow = array(
'is_setting' => 0,
'page_key' => $entry['key']['VALUE'],
'help_title' => $entry['title']['VALUE'],
'help_body' => $entry['helptext']['VALUE'],
);
if( in_array( $newrow['page_key'], $keys ) )
{
$this->install->ipsclass->DB->do_update( 'acp_help', $newrow, "page_key='{$newrow['page_key']}'" );
}
else
{
$this->install->ipsclass->DB->do_insert( 'acp_help', $newrow );
}
}
$xml = new class_xml();
$xml->lite_parser = 1;
$content = implode( "", file( ROOT_PATH . 'resources/help_settings.xml' ) );
$xml->xml_parse_document( $content );
foreach( $xml->xml_array['helpsettingsexport']['helpsettingsgroup']['helpsettings'] as $id => $entry )
{
$newrow = array(
'is_setting' => 1,
'page_key' => $entry['key']['VALUE'],
'help_title' => $entry['title']['VALUE'],
'help_body' => $entry['helptext']['VALUE'],
'help_mouseover'=> $entry['mouseover']['VALUE'],
);
if( in_array( $newrow['page_key'], $keys ) )
{
$this->install->ipsclass->DB->do_update( 'acp_help', $newrow, "page_key='{$newrow['page_key']}'" );
}
else
{
$this->install->ipsclass->DB->do_insert( 'acp_help', $newrow );
}
}
if ( count( $this->install->error ) > 0 )
{
$this->install->message = count($message) ? implode( "<br />", $message ) : "Ïðîäîëæàåì îáíîâëåíèå";
$this->install->message = count($message) ? implode( "<br />", $message ) : "Proceeding with update";
$this->install->template->warning( array_merge( array( $this->install->message ),
array( 'Ïðîáëåìû ïðè îáíîâëåíèè äî '.$this->install->versions[ $this->install->current_upgrade ]. ' (' . $this->install->current_upgrade . ')' ),
array( "<span style='color:red'>Îøèáîê: ".count($this->install->error).'</span>' ),
array( 'Error in upgrade '.$this->install->versions[ $this->install->current_upgrade ]. ' (' . $this->install->current_upgrade . ')' ),
array( "<span style='color:red'>".count($this->install->error).' errors found</span>' ),
$this->install->error ) );
$this->install->template->in_error = 1;
@@ -475,28 +495,28 @@ class action_install
{
$continue = 0;
$upg_file = INS_ROOT_PATH.'installfiles/upg_'.$this->install->current_upgrade.'/version_upgrade.php';
if ( $this->install->current_upgrade < 20000 )
{
$driver = $this->install->ipsclass->vars['sql_driver'] ? trim(strtolower($this->install->ipsclass->vars['sql_driver'])) : 'mysql';
$upg_file = INS_ROOT_PATH.'installfiles/upg_'.$this->install->current_upgrade.'/version_upgrade_' . $driver . '.php';
}
else
{
$upg_file = INS_ROOT_PATH.'installfiles/upg_'.$this->install->current_upgrade.'/version_upgrade.php';
}
if ( file_exists( $upg_file ) )
{
require_once( $upg_file );
if ( file_exists( INS_ROOT_PATH.'sql/'.$this->install->ipsclass->vars['sql_driver'].'_install.php' ) )
{
require_once( INS_ROOT_PATH.'sql/'.$this->install->ipsclass->vars['sql_driver'].'_install.php' );
$this->install->extra_install = new install_extra();
$this->install->extra_install->ipsclass =& $this->install->ipsclass;
}
$upgrade = new version_upgrade( $this->install );
$result = $upgrade->auto_run();
if ( count( $this->install->error ) > 0 )
{
$this->install->template->warning( array_merge( array( $this->install->message ),
array( 'Ïðîáëåìû ïðè îáíîâëåíèè äî '.$this->install->versions[ $this->install->current_upgrade ]. ' (' . $this->install->current_upgrade . ')' ),
array( "<span style='color:red'>Îøèáîê: ".count($this->install->error).'</span>' ),
array( 'Error in upgrade '.$this->install->versions[ $this->install->current_upgrade ]. ' (' . $this->install->current_upgrade . ')' ),
array( "<span style='color:red'>".count($this->install->error).' errors found</span>' ),
$this->install->error ) );
$this->install->template->in_error = 1;
@@ -550,7 +570,7 @@ class action_install
$output[] = $this->install->message;
}
$output[] = "Óñïåøíî çàâåðøåíî îáíîâëåíèå äî âåðñèè <nobr>{$this->install->versions[ $this->install->current_upgrade ]}</nobr>";
$output[] = "Succesfully upgraded to version {$this->install->versions[ $this->install->current_upgrade ]}";
}
else
{
@@ -565,7 +585,7 @@ class action_install
}
else
{
$output[] = "Ïðîäîëæàåì îáíîâëåíèå...";
$output[] = "Proceeding with update...";
}
$continue = 1;
@@ -585,7 +605,7 @@ class action_install
'upgrade_mid' => $this->install->saved_data['mid'],
) );
$output[] = "Óñïåøíî çàâåðøåíî îáíîâëåíèå äî âåðñèè <nobr>{$this->install->versions[ $this->install->current_upgrade ]}</nobr>";
$output[] = "Succesfully upgraded to version {$this->install->versions[ $this->install->current_upgrade ]}";
}
}
@@ -650,25 +670,83 @@ class action_install
//-------------------------------
require_once( ROOT_PATH . "sources/lib/admin_skin.php" );
$this->install->ipsclass->skin_acp = 'IPB2_Standard';
$this->install->ipsclass->skin_acp_url = $this->install->ipsclass->vars['board_url']."/skin_acp/".$this->install->ipsclass->skin_acp;
$this->install->ipsclass->skin_acp = 'IPB2_Standard';
$this->install->ipsclass->skin_acp_url = $this->install->ipsclass->vars['board_url'] . "/skin_acp/" . $this->install->ipsclass->skin_acp;
$this->install->ipsclass->adskin = new admin_skin();
$this->install->ipsclass->adskin->ipsclass =& $this->install->ipsclass;
$this->install->ipsclass->adskin->init_admin_skin();
//-----------------------------------------
// Fixing something?
//-----------------------------------------
$queries_to_run = array();
foreach( $this->install->ipsclass->input as $k => $v )
{
if( preg_match( "/^query(\d+)$/", $k, $matches ) )
{
$queries_to_run[] = $v;
}
}
if( isset($this->install->ipsclass->input['query']) AND $this->install->ipsclass->input['query'] )
{
$queries_to_run[] = $this->install->ipsclass->input['query'];
}
if( count($queries_to_run) > 0 )
{
foreach( $queries_to_run as $the_query )
{
$sql = trim( urldecode( base64_decode($the_query) ) );
if ( preg_match( "/^(DROP|FLUSH)/i", trim($sql) ) )
{
$this->install->ipsclass->main_msg = "Sorry, those queries are not allowed for your safety";
continue;
}
else if ( preg_match( "/^(DELETE|UPDATE|TRUNCATE)/i", preg_replace( "#\s{1,}#s", "", $sql ) ) and preg_match( "/admin_login_logs/i", preg_replace( "#\s{1,}#s", "", $sql ) ) )
{
$this->install->ipsclass->main_msg = "Sorry, those queries are not allowed for your safety";
continue;
}
else
{
$this->install->ipsclass->DB->return_die = 1;
$this->install->ipsclass->DB->query($sql,1);
if( $this->install->ipsclass->DB->error != "" )
{
$this->install->ipsclass->main_msg .= "<span style='color:red;'>SQL Error</span><br />{$this->install->ipsclass->DB->error}<br />";
}
else
{
$this->install->ipsclass->main_msg .= "Query: ".htmlspecialchars($sql)."<br />Executed Successfully<br />";
}
$this->install->ipsclass->DB->error = "";
$this->install->ipsclass->DB->failed = 0;
}
}
}
//-------------------------------
// Load module...
//-------------------------------
require_once( KERNEL_PATH . 'db_lib/' . strtolower($this->install->ipsclass->vars['sql_driver']) . '_tools.php' );
require_once( ROOT_PATH . 'install/sql/' . strtolower($this->install->ipsclass->vars['sql_driver']) . '_tables.php' );
require_once( ROOT_PATH."sources/action_admin/sql_{$this->install->ipsclass->vars['sql_driver']}.php" );
$this->sql_driver = new ad_sql_module();
$this->sql_driver->ipsclass =& $this->install->ipsclass;
$db_tools = new db_tools( $this->install->ipsclass );
$output = array();
$output = $this->sql_driver->db_table_diag( 0 );
$output = $db_tools->db_table_diag( $TABLE );
#print_r($output);
$our_output = " <style type='text/css' media='all'>
.tableheader,
.tableheaderalt
@@ -687,14 +765,16 @@ class action_install
<script type='text/javascript' src='dbchecker.js'></script>
";
if( $this->sql_driver->db_has_issues )
if( $output['error_count'] > 0 )
{
$this->install->ipsclass->adskin->td_header[] = array( "{none}" , "50%" );
$this->install->ipsclass->adskin->td_header[] = array( "{none}" , "50%" );
$our_output .= $this->install->ipsclass->adskin->start_table( "ÂÍÈÌÀÍÈÅ: Îáíàðóæåíû îøèáêè" );
$our_output .= "<script type='text/javascript' src='dbchecker.js'></script><script type='text/javascript'>var save_data = '".urlencode(serialize($this->install->saved_data))."';</script>";
$our_output .= $this->install->ipsclass->adskin->add_td_row( array( array( "<script type='text/javascript'>var save_data = '".serialize($this->install->saved_data)."';</script><span class='rss-feed-invalid'>Íàéäåíû îøèáêè â òàáëèöàõ áàçû äàííûõ ôîðóìà. Âû ìîæåòå îçíàêîìèòüñÿ ñî ñïèñêîì íàéäåííûõ îøèáîê íèæå, ëèáî <a href='#' onclick='fix_all_dberrors();'>èñïðàâèòü</a> ñðàçó âñå îøèáêè.", 2 ) ) );
$our_output .= $this->install->ipsclass->adskin->start_table( "WARNING: ERRORS FOUND" );
$our_output .= $this->install->ipsclass->adskin->add_td_row( array( array( "<span class='rss-feed-invalid'>There were errors found with your database. Please review them below, or click <a href='#' onclick='fix_all_dberrors();'>here</a> to correct these errors.", 2 ) ) );
$our_output .= $this->install->ipsclass->adskin->end_table();
}
@@ -703,24 +783,43 @@ class action_install
$this->install->ipsclass->adskin->td_header[] = array( "{none}" , "50%" );
$this->install->ipsclass->adskin->td_header[] = array( "{none}" , "50%" );
$our_output .= $this->install->ipsclass->adskin->start_table( "Íåò îøèáîê" );
$our_output .= $this->install->ipsclass->adskin->start_table( "No Errors Found" );
$our_output .= $this->install->ipsclass->adskin->add_td_row( array( array( "<span class='rss-feed-valid'>Îøèáîê â âàøå áàçå äàííûõ íå íàéäåíî.", 2 ) ) );
$our_output .= $this->install->ipsclass->adskin->add_td_row( array( array( "<span class='rss-feed-valid'>There were no errors found with your database.", 2 ) ) );
$our_output .= $this->install->ipsclass->adskin->end_table();
}
$this->install->ipsclass->adskin->td_header[] = array( "Òàáëèöà" , "30%" );
$this->install->ipsclass->adskin->td_header[] = array( "Ñîñòîÿíèå" , "20%" );
$this->install->ipsclass->adskin->td_header[] = array( "Èñïðàâèòü" , "50%" );
$this->install->ipsclass->adskin->td_header[] = array( "Table" , "30%" );
$this->install->ipsclass->adskin->td_header[] = array( "Status" , "20%" );
$this->install->ipsclass->adskin->td_header[] = array( "Fix" , "50%" );
$our_output .= $this->install->ipsclass->adskin->start_table( "Ðåçóëüòàòû ïðîâåðêè òàáëèö áàçû äàííûõ" );
$our_output .= $this->install->ipsclass->adskin->start_table( "Database Table Results" );
foreach( $output as $html_row )
$good_img = "<img src='{$this->install->ipsclass->skin_acp_url}/images/aff_tick.png' border='0' alt='YN' class='ipd' />";
$bad_img = "<img src='{$this->install->ipsclass->skin_acp_url}/images/aff_cross.png' border='0' alt='YN' class='ipd' />";
$i = 0;
foreach( $output['results'] as $data )
{
$html_row = preg_replace( "#'&amp;section=help&amp;act=diag&amp;code=dbchecker&amp;query=(.*?)'#i", "'index.php?p=install&sub=checkdb&saved_data=".serialize($this->install->saved_data)."&query=$1'", $html_row );
if( $data['status'] == 'error' )
{
$popup_div = "<div style='border: 2px outset rgb(85, 85, 85); padding: 4px; background: rgb(238, 238, 238) none repeat scroll 0%; position: absolute; width: auto; display: none; text-align: center; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;' id='{$i}' align='center'>{$data['fixsql']}</div>";
$our_output .= $html_row;
$our_output .= $this->install->ipsclass->adskin->add_td_row( array( "<span style='color:red'>{$data['table']}</span>",
"<span style='color:red'>{$good_img}</span>",
"<center><script type='text/javascript'>all_queries[{$i}] = '".base64_encode($data['fixsql'])."';</script><a href='index.php?p=install&sub=checkdb&saved_data=".urlencode(serialize($this->install->saved_data))."&query=".urlencode(base64_encode($data['fixsql']))."'><b>Fix Automatically</b></a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href'#' onclick=\"toggleview('{$i}');return false;\" style='cursor: pointer;'><b>Fix Manually</b></a><br />{$popup_div}</center>"
) );
$i++;
}
else
{
$our_output .= $this->install->ipsclass->adskin->add_td_row( array( "<span style='color:green'>{$data['table']}</span>",
"<span style='color:green'>{$good_img}</span>",
"&nbsp;"
) );
}
}
$our_output .= $this->install->ipsclass->adskin->end_table();
@@ -728,11 +827,13 @@ class action_install
else
{
// Can't run db checker as table def isn't there
$this->install_skinrevert();
//$this->install_skinrevert();
$this->install_templates();
return;
}
$this->install->template->next_action = '?p=install&sub=skinrevert';
//$this->install->template->next_action = '?p=install&sub=skinrevert';
$this->install->template->next_action = '?p=install&sub=templates';
$this->install->template->append( $our_output );
}
@@ -763,27 +864,17 @@ class action_install
if ( ! $this->install->saved_data['do'] )
{
$id = intval($this->install->saved_data['skinid']) ? intval($this->install->saved_data['skinid']) : 1;
$this->install->saved_data['new_skin'] = intval($this->install->saved_data['new_skin']);
$default = $this->install->ipsclass->DB->simple_exec_query( array( 'select' => '*',
'from' => 'skin_sets',
'where' => "set_skin_set_id > {$id}",
'where' => "set_skin_set_id > {$id} AND set_key != 'ip.board_pro'",
'order' => 'set_skin_set_id ASC',
'limit' => array(0,1) ) );
if ( $default['set_skin_set_id'] AND ( $default['set_skin_set_id'] == $this->install->saved_data['new_skin'] ) )
{
$default = $this->install->ipsclass->DB->simple_exec_query( array( 'select' => '*',
'from' => 'skin_sets',
'where' => "set_skin_set_id > {$this->install->saved_data['new_skin']}",
'order' => 'set_skin_set_id ASC',
'limit' => array(0,1) ) );
}
if ( ! $default['set_skin_set_id'] )
{
$this->install->template->next_action = '?p=install&sub=templates';
$this->install->template->append( $this->install->template->install_page_refresh( array( 'Îáðàáîòàíû âñå ñòèëè' ) ) );
$this->install->template->append( $this->install->template->install_page_refresh( array( 'No further skins to revert' ) ) );
$this->install->template->hide_next = 1;
return;
}
@@ -801,32 +892,35 @@ class action_install
$man = intval( $this->install->saved_data['skinid'] );
$cnt = 0;
$default = $this->install->ipsclass->DB->simple_exec_query( array( 'select' => '*', 'from' => 'skin_sets', 'where' => "set_skin_set_id=".$man ) );
$default = $this->install->ipsclass->DB->simple_exec_query( array( 'select' => '*', 'from' => 'skin_sets', 'where' => "set_skin_set_id=".$man." AND set_key != 'ip.board_pro'" ) );
$this->install->ipsclass->DB->simple_construct( array( 'select' => '*', 'from' => 'skin_templates', 'where' => "set_id=".$man ) );
$outer = $this->install->ipsclass->DB->simple_exec();
if( $this->install->ipsclass->DB->get_num_rows($outer) )
if( $default['set_skin_set_id'] )
{
while( $r = $this->install->ipsclass->DB->fetch_row($outer) )
$this->install->ipsclass->DB->simple_construct( array( 'select' => '*', 'from' => 'skin_templates', 'where' => "set_id=".$man ) );
$outer = $this->install->ipsclass->DB->simple_exec();
if( $this->install->ipsclass->DB->get_num_rows($outer) )
{
if( $r['set_id'] == 1 )
while( $r = $this->install->ipsclass->DB->fetch_row($outer) )
{
continue;
}
else
{
$this->install->ipsclass->DB->simple_exec_query( array( 'delete' => 'skin_templates', 'where' => 'suid='.$r['suid'] ) );
$cnt++;
if( $r['set_id'] == 1 )
{
continue;
}
else
{
$this->install->ipsclass->DB->simple_exec_query( array( 'delete' => 'skin_templates', 'where' => 'suid='.$r['suid'] ) );
$cnt++;
}
}
}
$this->install->ipsclass->DB->do_update( 'skin_sets', array( 'set_css' => '', 'set_wrapper' => '' ), "set_skin_set_id=".$man );
}
$this->install->ipsclass->DB->do_update( 'skin_sets', array( 'set_css' => '', 'set_wrapper' => '' ), "set_skin_set_id=".$man );
$next = $this->install->ipsclass->DB->simple_exec_query( array( 'select' => '*',
'from' => 'skin_sets',
'where' => "set_skin_set_id > ".$man,
'where' => "set_skin_set_id > ".$man." AND set_key != 'ip.board_pro'",
'order' => 'set_skin_set_id ASC',
'limit' => array(0,1) ) );
@@ -837,16 +931,16 @@ class action_install
$this->install->saved_data['skinid'] = $next['set_skin_set_id'];
$this->install->saved_data['do'] = 'all';
$this->install->template->next_action = '?p=install&sub=skinrevert';
$this->install->template->append( $this->install->template->install_page_refresh( array( "Èçìåíåíèÿ â $cnt øàáëîíàõ èç ñòèëÿ '{$default['set_name']}' îòìåíåíû, ïåðåõîäèì ê ñëåäóþùåìó ñòèëþ..." ) ) );
$this->install->template->append( $this->install->template->install_page_refresh( array( "$cnt skin template bits from skin set '{$default['set_name']}' reverted, proceeding to next skin set...." ) ) );
$this->install->template->hide_next = 1;
return;
}
else
{
$this->install->saved_data['skinid'] = $next['set_skin_set_id'];
$this->install->saved_data['skinid'] = $default['set_skin_set_id'];
$this->install->template->next_action = '?p=install&sub=skinrevert';
unset($this->install->saved_data['do']);
$this->install->template->append( $this->install->template->install_page_refresh( array( "Èçìåíåíèÿ â $cnt øàáëîíàõ èç ñòèëÿ '{$default['set_name']}' îòìåíåíû, ïåðåõîäèì ê ñëåäóþùåìó ñòèëþ..." ) ) );
$this->install->template->append( $this->install->template->install_page_refresh( array( "$cnt skin template bits from skin set '{$default['set_name']}' reverted, proceeding to next skin set...." ) ) );
$this->install->template->hide_next = 1;
return;
}
@@ -854,7 +948,7 @@ class action_install
else
{
$this->install->template->next_action = '?p=install&sub=templates';
$this->install->template->append( $this->install->template->install_page_refresh( array( "Èçìåíåíèÿ â $cnt øàáëîíàõ èç ñòèëÿ '{$default['set_name']}' îòìåíåíû, ïåðåõîäèì ê ñëåäóþùåìó øàáëîíó..." ) ) );
$this->install->template->append( $this->install->template->install_page_refresh( array( "$cnt skin template bits from skin set '{$default['set_name']}' reverted, proceeding to rebuild templates...." ) ) );
$this->install->template->hide_next = 1;
return;
}
@@ -900,7 +994,7 @@ class action_install
if ( ! is_array( $xml->xml_array['templateexport']['templategroup']['template'] ) )
{
$this->install->template->in_error = 1;
$this->install->error[] = "Ïðîáëåìû ñ ðåñóðîì resources/ipb_templates.xml - ðåñóðñ ñîäåðæèò íå ïðàâèëüíûé XML êîä";
$this->install->error[] = "Error with resources/ipb_templates.xml - could not process XML properly";
$this->install->template->warning( $this->install->error );
@@ -909,7 +1003,7 @@ class action_install
}
else
{
$output[] = "Ãëàâíûé øàáëîí îáíîâëåí, ïåðåõîäèì ê ñîçäàíèþ êåøåé øàáëîíîâ...";
$output[] = "Master templates rebuilt, proceeding to recache templates...";
foreach( $xml->xml_array['templateexport']['templategroup']['template'] as $id => $entry )
{
@@ -924,21 +1018,23 @@ class action_install
if ( $row['suid'] )
{
$this->install->ipsclass->DB->do_update( 'skin_templates', array( 'func_data' => $entry[ 'func_data' ]['VALUE'],
'section_content' => $entry[ 'section_content' ]['VALUE'],
'updated' => time()
)
, 'suid='.$row['suid'] );
$this->install->ipsclass->DB->do_update( 'skin_templates', array( 'func_data' => $entry[ 'func_data' ]['VALUE'],
'section_content' => $entry[ 'section_content' ]['VALUE'],
'group_names_secondary' => $entry[ 'group_names_secondary' ]['VALUE'],
'updated' => time()
)
, 'suid='.$row['suid'] );
}
else
{
$this->install->ipsclass->DB->do_insert( 'skin_templates', array( 'func_data' => $entry[ 'func_data' ]['VALUE'],
'func_name' => $entry[ 'func_name' ]['VALUE'],
'section_content' => $entry[ 'section_content' ]['VALUE'],
'group_name' => $entry[ 'group_name' ]['VALUE'],
'updated' => time(),
'set_id' => 1
) );
$this->install->ipsclass->DB->do_insert( 'skin_templates', array( 'func_data' => $entry[ 'func_data' ]['VALUE'],
'func_name' => $entry[ 'func_name' ]['VALUE'],
'section_content' => $entry[ 'section_content' ]['VALUE'],
'group_names_secondary' => $entry[ 'group_names_secondary' ]['VALUE'],
'group_name' => $entry[ 'group_name' ]['VALUE'],
'updated' => time(),
'set_id' => 1
) );
}
}
}
+21 -37
View File
@@ -40,7 +40,7 @@ class action_overview
if ( empty($this->install->ipsclass->input['username']) )
{
$this->install->template->append( $this->install->template->login_page( "Íåîáõîäèìî óêàçàòü èìÿ ïîëüçîâàòåëÿ" ) );
$this->install->template->append( $this->install->template->login_page( "You must enter a username before proceeding" ) );
$this->install->template->next_action = '?p=overview';
return;
}
@@ -49,7 +49,7 @@ class action_overview
if ( empty($this->install->ipsclass->input['password']) )
{
$this->install->template->append( $this->install->template->login_page( "Íåîáõîäèìî óêàçàòü ïàðîëü" ) );
$this->install->template->append( $this->install->template->login_page( "You must enter a password before proceeding" ) );
$this->install->template->next_action = '?p=overview';
return;
}
@@ -75,7 +75,7 @@ class action_overview
//----------------------------------
if ( empty($mem['id']) )
{
$this->install->template->append( $this->install->template->login_page( "Ïîëüçîâàòåëü ñ óêàçàííûìè èìåíåì íå ñóùåñòâóåò â ñèñòåìå" ) );
$this->install->template->append( $this->install->template->login_page( "Could not find a record matching that username, please check the spelling" ) );
$this->install->template->next_action = '?p=overview';
return;
}
@@ -91,7 +91,7 @@ class action_overview
if ( $pass != $mem['password'] AND $pass != $mem['legacy_password'] )
{
$this->install->template->append( $this->install->template->login_page( "Ââåäåííûé ïàðîëü íåâåðåí" ) );
$this->install->template->append( $this->install->template->login_page( "The password you entered is not correct" ) );
$this->install->template->next_action = '?p=overview';
return;
}
@@ -99,7 +99,7 @@ class action_overview
{
if ($mem['g_access_cp'] != 1)
{
$this->install->template->append( $this->install->template->login_page( "Âû íå îáëàäàåòå ïðàâàìè àäìèíèñòðàòîðà" ) );
$this->install->template->append( $this->install->template->login_page( "You do not have access to the administrative CP" ) );
$this->install->template->next_action = '?p=overview';
return;
}
@@ -118,7 +118,7 @@ class action_overview
if ( ! $this->install->ipsclass->converge->member['converge_id'] )
{
$this->install->template->append( $this->install->template->login_page( "Ïîëüçîâàòåëü ñ óêàçàííûìè email íå ñóùåñòâóåò â ñèñòåìå" ) );
$this->install->template->append( $this->install->template->login_page( "Could not find a record matching that username, please check the spelling" ) );
$this->install->template->next_action = '?p=overview';
return;
}
@@ -131,7 +131,7 @@ class action_overview
if ( $this->install->ipsclass->converge->converge_authenticate_member( $pass ) != TRUE )
{
$this->install->template->append( $this->install->template->login_page( "Ââåäåííûé ïàðîëü íåâåðåí" ) );
$this->install->template->append( $this->install->template->login_page( "The password you entered is not correct" ) );
$this->install->template->next_action = '?p=overview';
return;
}
@@ -139,7 +139,7 @@ class action_overview
{
if ($mem['g_access_cp'] != 1)
{
$this->install->template->append( $this->install->template->login_page( "Âû íå îáëàäàåòå ïðàâàìè àäìèíèñòðàòîðà" ) );
$this->install->template->append( $this->install->template->login_page( "You do not have access to the administrative CP" ) );
$this->install->template->next_action = '?p=overview';
return;
}
@@ -159,19 +159,19 @@ class action_overview
$error = array();
if ( ! $this->install->last_poss_id )
{
$error[] = "Íå óäàëîñü îïðåäåëèòü ïîñëåäíþþ äîñòóïíóþ âåðñèþ ïðîäóêòà.";
$error[] = "An error has occured, we are unable to determine the current version or if there are any required upgrade files left to run";
}
if ( count($this->install->versions) == 0 )
{
$error[] = "Íå óäàëîñü íàéòè ñêðèïò äëÿ îáíîâëåíèÿ: 'upg_{$this->install->last_poss_id}/version_history.php'";
$error[] = "Could not locate the required upgrade script: 'upg_{$this->install->last_poss_id}/version_history.php'";
}
if ( ! $this->install->current_version )
{
$error[] = "Íå óäàëîñü îïðåäåëèòü âåðñèþ óñòàíîâëåííîãî ïðîäóêòà";
$error[] = "An error has occured, we are unable to determine the current version or if there are any required upgrade files left to run";
}
if ( $this->install->last_poss_id AND $this->install->last_poss_id <= $this->install->current_version )
if ( $this->install->last_poss_id <= $this->install->current_version )
{
$error[] = "Ó âàñ óñòàíîâëåíà ïîñëåäíÿÿ äîñòóïíàÿ âåðñèÿ ïðîäóêòà. Îáíîâëåíèå íå òðåáóåòñÿ.";
$error[] = "Your installation is up to date; no upgrade required";
}
$checkfiles = array( ROOT_PATH ."resources/ipb_templates.xml",
@@ -208,7 +208,7 @@ class action_overview
{
if ( ! file_exists($cf) )
{
$error[] = "Ìàñòåð íå ñìîã íàéòè íåîáõîäèìûé äëÿ ðàáîòû ôàéë '$cf'.";
$error[] = "Cannot locate the file '$cf'.";
}
}
@@ -216,7 +216,7 @@ class action_overview
{
if ( ! is_writeable($cf) )
{
$error[] = "Ðåñóðñ (ôàéë èëè äèðåêòîðèÿ) '$cf' íå äîñòóïåí äëÿ çàïèñè. Ïîæàëóéñòà èçìåíèòå CHMOD íà 0777.";
$error[] = "Cannot write to the file or folder '$cf'. Please CHMOD to 0777.";
}
}
@@ -228,7 +228,7 @@ class action_overview
return;
}
$current_version = $this->install->current_version == '00000' ? 'íå óñòàíîâëåí' : $this->install->versions[ $this->install->current_version ];
$current_version = $this->install->current_version == '00000' ? 'not installed' : $this->install->versions[ $this->install->current_version ];
if ( $this->install->current_version == '00000' )
{
@@ -236,14 +236,14 @@ class action_overview
}
else
{
$summary .= "îáíîâëåíèå ".$this->install->versions[ $this->install->current_version ]." äî âåðñèè ".$this->install->versions[ $this->install->last_poss_id ];
$summary .= "Upgrade from ".$this->install->versions[ $this->install->current_version ]." to ".$this->install->versions[ $this->install->last_poss_id ];
}
//-----------------------------------------
// Time check...
//-----------------------------------------
$summary .= "<br /><br /><strong>Ïðîâåðêà âàëèäíîñòè ðåñóðñ-ôàéëîâ</strong>";
$summary .= "<br /><br /><strong>Checking 'resources' directory files</strong>";
$_flag = 0;
foreach ( $timecheck as $cf )
@@ -253,35 +253,19 @@ class action_overview
if ( $time_to_check AND $_time AND ( ( $time_to_check - (86400 * 7) ) > $_time ) )
{
$_flag = 1;
$summary .= "<div style='color:red'>&middot;" . str_replace( ROOT_PATH, '', $cf ) . ' ìîæåò áûòü óñòàðåâøèì</div>';
$summary .= "<div style='color:red'>&middot;" . str_replace( ROOT_PATH, '', $cf ) . ' may be out of date</div>';
}
}
if ( $_flag )
{
$summary .= "<br /><div>Ïîæàëóéñòà óáåäèòåñü, ÷òî ôàéëû èç ñïèñêà çàêà÷àíû èç äèñòðèáóòèâà ".$this->install->versions[ $this->install->last_poss_id ]." âåðñèè";
$summary .= "<br /><div>Please check the above files to make sure they have been uploaded from the ".$this->install->versions[ $this->install->last_poss_id ]." download";
}
else
{
$summary .= "<div style='color:green'>Âñå ðåñóðñ-ôàéëû âàëèäíû</div>";
$summary .= "<div style='color:green'>All files checked OK</div>";
}
if ( $cp = $this->install->get_db_codepage() )
{
$summary .= "
<br />
<strong>Êîäèðîâêà òàáëèö â MySQL</strong>
<table width='100%' cellspacing='0' cellpadding='0' align='left' border='0'>
<tr>
<td class='title'><div style='color:gray; font-weight:normal;'>Íå èçìåíÿéòå, åñëè íå óâåðåíû.</div></td>
<td class='content'><input type='text' name='mysql_codepage' class='sql_form' value='" . $cp . "'></td>
</tr>
</table>";
} else {
$summary .= "<input type='hidden' name='mysql_codepage' value='none'>";
}
/* Page Output */
$this->install->template->append( $this->install->template->overview_page( $current_version, $summary ) );
$this->install->template->next_action = '?p=eula';
+10 -52
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)
+----------------------------------------------------------------------------
| Invision Installer Framework
+----------------------------------------------------------------------------
*/
/**
* Invision Power Board
* Invision Installer Framework
@@ -131,7 +105,7 @@ class class_installer
if ( PHP_VERSION < $this->version_php_min )
{
$errors[] = 'Âåðñèÿ PHP, óñòàíîâëåííàÿ íà âàøåì ñåðâåðå, íå óäîâëåòâîðÿåò ñèñòåìíûì òðåáîâàíèÿì ïðîäóêòà. Äëÿ ïðîäîëæåíèÿ óñòàíîâêè íåîáõîäèìî îáíîâèòü PHP.';
$errors[] = 'Your PHP installation is too old to run this product, please upgrade before continuing.';
}
/**
@@ -147,7 +121,7 @@ class class_installer
{
if( ! ( is_dir( $_d) && is_readable( $_d ) ) )
{
$errors[] = 'Íå âîçìîæíî íàéòè òðåáóåìóþ äèðåêòîðèþ: "' . $_d . '"';
$errors[] = 'A required directory could not be located: "' . $_d . '"';
}
}
}
@@ -158,7 +132,7 @@ class class_installer
{
if( ! ( file_exists( $_f) && is_readable( $_f ) ) )
{
$errors[] = 'Íå âîçìîæíî íàéòè òðåáóåìûé ôàéë: "' . $_f . '"';
$errors[] = 'A required file could not be located: "' . $_f . '"';
}
}
}
@@ -172,7 +146,7 @@ class class_installer
{
if( ! is_writeable( $_d ) )
{
$errors[] = 'Äèðåêòîðèÿ: "' . str_replace( INS_DOC_ROOT_PATH, '', $_d ) . '" íå äîñòóïíà äëÿ çàïèñè, ïîæàëóéñòà èçìåíèòå ïðàâà äîñòóïà (CHMOD) íà 777';
$errors[] = 'Can not write to directory: "' . $_d . '", please CHMOD to 777';
}
}
@@ -180,7 +154,7 @@ class class_installer
{
if( ! is_writeable( $_f ) )
{
$errors[] = 'Ôàéë: "' . str_replace( INS_DOC_ROOT_PATH, '', $_f ) . '" íå äîñòóïåí äëÿ çàïèñè, ïîæàëóéñòà èçìåíèòå ïðàâà äîñòóïà (CHMOD) íà 777';
$errors[] = 'Can not write to file: "' . $_f . '", please CHMOD to 777';
}
}
}
@@ -203,11 +177,11 @@ class class_installer
$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');
$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'];
}
/**
@@ -225,22 +199,6 @@ class class_installer
@fclose( $fh );
}
/**
* class_installer::read_file
*
* Simple method for reading a file
*
* @param string $name Full name, including path, of file to read
* @return string $content file's body
*/
function read_file( $name )
{
$fh = @fopen( $name, "r" );
$content = @fread( $fh, filesize( $name ) );
@fclose( $fh );
return $content;
}
/**
* class_installer::create_admin_converge
*
+3 -3
View File
@@ -39,12 +39,12 @@ define( 'INS_DEFAULT_SQL_PREFIX', 'ibf_' );
define( 'KERNEL_PATH', ROOT_PATH . "ips_kernel/" );
error_reporting ( E_ERROR | E_WARNING | E_PARSE );
@ini_set('display_errors', 1);
/*@ini_set('display_errors', 1);*/
if( @ini_get('memory_limit') )
/*if( @ini_get('memory_limit') )
{
@ini_set('memory_limit', '200M' );
}
}*/
set_magic_quotes_runtime( 0 );
+1
View File
@@ -0,0 +1 @@
<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>
+51 -53
View File
@@ -57,11 +57,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'] : 'login';
@@ -146,8 +146,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 Upgrader</title>
<style type='text/css' media='all'>
@import url('install.css');
</style>
@@ -169,7 +168,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 IPB Upgrader</h1>
<div class='content_shell'>
<div class='package'>
<div>
@@ -196,7 +195,7 @@ echo <<<EOF
</div>
<div style='vertical-align: middle'>
<h2>Îáíîâëåíèå {$this->product_name}</h2>
<h2>{$this->product_name} Upgrade</h2>
<!--<strong>{$this->product_version}</strong>-->
</div>
</div>
@@ -211,7 +210,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 Upgrade' onclick="window.location='index.php';return false;">
</div>
<div style='float: right'>
@@ -222,19 +221,19 @@ 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='Upgrade can not continue...' disabled='disabled'>
EOF;
}
else if( $this->in_error == 1 )
{
echo <<<EOF
<input type='submit' class='nav_button' value='Âñå ðàâíî ïðîäîëæèòü'>
<input type='submit' class='nav_button' value='Continue regardless?'>
EOF;
}
else
{
echo <<<EOF
<input type='submit' class='nav_button' value='Äàëüøå >'>
<input type='submit' class='nav_button' value='Next >'>
EOF;
}
}
@@ -248,7 +247,7 @@ echo <<<EOF
EOF;
echo date("Y");
echo <<<EOF
Invision Power Services, Inc. & IBResource, LTD
Invision Power Services, Inc.
</div>
</div>
@@ -285,28 +284,28 @@ $output .= <<<EOF
<img src='images/wizard.gif' align='absmiddle' />
</div>
<div>
Âàñ ïðèâåòñòâóåò ìàñòåð îáíîâëåíèÿ {$this->product_name}. Îí ïîìîæåò âàì îáíîâèòü óñòàíîâëåííûé ïðîäóêò äî ïîñëåäíåé âåðñèè.
Welcome to the upgrade routine for {$this->product_name}. This wizard will guide you through the upgrade process.
</div>
</div>
<br/>{$extra}
<h3>Îáÿçàòåëüíàÿ ïðîâåðêà &mdash; àâòîðèçàöèÿ</h3>
Äëÿ ðàáîòû ñ ìàñòåðîì âàì íåîáõîäèìî âîéòè â ñèñòåìó ïîä ó÷åòíîé çàïèñüþ ñ ïðàâàìè àäìèíèñòðàòîðà.<br />
<h3>Verification Required - Please Log In</h3>
You must log in with your forums administrative log in details to access the upgrade system.<br />
<br />
<table width='100%' cellspacing='0' cellpadding='5' align='center' border='0'>
<tr>
<td width='40%' valign='middle'>Âàø
<td width='40%' valign='middle'>Your Forum
EOF;
if( $this->ipsclass->login_type == 'username' )
{
$output .= <<<EOF
ëîãèí
Username
EOF;
}
else
{
$output .= <<<EOF
e-mail
Email Address
EOF;
}
$output .= <<<EOF
@@ -314,7 +313,7 @@ $output .= <<<EOF
<td width='60%' valign='middle'><input type='text' style='width:100%' name='username' value='' class='sql_form'></td>
</tr>
<tr>
<td width='40%' valign='middle'>Âàø ïàðîëü:</td>
<td width='40%' valign='middle'>Your Forum Password:</td>
<td width='60%' valign='middle'><input type='password' style='width:100%' name='password' value='' class='sql_form'></td>
</tr>
</table>
@@ -335,13 +334,13 @@ return <<<EOF
<img src='images/wizard.gif' align='absmiddle' />
</div>
<div>
Âàñ ïðèâåòñòâóåò ìàñòåð îáíîâëåíèÿ {$this->product_name}. Îí ïîìîæåò âàì îáíîâèòü óñòàíîâëåííûé ïðîäóêò äî ïîñëåäíåé âåðñèè.
Welcome to the upgrader for {$this->product_name}. This wizard will guide you through the upgrade process.
</div>
</div>
<br/>
<h3>Èíôîðìàöèÿ</h3>
Òåêóùàÿ âåðñèÿ: $current_version.<br />
Ìàñòåð îñóùåñòâèò $summary<br />
<h3>Upgrade summary</h3>
Current version: $current_version.<br />
This script will: $summary<br />
<br />
EOF;
@@ -364,7 +363,7 @@ check_eula = function()
}
else
{
alert( 'Âû äîëæíû ïðèíÿòü ïîëüçîâàòåëüñêîå ñîãëàøåíèå, ïðåæäå ÷åì ïðîäîëæèòü îáíîâëåíèå' );
alert( 'You must agree to the license before continuing' );
return false;
}
}
@@ -373,13 +372,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;
@@ -395,15 +394,16 @@ EOF;
$output = <<<EOF
<br />
Ìàñòåð ñîáðàë âñå äàííûå è ãîòîâ íà÷àòü îáíîâëåíèå {$this->product_name}. Íàæìèòå <strong>Çàïóñòèòü îáíîâëåíèå</strong> äëÿ çàïóñêà àâòîìàòè÷åñêîãî ïðîöåññà îáíîâëåíèÿ ïðîäóêòà!<br /><br />
The upgrader is now ready to complete the upgrade of your {$this->product_name}. Click <strong>Start</strong> to
begin the automatic process!<br /><br />
<ul id='links'>
<li><img src='images/link.gif' align='absmiddle' /> <input type='checkbox' name='helpfile' id='helpfile' value='1' checked='checked' /> Îáíîâèòü ðàçäåëû ïîìîùè, åñëè áóäóò íàéäåíû ðàçëè÷èÿ.</li>
<li><img src='images/link.gif' align='absmiddle' /> <input type='checkbox' name='helpfile' id='helpfile' value='1' checked='checked' /> Update my help files if changes are found</li>
EOF;
if( $show_manual == 1 )
{
$output .= <<<EOF
<li><img src='images/link.gif' align='absmiddle' /> <input type='checkbox' name='man' id='man' value='1' /> Ïîêàçûâàòü SQL çàïðîñû äëÿ ðó÷íîãî îáíîâëåíèÿ (äëÿ áîëüøèõ ôîðóìîâ). <b>Âíèìàíèå:</b> âàì áóäåò íåîáõîäèìî âûïîëíèòü âñå SQL çàïðîñû, âûâîäèìûå ìàñòåðîì, â mysql shell (êîììàíäíîé ñòðîêå). Åñëè âû ïëîõî ïðåäñòàâëÿåòå ñåáå ÷òî ýòî, ïîæàëóéñòà îáðàòèòåñü â <a href="http://www.ibresource.ru/clientarea/" target="blank">íàøó ñëóæáó ïîääåðæêè</a>.</li>
<li><img src='images/link.gif' align='absmiddle' /> <input type='checkbox' name='man' id='man' value='1' /> Show me manual upgrade steps for SQL queries to prevent PHP page timeouts. <b>WARNING:</b> If you select this option, you will be shown SQL queries that you must run at your mysql command line. If you are not comfortable doing this, please submit a ticket and our technicians will assist you, or contact your webhost for assistance.</li>
EOF;
}
@@ -413,7 +413,7 @@ $output .= <<<EOF
<br /><br />
<div style='float: right'>
<input type='submit' class='nav_button' value='Çàïóñòèòü îáíîâëåíèå...'>
<input type='submit' class='nav_button' value='Start upgrade...'>
</div>
EOF;
@@ -450,7 +450,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;
@@ -487,20 +487,20 @@ EOF;
function install_template_skinrevert( $skin_name="" )
{
$HTML = <<<EOF
<br /><h3><b>Óäàëåíèå èçìåíåíèé â ñòèëÿõ</b></h3><br />
Âî âðåìÿ îáíîâëåíèÿ ÷àñòî âîçíèêàåò íåîáõîäèìîñòü âíîñèòü èçìåíåíèÿ â øàáëîíû ñòèëÿ ÷òîáû èñïðàâèòü îøèáêè è äîáàâèòü íîâûå âîçìîæíîñòè.<br /><br />
Åñëè âû íå çàõîòèòå óäàëÿòü èçìåíåíèÿ â øàáëîíàõ ñòèëÿ, ìàñòåð îáíîâëåíèÿ íå ñìîæåò âíåñòè èçìåíåíèÿ. Îäíàêî åñëè âû óäàëèòå èçìåíåíèÿ â ñòèëÿõ
âû <i><b>ïîòåðÿåòå</b></i> âñþ ïðîäåëàííóþ ðàáîòó ïî èçìåíåíèþ ñòàíäàðòíîãî ñòèëÿ.<br /><br />
Ïî-ýòîìó ìû ðåêîììåíäóåì âàì óäàëÿòü èçìåíåíèÿ â ñòèëå òîëüêî â òîì ñëó÷àå, åñëè èçìåíåíèé áûëî ìàëî. Åñëè æå ó âàñ ñîáñòâåííûé ñòèëü èëè áîëüøîå êîëè÷åñòâî
èçìåíåíèé â øàáëîíàõ îò ìîäèôèêàöèé ìû ðåêîììåíäóåì îòêëþ÷èòü îïöèþ óäàëåíèÿ èçìåíåíèé è âîñïîëüçîâàòüñÿ èíñòðóìåíòîì ñðàâíåíèÿ ñòèëåé äëÿ äîáàâëåíèÿ èçìåíåíèé
â ðó÷íóþ.<br /><br />
<br /><h3><b>Revert skin changes?</b></h3><br />
During upgrades, there are often changes to the skin templates to fix bugs or add new features.<br /><br />
If you do not revert changes you have made to your skin templates, you will not see the changes we have made, however if you have modified
your skin templates reverting the skin changes will cause you to <i><b>lose</b></i> the customizations you have made.<br /><br />
If you have not made many customizations to your skins, it is recommended that you choose to revert your skin changes.<br /><br />
If you have custom skins installed, or have heavily modified your skin templates, it is recommended that you use the skin difference tool
available in your admin control panel after the upgrade is complete to apply new changes to your templates instead.<br /><br />
<h3>Âû æåëàåòå óäàëèòü èçìåíåíèÿ â øàáëîíàõ ñòèëÿ &laquo;<b>{$skin_name}</b>&raquo;?</h3>
<h3>Do you wish to revert changes made to '<b>{$skin_name}</b>'?</h3>
<ul id='links'>
<li><img src='images/link.gif' align='absmiddle' /> <input type='radio' name='do' value='all' /> Óäàëèòü èçìåíåíèÿ â øàáëîíàõ âñåõ ñòèëåé</li>
<li><img src='images/link.gif' align='absmiddle' /> <input type='radio' name='do' value='1' /> Óäàëèòü èçìåíåíèÿ â øàáëîíàõ ñòèëÿ &laquo;{$skin_name}&raquo;</li>
<li><img src='images/link.gif' align='absmiddle' /> <input type='radio' name='do' value='none' /> Íå óäàëÿòü èçìåíåíèÿ â øàáëîíàõ âñåõ ñòèëåé</li>
<li><img src='images/link.gif' align='absmiddle' /> <input type='radio' name='do' value='0' /> Íå óäàëÿòü èçìåíåíèÿ â øàáëîíàõ ñòèëÿ &laquo;{$skin_name}&raquo;</li>
<li><img src='images/link.gif' align='absmiddle' /> <input type='radio' name='do' value='all' /> Revert changes to all of my skins</li>
<li><img src='images/link.gif' align='absmiddle' /> <input type='radio' name='do' value='1' /> Revert changes to '{$skin_name}'</li>
<li><img src='images/link.gif' align='absmiddle' /> <input type='radio' name='do' value='none' /> Do not revert changes to any of my skins</li>
<li><img src='images/link.gif' align='absmiddle' /> <input type='radio' name='do' value='0' /> Do not revert changes to '{$skin_name}'</li>
</ul>
EOF;
@@ -514,18 +514,16 @@ EOF;
{
$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 />
Âû ñåé÷àñ äîëæíû çàéòè â àäìèíöåíòð è çàïóñòèòü óòèëèòû &laquo;Îáíîâëåíèå ñîäåðæèìîãî ñîîáùåíèé&raquo; è &laquo;Îáíîâëåíèå èíôîðìàöèè î ïðèêðåïëåííûõ ôàéëàõ&raquo; â ìåíþ ÍÀÑÒÐÎÉÊÈ -> Ïåðåñ÷åò è îáíîâëåíèå.
Ïî æåëàíèþ âû òàêæå ìîæåòå çàïóñòèòü óòèëèòû ìåæäó 2.1 è 2.2 â ðàçäåëå &laquo;Èíñòðóìåíòû î÷èñòêè&raquo;.
<br /><br />Íèæå ïðèâåäåíû íåñêîëüêî ïîëåçíûõ ññûëîê, êîòîðûå ïîìîãóò â âàøåé ðàáîòå.<br /><br /><br />
<h3>Ïîëåçíûå ññûëêè</h3>
<img src='images/install_done.gif' align='absmiddle' />&nbsp;&nbsp;<span class='done_text'>Upgrade complete!</span><br /><br />
Congratulations, your <a href='$url'>{$this->product_name}</a> is now up to date and ready to use!<br /><br />
You should now login to your admin control panel and run the 'Rebuild Post Content' tool and the 'Rebuild Attachment Data' tool under Tools &amp; Settings, Recount &amp; Rebuild. You may
also wish to run the 2.1 -&gt; 2.2 tools found under 'Clean Up Tools'.
<br /><br />Below are some links you may find useful.<br /><br /><br />
<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://www.ibresource.ru/forums/'>Ôîðóìû êîìïàíèè</a></li>
<li><img src='images/link.gif' align='absmiddle' /> <a href='http://external.iblink.ru/wiki'>Invison Power Book</a></li>
587 <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://anonym.to/http://external.ipslink.com/ipboard22/landing/?p=clientarea'>Client area</a></li>
<li><img src='images/link.gif' align='absmiddle' /> <a href='http://anonym.to/http://external.ipslink.com/ipboard22/landing/?p=docs-ipb'>Documentation</a></li>
<li><img src='images/link.gif' align='absmiddle' /> <a href='http://anonym.to/http://external.ipslink.com/ipboard22/landing/?p=forums'>IPS Company Forum</a></li>
</ul>
EOF;
return $HTML;