Version 2.2.0 RC-1

This commit is contained in:
Neo committed 2025-12-19 00:22:37 -08:00
1 parent f73f8bff6d
commit 22f1b963ee
1034 files changed
+178610 -70897

No files matched your search

+53 -37
View File
@@ -2,23 +2,17 @@
/*
+--------------------------------------------------------------------------
| Invision Power Board 2.1.7
| =============================================
| Invision Power Board v<{%dyn.down.var.human.version%}>
| ========================================
| by Matthew Mecham
| (c) 2001 - 2005 Invision Power Services, Inc.
| (c) 2001 - 2004 Invision Power Services
| http://www.invisionpower.com
| =============================================
| ========================================
| Web: http://www.invisionboard.com
| http://www.ibresource.ru/products/invisionpowerboard/
| Time: Tuesday 18th of July 2006 05:56:00 PM
| Release: 52f408a29988b02f45b5e6f4ba5af0ae
| Time: <{%dyn.down.var.time%}>
| Release: <{%dyn.down.var.md5%}>
| Email: matt@invisionpower.com
| 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
+---------------------------------------------------------------------------
|
| > IPB UPGRADE MODULE:: IPB 2.0.2 -> IPB 2.0.3
@@ -31,7 +25,7 @@
if ( ! defined( 'IN_IPB' ) )
{
print "<h1>Íåêîððåêòíûé àäðåñ</h1>Âû íå èìååòå äîñòóïà ê ýòîìó ôàéëó íàïðÿìóþ. Åñëè âû íåäàâíî îáíîâëÿëè ôîðóì, âû äîëæíû îáíîâèòü âñå ñîîòâåòñòâóþùèå ôàéëû.";
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
exit();
}
@@ -39,10 +33,11 @@ class version_upgrade
{
var $this_version = '21003';
var $upgrade_from = '20014';
var $first_step = 'îáíîâèò âàøó áàçó äàííûõ äëÿ âñòàâêè íîâûõ ïîëåé è òàáëèö, à òàêæå ñêîíâåðòèðóåò îïðîñû è êàëåíäàðíûå ñîáûòèÿ.';
var $first_step = 'update your database to include the new schematic modifications and convert polls and calendar events.';
var $md5_check = '';
var $base_url = '';
var $mod_to_run = '';
var $error = array();
/*-------------------------------------------------------------------------*/
// CONSTRUCTOR
@@ -141,7 +136,7 @@ class version_upgrade
//-----------------------------------------
$this->ipsclass->DB->do_insert( 'skin_sets', array(
'set_name' => 'IPB 2.1 Ñòàíäàðòíûé ñòèëü',
'set_name' => 'IPB 2.1 Default',
'set_image_dir' => 1,
'set_hidden' => 0,
'set_default' => 1,
@@ -170,7 +165,7 @@ class version_upgrade
//-----------------------------------------
$this->ipsclass->core->redirect( "index.php?act=done&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}",
"Ñòèëü äîáàâëåí, ïåðåõîä ê ñëåäóþùåìó ýòàïó..." );
"Skin added, proceeding to the next step..." );
}
/*-------------------------------------------------------------------------*/
@@ -260,14 +255,14 @@ class version_upgrade
$this->ipsclass->DB->do_insert( 'cal_events', $new_event );
}
$msg = "<b>Êàëåíäàðíûå ñîáûòèÿ: îò $start äî $end çàâåðøåíî....</b>";
$msg = "<b>Calendar events: $start to $end completed....</b>";
$this->ipsclass->core->redirect( "index.php?act=work&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}&workact=calevents&st={$end}",
$msg );
}
else
{
$msg = "<b>Êàëåíäàðíûå ñîáûòèÿ ñêîíâåðòèðîâàíû. Ñîçäàíèå íîâîãî IPB 2.1 ñòèëÿ...</b>";
$msg = "<b>Calendar events converted. Creating new IPB 2.1 skin...</b>";
$this->ipsclass->core->redirect( "index.php?act=work&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}&workact=skin",
$msg );
@@ -399,14 +394,14 @@ class version_upgrade
if ( ! $done )
{
$msg = "<b>Îïðîñû: îò $start äî $end çàâåðøåíî....</b>";
$msg = "<b>Polls: $start to $end completed....</b>";
$this->ipsclass->core->redirect( "index.php?act=work&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}&workact=polls&st={$end}&max={$max}".'&conv='.$converted,
$msg );
}
else
{
$msg = "<b>Îïðîñû ñêîíâåðòèðîâàíû, ïåðåõîäèì ê ñëåäóþùåìó ýòàïó...</b>";
$msg = "<b>Polls converted, proceeding to the next step...</b>";
$this->ipsclass->core->redirect( "index.php?act=work&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}&workact=calevents&st=0",
$msg );
@@ -429,6 +424,8 @@ class version_upgrade
{
require_once( THIS_PATH . 'upg_' . $this->ipsclass->current_upgrade . '/' . strtolower($this->ipsclass->vars['sql_driver']) . $file );
$this->ipsclass->DB->return_die = 1;
foreach( $SQL as $q )
{
$q = str_replace( "<%time%>", time(), $q );
@@ -444,6 +441,11 @@ class version_upgrade
else
{
$this->ipsclass->DB->query( $q );
if ( $this->ipsclass->DB->error )
{
$this->error[] = $this->ipsclass->DB->error;
}
}
$cnt++;
@@ -467,14 +469,14 @@ class version_upgrade
{
$this->ipsclass->template->content .= "
<div class='tableborder'>
<div class='maintitle'>SQL çàïðîñ: Øàã $nextid</div>
<div class='maintitle'>SQL Queries: Step $nextid</div>
<div class='tdrow1' style='padding:6px'>
<strong>ÏÎÆÀËÓÉÑÒÀ ÇÀÏÓÑÒÈÒÅ ÝÒÈ ÇÀÏÐÎÑÛ, ÏÐÅÆÄÅ ×ÅÌ ÏÐÎÄÎËÆÈÒÜ</strong>
<strong>PLEASE RUN THESE QUERIES BEFORE CONTINUING</strong>
<br /><br />
<textarea style='width:100%;height:400px' rows='50' cols='50'>$output</textarea>
<br />
<br />
<div align='center'><span style='font-weight:bold;font-size:14px'>&raquo; <a href='{$url}'>Ïîêàçàòü äàëåå...</a></span></div>
<div align='center'><span style='font-weight:bold;font-size:14px'>&raquo; <a href='{$url}'>Show next...</a></span></div>
</div>
</div>
";
@@ -483,13 +485,27 @@ class version_upgrade
}
else
{
$this->ipsclass->core->redirect( $url, "$cnt çàïðîñîâ âûïîëíåíî...." );
if ( count($this->error) )
{
$this->ipsclass->core->show_error( implode( "<br />", $this->error ), "work&man={$man}&workact=sql".$nextid );
}
else
{
$this->ipsclass->core->redirect( $url, "$cnt queries run...." );
}
}
}
else
{
$this->ipsclass->core->redirect( "index.php?act=work&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}&workact=polls&st=0",
"$cnt çàïðîñîâ âûïîëíåíî...." );
if ( count($this->error) )
{
$this->ipsclass->core->show_error( implode( "<br />", $this->error ), "work&workact=polls&st=0" );
}
else
{
$this->ipsclass->core->redirect( "index.php?act=work&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}&workact=polls&st=0",
"$cnt queries run...." );
}
}
}
@@ -501,26 +517,26 @@ class version_upgrade
{
$this->ipsclass->template->content .= "
<div class='tableborder'>
<div class='maintitle'>Äîáðî ïîæàëîâàòü â ñèñòåìó îáíîâëåíèÿ IPB</div>
<div class='tdrow1' style='padding:6px'>Ýòîò ìîäóëü îáíîâèò âàø ôîðóì ñ <b>{$this->ipsclass->versions[$this->upgrade_from]}</b> äî <b>{$this->ipsclass->versions[$this->this_version]}</b>
<br /><br />Ýòîò ïåðâûé ýòàï {$this->first_step}
<div class='maintitle'>Welcome to the IPB Upgrade System</div>
<div class='tdrow1' style='padding:6px'>This upgrade module will upgrade you from <b>{$this->ipsclass->versions[$this->upgrade_from]}</b> to <b>{$this->ipsclass->versions[$this->this_version]}</b>
<br /><br />This first step will {$this->first_step}
<br /><br />
<span style='font-weight:bold;color:red'>Åñëè âû èìååòå áîëüøóþ áàçó äàííûõ, æåëàòåëüíî çàïóòèòü SQL çàïðîñû âðó÷íóþ (äëÿ ïðåäîòâðàùåíèÿ îøèáîê â PHP),
ïîæàëóéñòà <a href='{$this->base_url}&workact=sql&man=1'>íàæìèòå ñþäà</a> äëÿ ïîäðîáíîñòåé.</span>
<span style='font-weight:bold;color:red'>If you have a large database and would prefer to run the SQL queries manually (to overcome PHP timeouts),
please <a href='{$this->base_url}&workact=sql&man=1'>click here</a> to proceed.</span>
<br />
<br />
<div align='center'><span style='font-weight:bold;font-size:14px'>&raquo; <a href='{$this->base_url}&workact=sql'>Äàëåå (ñ àâòîìàòè÷åñêèì âûïîëíåíèåì SQL çàïðîñîâ)...</a></span></div>
<div align='center'><span style='font-weight:bold;font-size:14px'>&raquo; <a href='{$this->base_url}&workact=sql'>Proceed (with auto SQL insertion)...</a></span></div>
</div>
</div>
<br />
<div align='center'>Ïîñëå ýòîãî ìîäóëÿ áóäåò çàïóùåíî: {$this->mod_to_run}</div>
<div align='center'>Modules to run after this module: {$this->mod_to_run}</div>
";
if ( ! is_writeable( CACHE_PATH . 'cache/skin_cache' ) )
{
$this->ipsclass->template->content .= "<div class='warnbox'><strong>ÂÍÈÌÀÍÈÅ: Ïàïêà cache/skin_cache íåäîñòóïíà äëÿ çàïèñè</strong><br />
Ïîæàëóéñòà, ïðîâåðüòå CHMOD äëÿ ýòîé ïàïêè. Åñëè âû ïðîèãíîðèðóåòå ýòî ïðåäóïðåæäåíèå, òî ôàéëû ñòèëåé
ìîãóò íåêîððåêòíî óñòàíîâèòüñÿ.</div>";
$this->ipsclass->template->content .= "<div class='warnbox'><strong>WARNING: cache/skin_cache is not writeable</strong><br />
Please check the CHMOD value on this folder before continuing. Failure to do so could mean that
your skin files will not be installed correctly.</div>";
}
$this->ipsclass->template->output();