1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-10 17:45:18 +02:00

- log removing posts

- fix queue saving if package size is 0
- user memberships (not used atm)


git-svn-id: file:///svn/phpbb/trunk@5157 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Meik Sievertsen 2005-06-10 18:57:21 +00:00
parent d24f5d734b
commit e6469bb0d0
4 changed files with 70 additions and 21 deletions

View File

@ -239,7 +239,7 @@ class messenger
// //
function save_queue() function save_queue()
{ {
if ($this->use_queue) if ($config['email_package_size'] && $this->use_queue)
{ {
$this->queue->save(); $this->queue->save();
} }

View File

@ -1267,7 +1267,7 @@ function group_user_add($group_id, $user_id_ary = false, $username_ary = false,
case 'mssql': case 'mssql':
case 'sqlite': case 'sqlite':
$sql = 'INSERT INTO ' . USER_GROUP_TABLE . " (user_id, group_id, group_leader) $sql = 'INSERT INTO ' . USER_GROUP_TABLE . " (user_id, group_id, group_leader)
" . implode(' UNION ALL ', preg_replace('#^([0-9]+)$#', "(\\1, $group_id, $leader)", $add_id_ary)); VALUES " . implode(', ', preg_replace('#^([0-9]+)$#', "(\\1, $group_id, $leader)", $add_id_ary));
$db->sql_query($sql); $db->sql_query($sql);
break; break;
@ -1677,26 +1677,58 @@ function group_user_attributes($action, $group_id, $user_id_ary = false, $userna
} }
/** /**
* Obtain either the members of a specified group or the groups to * Obtain either the members of a specified group, the groups the specified user is subscribed to
* which the specified users are members * or checking if a specified user is in a specified group
*
* Note: Extend select statement as needed
* Note2: Never use this more than once... first group your users/groups
*/ */
function group_memberships($group_id = false, $user_id_ary = false) function group_memberships($group_id_ary = false, $user_id_ary = false, $return_bool = false)
{ {
global $db; global $db;
if (!$group_id && !$user_id_ary) if (!$group_id_ary && !$user_id_ary)
{ {
return true; return true;
} }
if ($group_id) $sql = 'SELECT group_id, user_id
FROM ' . USER_GROUP_TABLE . '
WHERE ';
if ($group_id_ary && $user_id_ary)
{ {
$sql .= " group_id " . ((is_array($group_id_ary)) ? ' IN (' . implode(', ', $group_id_ary) . ')' : " = $group_id_ary") . "
AND user_id " . ((is_array($user_id_ary)) ? ' IN (' . implode(', ', $user_id_ary) . ')' : " = $user_id_ary");
}
else if ($group_id)
{
$sql .= " group_id " . ((is_array($group_id_ary)) ? ' IN (' . implode(', ', $group_id_ary) . ')' : " = $group_id_ary");
} }
else if ($user_id_ary) else if ($user_id_ary)
{ {
$sql .= " user_id " . ((is_array($user_id_ary)) ? ' IN (' . implode(', ', $user_id_ary) . ')' : " = $user_id_ary");
}
$result = ($return_bool) ? $db->sql_query_limit($sql, 1) : $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
if ($return_bool)
{
$db->sql_freeresult($result);
return ($row) ? true : false;
} }
return false; $result = array();
do
{
$result[] = $row;
}
while ($row = $db->sql_fetchrow($result));
return $result;
} }
?> ?>

View File

@ -524,7 +524,13 @@ function mcp_move_topic($topic_ids)
else else
{ {
meta_refresh(3, $redirect); meta_refresh(3, $redirect);
trigger_error($user->lang[$success_msg] . '<br /><br />' . sprintf($user->lang['RETURN_PAGE'], '<a href="' . $redirect . '">', '</a>') . '<br /><br />' . sprintf($user->lang['RETURN_NEW_FORUM'], '<a href="viewforum.' . $phpEx . $SID . '&amp;f=' . $to_forum_id . '">', '</a>'));
$message = $user->lang[$success_msg];
$message .= '<br /><br />' . sprintf($user->lang['RETURN_PAGE'], '<a href="' . $redirect . '">', '</a>');
$message .= '<br /><br />' . sprintf($user->lang['RETURN_FORUM'], "<a href=\"{$phpbb_root_path}viewforum.$phpEx$SID&amp;f=$forum_id\">", '</a>');
$message .= '<br /><br />' . sprintf($user->lang['RETURN_NEW_FORUM'], "<a href=\"{$phpbb_root_path}viewforum.$phpEx$SID&amp;f=$to_forum_id\">", '</a>');
trigger_error($message);
} }
} }
@ -629,9 +635,16 @@ function mcp_delete_post($post_ids)
$affected_topics = sizeof($topic_id_list); $affected_topics = sizeof($topic_id_list);
$db->sql_freeresult($result); $db->sql_freeresult($result);
$post_data = get_post_data($post_ids);
foreach ($post_data as $id => $row)
{
add_log('mod', $row['forum_id'], $row['topic_id'], 'LOG_DELETE_POST', $row['post_subject']);
}
// Now delete the posts, topics and forums are automatically resync'ed // Now delete the posts, topics and forums are automatically resync'ed
delete_posts('post_id', $post_ids); delete_posts('post_id', $post_ids);
$sql = 'SELECT COUNT(topic_id) AS topics_left $sql = 'SELECT COUNT(topic_id) AS topics_left
FROM ' . TOPICS_TABLE . ' FROM ' . TOPICS_TABLE . '
WHERE topic_id IN (' . implode(', ', $topic_id_list) . ')'; WHERE topic_id IN (' . implode(', ', $topic_id_list) . ')';

