mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 14:18:52 +00:00
removed the ability to parse after closing brackets, since this seems to create a bunch of new problems
added a space after quotes for correctly parsing urls/smilies instead of splitting the url just compare with strpos david: please review once you get home. :) git-svn-id: file:///svn/phpbb/trunk@6051 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
896e552dde
commit
6da1354976
4 changed files with 31 additions and 34 deletions
|
@ -155,6 +155,19 @@
|
||||||
</table>
|
</table>
|
||||||
<!-- ENDIF -->
|
<!-- ENDIF -->
|
||||||
|
|
||||||
|
<div class="clearfix"> </div>
|
||||||
|
|
||||||
|
<form id="quick" method="post" action="{U_ACTION}">
|
||||||
|
|
||||||
|
<fieldset class="quick" style="float: right;">
|
||||||
|
<input type="hidden" name="action" value="quickadd" />
|
||||||
|
|
||||||
|
<select name="quick_install">{S_INSTALL_OPTIONS}</select>
|
||||||
|
<input class="button2" name="quickadd" type="submit" value="{L_ADD_MODULE}" />
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
<form id="module" method="post" action="{U_ACTION}">
|
<form id="module" method="post" action="{U_ACTION}">
|
||||||
|
|
||||||
<fieldset class="quick" style="float: left;">
|
<fieldset class="quick" style="float: left;">
|
||||||
|
@ -167,16 +180,7 @@
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<form id="quick" method="post" action="{U_ACTION}">
|
<div class="clearfix"> </div>
|
||||||
|
|
||||||
<fieldset class="quick">
|
|
||||||
<input type="hidden" name="action" value="quickadd" />
|
|
||||||
|
|
||||||
<select name="quick_install">{S_INSTALL_OPTIONS}</select>
|
|
||||||
<input class="button2" name="quickadd" type="submit" value="{L_ADD_MODULE}" />
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<form id="mselect" method="post" action="{U_SEL_ACTION}">
|
<form id="mselect" method="post" action="{U_SEL_ACTION}">
|
||||||
<fieldset class="quick">
|
<fieldset class="quick">
|
||||||
|
|
|
@ -1868,19 +1868,19 @@ function make_clickable($text, $server_url = false)
|
||||||
// Be sure to not let the matches cross over. ;)
|
// Be sure to not let the matches cross over. ;)
|
||||||
|
|
||||||
// relative urls for this board
|
// relative urls for this board
|
||||||
$magic_url_match[] = '#(^|[\n \]]|\()(' . preg_quote($server_url, '#') . ')/(([^[ \t\n\r<"\'\)&]+|&(?!lt;|quot;))*)#ie';
|
$magic_url_match[] = '#(^|[\n ]|\()(' . preg_quote($server_url, '#') . ')/(([^[ \t\n\r<"\'\)&]+|&(?!lt;|quot;))*)#ie';
|
||||||
$magic_url_replace[] = "'\$1<!-- l --><a href=\"\$2/' . preg_replace('/(&|\?)sid=[0-9a-f]{32}/', '\\1', '\$3') . '\">' . preg_replace('/(&|\?)sid=[0-9a-f]{32}/', '\\1', '\$3') . '</a><!-- l -->'";
|
$magic_url_replace[] = "'\$1<!-- l --><a href=\"\$2/' . preg_replace('/(&|\?)sid=[0-9a-f]{32}/', '\\1', '\$3') . '\">' . preg_replace('/(&|\?)sid=[0-9a-f]{32}/', '\\1', '\$3') . '</a><!-- l -->'";
|
||||||
|
|
||||||
// matches a xxxx://aaaaa.bbb.cccc. ...
|
// matches a xxxx://aaaaa.bbb.cccc. ...
|
||||||
$magic_url_match[] = '#(^|[\n \]]|\()([\w]+:/{2}.*?([^[ \t\n\r<"\'\)&]+|&(?!lt;|quot;))*)#ie';
|
$magic_url_match[] = '#(^|[\n ]|\()([\w]+:/{2}.*?([^[ \t\n\r<"\'\)&]+|&(?!lt;|quot;))*)#ie';
|
||||||
$magic_url_replace[] = "'\$1<!-- m --><a href=\"\$2\" target=\"_blank\">' . ((strlen('\$2') > 55) ? substr(str_replace('&', '&', '\$2'), 0, 39) . ' ... ' . substr(str_replace('&', '&', '\$2'), -10) : '\$2') . '</a><!-- m -->'";
|
$magic_url_replace[] = "'\$1<!-- m --><a href=\"\$2\" target=\"_blank\">' . ((strlen('\$2') > 55) ? substr(str_replace('&', '&', '\$2'), 0, 39) . ' ... ' . substr(str_replace('&', '&', '\$2'), -10) : '\$2') . '</a><!-- m -->'";
|
||||||
|
|
||||||
// matches a "www.xxxx.yyyy[/zzzz]" kinda lazy URL thing
|
// matches a "www.xxxx.yyyy[/zzzz]" kinda lazy URL thing
|
||||||
$magic_url_match[] = '#(^|[\n \]]|\()(w{3}\.[\w\-]+\.[\w\-.\~]+(?:[^[ \t\n\r<"\'\)&]+|&(?!lt;|quot;))*)#ie';
|
$magic_url_match[] = '#(^|[\n ]|\()(w{3}\.[\w\-]+\.[\w\-.\~]+(?:[^[ \t\n\r<"\'\)&]+|&(?!lt;|quot;))*)#ie';
|
||||||
$magic_url_replace[] = "'\$1<!-- w --><a href=\"http://\$2\" target=\"_blank\">' . ((strlen('\$2') > 55) ? substr(str_replace('&', '&', '\$2'), 0, 39) . ' ... ' . substr(str_replace('&', '&', '\$2'), -10) : '\$2') . '</a><!-- w -->'";
|
$magic_url_replace[] = "'\$1<!-- w --><a href=\"http://\$2\" target=\"_blank\">' . ((strlen('\$2') > 55) ? substr(str_replace('&', '&', '\$2'), 0, 39) . ' ... ' . substr(str_replace('&', '&', '\$2'), -10) : '\$2') . '</a><!-- w -->'";
|
||||||
|
|
||||||
// matches an email@domain type address at the start of a line, or after a space or after what might be a BBCode.
|
// matches an email@domain type address at the start of a line, or after a space or after what might be a BBCode.
|
||||||
$magic_url_match[] = '#(^|[\n \]]|\()([a-z0-9&\-_.]+?@[\w\-]+\.(?:[\w\-\.]+\.)?[\w]+)#ie';
|
$magic_url_match[] = '#(^|[\n ]|\()([a-z0-9&\-_.]+?@[\w\-]+\.(?:[\w\-\.]+\.)?[\w]+)#ie';
|
||||||
$magic_url_replace[] = "'\$1<!-- e --><a href=\"mailto:\$2\">' . ((strlen('\$2') > 55) ? substr('\$2', 0, 39) . ' ... ' . substr('\$2', -10) : '\$2') . '</a><!-- e -->'";
|
$magic_url_replace[] = "'\$1<!-- e --><a href=\"mailto:\$2\">' . ((strlen('\$2') > 55) ? substr('\$2', 0, 39) . ' ... ' . substr('\$2', -10) : '\$2') . '</a><!-- e -->'";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -613,7 +613,7 @@ class bbcode_firstpass extends bbcode
|
||||||
if ($buffer == '/quote' && sizeof($close_tags))
|
if ($buffer == '/quote' && sizeof($close_tags))
|
||||||
{
|
{
|
||||||
// we have found a closing tag
|
// we have found a closing tag
|
||||||
|
// Add space at the end of the closing tag to allow following urls/smilies to be parsed correctly
|
||||||
$out .= array_pop($close_tags) . '] ';
|
$out .= array_pop($close_tags) . '] ';
|
||||||
$tok = '[';
|
$tok = '[';
|
||||||
$buffer = '';
|
$buffer = '';
|
||||||
|
@ -740,7 +740,7 @@ class bbcode_firstpass extends bbcode
|
||||||
|
|
||||||
if ($var1)
|
if ($var1)
|
||||||
{
|
{
|
||||||
$retval = '[email=' . $this->bbcode_specialchars($email) . ':' . $this->bbcode_uid . ']' . $this->bbcode_specialchars($txt) . '[/email:' . $this->bbcode_uid . ']';
|
$retval = '[email=' . $this->bbcode_specialchars($email) . ':' . $this->bbcode_uid . ']' . $txt . '[/email:' . $this->bbcode_uid . ']';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -768,7 +768,7 @@ class bbcode_firstpass extends bbcode
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
// relative urls for this board
|
// Checking urls
|
||||||
if (preg_match('#' . preg_quote(generate_board_url(), '#') . '/([^ \t\n\r<"\']+)#i', $url) ||
|
if (preg_match('#' . preg_quote(generate_board_url(), '#') . '/([^ \t\n\r<"\']+)#i', $url) ||
|
||||||
preg_match('#([\w]+?://.*?[^ \t\n\r<"\']*)#i', $url) ||
|
preg_match('#([\w]+?://.*?[^ \t\n\r<"\']*)#i', $url) ||
|
||||||
preg_match('#(www\.[\w\-]+\.[\w\-.\~]+(?:/[^ \t\n\r<"\']*)?)#i', $url))
|
preg_match('#(www\.[\w\-]+\.[\w\-.\~]+(?:/[^ \t\n\r<"\']*)?)#i', $url))
|
||||||
|
@ -785,26 +785,13 @@ class bbcode_firstpass extends bbcode
|
||||||
$url = 'http://' . $url;
|
$url = 'http://' . $url;
|
||||||
}
|
}
|
||||||
|
|
||||||
$url_info = parse_url($url);
|
|
||||||
$script_test_path = explode('/', $url_info['path']);
|
|
||||||
$test_url = $url_info['scheme'] . '://' . $url_info['host'];
|
|
||||||
if (!empty($url_info['port']))
|
|
||||||
{
|
|
||||||
$test_url .= ':' . $url_info['port'];
|
|
||||||
}
|
|
||||||
|
|
||||||
// We take our test url and stick on the first bit of text we get to check if we are really at the domain. If so, lets go!
|
// We take our test url and stick on the first bit of text we get to check if we are really at the domain. If so, lets go!
|
||||||
if ($test_url . '/' . $script_test_path[1] == generate_board_url())
|
if (strpos($url, generate_board_url()) !== false && strpos($url, 'sid=') !== false)
|
||||||
{
|
{
|
||||||
$url_info['query'] = preg_replace('/(?:&|^)sid=[0-9a-f]{32}/', '', $url_info['query']);
|
$url = preg_replace('/(&|\?)sid=[0-9a-f]{32}/', '\1', $url);
|
||||||
$url = $test_url . $url_info['path'] . '?' . $url_info['query'];
|
|
||||||
if (!empty($url_info['fragment']))
|
|
||||||
{
|
|
||||||
$url .= $url_info['fragment'];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return ($var1) ? '[url=' . $this->bbcode_specialchars($url) . ':' . $this->bbcode_uid . ']' . $this->bbcode_specialchars($var2) . '[/url:' . $this->bbcode_uid . ']' : '[url:' . $this->bbcode_uid . ']' . $this->bbcode_specialchars($url) . '[/url:' . $this->bbcode_uid . ']';
|
return ($var1) ? '[url=' . $this->bbcode_specialchars($url) . ':' . $this->bbcode_uid . ']' . $var2 . '[/url:' . $this->bbcode_uid . ']' : '[url:' . $this->bbcode_uid . ']' . $this->bbcode_specialchars($url) . '[/url:' . $this->bbcode_uid . ']';
|
||||||
}
|
}
|
||||||
|
|
||||||
return '[url' . (($var1) ? '=' . $var1 : '') . ']' . $var2 . '[/url]';
|
return '[url' . (($var1) ? '=' . $var1 : '') . ']' . $var2 . '[/url]';
|
||||||
|
|
|
@ -251,6 +251,12 @@ class ucp_register
|
||||||
// Register user...
|
// Register user...
|
||||||
$user_id = user_add($user_row, $cp_data);
|
$user_id = user_add($user_row, $cp_data);
|
||||||
|
|
||||||
|
// This should not happen, because the required variables are listed above...
|
||||||
|
if ($user_id === false)
|
||||||
|
{
|
||||||
|
trigger_error($user->lang['NO_USER'], E_USER_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
if ($coppa && $config['email_enable'])
|
if ($coppa && $config['email_enable'])
|
||||||
{
|
{
|
||||||
$message = $user->lang['ACCOUNT_COPPA'];
|
$message = $user->lang['ACCOUNT_COPPA'];
|
||||||
|
|
Loading…
Add table
Reference in a new issue