mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-11 22:08:54 +00:00
Magic URL updates
git-svn-id: file:///svn/phpbb/trunk@2992 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
72f1ad476a
commit
8f0890acd1
2 changed files with 23 additions and 22 deletions
|
@ -36,7 +36,7 @@ class parse_message
|
|||
$match = array();
|
||||
$replace = array();
|
||||
|
||||
$match[] = '#sid=[a-z0-9]+&?#';
|
||||
$match[] = '#sid=[a-z0-9]*?&?#';
|
||||
$replace[] = '';
|
||||
$match[] = "#([\r\n][\s]+){3,}#";
|
||||
$replace[] = "\n\n";
|
||||
|
@ -94,7 +94,7 @@ class parse_message
|
|||
{
|
||||
global $config, $user;
|
||||
|
||||
if ( $html )
|
||||
if ($html)
|
||||
{
|
||||
// If $html is true then "allowed_tags" are converted back from entity
|
||||
// form, others remain
|
||||
|
@ -103,7 +103,7 @@ class parse_message
|
|||
$match = array();
|
||||
$replace = array();
|
||||
|
||||
foreach ( $allowed_tags as $tag )
|
||||
foreach ($allowed_tags as $tag)
|
||||
{
|
||||
$match[] = '#<(\/?' . str_replace('*', '.*?', $tag) . ')>#i';
|
||||
$replace[] = '<\1>';
|
||||
|
@ -128,7 +128,7 @@ class parse_message
|
|||
{
|
||||
global $config;
|
||||
|
||||
if ( $url )
|
||||
if ($url)
|
||||
{
|
||||
$server_protocol = ( $config['cookie_secure'] ) ? 'https://' : 'http://';
|
||||
$server_port = ( $config['server_port'] <> 80 ) ? ':' . trim($config['server_port']) . '/' : '/';
|
||||
|
@ -138,19 +138,19 @@ class parse_message
|
|||
|
||||
// relative urls for this board
|
||||
$match[] = '#' . $server_protocol . trim($config['server_name']) . $server_port . preg_replace('/^\/?(.*?)(\/)?$/', '\1', trim($config['script_path'])) . '/([^\t\n\r <"\']+)#i';
|
||||
$replace[] = '<a href="\1" target="_blank">\1</a>';
|
||||
$replace[] = '<!-- l --><a href="\1" target="_blank">\1</a><!-- l -->';
|
||||
|
||||
// matches a xxxx://aaaaa.bbb.cccc. ...
|
||||
$match[] = '#([\n ])([\w]+?://.*?)([^\t\n\r <"\'])#ie';
|
||||
$replace[] = "'\\1<!-- m --><a href=\"\\2\" target=\"_blank\">' . ( ( strlen('\\2') > 55 ) ?substr('\\2', 0, 39) . ' ... ' . substr('\\2', -10) : '\\2' ) . '</a><!-- m -->\\3'";
|
||||
$match[] = '#(^|[\n ])([\w]+?://[\w\?&\#,\.\+\-!~\/=%]+)#ie';
|
||||
$replace[] = "'\\1<!-- m --><a href=\"\\2\" target=\"_blank\">' . ( ( strlen('\\2') > 55 ) ?substr('\\2', 0, 39) . ' ... ' . substr('\\2', -10) : '\\2' ) . '</a><!-- m -->'";
|
||||
|
||||
// matches a "www.xxxx.yyyy[/zzzz]" kinda lazy URL thing
|
||||
$match[] = '#(^|[\n ])(www\.[\w\-]+\.[\w\-.\~]+(?:/[^\t\n\r <"\']*)?)#ie';
|
||||
$replace[] = "'\\1<!-- m --><a href=\"http://\\2\" target=\"_blank\">' . ( ( strlen('\\2') > 55 ) ?substr('\\2', 0, 39) . ' ... ' . substr('\\2', -10) : '\\2' ) . '</a><!-- m -->'";
|
||||
$replace[] = "'\\1<!-- w --><a href=\"http://\\2\" target=\"_blank\">' . ( ( strlen('\\2') > 55 ) ?substr('\\2', 0, 39) . ' ... ' . substr('\\2', -10) : '\\2' ) . '</a><!-- w -->'";
|
||||
|
||||
// matches an email@domain type address at the start of a line, or after a space.
|
||||
$match[] = '#(^|[\n ])([a-z0-9\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)#ie';
|
||||
$replace[] = "'\\1<!-- m --><a href=\"mailto:\\2\">' . ( ( strlen('\\2') > 55 ) ?substr('\\2', 0, 39) . ' ... ' . substr('\\2', -10) : '\\2' ) . '</a><!-- m -->'";
|
||||
$replace[] = "'\\1<!-- e --><a href=\"mailto:\\2\">' . ( ( strlen('\\2') > 55 ) ?substr('\\2', 0, 39) . ' ... ' . substr('\\2', -10) : '\\2' ) . '</a><!-- e -->'";
|
||||
|
||||
$message = preg_replace($match, $replace, $message);
|
||||
}
|
||||
|
@ -165,9 +165,7 @@ class parse_message
|
|||
}
|
||||
}
|
||||
|
||||
// Parses a given message and updates/maintains
|
||||
// the fulltext word indexes NOTE this is not complete
|
||||
// nor 'entirely' (!) functional ...
|
||||
// Parses a given message and updates/maintains the fulltext tables
|
||||
class fulltext_search
|
||||
{
|
||||
function split_words(&$text)
|
||||
|
@ -376,7 +374,7 @@ class fulltext_search
|
|||
|
||||
$row = $db->sql_fetchrow($result);
|
||||
|
||||
if ( $row['total_posts'] >= 100 )
|
||||
if ($row['total_posts'] >= 100)
|
||||
{
|
||||
$sql = "SELECT word_id
|
||||
FROM " . SEARCH_MATCH_TABLE . "
|
||||
|
@ -385,13 +383,13 @@ class fulltext_search
|
|||
$result = $db->sql_query($sql);
|
||||
|
||||
$in_sql = '';
|
||||
while ( $row = $db->sql_fetchrow($result) )
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$in_sql .= ( ( $in_sql != '' ) ? ', ' : '' ) . $row['word_id'];
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if ( $in_sql )
|
||||
if ($in_sql)
|
||||
{
|
||||
$sql = "UPDATE " . SEARCH_WORD_TABLE . "
|
||||
SET word_common = " . TRUE . "
|
||||
|
@ -412,7 +410,7 @@ class fulltext_search
|
|||
GROUP BY m.word_id";
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
if ( $row = $db->sql_fetchrow($result) )
|
||||
if ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$in_sql = '';
|
||||
while ( $row = $db->sql_fetchrow($result) )
|
||||
|
@ -421,7 +419,7 @@ class fulltext_search
|
|||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if ( $in_sql )
|
||||
if ($in_sql)
|
||||
{
|
||||
$sql = "DELETE FROM " . SEARCH_WORD_TABLE . "
|
||||
WHERE word_id IN ($in_sql)";
|
||||
|
@ -504,8 +502,5 @@ function generate_smilies($mode)
|
|||
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
|
||||
}
|
||||
}
|
||||
//
|
||||
// END NEW CODE
|
||||
// ---------------------------------------------
|
||||
|
||||
?>
|
|
@ -177,7 +177,7 @@ if (isset($post))
|
|||
$enable_html = (!intval($config['allow_html'])) ? 0 : ((!empty($disable_html)) ? 0 : 1);
|
||||
$enable_bbcode = (!intval($config['allow_bbcode'])) ? 0 : ((!empty($disable_bbcode)) ? 0 : 1);
|
||||
$enable_smilies = (!intval($config['allow_smilies'])) ? 0 : ((!empty($disable_smilies)) ? 0 : 1);
|
||||
$enable_urls = (!empty($disable_magic_url)) ? 1 : 0;
|
||||
$enable_urls = (!empty($disable_magic_url)) ? 0 : 1;
|
||||
$enable_sig = (empty($attach_sig) ) ? 1 : 0;
|
||||
|
||||
// Check checksum ... don't re-parse message if the same
|
||||
|
@ -461,7 +461,6 @@ if (isset($post))
|
|||
$template->assign_vars(array(
|
||||
'ERROR_MESSAGE' => $err_msg)
|
||||
);
|
||||
|
||||
}
|
||||
//
|
||||
// PROCESS SUBMIT
|
||||
|
@ -476,11 +475,16 @@ if (isset($post))
|
|||
//
|
||||
|
||||
// Remove encoded bbcode, urls, etc.
|
||||
$server_protocol = ($config['cookie_secure']) ? 'https://' : 'http://';
|
||||
$server_port = ($config['server_port'] <> 80) ? ':' . trim($config['server_port']) . '/' : '/';
|
||||
|
||||
$match = array(
|
||||
'#<!\-\- b \-\-><b>(.*?)</b><!\-\- b \-\->#s',
|
||||
'#<!\-\- u \-\-><u>(.*?)</u><!\-\- u \-\->#s',
|
||||
'#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#',
|
||||
'#<!\-\- m \-\-><a href="(.*?)" target="_blank">.*?</a><!\-\- m \-\->#',
|
||||
'#<!\-\- w \-\-><a href="http:\/\/(.*?)" target="_blank">.*?</a><!\-\- w \-\->#',
|
||||
'#<!\-\- l \-\-><a href="(.*?)" target="_blank">.*?</a><!\-\- l \-\->#',
|
||||
);
|
||||
|
||||
$replace = array(
|
||||
|
@ -488,6 +492,8 @@ $replace = array(
|
|||
'[u]\1[/u]',
|
||||
'\1',
|
||||
'\1',
|
||||
'\1',
|
||||
$server_protocol . trim($config['server_name']) . $server_port . preg_replace('/^\/?(.*?)(\/)?$/', '\1', trim($config['script_path'])) . '/\1',
|
||||
);
|
||||
|
||||
$post_text = preg_replace($match, $replace, $post_text);
|
||||
|
|
Loading…
Add table
Reference in a new issue