mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-24 12:08:02 +02:00
some arrangements...
git-svn-id: file:///svn/phpbb/trunk@3883 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
@ -278,7 +278,7 @@ function delete_posts($where_type, $where_ids, $auto_sync = TRUE)
|
||||
}
|
||||
if (!count($where_ids))
|
||||
{
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
$post_ids = $topic_ids = $forum_ids = array();
|
||||
@ -297,7 +297,7 @@ function delete_posts($where_type, $where_ids, $auto_sync = TRUE)
|
||||
|
||||
if (!count($post_ids))
|
||||
{
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
$where_sql = ' WHERE post_id IN (' . implode(', ', $post_ids) . ')';
|
||||
@ -309,6 +309,8 @@ function delete_posts($where_type, $where_ids, $auto_sync = TRUE)
|
||||
$db->sql_query('DELETE FROM ' . SEARCH_MATCH_TABLE . $where_sql);
|
||||
$db->sql_transaction('commit');
|
||||
|
||||
delete_attachment($post_ids);
|
||||
|
||||
if ($auto_sync)
|
||||
{
|
||||
sync('reported', 'topic_id', $topic_ids);
|
||||
|
@ -87,43 +87,6 @@ function generate_smilies($mode)
|
||||
}
|
||||
}
|
||||
|
||||
// Generate Topic Icons
|
||||
function generate_topic_icons($mode, $enable_icons)
|
||||
{
|
||||
global $template, $config;
|
||||
|
||||
if (!$enable_icons)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Grab icons
|
||||
$icons = array();
|
||||
obtain_icons($icons);
|
||||
|
||||
if (sizeof($icons))
|
||||
{
|
||||
foreach ($icons as $id => $data)
|
||||
{
|
||||
if ($data['display'])
|
||||
{
|
||||
$template->assign_block_vars('topic_icon', array(
|
||||
'ICON_ID' => $id,
|
||||
'ICON_IMG' => $phpbb_root_path . $config['icons_path'] . '/' . $data['img'],
|
||||
'ICON_WIDTH' => $data['width'],
|
||||
'ICON_HEIGHT' => $data['height'],
|
||||
|
||||
'S_ICON_CHECKED' => ($id == $icon_id && $mode != 'reply') ? ' checked="checked"' : '')
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// DECODE TEXT -> This will/should be handled by bbcode.php eventually
|
||||
function decode_text(&$message, $bbcode_uid)
|
||||
{
|
||||
@ -159,132 +122,7 @@ function decode_text(&$message, $bbcode_uid)
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Topic Review
|
||||
function topic_review($topic_id, $is_inline_review = false)
|
||||
{
|
||||
global $SID, $db, $config, $template, $user, $auth, $phpEx, $phpbb_root_path, $starttime;
|
||||
global $censors;
|
||||
|
||||
// Define censored word matches
|
||||
if (empty($censors))
|
||||
{
|
||||
$censors = array();
|
||||
obtain_word_list($censors);
|
||||
}
|
||||
|
||||
if (!$is_inline_review)
|
||||
{
|
||||
// Get topic info ...
|
||||
$sql = "SELECT t.topic_title, f.forum_id
|
||||
FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f
|
||||
WHERE t.topic_id = $topic_id
|
||||
AND f.forum_id = t.forum_id";
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
if (!($row = $db->sql_fetchrow($result)))
|
||||
{
|
||||
trigger_error($user->lang['NO_TOPIC']);
|
||||
}
|
||||
|
||||
$forum_id = intval($row['forum_id']);
|
||||
$topic_title = $row['topic_title'];
|
||||
|
||||
if (!$auth->acl_gets('f_read', $forum_id))
|
||||
{
|
||||
trigger_error($user->lang['SORRY_AUTH_READ']);
|
||||
}
|
||||
|
||||
if (count($orig_word))
|
||||
{
|
||||
$topic_title = preg_replace($censors['match'], $censors['replace'], $topic_title);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$template->assign_vars(array(
|
||||
'S_DISPLAY_INLINE' => true)
|
||||
);
|
||||
}
|
||||
|
||||
// Go ahead and pull all data for this topic
|
||||
$sql = "SELECT u.username, u.user_id, p.*
|
||||
FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u
|
||||
WHERE p.topic_id = $topic_id
|
||||
AND p.poster_id = u.user_id
|
||||
ORDER BY p.post_time DESC";
|
||||
$result = $db->sql_query_limit($sql, $config['posts_per_page']);
|
||||
|
||||
// Okay, let's do the loop, yeah come on baby let's do the loop
|
||||
// and it goes like this ...
|
||||
if ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$i = 0;
|
||||
do
|
||||
{
|
||||
$poster_id = $row['user_id'];
|
||||
$poster = $row['username'];
|
||||
|
||||
// Handle anon users posting with usernames
|
||||
if($poster_id == ANONYMOUS && $row['post_username'] != '')
|
||||
{
|
||||
$poster = $row['post_username'];
|
||||
$poster_rank = $user->lang['GUEST'];
|
||||
}
|
||||
|
||||
$post_subject = ($row['post_subject'] != '') ? $row['post_subject'] : '';
|
||||
|
||||
$message = $row['post_text'];
|
||||
|
||||
if ($row['enable_smilies'])
|
||||
{
|
||||
$message = str_replace('<img src="{SMILE_PATH}', '<img src="' . $phpbb_root_path . $config['smilies_path'], $message);
|
||||
}
|
||||
|
||||
if (count($orig_word))
|
||||
{
|
||||
$post_subject = preg_replace($censors['match'], $censors['replace'], $post_subject);
|
||||
$message = preg_replace($censors['match'], $censors['replace'], $message);
|
||||
}
|
||||
|
||||
$template->assign_block_vars('postrow', array(
|
||||
'MINI_POST_IMG' => $user->img('icon_post', $user->lang['POST']),
|
||||
'POSTER_NAME' => $poster,
|
||||
'POST_DATE' => $user->format_date($row['post_time']),
|
||||
'POST_SUBJECT' => $post_subject,
|
||||
'MESSAGE' => nl2br($message),
|
||||
|
||||
'S_ROW_COUNT' => $i++)
|
||||
);
|
||||
}
|
||||
while ($row = $db->sql_fetchrow($result));
|
||||
}
|
||||
else
|
||||
{
|
||||
trigger_error($user->lang['NO_TOPIC']);
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$template->assign_vars(array(
|
||||
'L_MESSAGE' => $user->lang['MESSAGE'],
|
||||
'L_POSTED' => $user->lang['POSTED'],
|
||||
'L_POST_SUBJECT'=> $user->lang['POST_SUBJECT'],
|
||||
'L_TOPIC_REVIEW'=> $user->lang['TOPIC_REVIEW'])
|
||||
);
|
||||
|
||||
if (!$is_inline_review)
|
||||
{
|
||||
$page_title = $user->lang['TOPIC_REVIEW'] . ' - ' . $topic_title;
|
||||
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
|
||||
|
||||
$template->set_filenames(array(
|
||||
'body' => 'posting_topic_review.html')
|
||||
);
|
||||
|
||||
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
// Update Last Post Informations
|
||||
function update_last_post_information($type, $id)
|
||||
{
|
||||
@ -354,7 +192,7 @@ function update_last_post_information($type, $id)
|
||||
$sql = 'UPDATE ' . $sql_update_table . ' SET ' . $db->sql_build_array('UPDATE', $update_sql) . ' WHERE ' . $where_clause;
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
|
||||
*/
|
||||
function user_notification($mode, $subject, $forum_id, $topic_id, $post_id)
|
||||
{
|
||||
global $db, $user, $config, $phpEx;
|
||||
@ -545,7 +383,7 @@ function user_notification($mode, $subject, $forum_id, $topic_id, $post_id)
|
||||
// Format text to be displayed - from viewtopic.php - centralizing this would be nice ;)
|
||||
function format_display($message, $html, $bbcode, $uid, $url, $smilies, $sig)
|
||||
{
|
||||
global $auth, $forum_id, $config, $censors, $user, $bbcode;
|
||||
global $auth, $forum_id, $config, $censors, $user, $bbcode, $phpbb_root_path;
|
||||
|
||||
// If the board has HTML off but the post has HTML
|
||||
// on then we process it, else leave it alone
|
||||
@ -593,124 +431,13 @@ function format_display($message, $html, $bbcode, $uid, $url, $smilies, $sig)
|
||||
$user_sig = '';
|
||||
}
|
||||
|
||||
$message = (empty($smilies) || empty($config['allow_smilies'])) ? preg_replace('#<!\-\- s(.*?) \-\-><img src="\{SMILE_PATH\}\/.*? \/><!\-\- s\1 \-\->#', '\1', $message) : str_replace('<img src="{SMILE_PATH}', '<img src="' . $config['smilies_path'], $message);
|
||||
$message = (empty($smilies) || empty($config['allow_smilies'])) ? preg_replace('#<!\-\- s(.*?) \-\-><img src="\{SMILE_PATH\}\/.*? \/><!\-\- s\1 \-\->#', '\1', $message) : str_replace('<img src="{SMILE_PATH}', '<img src="' . $phpbb_root_path . $config['smilies_path'], $message);
|
||||
|
||||
$message .= $user_sig;
|
||||
|
||||
return($message);
|
||||
}
|
||||
|
||||
// Submit Poll
|
||||
function submit_poll($topic_id, $mode, $poll)
|
||||
{
|
||||
global $db;
|
||||
|
||||
$cur_poll_options = array();
|
||||
if ($poll['poll_start'] && $mode == 'edit')
|
||||
{
|
||||
$sql = "SELECT * FROM " . POLL_OPTIONS_TABLE . "
|
||||
WHERE topic_id = " . $topic_id . "
|
||||
ORDER BY poll_option_id";
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($cur_poll_options[] = $db->sql_fetchrow($result));
|
||||
$db->sql_freeresult($result);
|
||||
}
|
||||
|
||||
for ($i = 0; $i < sizeof($poll['poll_options']); $i++)
|
||||
{
|
||||
if (trim($poll['poll_options'][$i]) != '')
|
||||
{
|
||||
if (empty($cur_poll_options[$i]))
|
||||
{
|
||||
$sql = "INSERT INTO " . POLL_OPTIONS_TABLE . " (poll_option_id, topic_id, poll_option_text)
|
||||
VALUES (" . $i . ", " . $topic_id . ", '" . $db->sql_escape($poll['poll_options'][$i]) . "')";
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
else if ($poll['poll_options'][$i] != $cur_poll_options[$i])
|
||||
{
|
||||
$sql = "UPDATE " . POLL_OPTIONS_TABLE . "
|
||||
SET poll_option_text = '" . $db->sql_escape($poll['poll_options'][$i]) . "'
|
||||
WHERE poll_option_id = " . $cur_poll_options[$i]['poll_option_id'];
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (sizeof($poll['poll_options']) < sizeof($cur_poll_options))
|
||||
{
|
||||
$sql = "DELETE FROM " . POLL_OPTIONS_TABLE . "
|
||||
WHERE poll_option_id > " . sizeof($poll['poll_options']) . "
|
||||
AND topic_id = " . $topic_id;
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
}
|
||||
|
||||
// Submit Attachment
|
||||
function submit_attachment($post_id, $topic_id, $user_id, $mode, $attachment_data)
|
||||
{
|
||||
global $db, $config, $auth;
|
||||
|
||||
// Insert Attachment ?
|
||||
if ((!empty($post_id)) && ($mode == 'post' || $mode == 'reply' || $mode == 'edit'))
|
||||
{
|
||||
for ($i = 0; $i < count($attachment_data['attach_id']); $i++)
|
||||
{
|
||||
if ($attachment_data['attach_id'][$i] != '-1')
|
||||
{
|
||||
// update entry in db if attachment already stored in db and filespace
|
||||
$attach_sql = array(
|
||||
'comment' => trim($attachment_data['comment'][$i])
|
||||
);
|
||||
|
||||
$sql = 'UPDATE ' . ATTACHMENTS_DESC_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $attach_sql) . ' WHERE attach_id = ' . $attachment_data['attach_id'][$i];
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
else
|
||||
{
|
||||
// insert attachment into db
|
||||
$attach_sql = array(
|
||||
'physical_filename' => $attachment_data['physical_filename'][$i],
|
||||
'real_filename' => $attachment_data['real_filename'][$i],
|
||||
'comment' => trim($attachment_data['comment'][$i]),
|
||||
'extension' => $attachment_data['extension'][$i],
|
||||
'mimetype' => $attachment_data['mimetype'][$i],
|
||||
'filesize' => $attachment_data['filesize'][$i],
|
||||
'filetime' => $attachment_data['filetime'][$i],
|
||||
'thumbnail' => $attachment_data['thumbnail'][$i]
|
||||
);
|
||||
|
||||
$sql = 'INSERT INTO ' . ATTACHMENTS_DESC_TABLE . ' ' . $db->sql_build_array('INSERT', $attach_sql);
|
||||
$db->sql_query($sql);
|
||||
|
||||
$attach_sql = array(
|
||||
'attach_id' => $db->sql_nextid(),
|
||||
'post_id' => $post_id,
|
||||
'privmsgs_id' => 0,
|
||||
'user_id_from' => $user_id,
|
||||
'user_id_to' => 0
|
||||
);
|
||||
|
||||
$sql = 'INSERT INTO ' . ATTACHMENTS_TABLE . ' ' . $db->sql_build_array('INSERT', $attach_sql);
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
}
|
||||
|
||||
if (count($attachment_data['attach_id']) > 0)
|
||||
{
|
||||
$sql = "UPDATE " . POSTS_TABLE . "
|
||||
SET post_attachment = 1
|
||||
WHERE post_id = " . $post_id;
|
||||
$db->sql_query($sql);
|
||||
|
||||
$sql = "UPDATE " . TOPICS_TABLE . "
|
||||
SET topic_attachment = 1
|
||||
WHERE topic_id = " . $topic_id;
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Submit Post
|
||||
function submit_post($mode, $message, $subject, $username, $topic_type, $bbcode_uid, $poll, $attachment_data, $post_data)
|
||||
{
|
||||
@ -788,17 +515,108 @@ function submit_post($mode, $message, $subject, $username, $topic_type, $bbcode_
|
||||
|
||||
$post_data['post_id'] = ($mode == 'edit') ? $post_data['post_id'] : $db->sql_nextid();
|
||||
|
||||
// poll options
|
||||
// Submit Poll
|
||||
if (!empty($poll['poll_options']))
|
||||
{
|
||||
submit_poll($post_data['topic_id'], $mode, $poll);
|
||||
$cur_poll_options = array();
|
||||
|
||||
if ($poll['poll_start'] && $mode == 'edit')
|
||||
{
|
||||
$sql = "SELECT * FROM " . POLL_OPTIONS_TABLE . "
|
||||
WHERE topic_id = " . $post_data['topic_id'] . "
|
||||
ORDER BY poll_option_id";
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($cur_poll_options[] = $db->sql_fetchrow($result));
|
||||
$db->sql_freeresult($result);
|
||||
}
|
||||
|
||||
for ($i = 0; $i < sizeof($poll['poll_options']); $i++)
|
||||
{
|
||||
if (trim($poll['poll_options'][$i]) != '')
|
||||
{
|
||||
if (empty($cur_poll_options[$i]))
|
||||
{
|
||||
$sql = "INSERT INTO " . POLL_OPTIONS_TABLE . " (poll_option_id, topic_id, poll_option_text)
|
||||
VALUES (" . $i . ", " . $post_data['topic_id'] . ", '" . $db->sql_escape($poll['poll_options'][$i]) . "')";
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
else if ($poll['poll_options'][$i] != $cur_poll_options[$i])
|
||||
{
|
||||
$sql = "UPDATE " . POLL_OPTIONS_TABLE . "
|
||||
SET poll_option_text = '" . $db->sql_escape($poll['poll_options'][$i]) . "'
|
||||
WHERE poll_option_id = " . $cur_poll_options[$i]['poll_option_id'];
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (sizeof($poll['poll_options']) < sizeof($cur_poll_options))
|
||||
{
|
||||
$sql = "DELETE FROM " . POLL_OPTIONS_TABLE . "
|
||||
WHERE poll_option_id > " . sizeof($poll['poll_options']) . "
|
||||
AND topic_id = " . $post_data['topic_id'];
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
}
|
||||
|
||||
// Attachments
|
||||
if (!empty($attachment_data['physical_filename']))
|
||||
// Submit Attachments
|
||||
if (count($attachment_data['attach_id']) && !empty($post_data['post_id']) && ($mode == 'post' || $mode == 'reply' || $mode == 'edit'))
|
||||
{
|
||||
$poster_id = ($mode == 'edit') ? $post_data['poster_id'] : intval($user->data['user_id']);
|
||||
submit_attachment($post_data['post_id'], $post_data['topic_id'], $poster_id, $mode, $attachment_data);
|
||||
for ($i = 0; $i < count($attachment_data['attach_id']); $i++)
|
||||
{
|
||||
if ($attachment_data['attach_id'][$i] != '-1')
|
||||
{
|
||||
// update entry in db if attachment already stored in db and filespace
|
||||
$attach_sql = array(
|
||||
'comment' => trim($attachment_data['comment'][$i])
|
||||
);
|
||||
|
||||
$sql = 'UPDATE ' . ATTACHMENTS_DESC_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $attach_sql) . ' WHERE attach_id = ' . $attachment_data['attach_id'][$i];
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
else
|
||||
{
|
||||
// insert attachment into db
|
||||
$attach_sql = array(
|
||||
'physical_filename' => $attachment_data['physical_filename'][$i],
|
||||
'real_filename' => $attachment_data['real_filename'][$i],
|
||||
'comment' => trim($attachment_data['comment'][$i]),
|
||||
'extension' => $attachment_data['extension'][$i],
|
||||
'mimetype' => $attachment_data['mimetype'][$i],
|
||||
'filesize' => $attachment_data['filesize'][$i],
|
||||
'filetime' => $attachment_data['filetime'][$i],
|
||||
'thumbnail' => $attachment_data['thumbnail'][$i]
|
||||
);
|
||||
|
||||
$sql = 'INSERT INTO ' . ATTACHMENTS_DESC_TABLE . ' ' . $db->sql_build_array('INSERT', $attach_sql);
|
||||
$db->sql_query($sql);
|
||||
|
||||
$attach_sql = array(
|
||||
'attach_id' => $db->sql_nextid(),
|
||||
'post_id' => $post_data['post_id'],
|
||||
'privmsgs_id' => 0,
|
||||
'user_id_from' => ($mode == 'edit') ? $post_data['poster_id'] : intval($user->data['user_id']),
|
||||
'user_id_to' => 0
|
||||
);
|
||||
|
||||
$sql = 'INSERT INTO ' . ATTACHMENTS_TABLE . ' ' . $db->sql_build_array('INSERT', $attach_sql);
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
}
|
||||
|
||||
if (count($attachment_data['attach_id']) > 0)
|
||||
{
|
||||
$sql = "UPDATE " . POSTS_TABLE . "
|
||||
SET post_attachment = 1
|
||||
WHERE post_id = " . $post_data['post_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
$sql = "UPDATE " . TOPICS_TABLE . "
|
||||
SET topic_attachment = 1
|
||||
WHERE topic_id = " . $post_data['topic_id'];
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
}
|
||||
|
||||
// Fulltext parse
|
||||
@ -904,167 +722,6 @@ function submit_post($mode, $message, $subject, $username, $topic_type, $bbcode_
|
||||
trigger_error($message);
|
||||
}
|
||||
|
||||
// Delete Poll
|
||||
function delete_poll($topic_id)
|
||||
{
|
||||
global $db;
|
||||
|
||||
$sql = "DELETE FROM " . POLL_OPTIONS_TABLE . "
|
||||
WHERE topic_id = " . $topic_id;
|
||||
$db->sql_query($sql);
|
||||
|
||||
$sql = "DELETE FROM " . POLL_VOTES_TABLE . "
|
||||
WHERE topic_id = " . $topic_id;
|
||||
$db->sql_query($sql);
|
||||
|
||||
$topic_sql = array(
|
||||
'poll_title' => '',
|
||||
'poll_start' => 0,
|
||||
'poll_length' => 0,
|
||||
'poll_last_vote' => 0
|
||||
);
|
||||
|
||||
$sql = 'UPDATE ' . TOPICS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $topic_sql) . ' WHERE topic_id = ' . $topic_id;
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
|
||||
// Delete Post. Please be sure user have the correct Permissions before calling this function
|
||||
function delete_post($mode, $post_id, $topic_id, $forum_id, $post_data)
|
||||
{
|
||||
global $db, $template, $user, $phpEx, $SID;
|
||||
|
||||
$search = new fulltext_search();
|
||||
|
||||
$db->sql_transaction();
|
||||
|
||||
$sql = "DELETE FROM " . POSTS_TABLE . "
|
||||
WHERE post_id = " . $post_id;
|
||||
$db->sql_query($sql);
|
||||
|
||||
// User tries to delete the post twice ? Exit... we do not want the topics table screwed up.
|
||||
if ($db->sql_affectedrows() == 0)
|
||||
{
|
||||
return ($user->lang['ALREADY_DELETED']);
|
||||
}
|
||||
|
||||
$forum_sql = array();
|
||||
$topic_sql = array();
|
||||
$user_sql = array();
|
||||
|
||||
$forum_update_sql = '';
|
||||
$user_update_sql = '';
|
||||
$topic_update_sql = 'topic_replies = topic_replies - 1, topic_replies_real = topic_replies_real - 1';
|
||||
|
||||
// Only one post... delete topic
|
||||
if ($post_data['topic_first_post_id'] == $post_data['topic_last_post_id'])
|
||||
{
|
||||
$sql = "DELETE FROM " . TOPICS_TABLE . "
|
||||
WHERE topic_id = " . $topic_id . "
|
||||
OR topic_moved_id = " . $topic_id;
|
||||
$db->sql_query($sql);
|
||||
|
||||
$sql = "DELETE FROM " . TOPICS_WATCH_TABLE . "
|
||||
WHERE topic_id = " . $topic_id;
|
||||
$db->sql_query($sql);
|
||||
|
||||
$forum_update_sql .= ($forum_update_sql != '') ? ', ' : '';
|
||||
$forum_update_sql .= 'forum_topics = forum_topics - 1, forum_topics_real = forum_topics_real - 1';
|
||||
}
|
||||
|
||||
// Update Post Statistics
|
||||
if ($post_data['enable_post_count'])
|
||||
{
|
||||
$forum_update_sql .= ($forum_update_sql != '') ? ', ' : '';
|
||||
$forum_update_sql .= 'forum_posts = forum_posts - 1';
|
||||
|
||||
$user_update_sql .= ($user_update_sql != '') ? ', ' : '';
|
||||
$user_update_sql .= 'user_posts = user_posts - 1';
|
||||
}
|
||||
|
||||
// Delete Attachment
|
||||
delete_attachment($post_id);
|
||||
|
||||
// TODO: delete common words... maybe just call search_tidy ?
|
||||
// $search->del_words($post_id);
|
||||
|
||||
$sql = "SELECT p.post_id, p.poster_id, p.post_username, u.username
|
||||
FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u
|
||||
WHERE p.topic_id = " . $topic_id . "
|
||||
AND p.poster_id = u.user_id
|
||||
AND p.post_approved = 1
|
||||
ORDER BY p.post_time DESC";
|
||||
$result = $db->sql_query_limit($sql, 1);
|
||||
|
||||
$row = $db->sql_fetchrow($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
// If Post is first post, but not the only post... make next post the topic starter one. ;)
|
||||
if (($post_data['topic_first_post_id'] != $post_data['topic_last_post_id']) && ($post_id == $post_data['topic_first_post_id']))
|
||||
{
|
||||
$topic_sql = array(
|
||||
'topic_first_post_id' => intval($row['post_id']),
|
||||
'topic_first_poster_name' => ( intval($row['poster_id']) == ANONYMOUS) ? trim($row['post_username']) : trim($row['username'])
|
||||
);
|
||||
}
|
||||
|
||||
$post_data['next_post_id'] = intval($row['post_id']);
|
||||
|
||||
// Update Forum, Topic and User with the gathered Informations
|
||||
if (($forum_update_sql != '') || (count($forum_sql) > 0))
|
||||
{
|
||||
$sql = 'UPDATE ' . FORUMS_TABLE . ' SET ' . ( (count($forum_sql) > 0) ? $db->sql_build_array('UPDATE', $forum_sql) : '') .
|
||||
( ($forum_update_sql != '') ? ((count($forum_sql) > 0) ? ', ' . $forum_update_sql : $forum_update_sql) : '') . '
|
||||
WHERE forum_id = ' . $forum_id;
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
|
||||
if (($topic_update_sql != '') || (count($topic_sql) > 0))
|
||||
{
|
||||
$sql = 'UPDATE ' . TOPICS_TABLE . ' SET ' . ( (count($topic_sql) > 0) ? $db->sql_build_array('UPDATE', $topic_sql) : '') .
|
||||
( ($topic_update_sql != '') ? ((count($topic_sql) > 0) ? ', ' . $topic_update_sql : $topic_update_sql) : '') . '
|
||||
WHERE topic_id = ' . $topic_id;
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
|
||||
if (($user_update_sql != '') || (count($user_sql) > 0))
|
||||
{
|
||||
$sql = 'UPDATE ' . USERS_TABLE . ' SET ' . ( (count($user_sql) > 0) ? $db->sql_build_array('UPDATE', $user_sql) : '') .
|
||||
( ($user_update_sql != '') ? ((count($user_sql) > 0) ? ', ' . $user_update_sql : $user_update_sql) : '') . '
|
||||
WHERE user_id = ' . $post_data['user_id'];
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
|
||||
// Update Forum stats...
|
||||
if ($post_data['topic_first_post_id'] != $post_data['topic_last_post_id'])
|
||||
{
|
||||
update_last_post_information('topic', $topic_id);
|
||||
}
|
||||
update_last_post_information('forum', $forum_id);
|
||||
|
||||
$db->sql_transaction('commit');
|
||||
|
||||
if ($post_data['topic_first_post_id'] == $post_data['topic_last_post_id'])
|
||||
{
|
||||
$meta_info = '<meta http-equiv="refresh" content="5; url=viewforum.' . $phpEx . $SID . '&f=' . $forum_id . '">';
|
||||
$message = $user->lang['DELETED'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$meta_info = '<meta http-equiv="refresh" content="5; url=viewtopic.' . $phpEx . $SID . '&f=' . $forum_id . '&t=' . $topic_id . '&p=' . $post_data['next_post_id'] . '#' . $post_data['next_post_id'] . '">';
|
||||
$message = $user->lang['DELETED'] . '<br /><br />' . sprintf($user->lang['RETURN_TOPIC'], '<a href="viewtopic.' . $phpEx . $SID . '&f=' . $forum_id . '&t=' . $topic_id . '&p=' . $post_data['next_post_id'] . '#' . $post_data['next_post_id'] . '">', '</a>');
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'META' => $meta_info)
|
||||
);
|
||||
|
||||
$message .= '<br /><br />' . sprintf($user->lang['RETURN_FORUM'], '<a href="viewforum.' . $phpEx . $SID . '&f=' . $forum_id . '">', '</a>');
|
||||
|
||||
trigger_error($message);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Delete Attachment
|
||||
function delete_attachment($post_id_array = -1, $attach_id_array = -1, $page = -1, $user_id = -1)
|
||||
{
|
||||
@ -1273,10 +930,10 @@ function delete_attachment($post_id_array = -1, $attach_id_array = -1, $page = -
|
||||
// delete attachments
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
phpbb_unlink($row['physical_filename']);
|
||||
phpbb_unlink($row['physical_filename'], 'file', $config['use_ftp_upload']);
|
||||
if (intval($row['thumbnail']) == 1)
|
||||
{
|
||||
phpbb_unlink($row['physical_filename'], 'thumbnail');
|
||||
phpbb_unlink($row['physical_filename'], 'thumbnail', $config['use_ftp_upload']);
|
||||
}
|
||||
|
||||
$sql = "DELETE FROM " . ATTACHMENTS_DESC_TABLE . "
|
||||
@ -1673,24 +1330,14 @@ function move_uploaded_attachment($upload_mode, $source_filename, &$filedata)
|
||||
return ('');
|
||||
}
|
||||
|
||||
// Deletes an Attachment
|
||||
function phpbb_unlink($filename, $mode = false)
|
||||
// Delete File
|
||||
function phpbb_unlink($filename, $mode = 'file', $use_ftp = false)
|
||||
{
|
||||
global $config, $user;
|
||||
|
||||
$config['use_ftp_upload'] = 0;
|
||||
|
||||
if (!$config['use_ftp_upload'])
|
||||
if (!$use_ftp)
|
||||
{
|
||||
if ($mode == 'thumbnail')
|
||||
{
|
||||
$filename = $config['upload_dir'] . '/thumbs/t_' . $filename;
|
||||
}
|
||||
else
|
||||
{
|
||||
$filename = $config['upload_dir'] . '/' . $filename;
|
||||
}
|
||||
|
||||
$filename = ($mode == 'thumbnail') ? $config['upload_dir'] . '/thumbs/t_' . $filename : $config['upload_dir'] . '/' . $filename;
|
||||
$deleted = @unlink($filename);
|
||||
|
||||
if (@file_exists($filename))
|
||||
@ -1700,9 +1347,12 @@ function phpbb_unlink($filename, $mode = false)
|
||||
|
||||
if (@file_exists($filename))
|
||||
{
|
||||
$deleted = @chmod($filename, 0777);
|
||||
@chmod($filename, 0777);
|
||||
$deleted = @unlink($filename);
|
||||
$deleted = @system("del $filename");
|
||||
if (!$deleted)
|
||||
{
|
||||
$deleted = @system("del $filename");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -549,11 +549,11 @@ class parse_message
|
||||
// delete selected attachment
|
||||
if ($actual_id_list[$i] == '-1')
|
||||
{
|
||||
phpbb_unlink($actual_list[$i]);
|
||||
phpbb_unlink($actual_list[$i], 'file', $config['use_ftp_upload']);
|
||||
|
||||
if ($actual_thumbnail_list[$i] == 1)
|
||||
{
|
||||
phpbb_unlink('t_' . $actual_list[$i], 'thumbnail');
|
||||
phpbb_unlink('t_' . $actual_list[$i], 'thumbnail', $config['use_ftp_upload']);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -90,6 +90,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('ldap_server', '');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('ldap_base_dn', '');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('ldap_uid', '');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('lastread', '432000');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('use_ftp_upload', '0');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_filesize', '262144');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('attachment_quota', '52428800');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_attachments', '3');
|
||||
|
@ -1633,9 +1633,8 @@ switch ($mode)
|
||||
|
||||
|
||||
// Define censored word matches
|
||||
$orig_word = array();
|
||||
$replacement_word = array();
|
||||
obtain_word_list($orig_word, $replacement_word);
|
||||
$censors = array();
|
||||
obtain_word_list($censors);
|
||||
|
||||
$topic_rows = array();
|
||||
|
||||
@ -1717,9 +1716,9 @@ switch ($mode)
|
||||
|
||||
// Shouldn't moderators be allowed to read uncensored title?
|
||||
$topic_title = $row['topic_title'];
|
||||
if (count($orig_word))
|
||||
if (count($censors['match']))
|
||||
{
|
||||
$topic_title = preg_replace($orig_word, $replacement_word, $topic_title);
|
||||
$topic_title = preg_replace($censors['match'], $censors['replace'], $topic_title);
|
||||
}
|
||||
|
||||
$template->assign_block_vars('topicrow', array(
|
||||
|
@ -392,10 +392,43 @@ if ( ($mode == 'delete') && ((($poster_id == $user->data['user_id']) && ($user->
|
||||
'user_id' => $poster_id
|
||||
);
|
||||
|
||||
$msg = delete_post($mode, $post_id, $topic_id, $forum_id, $post_data);
|
||||
|
||||
// We have a problem...
|
||||
trigger_error($msg);
|
||||
$search = new fulltext_search();
|
||||
|
||||
include($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
|
||||
|
||||
// User tries to delete the post twice ? Exit... we do not want the topics table screwed up.
|
||||
if (!delete_posts('post_id', array($post_id)))
|
||||
{
|
||||
trigger_error($user->lang['ALREADY_DELETED']);
|
||||
}
|
||||
|
||||
// Only one post... delete topic
|
||||
if ($post_data['topic_first_post_id'] == $post_data['topic_last_post_id'])
|
||||
{
|
||||
delete_topics('topic_id', array($topic_id));
|
||||
}
|
||||
|
||||
// TODO: delete common words... maybe just call search_tidy ?
|
||||
// $search->del_words($post_id);
|
||||
|
||||
if ($post_data['topic_first_post_id'] == $post_data['topic_last_post_id'])
|
||||
{
|
||||
$meta_info = '<meta http-equiv="refresh" content="5; url=viewforum.' . $phpEx . $SID . '&f=' . $forum_id . '">';
|
||||
$message = $user->lang['DELETED'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$meta_info = '<meta http-equiv="refresh" content="5; url=viewtopic.' . $phpEx . $SID . '&f=' . $forum_id . '&t=' . $topic_id . '&p=' . $post_data['next_post_id'] . '#' . $post_data['next_post_id'] . '">';
|
||||
$message = $user->lang['DELETED'] . '<br /><br />' . sprintf($user->lang['RETURN_TOPIC'], '<a href="viewtopic.' . $phpEx . $SID . '&f=' . $forum_id . '&t=' . $topic_id . '&p=' . $post_data['next_post_id'] . '#' . $post_data['next_post_id'] . '">', '</a>');
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'META' => $meta_info)
|
||||
);
|
||||
|
||||
$message .= '<br /><br />' . sprintf($user->lang['RETURN_FORUM'], '<a href="viewforum.' . $phpEx . $SID . '&f=' . $forum_id . '">', '</a>');
|
||||
|
||||
trigger_error($message);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -466,7 +499,24 @@ if (($submit) || ($preview) || ($refresh))
|
||||
|
||||
if ( ($poll_delete) && ($mode == 'edit' && !empty($poll_options) && ((empty($poll_last_vote) && $poster_id == $user->data['user_id'] && $perm['u_delete']) || $perm['m_delete'])) )
|
||||
{
|
||||
delete_poll($topic_id);
|
||||
// Delete Poll
|
||||
$sql = "DELETE FROM " . POLL_OPTIONS_TABLE . "
|
||||
WHERE topic_id = " . $topic_id;
|
||||
$db->sql_query($sql);
|
||||
|
||||
$sql = "DELETE FROM " . POLL_VOTES_TABLE . "
|
||||
WHERE topic_id = " . $topic_id;
|
||||
$db->sql_query($sql);
|
||||
|
||||
$topic_sql = array(
|
||||
'poll_title' => '',
|
||||
'poll_start' => 0,
|
||||
'poll_length' => 0,
|
||||
'poll_last_vote' => 0
|
||||
);
|
||||
|
||||
$sql = 'UPDATE ' . TOPICS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $topic_sql) . ' WHERE topic_id = ' . $topic_id;
|
||||
$db->sql_query($sql);
|
||||
|
||||
$poll_title = '';
|
||||
$poll_length = '';
|
||||
@ -734,7 +784,33 @@ get_moderators($moderators, $forum_id);
|
||||
generate_smilies('inline');
|
||||
|
||||
// Generate Topic icons
|
||||
$s_topic_icons = generate_topic_icons($mode, $enable_icons);
|
||||
$s_topic_icons = false;
|
||||
if ($enable_icons)
|
||||
{
|
||||
// Grab icons
|
||||
$icons = array();
|
||||
obtain_icons($icons);
|
||||
|
||||
if (sizeof($icons))
|
||||
{
|
||||
foreach ($icons as $id => $data)
|
||||
{
|
||||
if ($data['display'])
|
||||
{
|
||||
$template->assign_block_vars('topic_icon', array(
|
||||
'ICON_ID' => $id,
|
||||
'ICON_IMG' => $phpbb_root_path . $config['icons_path'] . '/' . $data['img'],
|
||||
'ICON_WIDTH' => $data['width'],
|
||||
'ICON_HEIGHT' => $data['height'],
|
||||
|
||||
'S_ICON_CHECKED' => ($id == $icon_id && $mode != 'reply') ? ' checked="checked"' : '')
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$s_topic_icons = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Topic type selection ... only for first post in topic.
|
||||
$topic_type_toggle = '';
|
||||
@ -959,4 +1035,128 @@ if ($mode == 'reply' || $mode == 'quote')
|
||||
|
||||
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
|
||||
|
||||
// FUNCTIONS
|
||||
|
||||
// Topic Review
|
||||
function topic_review($topic_id, $is_inline_review = false)
|
||||
{
|
||||
global $censors, $user, $auth, $db, $template, $config, $phpbb_root_path, $phpEx;
|
||||
|
||||
// Define censored word matches
|
||||
if (empty($censors))
|
||||
{
|
||||
$censors = array();
|
||||
obtain_word_list($censors);
|
||||
}
|
||||
|
||||
if (!$is_inline_review)
|
||||
{
|
||||
// Get topic info ...
|
||||
$sql = "SELECT t.topic_title, f.forum_id
|
||||
FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f
|
||||
WHERE t.topic_id = $topic_id
|
||||
AND f.forum_id = t.forum_id";
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
if (!($row = $db->sql_fetchrow($result)))
|
||||
{
|
||||
trigger_error($user->lang['NO_TOPIC']);
|
||||
}
|
||||
|
||||
$forum_id = intval($row['forum_id']);
|
||||
$topic_title = $row['topic_title'];
|
||||
|
||||
if (!$auth->acl_get('f_read', $forum_id))
|
||||
{
|
||||
trigger_error($user->lang['SORRY_AUTH_READ']);
|
||||
}
|
||||
|
||||
if (count($censors['match']))
|
||||
{
|
||||
$topic_title = preg_replace($censors['match'], $censors['replace'], $topic_title);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$template->assign_vars(array(
|
||||
'S_DISPLAY_INLINE' => true)
|
||||
);
|
||||
}
|
||||
|
||||
// Go ahead and pull all data for this topic
|
||||
$sql = "SELECT u.username, u.user_id, p.*
|
||||
FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u
|
||||
WHERE p.topic_id = $topic_id
|
||||
AND p.poster_id = u.user_id
|
||||
ORDER BY p.post_time DESC";
|
||||
$result = $db->sql_query_limit($sql, $config['posts_per_page']);
|
||||
|
||||
// Okay, let's do the loop, yeah come on baby let's do the loop
|
||||
// and it goes like this ...
|
||||
if ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$i = 0;
|
||||
do
|
||||
{
|
||||
$poster_id = $row['user_id'];
|
||||
$poster = $row['username'];
|
||||
|
||||
// Handle anon users posting with usernames
|
||||
if ($poster_id == ANONYMOUS && $row['post_username'] != '')
|
||||
{
|
||||
$poster = $row['post_username'];
|
||||
$poster_rank = $user->lang['GUEST'];
|
||||
}
|
||||
|
||||
$post_subject = ($row['post_subject'] != '') ? $row['post_subject'] : '';
|
||||
|
||||
$message = $row['post_text'];
|
||||
|
||||
$message = (empty($row['enable_smilies']) || empty($config['allow_smilies'])) ? preg_replace('#<!\-\- s(.*?) \-\-><img src="\{SMILE_PATH\}\/.*? \/><!\-\- s\1 \-\->#', '\1', $message) : str_replace('<img src="{SMILE_PATH}', '<img src="' . $phpbb_root_path . $config['smilies_path'], $message);
|
||||
|
||||
if (count($censors['match']))
|
||||
{
|
||||
$post_subject = preg_replace($censors['match'], $censors['replace'], $post_subject);
|
||||
$message = preg_replace($censors['match'], $censors['replace'], $message);
|
||||
}
|
||||
|
||||
$template->assign_block_vars('postrow', array(
|
||||
'MINI_POST_IMG' => $user->img('icon_post', $user->lang['POST']),
|
||||
'POSTER_NAME' => $poster,
|
||||
'POST_DATE' => $user->format_date($row['post_time']),
|
||||
'POST_SUBJECT' => $post_subject,
|
||||
'MESSAGE' => nl2br($message),
|
||||
|
||||
'S_ROW_COUNT' => $i++)
|
||||
);
|
||||
}
|
||||
while ($row = $db->sql_fetchrow($result));
|
||||
}
|
||||
else
|
||||
{
|
||||
trigger_error($user->lang['NO_TOPIC']);
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$template->assign_vars(array(
|
||||
'L_MESSAGE' => $user->lang['MESSAGE'],
|
||||
'L_POSTED' => $user->lang['POSTED'],
|
||||
'L_POST_SUBJECT'=> $user->lang['POST_SUBJECT'],
|
||||
'L_TOPIC_REVIEW'=> $user->lang['TOPIC_REVIEW'])
|
||||
);
|
||||
|
||||
if (!$is_inline_review)
|
||||
{
|
||||
$page_title = $user->lang['TOPIC_REVIEW'] . ' - ' . $topic_title;
|
||||
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
|
||||
|
||||
$template->set_filenames(array(
|
||||
'body' => 'posting_topic_review.html')
|
||||
);
|
||||
|
||||
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
?>
|
@ -653,12 +653,9 @@ if ( $search_keywords != '' || $search_author != '' || $search_id )
|
||||
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
//
|
||||
// Define censored word matches
|
||||
//
|
||||
$orig_word = array();
|
||||
$replacement_word = array();
|
||||
obtain_word_list($orig_word, $replacement_word);
|
||||
$censors = array();
|
||||
obtain_word_list($censors);
|
||||
|
||||
//
|
||||
// Output header
|
||||
@ -829,12 +826,12 @@ if ( $search_keywords != '' || $search_author != '' || $search_id )
|
||||
}
|
||||
}
|
||||
|
||||
if ( count($orig_word) )
|
||||
if ( count($censors['match']) )
|
||||
{
|
||||
$topic_title = preg_replace($orig_word, $replacement_word, $topic_title);
|
||||
$post_subject = ( $searchset[$i]['post_subject'] != "" ) ? preg_replace($orig_word, $replacement_word, $searchset[$i]['post_subject']) : $topic_title;
|
||||
$topic_title = preg_replace($censors['match'], $censors['replace'], $topic_title);
|
||||
$post_subject = ( $searchset[$i]['post_subject'] != "" ) ? preg_replace($censors['match'], $censors['replace'], $searchset[$i]['post_subject']) : $topic_title;
|
||||
|
||||
$message = preg_replace($orig_word, $replacement_word, $message);
|
||||
$message = preg_replace($censors['match'], $censors['replace'], $message);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -902,9 +899,9 @@ if ( $search_keywords != '' || $search_author != '' || $search_id )
|
||||
{
|
||||
$message = '';
|
||||
|
||||
if ( count($orig_word) )
|
||||
if ( count($censors['match']) )
|
||||
{
|
||||
$topic_title = preg_replace($orig_word, $replacement_word, $searchset[$i]['topic_title']);
|
||||
$topic_title = preg_replace($censors['match'], $censors['replace'], $searchset[$i]['topic_title']);
|
||||
}
|
||||
|
||||
$topic_type = $searchset[$i]['topic_type'];
|
||||
|
@ -562,10 +562,10 @@ else if ( $mode == 'read' )
|
||||
$private_message .= '<br /><br />_________________<br />' . make_clickable($user_sig);
|
||||
}
|
||||
|
||||
if ( count($orig_word) )
|
||||
if ( count($censors['match']) )
|
||||
{
|
||||
$post_subject = preg_replace($orig_word, $replacement_word, $post_subject);
|
||||
$private_message = preg_replace($orig_word, $replacement_word, $private_message);
|
||||
$post_subject = preg_replace($censors['match'], $censors['replace'], $post_subject);
|
||||
$private_message = preg_replace($censors['match'], $censors['replace'], $private_message);
|
||||
}
|
||||
|
||||
if ( $config['allow_smilies'] && $privmsg['privmsgs_enable_smilies'] )
|
||||
@ -1278,9 +1278,8 @@ else if ( $submit || $refresh || $mode != '' )
|
||||
|
||||
if ( $preview && !$error )
|
||||
{
|
||||
$orig_word = array();
|
||||
$replacement_word = array();
|
||||
obtain_word_list($orig_word, $replacement_word);
|
||||
$censors = array();
|
||||
obtain_word_list($censors);
|
||||
|
||||
if ( $bbcode_on )
|
||||
{
|
||||
@ -1316,10 +1315,10 @@ else if ( $submit || $refresh || $mode != '' )
|
||||
$preview_message = $preview_message . '<br /><br />_________________<br />' . $user_sig;
|
||||
}
|
||||
|
||||
if ( count($orig_word) )
|
||||
if ( count($censors['match']) )
|
||||
{
|
||||
$preview_subject = preg_replace($orig_word, $replacement_word, $privmsg_subject);
|
||||
$preview_message = preg_replace($orig_word, $replacement_word, $preview_message);
|
||||
$preview_subject = preg_replace($censors['match'], $censors['replace'], $privmsg_subject);
|
||||
$preview_message = preg_replace($censors['match'], $censors['replace'], $preview_message);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1847,9 +1846,9 @@ if ( $row = $db->sql_fetchrow($result) )
|
||||
|
||||
$msg_subject = $row['privmsgs_subject'];
|
||||
|
||||
if ( count($orig_word) )
|
||||
if ( count($censors['match']) )
|
||||
{
|
||||
$msg_subject = preg_replace($orig_word, $replacement_word, $msg_subject);
|
||||
$msg_subject = preg_replace($censors['match'], $censors['replace'], $msg_subject);
|
||||
}
|
||||
|
||||
$u_subject = append_sid("privmsg.$phpEx?folder=$folder&mode=read&p=$privmsg_id");
|
||||
|
Reference in New Issue
Block a user