mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-07 09:16:55 +02:00
More fixes and updates
git-svn-id: file:///svn/phpbb/branches/phpBB-2_0_0@2572 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
@@ -158,18 +158,18 @@ function auth($type, $forum_id, $userdata, $f_access = '')
|
||||
|
||||
if ( $row = $db->sql_fetchrow($result) )
|
||||
{
|
||||
if ( $forum_id != AUTH_LIST_ALL)
|
||||
do
|
||||
{
|
||||
$u_access[] = $row;
|
||||
}
|
||||
else
|
||||
{
|
||||
do
|
||||
if ( $forum_id != AUTH_LIST_ALL)
|
||||
{
|
||||
$u_access[] = $row;
|
||||
}
|
||||
else
|
||||
{
|
||||
$u_access[$row['forum_id']][] = $row;
|
||||
}
|
||||
while( $row = $db->sql_fetchrow($result) );
|
||||
}
|
||||
while( $row = $db->sql_fetchrow($result) );
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -606,7 +606,7 @@ function make_clickable($text)
|
||||
// matches an "xxxx://yyyy" URL at the start of a line, or after a space.
|
||||
// xxxx can only be alpha characters.
|
||||
// yyyy is anything up to the first space, newline, or comma.
|
||||
$ret = preg_replace("#([\n ])([a-z]+?)://([^,\t <\n\r]+)#i", "\\1<a href=\"\\2://\\3\" target=\"_blank\">\\2://\\3</a>", $ret);
|
||||
$ret = preg_replace("#([\n ])([a-z]+?)://([^\t <\n\r]+)#i", "\\1<a href=\"\\2://\\3\" target=\"_blank\">\\2://\\3</a>", $ret);
|
||||
|
||||
// matches a "www.xxxx.yyyy[/zzzz]" kinda lazy URL thing
|
||||
// Must contain at least 2 dots. xxxx contains either alphanum, or "-"
|
||||
@@ -614,7 +614,7 @@ function make_clickable($text)
|
||||
// zzzz is optional.. will contain everything up to the first space, newline, or comma.
|
||||
// This is slightly restrictive - it's not going to match stuff like "forums.foo.com"
|
||||
// This is to keep it from getting annoying and matching stuff that's not meant to be a link.
|
||||
$ret = preg_replace("#([\n ])www\.([a-z0-9\-]+)\.([a-z0-9\-.\~]+)((?:/[^,\t <\n\r]*)?)#i", "\\1<a href=\"http://www.\\2.\\3\\4\" target=\"_blank\">www.\\2.\\3\\4</a>", $ret);
|
||||
$ret = preg_replace("#([\n ])www\.([a-z0-9\-]+)\.([a-z0-9\-.\~]+)((?:/[^\t <\n\r]*)?)#i", "\\1<a href=\"http://www.\\2.\\3\\4\" target=\"_blank\">www.\\2.\\3\\4</a>", $ret);
|
||||
|
||||
// matches an email@domain type address at the start of a line, or after a space.
|
||||
// Note: Only the followed chars are valid; alphanums, "-", "_" and or ".".
|
||||
|
@@ -397,7 +397,7 @@ function update_post_stats(&$mode, &$post_data, &$forum_id, &$topic_id, &$post_i
|
||||
|
||||
$topic_update_sql .= "topic_replies = topic_replies - 1";
|
||||
|
||||
$sql = "SELECT MAX(post_id) AS post_id
|
||||
$sql = "SELECT MAX(post_id) AS last_post_id
|
||||
FROM " . POSTS_TABLE . "
|
||||
WHERE topic_id = $topic_id";
|
||||
if ( !($db->sql_query($sql)) )
|
||||
@@ -407,13 +407,13 @@ function update_post_stats(&$mode, &$post_data, &$forum_id, &$topic_id, &$post_i
|
||||
|
||||
if ( $row = $db->sql_fetchrow($result) )
|
||||
{
|
||||
$topic_update_sql .= ', topic_last_post_id = ' . $row['post_id'];
|
||||
$topic_update_sql .= ', topic_last_post_id = ' . $row['last_post_id'];
|
||||
}
|
||||
}
|
||||
|
||||
if ( $post_data['last_topic'] )
|
||||
{
|
||||
$sql = "SELECT MAX(post_id) AS post_id
|
||||
$sql = "SELECT MAX(post_id) AS last_post_id
|
||||
FROM " . POSTS_TABLE . "
|
||||
WHERE forum_id = $forum_id";
|
||||
if ( !($db->sql_query($sql)) )
|
||||
@@ -423,13 +423,13 @@ function update_post_stats(&$mode, &$post_data, &$forum_id, &$topic_id, &$post_i
|
||||
|
||||
if ( $row = $db->sql_fetchrow($result) )
|
||||
{
|
||||
$forum_update_sql .= ( $row['post_id'] ) ? ', forum_last_post_id = ' . $row['post_id'] : ', forum_last_post_id = 0';
|
||||
$forum_update_sql .= ( $row['last_post_id'] ) ? ', forum_last_post_id = ' . $row['last_post_id'] : ', forum_last_post_id = 0';
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( $post_data['first_post'] )
|
||||
{
|
||||
$sql = "SELECT MIN(post_id) AS post_id
|
||||
$sql = "SELECT MIN(post_id) AS first_post_id
|
||||
FROM " . POSTS_TABLE . "
|
||||
WHERE topic_id = $topic_id";
|
||||
if ( !($db->sql_query($sql)) )
|
||||
@@ -439,7 +439,7 @@ function update_post_stats(&$mode, &$post_data, &$forum_id, &$topic_id, &$post_i
|
||||
|
||||
if ( $row = $db->sql_fetchrow($result) )
|
||||
{
|
||||
$topic_update_sql .= 'topic_replies = topic_replies - 1, topic_first_post_id = ' . $row['post_id'];
|
||||
$topic_update_sql .= 'topic_replies = topic_replies - 1, topic_first_post_id = ' . $row['first_post_id'];
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -517,13 +517,6 @@ function delete_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_
|
||||
message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
|
||||
}
|
||||
|
||||
$sql = "DELETE FROM " . SEARCH_MATCH_TABLE . "
|
||||
WHERE post_id = $post_id";
|
||||
if ( !($db->sql_query($sql)) )
|
||||
{
|
||||
message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
|
||||
}
|
||||
|
||||
$topic_update_sql .= 'topic_replies = topic_replies - 1';
|
||||
if ( $post_data['last_post'] )
|
||||
{
|
||||
@@ -546,12 +539,14 @@ function delete_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
remove_search_post($post_id);
|
||||
}
|
||||
|
||||
if( $mode == 'poll_delete' || ( $mode == 'delete' && $post_data['first_post'] && $post_data['last_post'] ) && $post_data['has_poll'] && $post_data['edit_poll'] )
|
||||
{
|
||||
$sql = "DELETE FROM " . VOTE_DESC_TABLE . "
|
||||
WHERE vote_id = $poll_id";
|
||||
WHERE topic_id = $topic_id";
|
||||
if ( !($db->sql_query($sql)) )
|
||||
{
|
||||
message_die(GENERAL_ERROR, 'Error in deleting poll', '', __LINE__, __FILE__, $sql);
|
||||
@@ -572,7 +567,6 @@ function delete_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_
|
||||
}
|
||||
}
|
||||
|
||||
remove_search_post($post_id);
|
||||
//
|
||||
// Ok we set variables above that were intended to update the topics table
|
||||
// so let's go ahead and use it already :)
|
||||
|
@@ -21,9 +21,8 @@
|
||||
|
||||
function clean_words($mode, &$entry, &$stopword_list, &$synonym_list)
|
||||
{
|
||||
// Weird, $init_match doesn't work with static when double quotes (") are used...
|
||||
static $drop_char_match = array('^', '$', '&', '(', ')', '<', '>', '`', '\'', '"', '|', ',', '@', '_', '?', '%', '-', '~', '+', '.', '[', ']', '{', '}', ':', '\\', '/', '=', '#', '\'', ';', '!');
|
||||
static $drop_char_replace = array(' ', ' ', ' ', ' ', ' ', ' ', ' ', '', '', ' ', ' ', ' ', ' ', '', ' ', ' ', '', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' , ' ', ' ', ' ', ' ', ' ', ' ');
|
||||
static $drop_char_replace = array(' ', ' ', ' ', ' ', ' ', ' ', ' ', '', '', ' ', ' ', ' ', ' ', '', ' ', ' ', '', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' , ' ', ' ', ' ', ' ', ' ', ' ');
|
||||
|
||||
$entry = ' ' . strip_tags(strtolower($entry)) . ' ';
|
||||
|
||||
@@ -42,13 +41,10 @@ function clean_words($mode, &$entry, &$stopword_list, &$synonym_list)
|
||||
}
|
||||
else if ( $mode == 'search' )
|
||||
{
|
||||
$entry = str_replace('+', ' and ', $entry);
|
||||
$entry = str_replace('-', ' not ', $entry);
|
||||
$entry = str_replace(' +', ' and ', $entry);
|
||||
$entry = str_replace(' -', ' not ', $entry);
|
||||
}
|
||||
|
||||
// Replace numbers on their own
|
||||
$entry = preg_replace('/\b[0-9]+\b/', ' ', $entry);
|
||||
|
||||
//
|
||||
// Filter out strange characters like ^, $, &, change "it's" to "its"
|
||||
//
|
||||
@@ -61,8 +57,8 @@ function clean_words($mode, &$entry, &$stopword_list, &$synonym_list)
|
||||
{
|
||||
$entry = str_replace('*', ' ', $entry);
|
||||
|
||||
// 'words' that consist of <=3 or >=25 characters are removed.
|
||||
$entry = preg_replace('/\b([a-z0-9]{1,3}|[a-z0-9]{20,})\b/',' ', $entry);
|
||||
// 'words' that consist of <=3 or >=20 characters are removed.
|
||||
$entry = preg_replace('/\b([a-z0-9]{1,3}|[a-z0-9]{21,})\b/',' ', $entry);
|
||||
}
|
||||
|
||||
if ( !empty($stopword_list) )
|
||||
@@ -95,14 +91,8 @@ function clean_words($mode, &$entry, &$stopword_list, &$synonym_list)
|
||||
|
||||
function split_words(&$entry, $mode = 'post')
|
||||
{
|
||||
if ( $mode == 'post' )
|
||||
{
|
||||
preg_match_all("/\b(\w[\w']*\w+|\w+?)\b/", $entry, $split_entries);
|
||||
}
|
||||
else
|
||||
{
|
||||
preg_match_all('/(\*?[<5B>-<2D>a-z0-9]+\*?)|\b([<5B>-<2D>a-z0-9]+)\b/', $entry, $split_entries);
|
||||
}
|
||||
$rex = ( $mode == 'post' ) ? "/\b(\w[\w']*\w+|\w+?)\b/" : '/(\*?[<5B>-<2D>a-z0-9]+\*?)|\b([<5B>-<2D>a-z0-9]+)\b/';
|
||||
preg_match_all($rex, $entry, $split_entries);
|
||||
|
||||
return $split_entries[1];
|
||||
}
|
||||
|
Reference in New Issue
Block a user