Version 2.1.7

This commit is contained in:
Neo committed 2025-12-19 00:21:15 -08:00
1 parent 0eecc172d9
commit f73f8bff6d
941 files changed
+215301 -103093

No files matched your search

+35 -29
View File
@@ -2,16 +2,28 @@
/*
+--------------------------------------------------------------------------
| Invision Power Board v2.0.0
| Invision Power Board 2.1.7
| =============================================
| by Matthew Mecham
| (c) 2001 - 2004 Invision Power Services, Inc.
| (c) 2001 - 2005 Invision Power Services, Inc.
| http://www.invisionpower.com
| =============================================
| Web: http://www.invisionboard.com
| Time: Tue, 21 Sep 2004 16:34:28 GMT
| Release: 150aa7a702c3c8b6f6eb90ad49305d2f
| http://www.ibresource.ru/products/invisionpowerboard/
| Time: Tuesday 18th of July 2006 05:56:00 PM
| Release: 52f408a29988b02f45b5e6f4ba5af0ae
| 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)
+---------------------------------------------------------------------------
| > $Date: 2005-10-10 14:08:54 +0100 (Mon, 10 Oct 2005) $
| > $Revision: 23 $
| > $Author: matt $
+---------------------------------------------------------------------------
|
| > Text processor module
@@ -50,8 +62,6 @@ class post_parser {
function post_parser($load=0)
{
global $ibforums, $DB;
$this->strip_quotes = $ibforums->vars['strip_quotes'];
if ( $load )
@@ -67,7 +77,7 @@ class post_parser {
function check_caches($load=0)
{
global $ibforums, $std, $DB;
$load=0;
if ( ! is_array( $ibforums->cache['emoticons'] ) )
{
$ibforums->cache['emoticons'] = array();
@@ -224,7 +234,7 @@ class post_parser {
// Do [CODE] tag
//-----------------------------------------
$txt = preg_replace( "#\[code\](.+?)\[/code\]#ies", "\$this->regex_code_tag('\\1')", $txt );
$txt = preg_replace( "#\[code\](.+?)\[/code\]#ies", "\$this->regex_code_tag( '\\1' )", $txt );
//-----------------------------------------
// Auto parse URLs
@@ -351,7 +361,7 @@ class post_parser {
{
foreach( $ibforums->cache['emoticons'] as $a_id => $row)
{
if ( $row['emo_set'] != $ibforums->skin['_emodir'] )
if ( $row['emo_set'] != $this->ipsclass->skin['_emodir'] )
{
continue;
}
@@ -528,7 +538,7 @@ class post_parser {
if ( $row['bbcode_useoption'] )
{
preg_match_all( "#(\[".$row['bbcode_tag']."=(?:"|&\#39;)?(.+?)(?:"|&\#39;)?\])(.+?)(\[/".$row['bbcode_tag']."\])#si", $t, $match );
preg_match_all( "#(\[".preg_quote($row['bbcode_tag'], '#' )."=(?:"|&\#39;)?(.+?)(?:"|&\#39;)?\])(.+?)(\[/".preg_quote($row['bbcode_tag'], '#' )."\])#si", $t, $match );
for ($i=0; $i < count($match[0]); $i++)
{
@@ -540,7 +550,7 @@ class post_parser {
}
else
{
preg_match_all( "#(\[".$row['bbcode_tag']."\])(.+?)(\[/".$row['bbcode_tag']."\])#si", $t, $match );
preg_match_all( "#(\[".preg_quote($row['bbcode_tag'], '#' )."\])(.+?)(\[/".preg_quote($row['bbcode_tag'], '#' )."\])#si", $t, $match );
for ($i=0; $i < count($match[0]); $i++)
{
@@ -791,12 +801,9 @@ class post_parser {
{
$sql = stripslashes($sql);
while ( preg_match( "#<span style='.+?'>(.+?)</span>#is", $sql ) )
{
$sql = preg_replace( "#<span style='.+?'>(.+?)</span>#is", "\\1", $sql );
}
$sql = preg_replace( "#\s*$#" , "", $sql );
$sql = preg_replace( "#<span style='.+?'>#is", "", $sql );
$sql = str_replace( "</span>" , "", $sql );
$sql = preg_replace( "#\s*$#" , "", $sql );
return '[sql]'.$sql.'[/sql]';
@@ -806,12 +813,9 @@ class post_parser {
{
$html = stripslashes($html);
while ( preg_match( "#<span style='.+?'>(.+?)</span>#is", $html ) )
{
$html = preg_replace( "#<span style='.+?'>(.+?)</span>#is", "\\1", $html );
}
$html = preg_replace( "#\s*$#" , "", $html );
$html = preg_replace( "#<span style='.+?'>#is", "", $html );
$html = str_replace( "</span>" , "", $html );
$html = preg_replace( "#\s*$#" , "", $html );
return '[html]'.$html.'[/html]';
@@ -856,8 +860,8 @@ class post_parser {
global $ibforums;
$used = array(
'quote' => array( 'title' => 'QUOTE', 'css_top' => 'quotetop' , 'css_main' => 'quotemain' ),
'code' => array( 'title' => 'CODE' , 'css_top' => 'codetop' , 'css_main' => 'codemain' ),
'quote' => array( 'title' => 'Öèòàòà', 'css_top' => 'quotetop' , 'css_main' => 'quotemain' ),
'code' => array( 'title' => 'Èñõîäíûé êîä' , 'css_top' => 'codetop' , 'css_main' => 'codemain' ),
'sql' => array( 'title' => 'SQL' , 'css_top' => 'sqltop' , 'css_main' => 'sqlmain' ),
'html' => array( 'title' => 'HTML' , 'css_top' => 'htmltop' , 'css_main' => 'htmlmain' )
);
@@ -1304,7 +1308,7 @@ class post_parser {
$url = str_replace( " ", "%20", $url );
return "<img src='$url' border='0' alt='user posted image' />";
return "<img src='$url' border='0' alt='îïóáëèêîâàííîå ïîëüçîâàòåëåì èçîáðàæåíèå' />";
}
@@ -1329,11 +1333,11 @@ class post_parser {
$IN['1'] = $attr[0];
}
$IN['1'] = preg_replace( "/[&\(\)\.\%]/", "", $IN['1'] );
$IN['1'] = preg_replace( "/[&\(\)\.\%\[\]<>]/", "", $IN['1'] );
if ($IN['s'] == 'size')
{
$IN['1'] = $IN['1'] + 7;
$IN['1'] = intval($IN['1']) + 7;
if ($IN['1'] > 30)
{
@@ -1344,10 +1348,12 @@ class post_parser {
}
else if ($IN['s'] == 'col')
{
return "<span style='color:".$IN['1']."'>".$IN['2']."</span>";
$IN[1] = preg_replace( "/[^\d\w\#\s]/s", "", $IN[1] );
return "<span style='color:".$IN[1]."'>".$IN['2']."</span>";
}
else if ($IN['s'] == 'font')
{
$IN['1'] = preg_replace( "/[^\d\w\#\-\_\s]/s", "", $IN['1'] );
return "<span style='font-family:".$IN['1']."'>".$IN['2']."</span>";
}
}