Version 3.4.8
This commit is contained in:
1 parent
b45ea0dffb
commit
c603205a25
1398 files changed
+36675
-31023
No files matched your search
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.6
|
||||
* IP.Board v3.4.8
|
||||
* HTML parsing core
|
||||
* Last Updated: $Date: 2012-06-08 09:28:02 +0100 (Fri, 08 Jun 2012) $
|
||||
* </pre>
|
||||
@@ -378,6 +378,12 @@ class classes_text_parser
|
||||
$close = $val[1];
|
||||
$content = $val[2];
|
||||
|
||||
// Leave emoticons from legacy versions alone.
|
||||
if ( stripos( $all, '<#EMO_DIR#>' ) !== false )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$html = str_replace( $all, '', $html );
|
||||
}
|
||||
}
|
||||
@@ -1070,9 +1076,10 @@ class classes_text_parser
|
||||
* Replace bad words
|
||||
*
|
||||
* @param string Raw text
|
||||
* @param bool If a URL is not allowed due to white/blacklist, the URL should be checked. See ticket 883140 & Line 1370 of classes_text_parser_bbcode
|
||||
* @return string Converted text
|
||||
*/
|
||||
public function parseBadWords( $text='' )
|
||||
public function parseBadWords( $text='', $stripUrls = TRUE )
|
||||
{
|
||||
/* @link http://community.invisionpower.com/resources/bugs.html/_/ip-board/report-center-bypass-word-filter-r40719 */
|
||||
if( self::$Perms['memberData']['member_group_id'] AND !self::$Perms['memberData']['g_id'] )
|
||||
@@ -1102,14 +1109,17 @@ class classes_text_parser
|
||||
}
|
||||
|
||||
/* strip out URLs so replacements aren't made */
|
||||
preg_match_all( '#((http|https|news|ftp)://(?:[^<>\)\[\"\s]+|[a-zA-Z0-9/\._\-!&\#;,%\+\?:=]+))#is', $text, $matches );
|
||||
|
||||
foreach( $matches[0] as $m )
|
||||
if ( $stripUrls )
|
||||
{
|
||||
$c = count( $urls );
|
||||
$urls[ $c ] = $m;
|
||||
preg_match_all( '#((http|https|news|ftp)://(?:[^<>\)\[\"\s]+|[a-zA-Z0-9/\._\-!&\#;,%\+\?:=]+))#is', $text, $matches );
|
||||
|
||||
foreach( $matches[0] as $m )
|
||||
{
|
||||
$c = count( $urls );
|
||||
$urls[ $c ] = $m;
|
||||
|
||||
$text = str_replace( $m, '<!--url{' . $c . '}-->', $text );
|
||||
$text = str_replace( $m, '<!--url{' . $c . '}-->', $text );
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.6
|
||||
* IP.Board v3.4.8
|
||||
* BBCode parsing core - common methods
|
||||
* Last Updated: $Date: 2012-06-08 09:28:02 +0100 (Fri, 08 Jun 2012) $
|
||||
* </pre>
|
||||
@@ -399,7 +399,7 @@ class class_text_parser_bbcode extends classes_text_parser
|
||||
/* Fix old expression "protection" */
|
||||
$txt = str_replace( "exp<b></b>ression", "expression", $txt );
|
||||
|
||||
/* Convert to BR */
|
||||
/* Convert to BR, but only if we're not working towards an editor */
|
||||
$txt = nl2br( $txt );
|
||||
|
||||
/* Restore preserved newlines */
|
||||
@@ -419,6 +419,7 @@ class class_text_parser_bbcode extends classes_text_parser
|
||||
$txt = str_replace( '</pre><br />', '</pre>', $txt );
|
||||
$txt = str_replace( '</div><br />', '</div>', $txt );
|
||||
$txt = str_replace( '</blockquote><br />', '</blockquote>', $txt );
|
||||
$txt = str_replace( '<p><br />', '<p>', $txt );
|
||||
|
||||
// Don't auto-link media.
|
||||
parent::$NoMediaAutoLinkify = true;
|
||||
@@ -1367,6 +1368,7 @@ class class_text_parser_bbcode extends classes_text_parser
|
||||
if ( ! $this->isAllowedUrl( $url ) )
|
||||
{
|
||||
/* Unlink */
|
||||
$url = $this->parseBadWords( $url, FALSE );
|
||||
$txt = str_replace( $raw, $url, $txt );
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.6
|
||||
* IP.Board v3.4.8
|
||||
* IP.Content custom bbcode
|
||||
* Last Updated: $Date: 2012-06-01 13:11:08 -0400 (Fri, 01 Jun 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.6
|
||||
* IP.Board v3.4.8
|
||||
* Custom bbcode plugin interfaces
|
||||
* Last Updated: $Date: 2012-05-24 16:33:36 +0100 (Thu, 24 May 2012) $
|
||||
* </pre>
|
||||
@@ -18,7 +18,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.6
|
||||
* IP.Board v3.4.8
|
||||
* BBCode parser: default custom bbcodes: img, quote, list, size, member, media, url, snapback
|
||||
* Last Updated: $Date: 2012-05-24 16:33:36 +0100 (Thu, 24 May 2012) $
|
||||
* </pre>
|
||||
@@ -1486,9 +1486,43 @@ class bbcode_plugin_url extends bbcode_parent_main_class
|
||||
return $option;
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Adding rel='nofollow'?
|
||||
//-----------------------------------------
|
||||
|
||||
$rels = array();
|
||||
$rel = '';
|
||||
$_title = '';
|
||||
|
||||
/* Fetch actual host for better matching */
|
||||
$data = @parse_url( $option );
|
||||
|
||||
if ( $this->settings['posts_add_nofollow'] )
|
||||
{
|
||||
if ( ! stristr( $data['host'], $_SERVER['HTTP_HOST'] ) )
|
||||
{
|
||||
$rels[] = "nofollow";
|
||||
}
|
||||
}
|
||||
|
||||
if ( $this->settings['links_external'] )
|
||||
{
|
||||
if ( ! stristr( $data['host'], $_SERVER['HTTP_HOST'] ) )
|
||||
{
|
||||
/* Look a little closer */
|
||||
$rels[] = "external";
|
||||
$_title = $this->lang->words['bbc_external_link'];
|
||||
}
|
||||
}
|
||||
|
||||
if ( count($rels) )
|
||||
{
|
||||
$rel = " rel='" . implode( ' ', $rels ) . "'";
|
||||
}
|
||||
|
||||
/* If this is just converting to HTML and not display, return the URL as
|
||||
* filters and such are tested on display */
|
||||
return "<a class='bbc_url' href='{$option}'>{$content}</a>";
|
||||
return "<a href='{$option}' class='bbc_url' title='{$_title}'{$rel}>{$content}</a>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.6
|
||||
* IP.Board v3.4.8
|
||||
* Text Parsing: HTML
|
||||
* Last Updated: $Date: 2012-06-08 09:28:02 +0100 (Fri, 08 Jun 2012) $
|
||||
* </pre>
|
||||
@@ -419,6 +419,14 @@ class class_text_parser_html extends classes_text_parser
|
||||
protected function _parseListTag( $tag, $between_text, $opening_tag, $parse_tag )
|
||||
{
|
||||
$list_type = trim( preg_replace( '#"?list-style-type:\s+?([\d\w\_\-]+);?"?#si', '\\1', $this->_getValueOfOption( 'style', $opening_tag ) ) );
|
||||
|
||||
if ( ! $list_type )
|
||||
{
|
||||
/* If we cannot find the list type from the style attribute, try classes */
|
||||
$classes = explode( ' ', trim( $this->_getValueOfOption( 'class', $opening_tag ) ) );
|
||||
$list_type = array_pop( $classes );
|
||||
}
|
||||
|
||||
$css = $this->_getValueOfOption( 'class', $opening_tag );
|
||||
|
||||
// -----------------------------------------
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.6
|
||||
* IP.Board v3.4.8
|
||||
* Text Parsing: LEGACY CR..STUFF
|
||||
* Last Updated: $Date: 2012-06-08 09:28:02 +0100 (Fri, 08 Jun 2012) $
|
||||
* </pre>
|
||||
|
||||
Reference in new issue
Block a user