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

+77 -60
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 LOADER
@@ -30,7 +24,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();
}
@@ -53,10 +47,10 @@ class core_functions
{
$this->ipsclass->template->content .= "
<div class='tableborder'>
<div class='maintitle'>Îáíîâëåíèå IPB çàâåðøåíî!</div>
<div class='tdrow1' style='padding:6px'>Âàø ôîðóì óñïåøíî îáíîâëåí!
<div class='maintitle'>IPB Upgrade Complete!</div>
<div class='tdrow1' style='padding:6px'>You have now been upgraded!
<br /><br />
Âû äîëæíû îòêëþ÷èòü ïðàâà íà âûïîëíåíèå ñêðèïòà /upgrade/index.php èëè ïåðåèìåíîâàòü äèðåêòîðèþ /upgrade/. Èíà÷å ó âàñ ìîãóò áûòü ïðîáëåìû ñ áåçîïàñíîñòüþ.
You may want to disable permissions on the script 'upgrade/index.php' to increase security or rename the 'upgrade' directory.
</div>
</div>
";
@@ -64,6 +58,25 @@ class core_functions
$this->ipsclass->template->output();
}
/*-------------------------------------------------------------------------*/
// Continue with error
/*-------------------------------------------------------------------------*/
function show_error( $msg, $nextact )
{
$this->ipsclass->template->content .= "
<div class='tableborder'>
<div class='maintitle'>Error!</div>
<div class='tdrow1' style='padding:6px'>The following database error(s) were returned:</b>
<br /><br />$msg
<div align='center'><span style='font-weight:bold;font-size:14px'>&raquo; <a href='index.php?act={$nextact}&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}'>Continue regardless?</a></span></div>
</div>
</div>
";
$this->ipsclass->template->output();
}
/*-------------------------------------------------------------------------*/
// REBUILD TEMPLATES
/*-------------------------------------------------------------------------*/
@@ -106,11 +119,11 @@ class core_functions
$extra = implode( "<br />", $acp->messages );
$this->ipsclass->core->redirect( "index.php?act=templatescache&justdone={$r['set_skin_set_id']}&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}", "Ïåðåñòðîéêà êåøà äëÿ ñòèëÿ &laquo;{$r['set_name']}&raquo;<br />{$extra}<br />Äàëåå ïåðåõîäèì ê ñëåäóþùåìó ñòèëþ..." );
$this->ipsclass->core->redirect( "index.php?act=templatescache&justdone={$r['set_skin_set_id']}&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}", "Rebuild cache for skin set {$r['set_name']}<br />{$extra}<br />Proceeding to the next skin..." );
}
else
{
$this->ipsclass->core->redirect( "index.php?act=finish&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}", "Íåò áîëüøå ñòèëåé äëÿ ïåðåñòðîéêè..." );
$this->ipsclass->core->redirect( "index.php?act=finish&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}", "No more skins to rebuild..." );
}
}
@@ -149,7 +162,7 @@ class core_functions
if ( ! is_array( $xml->xml_array['templateexport']['templategroup']['template'] ) )
{
install_error("Îøèáêà â ôàéëå ipb_templates.xml &#151; íåâîçìîæíî âûïîëíèòü ýòîò XML ôàéë");
install_error("Error with ipb_templates.xml - could not process XML properly");
}
foreach( $xml->xml_array['templateexport']['templategroup']['template'] as $id => $entry )
@@ -184,7 +197,7 @@ class core_functions
// Boink..
//-----------------------------------
$this->ipsclass->core->redirect( "index.php?act=templatescache&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}", "Ïåðåñòðîéêà ìàñòåð øàáëîíîâ, äàëåå ïåðåñòðîéêà îáû÷íûõ øàáëîíîâ..." );
$this->ipsclass->core->redirect( "index.php?act=templatescache&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}", "Master templates rebuilt, proceeding to recache templates..." );
}
/*-------------------------------------------------------------------------*/
@@ -308,17 +321,11 @@ class core_functions
// EMOTICONS
//-------------------------------------------------------------
$this->ipsclass->cache['emoticons'] = array();
$this->ipsclass->DB->simple_construct( array( 'select' => 'typed,image,clickable,emo_set', 'from' => 'emoticons' ) );
$this->ipsclass->DB->simple_exec();
while ( $r = $this->ipsclass->DB->fetch_row() )
{
$this->ipsclass->cache['emoticons'][] = $r;
}
require_once( ROOT_PATH . 'sources/action_admin/emoticons.php' );
$emoticons = new ad_emoticons();
$emoticons->ipsclass =& $this->ipsclass;
$this->ipsclass->update_cache( array( 'name' => 'emoticons', 'array' => 1, 'deletefirst' => 1 ) );
$emoticons->emoticon_rebuildcache();
//-------------------------------------------------------------
// LANGUAGES
@@ -352,7 +359,7 @@ class core_functions
$this->ipsclass->update_cache( array( 'name' => 'attachtypes', 'array' => 1, 'deletefirst' => 1 ) );
$this->ipsclass->core->redirect( "index.php?act=templates&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}", "Êåøè ïåðåñòðîåíû, äàëåå ïåðåñòðîéêà øàáëîíîâ..." );
$this->ipsclass->core->redirect( "index.php?act=templates&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}", "Caches rebuilt, proceeding to rebuild templates..." );
}
@@ -378,7 +385,7 @@ class core_functions
'set_cache_wrapper' => $WRAPPER,
), 'set_skin_set_id=1' );
$message[] = "Øàáëîíû êîìïîíåíòîâ îáíîâëåíû...";
$message[] = "Template components updated...";
}
//--------------------------------
@@ -456,19 +463,20 @@ class core_functions
if ( $this->ipsclass->last_poss_id != $this->ipsclass->current_upgrade )
{
$this->ipsclass->core->redirect( "index.php?act=work&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}",
implode( "<br />", $message ) . "<br />Îáíîâëåíèå ìîäóëÿ çàâåðøåíî, ïåðåìåùàåìñÿ ê îáíîâëåíèþ ñëåäóþùåãî ìîäóëÿ...." );
implode( "<br />", $message ) . "<br />Upgrade module complete, moving on to the next upgrade module...." );
}
else
{
$this->ipsclass->template->content .= "
<div class='tableborder'>
<div class='maintitle'>Îáíîâëåíèå IPB çàâåðøåíî</div>
<div class='maintitle'>IPB Upgrade Complete</div>
<div class='tdrow1' style='padding:6px'>".implode( "<br />", $message ) . "<br />
Âàø ôîðóì áûë óñïåøíî îáíîâëåí ñ {$this->ipsclass->versions[$this->ipsclass->current_version]} äî {$this->ipsclass->versions[$this->ipsclass->current_upgrade]}
You have now been upgraded from {$this->ipsclass->versions[$this->ipsclass->current_version]} to {$this->ipsclass->versions[$this->ipsclass->current_upgrade]}
<br /><br />
Ñëåäóþùèå ôèíàëüíûå ýòàïû ïðîâåðÿò íà îáíîâëåíèÿ íàñòðîéêè è ïåðåñòðîÿò âàøè êåø äàííûå (ôîðóìû, ãðóïïû, ìîäåðàòîðû è ò.ä.), à òàêæå ïåðåñòðîÿò âàøè ìàñòåð øàáëîíû...
The next few final steps will check for updated settings and recache your cached data (forums, groups, moderators, etc) and rebuild your master templates to ensure
that all the template additions and modifications are updated.
<br /><br />
<div align='center'><span style='font-weight:bold;font-size:14px'>&raquo; <a href='index.php?act=recache&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}'>Äàëåå...</a></span></div>
<div align='center'><span style='font-weight:bold;font-size:14px'>&raquo; <a href='index.php?act=recache&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}'>Proceed...</a></span></div>
</div>
</div>
";
@@ -486,17 +494,17 @@ class core_functions
{
$this->ipsclass->template->content .= "<meta http-equiv='refresh' content=\"{$time}; url={$url}\">
<div class='tableborder'>
<div class='maintitle'>Ïåðåàäðåñàöèÿ</div>
<div class='maintitle'>Redirecting</div>
<div class='tdrow1' style='padding:8px'>
<div style='font-size:12px'>$text
<br />
<br />
<center><a href='{$url}'>Íàæìèòå ñþäà, åñëè âû íå áûëè ïåðåìåùåíû...</a></center>
<center><a href='{$url}'>Click here if not redirected...</a></center>
</div>
</div>
</div>";
$this->ipsclass->template->output("Ïåðåàäðåñàöèÿ...");
$this->ipsclass->template->output("Redirecting...");
}
/*-------------------------------------------------------------------------*/
@@ -505,23 +513,25 @@ class core_functions
function login_screen($msg='')
{
$alert = "";
if ( ! file_exists( ROOT_PATH.'ipb_templates.xml' ) )
{
$alert .= "<div class='warnbox'><b>Íåâîçìîæíî íàéòè XML øàáëîíû</b><br />Îíè äîëæíû íàõîäèòüñÿ â &laquo;ipb_templates.xml&raquo; ïîæàëóéñòà ïðîâåðüòå, ÷òîáû ýòîò ôàéë áûë çàãðóæåí. Áåç íåãî ïðîäîëæåíèå íåâîçìîæíî.
<br /><strong>Åñëè âû íå çàãðóçèòå ýòîò ôàéë, òî âàøè øàáëîíû íå áóäóò îáíîâëåíû!</strong></div>";
$alert .= "<div class='warnbox'><b>Cannot locate XML templates</b><br />This should be located in 'ipb_templates.xml' please ensure this file is uploaded (recreating the file structure if needed) before continuing.
<br /><strong>Failure to upload this file will mean that your templates will not be updated.</strong></div>";
}
if ( ! is_writeable( CACHE_PATH . 'cache/skin_cache' ) )
{
$alert .= "<div class='warnbox'><strong>ÂÍÈÌÀÍÈÅ: Ïàïêà cache/skin_cache íåäîñòóïíà äëÿ çàïèñè</strong><br />
Ïîæàëóéñòà, ïðîâåðüòå CHMOD äëÿ ýòîé ïàïêè. Åñëè âû ïðîèãíîðèðóåòå ýòî ïðåäóïðåæäåíèå, òî ôàéëû ñòèëåé
ìîãóò íåêîððåêòíî óñòàíîâèòüñÿ.</div>";
$alert .= "<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>";
}
if ( $alert )
{
$this->ipsclass->template->content .= "{$alert}";
$this->ipsclass->template->output("ÂÍÈÌÀÍÈÅ");
$this->ipsclass->template->output("WARNING");
exit();
}
@@ -534,29 +544,29 @@ class core_functions
<form action='index.php?act=login' method='post' name='theAdminForm'>
{$msg}
<div>
<strong>Âû îáÿçàíû àâòîðèçîâàòüñÿ ñ âàøèìè äàííûìè äëÿ âõîäà â âàø ôîðóì ïîä ó÷åòíîé çàïèñüþ àäìèíèñòðàòîðà. Èíà÷å âû ïðîñòî íå ñìîæåòå âîñïîëüçîâàòüñÿ ñèñòåìîé îáíîâëåíèÿ.
<br />Îáíîâëåíèå ñ âåðñèè {$this->ipsclass->versions[$this->ipsclass->current_version]} äî {$this->ipsclass->versions[$this->ipsclass->current_upgrade]}</strong>
<strong>You must log in with your forums administrative log in details to access the upgrade system.
<br />Upgrading from {$this->ipsclass->versions[$this->ipsclass->current_version]} to {$this->ipsclass->versions[$this->ipsclass->current_upgrade]}</strong>
</div>
<br />
<div class='tableborder'>
<div class='maintitle'>Òðåáóåòñÿ àâòîðèçàöèÿ</div>
<div class='maintitle'>Verification Required - Please Log In</div>
<table width='100%' cellspacing='0' cellpadding='5' align='center' border='0'>
<tr>
<td class='tdrow1' width='40%' valign='middle'>Âàøå èìÿ ïîëüçîâàòåëÿ íà ôîðóìå:</td>
<td class='tdrow1' width='40%' valign='middle'>Your Forums Username:</td>
<td class='tdrow2' width='60%' valign='middle'><input type='text' style='width:100%' name='username' value=''></td>
</tr>
<tr>
<td class='tdrow1' width='40%' valign='middle'>Âàø ïàðîëü íà ôîðóìå:</td>
<td class='tdrow1' width='40%' valign='middle'>Your Forums Password:</td>
<td class='tdrow2' width='60%' valign='middle'><input type='password' style='width:100%' name='password' value=''></td>
</tr>
<tr>
<td class='pformstrip' colspan='2'><div align='center'><input type='submit' value='Âîéòè' id='button' accesskey='s'></div></td>
<td class='pformstrip' colspan='2'><div align='center'><input type='submit' value='Log in' id='button' accesskey='s'></div></td>
</tr>
</table>
</div>
</form>";
$this->ipsclass->template->output("Âîéòè");
$this->ipsclass->template->output("Log In");
}
@@ -568,18 +578,25 @@ class core_functions
{
$member = array( 'id' => 0 );
$this->ipsclass->loginkey = $this->check_md5( $this->ipsclass->input['loginkey'] );
$this->ipsclass->securekey = $this->check_md5( $this->ipsclass->input['securekey'] );
$this->ipsclass->member_id = trim(intval($this->ipsclass->input['mid'] ) );
$this->ipsclass->loginkey = $this->check_md5( isset($this->ipsclass->input['loginkey']) ? $this->ipsclass->input['loginkey'] : '' );
$this->ipsclass->securekey = $this->check_md5( isset($this->ipsclass->input['securekey']) ? $this->ipsclass->input['securekey'] : '' );
$this->ipsclass->member_id = trim(intval( isset($this->ipsclass->input['mid']) ? $this->ipsclass->input['mid'] : 0 ) );
if ( ! $this->ipsclass->loginkey or ! $this->ipsclass->securekey )
{
return $member;
}
$this->ipsclass->DB->query( "SELECT m.*, g.* FROM ibf_members m
LEFT JOIN ibf_groups g ON ( m.mgroup=g.g_id )
WHERE member_login_key='{$this->ipsclass->loginkey}' and id='{$this->ipsclass->member_id}'" );
$this->ipsclass->DB->build_query( array( 'select' => 'm.*,g.*',
'from' => array( 'members' => 'm' ),
'where' => "m.member_login_key='{$this->ipsclass->loginkey}' and m.id='{$this->ipsclass->member_id}'",
'limit' => array( 0, 1 ),
'add_join' => array( 1 => array( 'type' => 'left',
'from' => array( 'groups' => 'g' ),
'where' => 'g.g_id=m.mgroup',
) )
) );
$this->ipsclass->DB->exec_query();
$member = $this->ipsclass->DB->fetch_row();