aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/acp
diff options
context:
space:
mode:
authorNils Adermann <naderman@naderman.de>2007-08-19 21:29:31 +0000
committerNils Adermann <naderman@naderman.de>2007-08-19 21:29:31 +0000
commit23e3766497d2c17213a5ff4ab52bcd1722f1cebb (patch)
tree9bde7e04dbc6c2824f173a2b631ff67dc79dac9e /phpBB/includes/acp
parentc06b3ce84ac21d45a59df601ac25169beefed81f (diff)
downloadforums-23e3766497d2c17213a5ff4ab52bcd1722f1cebb.tar
forums-23e3766497d2c17213a5ff4ab52bcd1722f1cebb.tar.gz
forums-23e3766497d2c17213a5ff4ab52bcd1722f1cebb.tar.bz2
forums-23e3766497d2c17213a5ff4ab52bcd1722f1cebb.tar.xz
forums-23e3766497d2c17213a5ff4ab52bcd1722f1cebb.zip
- Prevent {URL} token in custom BBCodes from make_clickable messing [Bug #14151]
- Added alternative tokens to custom BBCodes which are safe for CSS/Javascript and changed TEXT token to entitise opening and closing parantheses. git-svn-id: file:///svn/phpbb/trunk@8056 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/acp')
-rw-r--r--phpBB/includes/acp/acp_bbcodes.php14
1 files changed, 10 insertions, 4 deletions
diff --git a/phpBB/includes/acp/acp_bbcodes.php b/phpBB/includes/acp/acp_bbcodes.php
index ce0d12b356..235028fc3c 100644
--- a/phpBB/includes/acp/acp_bbcodes.php
+++ b/phpBB/includes/acp/acp_bbcodes.php
@@ -295,16 +295,22 @@ class acp_bbcodes
// @todo Make sure to change this too if something changed in message parsing
$tokens = array(
'URL' => array(
- '!([a-z0-9]+://)?([^< "\r\n\t\]]*?)!ie' => "(('\$1') ? '\$1\$2' : 'http://\$2')"
+ '!(?:(' . str_replace(array('!', '\#'), array('\!', '#'), get_preg_expression('url')) . ')|(' . str_replace(array('!', '\#'), array('\!', '#'), get_preg_expression('www_url')) . '))!ie' => "\$this->bbcode_specialchars(('\$1') ? '\$1' : 'http://\$2')"
),
'LOCAL_URL' => array(
- '!([^:]+/[^< "\r\n\t\]]*?)!' => '$1'
+ '!(' . str_replace(array('!', '\#'), array('\!', '#'), get_preg_expression('relative_url')) . ')!e' => "\$this->bbcode_specialchars('$1')"
),
'EMAIL' => array(
- '!([a-z0-9]+[a-z0-9\-\._]*@(?:(?:[0-9]{1,3}\.){3,5}[0-9]{1,3}|[a-z0-9]+[a-z0-9\-\._]*\.[a-z]+))!i' => '$1'
+ '!([a-z0-9]+[a-z0-9\-\._]*@(?:(?:[0-9]{1,3}\.){3,5}[0-9]{1,3}|[a-z0-9]+[a-z0-9\-\._]*\.[a-z]+))!i' => "\$this->bbcode_specialchars('$1')"
),
'TEXT' => array(
- '!(.*?)!es' => "str_replace(\"\\r\\n\",\"\\n\", str_replace('\\\"', '\"', str_replace('\\'', '&#39;', trim('\$1'))))"
+ '!(.*?)!es' => "str_replace(array(\"\\r\\n\", '\\\"', '\\'', '(', ')'), array(\"\\n\", '\"', '&#39;', '&#40;', '&#41;'), trim('\$1'))"
+ ),
+ 'SIMPLETEXT' => array(
+ '!([a-zA-Z0-9-+.,_ ]+)!' => "$1"
+ ),
+ 'IDENTIFIER' => array(
+ '!([a-zA-Z0-9-_]+)!' => "$1"
),
'COLOR' => array(
'!([a-z]+|#[0-9abcdef]+)!i' => '$1'