View File

@ -335,30 +335,34 @@ if ($mode == 'delete' && (($poster_id == $user->data['user_id'] && $user->data['
if (confirm_box(true)) if (confirm_box(true))
{ {
$data = array( $data = array(
'topic_first_post_id' => $topic_first_post_id, 'topic_first_post_id' => $topic_first_post_id,
'topic_last_post_id' => $topic_last_post_id, 'topic_last_post_id' => $topic_last_post_id,
'topic_approved' => $topic_approved, 'topic_approved' => $topic_approved,
'topic_type' => $topic_type, 'topic_type' => $topic_type,
'post_approved' => $post_approved, 'post_approved' => $post_approved,
'post_time' => $post_time, 'post_time' => $post_time,
'poster_id' => $poster_id 'poster_id' => $poster_id
); );
$next_post_id = delete_post($mode, $post_id, $topic_id, $forum_id, $data); $next_post_id = delete_post($mode, $post_id, $topic_id, $forum_id, $data);
if ($topic_first_post_id == $topic_last_post_id) if ($topic_first_post_id == $topic_last_post_id)
{ {
$meta_info = "viewforum.$phpEx$SID&amp;f=$forum_id"; add_log('mod', $forum_id, $topic_id, 'LOG_DELETE_TOPIC', $topic_title);
$meta_info = "{$phpbb_root_path}viewforum.$phpEx$SID&amp;f=$forum_id";
$message = $user->lang['POST_DELETED']; $message = $user->lang['POST_DELETED'];
} }
else else
{ {
$meta_info = "viewtopic.$phpEx$SID&amp;f=$forum_id&amp;t=$topic_id&amp;p=$next_post_id#$next_post_id"; add_log('mod', $forum_id, $topic_id, 'LOG_DELETE_POST', $post_subject);
$message = $user->lang['POST_DELETED'] . '<br /><br />' . sprintf($user->lang['RETURN_TOPIC'], "<a href=\"viewtopic.$phpEx$SID&amp;f=$forum_id&amp;t=$topic_id&amp;p=$next_post_id#$next_post_id\">", '</a>');
$meta_info = "{$phpbb_root_path}viewtopic.$phpEx$SID&amp;f=$forum_id&amp;t=$topic_id&amp;p=$next_post_id#$next_post_id";
$message = $user->lang['POST_DELETED'] . '<br /><br />' . sprintf($user->lang['RETURN_TOPIC'], "<a href=\"{$phpbb_root_path}viewtopic.$phpEx$SID&amp;f=$forum_id&amp;t=$topic_id&amp;p=$next_post_id#$next_post_id\">", '</a>');
} }
meta_refresh(3, $meta_info); meta_refresh(3, $meta_info);
$message .= '<br /><br />' . sprintf($user->lang['RETURN_FORUM'], "<a href=\"viewforum.$phpEx$SID&amp;f=$forum_id\">", '</a>'); $message .= '<br /><br />' . sprintf($user->lang['RETURN_FORUM'], "<a href=\"{$phpbb_root_path}viewforum.$phpEx$SID&amp;f=$forum_id\">", '</a>');
trigger_error($message); trigger_error($message);
} }
else else