mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-08 12:28:52 +00:00
[ticket/12052] Use different visibility when post was edited
... and needs to be reapproved. PHPBB3-12052
This commit is contained in:
parent
dac01e8ca5
commit
2ec9c08a2b
18 changed files with 79 additions and 42 deletions
|
@ -533,7 +533,7 @@ class acp_prune
|
||||||
WHERE u.user_id <> ' . ANONYMOUS . '
|
WHERE u.user_id <> ' . ANONYMOUS . '
|
||||||
AND u.user_type <> ' . USER_FOUNDER .
|
AND u.user_type <> ' . USER_FOUNDER .
|
||||||
((!empty($user_ids)) ? 'AND ' . $db->sql_in_set('p.poster_id', $user_ids) : '') . '
|
((!empty($user_ids)) ? 'AND ' . $db->sql_in_set('p.poster_id', $user_ids) : '') . '
|
||||||
AND p.post_visibility = ' . ITEM_UNAPPROVED . '
|
AND ' . $db->sql_in_set('p.post_visibility', array(ITEM_UNAPPROVED, ITEM_REAPPROVE)) . '
|
||||||
AND u.user_id = p.poster_id
|
AND u.user_id = p.poster_id
|
||||||
GROUP BY p.poster_id
|
GROUP BY p.poster_id
|
||||||
HAVING queue_posts ' . $key_match[$queue_select] . ' ' . $posts_on_queue;
|
HAVING queue_posts ' . $key_match[$queue_select] . ' ' . $posts_on_queue;
|
||||||
|
|
|
@ -657,6 +657,7 @@ class acp_users
|
||||||
{
|
{
|
||||||
if ($topic_id_ary[$row['topic_id']][ITEM_APPROVED] == $row['topic_posts_approved']
|
if ($topic_id_ary[$row['topic_id']][ITEM_APPROVED] == $row['topic_posts_approved']
|
||||||
&& $topic_id_ary[$row['topic_id']][ITEM_UNAPPROVED] == $row['topic_posts_unapproved']
|
&& $topic_id_ary[$row['topic_id']][ITEM_UNAPPROVED] == $row['topic_posts_unapproved']
|
||||||
|
&& $topic_id_ary[$row['topic_id']][ITEM_REAPPROVE] == $row['topic_posts_unapproved']
|
||||||
&& $topic_id_ary[$row['topic_id']][ITEM_DELETED] == $row['topic_posts_softdeleted'])
|
&& $topic_id_ary[$row['topic_id']][ITEM_DELETED] == $row['topic_posts_softdeleted'])
|
||||||
{
|
{
|
||||||
$move_topic_ary[] = $row['topic_id'];
|
$move_topic_ary[] = $row['topic_id'];
|
||||||
|
@ -1050,7 +1051,7 @@ class acp_users
|
||||||
$sql = 'SELECT COUNT(post_id) as posts_in_queue
|
$sql = 'SELECT COUNT(post_id) as posts_in_queue
|
||||||
FROM ' . POSTS_TABLE . '
|
FROM ' . POSTS_TABLE . '
|
||||||
WHERE poster_id = ' . $user_id . '
|
WHERE poster_id = ' . $user_id . '
|
||||||
AND post_visibility = ' . ITEM_UNAPPROVED;
|
AND post_visibility = ' . $db->sql_in_set('post_visibility', array(ITEM_UNAPPROVED, ITEM_REAPPROVE));
|
||||||
$result = $db->sql_query($sql);
|
$result = $db->sql_query($sql);
|
||||||
$user_row['posts_in_queue'] = (int) $db->sql_fetchfield('posts_in_queue');
|
$user_row['posts_in_queue'] = (int) $db->sql_fetchfield('posts_in_queue');
|
||||||
$db->sql_freeresult($result);
|
$db->sql_freeresult($result);
|
||||||
|
|
|
@ -91,6 +91,7 @@ define('ITEM_MOVED', 2);
|
||||||
define('ITEM_UNAPPROVED', 0); // => has not yet been approved
|
define('ITEM_UNAPPROVED', 0); // => has not yet been approved
|
||||||
define('ITEM_APPROVED', 1); // => has been approved, and has not been soft deleted
|
define('ITEM_APPROVED', 1); // => has been approved, and has not been soft deleted
|
||||||
define('ITEM_DELETED', 2); // => has been soft deleted
|
define('ITEM_DELETED', 2); // => has been soft deleted
|
||||||
|
define('ITEM_REAPPROVE', 3); // => has been edited and needs to be re-approved
|
||||||
|
|
||||||
// Forum Flags
|
// Forum Flags
|
||||||
define('FORUM_FLAG_LINK_TRACK', 1);
|
define('FORUM_FLAG_LINK_TRACK', 1);
|
||||||
|
|
|
@ -1487,7 +1487,7 @@ function sync($mode, $where_type = '', $where_ids = '', $resync_parents = false,
|
||||||
ITEM_DELETED => (!empty($topics_softdeleted)) ? ' WHERE ' . $db->sql_in_set('topic_id', $topics_softdeleted) : '',
|
ITEM_DELETED => (!empty($topics_softdeleted)) ? ' WHERE ' . $db->sql_in_set('topic_id', $topics_softdeleted) : '',
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach ($topic_visiblities as $visibility => $sql_where)
|
foreach ($update_ary as $visibility => $sql_where)
|
||||||
{
|
{
|
||||||
if ($sql_where)
|
if ($sql_where)
|
||||||
{
|
{
|
||||||
|
@ -1776,7 +1776,7 @@ function sync($mode, $where_type = '', $where_ids = '', $resync_parents = false,
|
||||||
{
|
{
|
||||||
$forum_data[$forum_id]['topics_approved'] = $row['total_topics'];
|
$forum_data[$forum_id]['topics_approved'] = $row['total_topics'];
|
||||||
}
|
}
|
||||||
else if ($row['topic_visibility'] == ITEM_UNAPPROVED)
|
else if ($row['topic_visibility'] == ITEM_UNAPPROVED || $row['topic_visibility'] == ITEM_REAPPROVE)
|
||||||
{
|
{
|
||||||
$forum_data[$forum_id]['topics_unapproved'] = $row['total_topics'];
|
$forum_data[$forum_id]['topics_unapproved'] = $row['total_topics'];
|
||||||
}
|
}
|
||||||
|
@ -1999,7 +1999,7 @@ function sync($mode, $where_type = '', $where_ids = '', $resync_parents = false,
|
||||||
{
|
{
|
||||||
$topic_data[$topic_id]['posts_approved'] = $row['total_posts'];
|
$topic_data[$topic_id]['posts_approved'] = $row['total_posts'];
|
||||||
}
|
}
|
||||||
else if ($row['post_visibility'] == ITEM_UNAPPROVED)
|
else if ($row['post_visibility'] == ITEM_UNAPPROVED || $row['post_visibility'] == ITEM_REAPPROVE)
|
||||||
{
|
{
|
||||||
$topic_data[$topic_id]['posts_unapproved'] = $row['total_posts'];
|
$topic_data[$topic_id]['posts_unapproved'] = $row['total_posts'];
|
||||||
}
|
}
|
||||||
|
@ -2021,7 +2021,7 @@ function sync($mode, $where_type = '', $where_ids = '', $resync_parents = false,
|
||||||
$topic_data[$topic_id]['first_post_id'] = (!empty($topic_data[$topic_id]['first_post_id'])) ? min($topic_data[$topic_id]['first_post_id'], $row['first_post_id']) : $row['first_post_id'];
|
$topic_data[$topic_id]['first_post_id'] = (!empty($topic_data[$topic_id]['first_post_id'])) ? min($topic_data[$topic_id]['first_post_id'], $row['first_post_id']) : $row['first_post_id'];
|
||||||
$topic_data[$topic_id]['last_post_id'] = max($topic_data[$topic_id]['last_post_id'], $row['last_post_id']);
|
$topic_data[$topic_id]['last_post_id'] = max($topic_data[$topic_id]['last_post_id'], $row['last_post_id']);
|
||||||
|
|
||||||
if ($topic_data[$topic_id]['visibility'] == ITEM_UNAPPROVED)
|
if ($topic_data[$topic_id]['visibility'] == ITEM_UNAPPROVED || $topic_data[$topic_id]['visibility'] == ITEM_REAPPROVE)
|
||||||
{
|
{
|
||||||
// Soft delete status is stronger than unapproved.
|
// Soft delete status is stronger than unapproved.
|
||||||
$topic_data[$topic_id]['visibility'] = $row['post_visibility'];
|
$topic_data[$topic_id]['visibility'] = $row['post_visibility'];
|
||||||
|
|
|
@ -1296,7 +1296,7 @@ function delete_post($forum_id, $topic_id, $post_id, &$data, $is_soft = false, $
|
||||||
{
|
{
|
||||||
$sql_data[FORUMS_TABLE] .= 'forum_posts_approved = forum_posts_approved - 1, forum_topics_approved = forum_topics_approved - 1';
|
$sql_data[FORUMS_TABLE] .= 'forum_posts_approved = forum_posts_approved - 1, forum_topics_approved = forum_topics_approved - 1';
|
||||||
}
|
}
|
||||||
else if ($data['topic_visibility'] == ITEM_UNAPPROVED)
|
else if ($data['topic_visibility'] == ITEM_UNAPPROVED || $data['post_visibility'] == ITEM_REAPPROVE)
|
||||||
{
|
{
|
||||||
$sql_data[FORUMS_TABLE] .= 'forum_posts_unapproved = forum_posts_unapproved - 1, forum_topics_unapproved = forum_topics_unapproved - 1';
|
$sql_data[FORUMS_TABLE] .= 'forum_posts_unapproved = forum_posts_unapproved - 1, forum_topics_unapproved = forum_topics_unapproved - 1';
|
||||||
}
|
}
|
||||||
|
@ -1403,7 +1403,7 @@ function delete_post($forum_id, $topic_id, $post_id, &$data, $is_soft = false, $
|
||||||
{
|
{
|
||||||
$phpbb_content_visibility->remove_post_from_statistic($data, $sql_data);
|
$phpbb_content_visibility->remove_post_from_statistic($data, $sql_data);
|
||||||
}
|
}
|
||||||
else if ($data['post_visibility'] == ITEM_UNAPPROVED)
|
else if ($data['post_visibility'] == ITEM_UNAPPROVED || $data['post_visibility'] == ITEM_REAPPROVE)
|
||||||
{
|
{
|
||||||
$sql_data[FORUMS_TABLE] = (($sql_data[FORUMS_TABLE]) ? $sql_data[FORUMS_TABLE] . ', ' : '') . 'forum_posts_unapproved = forum_posts_unapproved - 1';
|
$sql_data[FORUMS_TABLE] = (($sql_data[FORUMS_TABLE]) ? $sql_data[FORUMS_TABLE] . ', ' : '') . 'forum_posts_unapproved = forum_posts_unapproved - 1';
|
||||||
$sql_data[TOPICS_TABLE] = (($sql_data[TOPICS_TABLE]) ? $sql_data[TOPICS_TABLE] . ', ' : '') . 'topic_posts_unapproved = topic_posts_unapproved - 1';
|
$sql_data[TOPICS_TABLE] = (($sql_data[TOPICS_TABLE]) ? $sql_data[TOPICS_TABLE] . ', ' : '') . 'topic_posts_unapproved = topic_posts_unapproved - 1';
|
||||||
|
@ -1555,16 +1555,25 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
|
||||||
{
|
{
|
||||||
// Post not approved, but in queue
|
// Post not approved, but in queue
|
||||||
$post_visibility = ITEM_UNAPPROVED;
|
$post_visibility = ITEM_UNAPPROVED;
|
||||||
|
switch ($post_mode)
|
||||||
|
{
|
||||||
|
case 'edit_first_post':
|
||||||
|
case 'edit':
|
||||||
|
case 'edit_last_post':
|
||||||
|
case 'edit_topic':
|
||||||
|
$post_visibility = ITEM_REAPPROVE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// MODs/Extensions are able to force any visibility on posts
|
// MODs/Extensions are able to force any visibility on posts
|
||||||
if (isset($data['force_approved_state']))
|
if (isset($data['force_approved_state']))
|
||||||
{
|
{
|
||||||
$post_visibility = (in_array((int) $data['force_approved_state'], array(ITEM_APPROVED, ITEM_UNAPPROVED, ITEM_DELETED))) ? (int) $data['force_approved_state'] : $post_visibility;
|
$post_visibility = (in_array((int) $data['force_approved_state'], array(ITEM_APPROVED, ITEM_UNAPPROVED, ITEM_DELETED, ITEM_REAPPROVE))) ? (int) $data['force_approved_state'] : $post_visibility;
|
||||||
}
|
}
|
||||||
if (isset($data['force_visibility']))
|
if (isset($data['force_visibility']))
|
||||||
{
|
{
|
||||||
$post_visibility = (in_array((int) $data['force_visibility'], array(ITEM_APPROVED, ITEM_UNAPPROVED, ITEM_DELETED))) ? (int) $data['force_visibility'] : $post_visibility;
|
$post_visibility = (in_array((int) $data['force_visibility'], array(ITEM_APPROVED, ITEM_UNAPPROVED, ITEM_DELETED, ITEM_REAPPROVE))) ? (int) $data['force_visibility'] : $post_visibility;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start the transaction here
|
// Start the transaction here
|
||||||
|
@ -2032,6 +2041,7 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
|
||||||
$first_post_has_topic_info = ($post_mode == 'edit_first_post' &&
|
$first_post_has_topic_info = ($post_mode == 'edit_first_post' &&
|
||||||
(($post_visibility == ITEM_DELETED && $data['topic_posts_softdeleted'] == 1) ||
|
(($post_visibility == ITEM_DELETED && $data['topic_posts_softdeleted'] == 1) ||
|
||||||
($post_visibility == ITEM_UNAPPROVED && $data['topic_posts_unapproved'] == 1) ||
|
($post_visibility == ITEM_UNAPPROVED && $data['topic_posts_unapproved'] == 1) ||
|
||||||
|
($post_visibility == ITEM_REAPPROVE && $data['topic_posts_unapproved'] == 1) ||
|
||||||
($post_visibility == ITEM_APPROVED && $data['topic_posts_approved'] == 1)));
|
($post_visibility == ITEM_APPROVED && $data['topic_posts_approved'] == 1)));
|
||||||
// Fix the post's and topic's visibility and first/last post information, when the post is edited
|
// Fix the post's and topic's visibility and first/last post information, when the post is edited
|
||||||
if (($post_mode != 'post' && $post_mode != 'reply') && $data['post_visibility'] != $post_visibility)
|
if (($post_mode != 'post' && $post_mode != 'reply') && $data['post_visibility'] != $post_visibility)
|
||||||
|
@ -2276,6 +2286,27 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if ($post_visibility == ITEM_REAPPROVE)
|
||||||
|
{
|
||||||
|
switch ($mode)
|
||||||
|
{
|
||||||
|
case 'edit_topic':
|
||||||
|
case 'edit_first_post':
|
||||||
|
$phpbb_notifications->add_notifications('topic_in_queue', $notification_data);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'edit':
|
||||||
|
case 'edit_last_post':
|
||||||
|
$phpbb_notifications->add_notifications('post_in_queue', $notification_data);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'post':
|
||||||
|
case 'reply':
|
||||||
|
case 'quote':
|
||||||
|
// Nothing to do here
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
else if ($post_visibility == ITEM_DELETED)
|
else if ($post_visibility == ITEM_DELETED)
|
||||||
{
|
{
|
||||||
switch ($mode)
|
switch ($mode)
|
||||||
|
|
|
@ -224,7 +224,7 @@ function mcp_forum_view($id, $mode, $action, $forum_info)
|
||||||
|
|
||||||
$topic_title = censor_text($row['topic_title']);
|
$topic_title = censor_text($row['topic_title']);
|
||||||
|
|
||||||
$topic_unapproved = ($row['topic_visibility'] == ITEM_UNAPPROVED && $auth->acl_get('m_approve', $row['forum_id'])) ? true : false;
|
$topic_unapproved = (($row['topic_visibility'] == ITEM_UNAPPROVED || $row['topic_visibility'] == ITEM_REAPPROVE) && $auth->acl_get('m_approve', $row['forum_id'])) ? true : false;
|
||||||
$posts_unapproved = ($row['topic_visibility'] == ITEM_APPROVED && $row['topic_posts_unapproved'] && $auth->acl_get('m_approve', $row['forum_id'])) ? true : false;
|
$posts_unapproved = ($row['topic_visibility'] == ITEM_APPROVED && $row['topic_posts_unapproved'] && $auth->acl_get('m_approve', $row['forum_id'])) ? true : false;
|
||||||
$topic_deleted = $row['topic_visibility'] == ITEM_DELETED;
|
$topic_deleted = $row['topic_visibility'] == ITEM_DELETED;
|
||||||
$u_mcp_queue = ($topic_unapproved || $posts_unapproved) ? $url . '&i=queue&mode=' . (($topic_unapproved) ? 'approve_details' : 'unapproved_posts') . '&t=' . $row['topic_id'] : '';
|
$u_mcp_queue = ($topic_unapproved || $posts_unapproved) ? $url . '&i=queue&mode=' . (($topic_unapproved) ? 'approve_details' : 'unapproved_posts') . '&t=' . $row['topic_id'] : '';
|
||||||
|
|
|
@ -39,7 +39,7 @@ function mcp_front_view($id, $mode, $action)
|
||||||
$sql = 'SELECT COUNT(post_id) AS total
|
$sql = 'SELECT COUNT(post_id) AS total
|
||||||
FROM ' . POSTS_TABLE . '
|
FROM ' . POSTS_TABLE . '
|
||||||
WHERE ' . $db->sql_in_set('forum_id', $forum_list) . '
|
WHERE ' . $db->sql_in_set('forum_id', $forum_list) . '
|
||||||
AND post_visibility = ' . ITEM_UNAPPROVED;
|
AND ' . $db->sql_in_set('post_visibility', array(ITEM_UNAPPROVED, ITEM_REAPPROVE));
|
||||||
$result = $db->sql_query($sql);
|
$result = $db->sql_query($sql);
|
||||||
$total = (int) $db->sql_fetchfield('total');
|
$total = (int) $db->sql_fetchfield('total');
|
||||||
$db->sql_freeresult($result);
|
$db->sql_freeresult($result);
|
||||||
|
@ -60,7 +60,7 @@ function mcp_front_view($id, $mode, $action)
|
||||||
$sql = 'SELECT post_id
|
$sql = 'SELECT post_id
|
||||||
FROM ' . POSTS_TABLE . '
|
FROM ' . POSTS_TABLE . '
|
||||||
WHERE ' . $db->sql_in_set('forum_id', $forum_list) . '
|
WHERE ' . $db->sql_in_set('forum_id', $forum_list) . '
|
||||||
AND post_visibility = ' . ITEM_UNAPPROVED . '
|
AND ' . $db->sql_in_set('post_visibility', array(ITEM_UNAPPROVED, ITEM_REAPPROVE)) . '
|
||||||
ORDER BY post_time DESC';
|
ORDER BY post_time DESC';
|
||||||
$result = $db->sql_query_limit($sql, 5);
|
$result = $db->sql_query_limit($sql, 5);
|
||||||
|
|
||||||
|
|
|
@ -493,7 +493,7 @@ function mcp_move_topic($topic_ids)
|
||||||
{
|
{
|
||||||
$topics_moved++;
|
$topics_moved++;
|
||||||
}
|
}
|
||||||
elseif ($topic_info['topic_visibility'] == ITEM_UNAPPROVED)
|
elseif ($topic_info['topic_visibility'] == ITEM_UNAPPROVED || $topic_info['topic_visibility'] == ITEM_REAPPROVE)
|
||||||
{
|
{
|
||||||
$topics_moved_unapproved++;
|
$topics_moved_unapproved++;
|
||||||
}
|
}
|
||||||
|
@ -1230,6 +1230,7 @@ function mcp_fork_topic($topic_ids)
|
||||||
$total_topics++;
|
$total_topics++;
|
||||||
break;
|
break;
|
||||||
case ITEM_UNAPPROVED:
|
case ITEM_UNAPPROVED:
|
||||||
|
case ITEM_REAPPROVE:
|
||||||
$total_topics_unapproved++;
|
$total_topics_unapproved++;
|
||||||
break;
|
break;
|
||||||
case ITEM_DELETED:
|
case ITEM_DELETED:
|
||||||
|
@ -1316,6 +1317,7 @@ function mcp_fork_topic($topic_ids)
|
||||||
$total_posts++;
|
$total_posts++;
|
||||||
break;
|
break;
|
||||||
case ITEM_UNAPPROVED:
|
case ITEM_UNAPPROVED:
|
||||||
|
case ITEM_REAPPROVE:
|
||||||
$total_posts_unapproved++;
|
$total_posts_unapproved++;
|
||||||
break;
|
break;
|
||||||
case ITEM_DELETED:
|
case ITEM_DELETED:
|
||||||
|
|
|
@ -203,7 +203,7 @@ function mcp_post_details($id, $mode, $action)
|
||||||
'S_CAN_DELETE_POST' => $auth->acl_get('m_delete', $post_info['forum_id']),
|
'S_CAN_DELETE_POST' => $auth->acl_get('m_delete', $post_info['forum_id']),
|
||||||
|
|
||||||
'S_POST_REPORTED' => ($post_info['post_reported']) ? true : false,
|
'S_POST_REPORTED' => ($post_info['post_reported']) ? true : false,
|
||||||
'S_POST_UNAPPROVED' => ($post_info['post_visibility'] == ITEM_UNAPPROVED) ? true : false,
|
'S_POST_UNAPPROVED' => ($post_info['post_visibility'] == ITEM_UNAPPROVED || $post_info['post_visibility'] == ITEM_REAPPROVE) ? true : false,
|
||||||
'S_POST_DELETED' => ($post_info['post_visibility'] == ITEM_DELETED) ? true : false,
|
'S_POST_DELETED' => ($post_info['post_visibility'] == ITEM_DELETED) ? true : false,
|
||||||
'S_POST_LOCKED' => ($post_info['post_edit_locked']) ? true : false,
|
'S_POST_LOCKED' => ($post_info['post_edit_locked']) ? true : false,
|
||||||
'S_USER_NOTES' => true,
|
'S_USER_NOTES' => true,
|
||||||
|
|
|
@ -115,10 +115,10 @@ class mcp_queue
|
||||||
|
|
||||||
if (!empty($topic_id_list))
|
if (!empty($topic_id_list))
|
||||||
{
|
{
|
||||||
$post_visibility = ($mode == 'deleted_topics') ? ITEM_DELETED : ITEM_UNAPPROVED;
|
$post_visibility = ($mode == 'deleted_topics') ? ITEM_DELETED : array(ITEM_UNAPPROVED, ITEM_REAPPROVE);
|
||||||
$sql = 'SELECT post_id
|
$sql = 'SELECT post_id
|
||||||
FROM ' . POSTS_TABLE . '
|
FROM ' . POSTS_TABLE . '
|
||||||
WHERE post_visibility = ' . $post_visibility . '
|
WHERE ' . $db->sql_in_set('post_visibility', $post_visibility) . '
|
||||||
AND ' . $db->sql_in_set('topic_id', $topic_id_list);
|
AND ' . $db->sql_in_set('topic_id', $topic_id_list);
|
||||||
$result = $db->sql_query($sql);
|
$result = $db->sql_query($sql);
|
||||||
|
|
||||||
|
@ -281,7 +281,7 @@ class mcp_queue
|
||||||
'U_APPROVE_ACTION' => append_sid("{$phpbb_root_path}mcp.$phpEx", "i=queue&p=$post_id&f=$forum_id"),
|
'U_APPROVE_ACTION' => append_sid("{$phpbb_root_path}mcp.$phpEx", "i=queue&p=$post_id&f=$forum_id"),
|
||||||
'S_CAN_VIEWIP' => $auth->acl_get('m_info', $post_info['forum_id']),
|
'S_CAN_VIEWIP' => $auth->acl_get('m_info', $post_info['forum_id']),
|
||||||
'S_POST_REPORTED' => $post_info['post_reported'],
|
'S_POST_REPORTED' => $post_info['post_reported'],
|
||||||
'S_POST_UNAPPROVED' => ($post_info['post_visibility'] == ITEM_UNAPPROVED),
|
'S_POST_UNAPPROVED' => $post_info['post_visibility'] == ITEM_UNAPPROVED || $post_info['post_visibility'] == ITEM_REAPPROVE,
|
||||||
'S_POST_LOCKED' => $post_info['post_edit_locked'],
|
'S_POST_LOCKED' => $post_info['post_edit_locked'],
|
||||||
'S_USER_NOTES' => true,
|
'S_USER_NOTES' => true,
|
||||||
'S_POST_DELETED' => ($post_info['post_visibility'] == ITEM_DELETED),
|
'S_POST_DELETED' => ($post_info['post_visibility'] == ITEM_DELETED),
|
||||||
|
@ -331,7 +331,7 @@ class mcp_queue
|
||||||
$m_perm = 'm_approve';
|
$m_perm = 'm_approve';
|
||||||
$is_topics = ($mode == 'unapproved_topics' || $mode == 'deleted_topics') ? true : false;
|
$is_topics = ($mode == 'unapproved_topics' || $mode == 'deleted_topics') ? true : false;
|
||||||
$is_restore = ($mode == 'deleted_posts' || $mode == 'deleted_topics') ? true : false;
|
$is_restore = ($mode == 'deleted_posts' || $mode == 'deleted_topics') ? true : false;
|
||||||
$visibility_const = (!$is_restore) ? ITEM_UNAPPROVED : ITEM_DELETED;
|
$visibility_const = (!$is_restore) ? array(ITEM_UNAPPROVED, ITEM_REAPPROVE) : ITEM_DELETED;
|
||||||
|
|
||||||
$user->add_lang(array('viewtopic', 'viewforum'));
|
$user->add_lang(array('viewtopic', 'viewforum'));
|
||||||
|
|
||||||
|
@ -419,7 +419,7 @@ class mcp_queue
|
||||||
$sql = 'SELECT p.post_id
|
$sql = 'SELECT p.post_id
|
||||||
FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . ' t' . (($sort_order_sql[0] == 'u') ? ', ' . USERS_TABLE . ' u' : '') . '
|
FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . ' t' . (($sort_order_sql[0] == 'u') ? ', ' . USERS_TABLE . ' u' : '') . '
|
||||||
WHERE ' . $db->sql_in_set('p.forum_id', $forum_list) . '
|
WHERE ' . $db->sql_in_set('p.forum_id', $forum_list) . '
|
||||||
AND p.post_visibility = ' . $visibility_const . '
|
AND ' . $db->sql_in_set('p.post_visibility', $visibility_const) . '
|
||||||
' . (($sort_order_sql[0] == 'u') ? 'AND u.user_id = p.poster_id' : '') . '
|
' . (($sort_order_sql[0] == 'u') ? 'AND u.user_id = p.poster_id' : '') . '
|
||||||
' . (($topic_id) ? 'AND p.topic_id = ' . $topic_id : '') . "
|
' . (($topic_id) ? 'AND p.topic_id = ' . $topic_id : '') . "
|
||||||
AND t.topic_id = p.topic_id
|
AND t.topic_id = p.topic_id
|
||||||
|
@ -472,7 +472,7 @@ class mcp_queue
|
||||||
$sql = 'SELECT t.forum_id, t.topic_id, t.topic_title, t.topic_title AS post_subject, t.topic_time AS post_time, t.topic_poster AS poster_id, t.topic_first_post_id AS post_id, t.topic_attachment AS post_attachment, t.topic_first_poster_name AS username, t.topic_first_poster_colour AS user_colour
|
$sql = 'SELECT t.forum_id, t.topic_id, t.topic_title, t.topic_title AS post_subject, t.topic_time AS post_time, t.topic_poster AS poster_id, t.topic_first_post_id AS post_id, t.topic_attachment AS post_attachment, t.topic_first_poster_name AS username, t.topic_first_poster_colour AS user_colour
|
||||||
FROM ' . TOPICS_TABLE . ' t
|
FROM ' . TOPICS_TABLE . ' t
|
||||||
WHERE ' . $db->sql_in_set('forum_id', $forum_list) . '
|
WHERE ' . $db->sql_in_set('forum_id', $forum_list) . '
|
||||||
AND topic_visibility = ' . $visibility_const . "
|
AND ' . $db->sql_in_set('topic_visibility', $visibility_const) . "
|
||||||
AND topic_delete_user <> 0
|
AND topic_delete_user <> 0
|
||||||
$limit_time_sql
|
$limit_time_sql
|
||||||
ORDER BY $sort_order_sql";
|
ORDER BY $sort_order_sql";
|
||||||
|
|
|
@ -187,7 +187,7 @@ class mcp_reports
|
||||||
'S_CLOSE_ACTION' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=reports&mode=report_details&f=' . $post_info['forum_id'] . '&p=' . $post_id),
|
'S_CLOSE_ACTION' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=reports&mode=report_details&f=' . $post_info['forum_id'] . '&p=' . $post_id),
|
||||||
'S_CAN_VIEWIP' => $auth->acl_get('m_info', $post_info['forum_id']),
|
'S_CAN_VIEWIP' => $auth->acl_get('m_info', $post_info['forum_id']),
|
||||||
'S_POST_REPORTED' => $post_info['post_reported'],
|
'S_POST_REPORTED' => $post_info['post_reported'],
|
||||||
'S_POST_UNAPPROVED' => ($post_info['post_visibility'] == ITEM_UNAPPROVED),
|
'S_POST_UNAPPROVED' => $post_info['post_visibility'] == ITEM_UNAPPROVED || $post_info['post_visibility'] == ITEM_REAPPROVE,
|
||||||
'S_POST_LOCKED' => $post_info['post_edit_locked'],
|
'S_POST_LOCKED' => $post_info['post_edit_locked'],
|
||||||
'S_REPORT_CLOSED' => $report['report_closed'],
|
'S_REPORT_CLOSED' => $report['report_closed'],
|
||||||
'S_USER_NOTES' => true,
|
'S_USER_NOTES' => true,
|
||||||
|
|
|
@ -212,7 +212,7 @@ function mcp_topic_view($id, $mode, $action)
|
||||||
parse_attachments($topic_info['forum_id'], $message, $attachments[$row['post_id']], $update_count);
|
parse_attachments($topic_info['forum_id'], $message, $attachments[$row['post_id']], $update_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($row['post_visibility'] == ITEM_UNAPPROVED)
|
if ($row['post_visibility'] == ITEM_UNAPPROVED || $row['post_visibility'] == ITEM_REAPPROVE)
|
||||||
{
|
{
|
||||||
$has_unapproved_posts = true;
|
$has_unapproved_posts = true;
|
||||||
}
|
}
|
||||||
|
@ -239,7 +239,7 @@ function mcp_topic_view($id, $mode, $action)
|
||||||
'MINI_POST_IMG' => ($post_unread) ? $user->img('icon_post_target_unread', 'UNREAD_POST') : $user->img('icon_post_target', 'POST'),
|
'MINI_POST_IMG' => ($post_unread) ? $user->img('icon_post_target_unread', 'UNREAD_POST') : $user->img('icon_post_target', 'POST'),
|
||||||
|
|
||||||
'S_POST_REPORTED' => ($row['post_reported'] && $auth->acl_get('m_report', $topic_info['forum_id'])),
|
'S_POST_REPORTED' => ($row['post_reported'] && $auth->acl_get('m_report', $topic_info['forum_id'])),
|
||||||
'S_POST_UNAPPROVED' => ($row['post_visibility'] == ITEM_UNAPPROVED && $auth->acl_get('m_approve', $topic_info['forum_id'])),
|
'S_POST_UNAPPROVED' => (($row['post_visibility'] == ITEM_UNAPPROVED || $row['post_visibility'] == ITEM_REAPPROVE) && $auth->acl_get('m_approve', $topic_info['forum_id'])),
|
||||||
'S_POST_DELETED' => ($row['post_visibility'] == ITEM_DELETED && $auth->acl_get('m_approve', $topic_info['forum_id'])),
|
'S_POST_DELETED' => ($row['post_visibility'] == ITEM_DELETED && $auth->acl_get('m_approve', $topic_info['forum_id'])),
|
||||||
'S_CHECKED' => (($submitted_id_list && !in_array(intval($row['post_id']), $submitted_id_list)) || in_array(intval($row['post_id']), $checked_ids)) ? true : false,
|
'S_CHECKED' => (($submitted_id_list && !in_array(intval($row['post_id']), $submitted_id_list)) || in_array(intval($row['post_id']), $checked_ids)) ? true : false,
|
||||||
'S_HAS_ATTACHMENTS' => (!empty($attachments[$row['post_id']])) ? true : false,
|
'S_HAS_ATTACHMENTS' => (!empty($attachments[$row['post_id']])) ? true : false,
|
||||||
|
@ -462,7 +462,7 @@ function split_topic($action, $topic_id, $to_forum_id, $subject)
|
||||||
while ($row = $db->sql_fetchrow($result))
|
while ($row = $db->sql_fetchrow($result))
|
||||||
{
|
{
|
||||||
// If split from selected post (split_beyond), we split the unapproved items too.
|
// If split from selected post (split_beyond), we split the unapproved items too.
|
||||||
if ($row['post_visibility'] == ITEM_UNAPPROVED && !$auth->acl_get('m_approve', $row['forum_id']))
|
if (($row['post_visibility'] == ITEM_UNAPPROVED || $row['post_visibility'] == ITEM_REAPPROVE) && !$auth->acl_get('m_approve', $row['forum_id']))
|
||||||
{
|
{
|
||||||
// continue;
|
// continue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -677,7 +677,7 @@ function mcp_sorting($mode, &$sort_days, &$sort_key, &$sort_dir, &$sort_by_sql,
|
||||||
|
|
||||||
case 'unapproved_posts':
|
case 'unapproved_posts':
|
||||||
case 'deleted_posts':
|
case 'deleted_posts':
|
||||||
$visibility_const = ($mode == 'unapproved_posts') ? ITEM_UNAPPROVED : ITEM_DELETED;
|
$visibility_const = ($mode == 'unapproved_posts') ? array(ITEM_UNAPPROVED, ITEM_REAPPROVE) : ITEM_DELETED;
|
||||||
$type = 'posts';
|
$type = 'posts';
|
||||||
$default_key = 't';
|
$default_key = 't';
|
||||||
$default_dir = 'd';
|
$default_dir = 'd';
|
||||||
|
@ -687,6 +687,7 @@ function mcp_sorting($mode, &$sort_days, &$sort_key, &$sort_dir, &$sort_by_sql,
|
||||||
FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . " t
|
FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . " t
|
||||||
$where_sql " . $db->sql_in_set('p.forum_id', ($forum_id) ? array($forum_id) : array_intersect(get_forum_list('f_read'), get_forum_list('m_approve'))) . '
|
$where_sql " . $db->sql_in_set('p.forum_id', ($forum_id) ? array($forum_id) : array_intersect(get_forum_list('f_read'), get_forum_list('m_approve'))) . '
|
||||||
AND p.post_visibility = ' . $visibility_const . '
|
AND p.post_visibility = ' . $visibility_const . '
|
||||||
|
AND ' . $db->sql_in_set('topic_visibility', $visibility_const) .'
|
||||||
AND t.topic_id = p.topic_id
|
AND t.topic_id = p.topic_id
|
||||||
AND t.topic_visibility <> p.post_visibility';
|
AND t.topic_visibility <> p.post_visibility';
|
||||||
|
|
||||||
|
@ -698,7 +699,7 @@ function mcp_sorting($mode, &$sort_days, &$sort_key, &$sort_dir, &$sort_by_sql,
|
||||||
|
|
||||||
case 'unapproved_topics':
|
case 'unapproved_topics':
|
||||||
case 'deleted_topics':
|
case 'deleted_topics':
|
||||||
$visibility_const = ($mode == 'unapproved_topics') ? ITEM_UNAPPROVED : ITEM_DELETED;
|
$visibility_const = ($mode == 'unapproved_topics') ? array(ITEM_UNAPPROVED, ITEM_REAPPROVE) : ITEM_DELETED;
|
||||||
$type = 'topics';
|
$type = 'topics';
|
||||||
$default_key = 't';
|
$default_key = 't';
|
||||||
$default_dir = 'd';
|
$default_dir = 'd';
|
||||||
|
@ -706,7 +707,7 @@ function mcp_sorting($mode, &$sort_days, &$sort_key, &$sort_dir, &$sort_by_sql,
|
||||||
$sql = 'SELECT COUNT(topic_id) AS total
|
$sql = 'SELECT COUNT(topic_id) AS total
|
||||||
FROM ' . TOPICS_TABLE . "
|
FROM ' . TOPICS_TABLE . "
|
||||||
$where_sql " . $db->sql_in_set('forum_id', ($forum_id) ? array($forum_id) : array_intersect(get_forum_list('f_read'), get_forum_list('m_approve'))) . '
|
$where_sql " . $db->sql_in_set('forum_id', ($forum_id) ? array($forum_id) : array_intersect(get_forum_list('f_read'), get_forum_list('m_approve'))) . '
|
||||||
AND topic_visibility = ' . $visibility_const;
|
AND ' . $db->sql_in_set('topic_visibility', $visibility_const);
|
||||||
|
|
||||||
if ($min_time)
|
if ($min_time)
|
||||||
{
|
{
|
||||||
|
|
|
@ -624,7 +624,7 @@ switch ($mode)
|
||||||
$sql = 'SELECT COUNT(post_id) as posts_in_queue
|
$sql = 'SELECT COUNT(post_id) as posts_in_queue
|
||||||
FROM ' . POSTS_TABLE . '
|
FROM ' . POSTS_TABLE . '
|
||||||
WHERE poster_id = ' . $user_id . '
|
WHERE poster_id = ' . $user_id . '
|
||||||
AND post_visibility = ' . ITEM_UNAPPROVED;
|
AND ' . $db->sql_in_set('post_visibility', array(ITEM_UNAPPROVED, ITEM_REAPPROVE));
|
||||||
$result = $db->sql_query($sql);
|
$result = $db->sql_query($sql);
|
||||||
$member['posts_in_queue'] = (int) $db->sql_fetchfield('posts_in_queue');
|
$member['posts_in_queue'] = (int) $db->sql_fetchfield('posts_in_queue');
|
||||||
$db->sql_freeresult($result);
|
$db->sql_freeresult($result);
|
||||||
|
|
|
@ -215,23 +215,23 @@ class content_visibility
|
||||||
/**
|
/**
|
||||||
* Change visibility status of one post or all posts of a topic
|
* Change visibility status of one post or all posts of a topic
|
||||||
*
|
*
|
||||||
* @param $visibility int Element of {ITEM_APPROVED, ITEM_UNAPPROVED, ITEM_DELETED}
|
* @param $visibility int Element of {ITEM_APPROVED, ITEM_DELETED, ITEM_REAPPROVE}
|
||||||
* @param $post_id mixed Post ID or array of post IDs to act on,
|
* @param $post_id mixed Post ID or array of post IDs to act on,
|
||||||
* if it is empty, all posts of topic_id will be modified
|
* if it is empty, all posts of topic_id will be modified
|
||||||
* @param $topic_id int Topic where $post_id is found
|
* @param $topic_id int Topic where $post_id is found
|
||||||
* @param $forum_id int Forum where $topic_id is found
|
* @param $forum_id int Forum where $topic_id is found
|
||||||
* @param $user_id int User performing the action
|
* @param $user_id int User performing the action
|
||||||
* @param $time int Timestamp when the action is performed
|
* @param $time int Timestamp when the action is performed
|
||||||
* @param $reason string Reason why the visibilty was changed.
|
* @param $reason string Reason why the visibility was changed.
|
||||||
* @param $is_starter bool Is this the first post of the topic changed?
|
* @param $is_starter bool Is this the first post of the topic changed?
|
||||||
* @param $is_latest bool Is this the last post of the topic changed?
|
* @param $is_latest bool Is this the last post of the topic changed?
|
||||||
* @param $limit_visibility mixed Limit updating per topic_id to a certain visibility
|
* @param $limit_visibility mixed Limit updating per topic_id to a certain visibility
|
||||||
* @param $limit_delete_time mixed Limit updating per topic_id to a certain deletion time
|
* @param $limit_delete_time mixed Limit updating per topic_id to a certain deletion time
|
||||||
* @return array Changed post data, empty array if an error occured.
|
* @return array Changed post data, empty array if an error occurred.
|
||||||
*/
|
*/
|
||||||
public function set_post_visibility($visibility, $post_id, $topic_id, $forum_id, $user_id, $time, $reason, $is_starter, $is_latest, $limit_visibility = false, $limit_delete_time = false)
|
public function set_post_visibility($visibility, $post_id, $topic_id, $forum_id, $user_id, $time, $reason, $is_starter, $is_latest, $limit_visibility = false, $limit_delete_time = false)
|
||||||
{
|
{
|
||||||
if (!in_array($visibility, array(ITEM_APPROVED, ITEM_UNAPPROVED, ITEM_DELETED)))
|
if (!in_array($visibility, array(ITEM_APPROVED, ITEM_DELETED, ITEM_REAPPROVE)))
|
||||||
{
|
{
|
||||||
return array();
|
return array();
|
||||||
}
|
}
|
||||||
|
@ -326,7 +326,7 @@ class content_visibility
|
||||||
// Update users postcounts
|
// Update users postcounts
|
||||||
foreach ($postcounts as $num_posts => $poster_ids)
|
foreach ($postcounts as $num_posts => $poster_ids)
|
||||||
{
|
{
|
||||||
if (in_array($visibility, array(ITEM_UNAPPROVED, ITEM_DELETED)))
|
if (in_array($visibility, array(ITEM_REAPPROVE, ITEM_DELETED)))
|
||||||
{
|
{
|
||||||
$sql = 'UPDATE ' . $this->users_table . '
|
$sql = 'UPDATE ' . $this->users_table . '
|
||||||
SET user_posts = 0
|
SET user_posts = 0
|
||||||
|
@ -391,6 +391,7 @@ class content_visibility
|
||||||
ITEM_APPROVED => 'posts_approved',
|
ITEM_APPROVED => 'posts_approved',
|
||||||
ITEM_UNAPPROVED => 'posts_unapproved',
|
ITEM_UNAPPROVED => 'posts_unapproved',
|
||||||
ITEM_DELETED => 'posts_softdeleted',
|
ITEM_DELETED => 'posts_softdeleted',
|
||||||
|
ITEM_REAPPROVE => 'posts_unapproved',
|
||||||
);
|
);
|
||||||
$cur_posts = array_fill_keys($field_alias, 0);
|
$cur_posts = array_fill_keys($field_alias, 0);
|
||||||
|
|
||||||
|
@ -456,7 +457,7 @@ class content_visibility
|
||||||
* as soft deleted.
|
* as soft deleted.
|
||||||
* If you want to update all posts, use the force option.
|
* If you want to update all posts, use the force option.
|
||||||
*
|
*
|
||||||
* @param $visibility int Element of {ITEM_APPROVED, ITEM_DELETED}
|
* @param $visibility int Element of {ITEM_APPROVED, ITEM_DELETED, ITEM_REAPPROVE}
|
||||||
* @param $topic_id mixed Topic ID to act on
|
* @param $topic_id mixed Topic ID to act on
|
||||||
* @param $forum_id int Forum where $topic_id is found
|
* @param $forum_id int Forum where $topic_id is found
|
||||||
* @param $user_id int User performing the action
|
* @param $user_id int User performing the action
|
||||||
|
@ -467,7 +468,7 @@ class content_visibility
|
||||||
*/
|
*/
|
||||||
public function set_topic_visibility($visibility, $topic_id, $forum_id, $user_id, $time, $reason, $force_update_all = false)
|
public function set_topic_visibility($visibility, $topic_id, $forum_id, $user_id, $time, $reason, $force_update_all = false)
|
||||||
{
|
{
|
||||||
if (!in_array($visibility, array(ITEM_APPROVED, ITEM_DELETED)))
|
if (!in_array($visibility, array(ITEM_APPROVED, ITEM_DELETED, ITEM_REAPPROVE)))
|
||||||
{
|
{
|
||||||
return array();
|
return array();
|
||||||
}
|
}
|
||||||
|
@ -513,7 +514,7 @@ class content_visibility
|
||||||
}
|
}
|
||||||
else if (!$force_update_all && $original_topic_data['topic_visibility'] == ITEM_APPROVED && $visibility == ITEM_DELETED)
|
else if (!$force_update_all && $original_topic_data['topic_visibility'] == ITEM_APPROVED && $visibility == ITEM_DELETED)
|
||||||
{
|
{
|
||||||
// If we're soft deleting a topic we only approved posts are soft deleted.
|
// If we're soft deleting a topic we only mark approved posts as soft deleted.
|
||||||
$this->set_post_visibility($visibility, false, $topic_id, $forum_id, $user_id, $time, '', true, true, $original_topic_data['topic_visibility']);
|
$this->set_post_visibility($visibility, false, $topic_id, $forum_id, $user_id, $time, '', true, true, $original_topic_data['topic_visibility']);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -879,7 +879,7 @@ if ($keywords || $author || $author_id || $search_id || $submit)
|
||||||
|
|
||||||
$unread_topic = (isset($topic_tracking_info[$forum_id][$row['topic_id']]) && $row['topic_last_post_time'] > $topic_tracking_info[$forum_id][$row['topic_id']]) ? true : false;
|
$unread_topic = (isset($topic_tracking_info[$forum_id][$row['topic_id']]) && $row['topic_last_post_time'] > $topic_tracking_info[$forum_id][$row['topic_id']]) ? true : false;
|
||||||
|
|
||||||
$topic_unapproved = ($row['topic_visibility'] == ITEM_UNAPPROVED && $auth->acl_get('m_approve', $forum_id)) ? true : false;
|
$topic_unapproved = (($row['topic_visibility'] == ITEM_UNAPPROVED || $row['topic_visibility'] == ITEM_REAPPROVE) && $auth->acl_get('m_approve', $forum_id)) ? true : false;
|
||||||
$posts_unapproved = ($row['topic_visibility'] == ITEM_APPROVED && $row['topic_posts_unapproved'] && $auth->acl_get('m_approve', $forum_id)) ? true : false;
|
$posts_unapproved = ($row['topic_visibility'] == ITEM_APPROVED && $row['topic_posts_unapproved'] && $auth->acl_get('m_approve', $forum_id)) ? true : false;
|
||||||
$topic_deleted = $row['topic_visibility'] == ITEM_DELETED;
|
$topic_deleted = $row['topic_visibility'] == ITEM_DELETED;
|
||||||
$u_mcp_queue = ($topic_unapproved || $posts_unapproved) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=queue&mode=' . (($topic_unapproved) ? 'approve_details' : 'unapproved_posts') . "&t=$result_topic_id", true, $user->session_id) : '';
|
$u_mcp_queue = ($topic_unapproved || $posts_unapproved) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=queue&mode=' . (($topic_unapproved) ? 'approve_details' : 'unapproved_posts') . "&t=$result_topic_id", true, $user->session_id) : '';
|
||||||
|
|
|
@ -749,7 +749,7 @@ if (sizeof($topic_list))
|
||||||
$view_topic_url_params = 'f=' . $row['forum_id'] . '&t=' . $topic_id;
|
$view_topic_url_params = 'f=' . $row['forum_id'] . '&t=' . $topic_id;
|
||||||
$view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", $view_topic_url_params);
|
$view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", $view_topic_url_params);
|
||||||
|
|
||||||
$topic_unapproved = ($row['topic_visibility'] == ITEM_UNAPPROVED && $auth->acl_get('m_approve', $row['forum_id']));
|
$topic_unapproved = (($row['topic_visibility'] == ITEM_UNAPPROVED || $row['topic_visibility'] == ITEM_REAPPROVE) && $auth->acl_get('m_approve', $row['forum_id']));
|
||||||
$posts_unapproved = ($row['topic_visibility'] == ITEM_APPROVED && $row['topic_posts_unapproved'] && $auth->acl_get('m_approve', $row['forum_id']));
|
$posts_unapproved = ($row['topic_visibility'] == ITEM_APPROVED && $row['topic_posts_unapproved'] && $auth->acl_get('m_approve', $row['forum_id']));
|
||||||
$topic_deleted = $row['topic_visibility'] == ITEM_DELETED;
|
$topic_deleted = $row['topic_visibility'] == ITEM_DELETED;
|
||||||
|
|
||||||
|
|
|
@ -266,7 +266,7 @@ if ($topic_data['topic_visibility'] != ITEM_APPROVED && !$auth->acl_get('m_appro
|
||||||
if ($post_id)
|
if ($post_id)
|
||||||
{
|
{
|
||||||
// are we where we are supposed to be?
|
// are we where we are supposed to be?
|
||||||
if ($topic_data['post_visibility'] == ITEM_UNAPPROVED && !$auth->acl_get('m_approve', $topic_data['forum_id']))
|
if (($topic_data['post_visibility'] == ITEM_UNAPPROVED || $topic_data['post_visibility'] == ITEM_REAPPROVE) && !$auth->acl_get('m_approve', $topic_data['forum_id']))
|
||||||
{
|
{
|
||||||
// If post_id was submitted, we try at least to display the topic as a last resort...
|
// If post_id was submitted, we try at least to display the topic as a last resort...
|
||||||
if ($topic_id)
|
if ($topic_id)
|
||||||
|
@ -1028,7 +1028,7 @@ while ($row = $db->sql_fetchrow($result))
|
||||||
{
|
{
|
||||||
$attach_list[] = (int) $row['post_id'];
|
$attach_list[] = (int) $row['post_id'];
|
||||||
|
|
||||||
if ($row['post_visibility'] == ITEM_UNAPPROVED)
|
if ($row['post_visibility'] == ITEM_UNAPPROVED || $row['post_visibility'] == ITEM_REAPPROVE)
|
||||||
{
|
{
|
||||||
$has_attachments = true;
|
$has_attachments = true;
|
||||||
}
|
}
|
||||||
|
@ -1642,7 +1642,7 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
|
||||||
|
|
||||||
'S_HAS_ATTACHMENTS' => (!empty($attachments[$row['post_id']])) ? true : false,
|
'S_HAS_ATTACHMENTS' => (!empty($attachments[$row['post_id']])) ? true : false,
|
||||||
'S_MULTIPLE_ATTACHMENTS' => !empty($attachments[$row['post_id']]) && sizeof($attachments[$row['post_id']]) > 1,
|
'S_MULTIPLE_ATTACHMENTS' => !empty($attachments[$row['post_id']]) && sizeof($attachments[$row['post_id']]) > 1,
|
||||||
'S_POST_UNAPPROVED' => ($row['post_visibility'] == ITEM_UNAPPROVED) ? true : false,
|
'S_POST_UNAPPROVED' => ($row['post_visibility'] == ITEM_UNAPPROVED || $row['post_visibility'] == ITEM_REAPPROVE) ? true : false,
|
||||||
'S_POST_DELETED' => ($row['post_visibility'] == ITEM_DELETED) ? true : false,
|
'S_POST_DELETED' => ($row['post_visibility'] == ITEM_DELETED) ? true : false,
|
||||||
'L_POST_DELETED_MESSAGE' => $l_deleted_message,
|
'L_POST_DELETED_MESSAGE' => $l_deleted_message,
|
||||||
'S_POST_REPORTED' => ($row['post_reported'] && $auth->acl_get('m_report', $forum_id)) ? true : false,
|
'S_POST_REPORTED' => ($row['post_reported'] && $auth->acl_get('m_report', $forum_id)) ? true : false,
|
||||||
|
|
Loading…
Add table
Reference in a new issue