Vergleich inc/class_moderation.php - 1.6.3 - 1.6.17

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 6Zeile 6
 * Website: http://mybb.com
* License: http://mybb.com/about/license
*

 * Website: http://mybb.com
* License: http://mybb.com/about/license
*

 * $Id: class_moderation.php 5380 2011-02-21 12:04:43Z Tomm $

 * $Id$

 */

class Moderation

 */

class Moderation

Zeile 237Zeile 237
		$db->delete_query("polls", "tid='$tid'");
$db->delete_query("pollvotes", "pid='".$thread['poll']."'");
$db->delete_query("threadsread", "tid='$tid'");

		$db->delete_query("polls", "tid='$tid'");
$db->delete_query("pollvotes", "pid='".$thread['poll']."'");
$db->delete_query("threadsread", "tid='$tid'");

 
		$db->delete_query("threadratings", "tid='$tid'");


$updated_counters = array(
"posts" => "-{$num_approved_posts}",


$updated_counters = array(
"posts" => "-{$num_approved_posts}",

Zeile 453Zeile 454
	{
global $db, $cache, $plugins;


	{
global $db, $cache, $plugins;


		$plugins->run_hooks_by_ref("class_moderation_delete_post_start", $pid);

		$pid = $plugins->run_hooks("class_moderation_delete_post_start", $pid);

		// Get pid, uid, fid, tid, visibility, forum post count status of post
$pid = intval($pid);
$query = $db->query("

		// Get pid, uid, fid, tid, visibility, forum post count status of post
$pid = intval($pid);
$query = $db->query("

Zeile 545Zeile 546
		");
$num_unapproved_posts = $num_approved_posts = 0;
$message = '';

		");
$num_unapproved_posts = $num_approved_posts = 0;
$message = '';

 
		$threads = array();

		while($post = $db->fetch_array($query))
{

		while($post = $db->fetch_array($query))
{

 
			$threads[$post['tid']] = $post['tid'];

			if($first == 1)
{ // all posts will be merged into this one
$masterpid = $post['pid'];

			if($first == 1)
{ // all posts will be merged into this one
$masterpid = $post['pid'];

Zeile 605Zeile 608
				}
}
}

				}
}
}


// Get lastpost pid to check if we're merging a post that is on the lastpost info
$query = $db->simple_select("posts", "pid", "tid = '{$post['tid']}'", array('order_by' => 'dateline', 'order_dir' => 'desc', 'limit' => '1'));
$lastpostpid = $db->fetch_field($query, 'pid');

$query2 = $db->simple_select("attachments", "COUNT(aid) as count", "pid IN({$pidin}) AND visible='1'");
$attachment_count = $db->fetch_field($query2, "count");

$db->update_query("threads", array("attachmentcount" => $attachment_count), "tid = '{$mastertid}'");

 

// Update the message
$mergepost = array(


// Update the message
$mergepost = array(

Zeile 633Zeile 627
		// If the first post of a thread is merged out, the thread should be deleted
$query = $db->simple_select("threads", "tid, fid, visible", "firstpost IN({$pidin}) AND firstpost != '{$masterpid}'");
while($thread = $db->fetch_array($query))

		// If the first post of a thread is merged out, the thread should be deleted
$query = $db->simple_select("threads", "tid, fid, visible", "firstpost IN({$pidin}) AND firstpost != '{$masterpid}'");
while($thread = $db->fetch_array($query))

		{

		{

			$this->delete_thread($thread['tid']);
// Subtract 1 thread from the forum's stats
if($thread['visible'])

			$this->delete_thread($thread['tid']);
// Subtract 1 thread from the forum's stats
if($thread['visible'])

Zeile 662Zeile 656
			foreach($thread_counters as $tid => $counters)
{
$db->update_query("threads", $counters, "tid='{$tid}'");

			foreach($thread_counters as $tid => $counters)
{
$db->update_query("threads", $counters, "tid='{$tid}'");





				update_thread_data($tid);

				update_thread_data($tid);

			}
}


			}
}


		update_thread_data($mastertid);

		update_thread_data($mastertid);

		

		

		update_forum_lastpost($fid);

		update_forum_lastpost($fid);

 
		
foreach($threads as $tid)
{
$count = array();
// Attachment count
$query = $db->query("
SELECT COUNT(aid) AS attachment_count
FROM ".TABLE_PREFIX."attachments a
LEFT JOIN ".TABLE_PREFIX."posts p ON (a.pid=p.pid)
WHERE p.tid='$tid'
");
$count['attachmentcount'] = $db->fetch_field($query, "attachment_count");

if(!$count['attachmentcount'])
{
$count['attachmentcount'] = 0;
}

update_thread_counters($tid, $count);
}


if(is_array($forum_counters))
{


if(is_array($forum_counters))
{

Zeile 765Zeile 779
					"replies" => 0,
"closed" => "moved|$tid",
"sticky" => $thread['sticky'],

					"replies" => 0,
"closed" => "moved|$tid",
"sticky" => $thread['sticky'],

					"visible" => $thread['visible'],

					"visible" => intval($thread['visible']),

					"notes" => ''
);
$redirect_tid = $db->insert_query("threads", $threadarray);

					"notes" => ''
);
$redirect_tid = $db->insert_query("threads", $threadarray);

Zeile 798Zeile 812
					"replies" => $thread['replies'],
"closed" => $thread['closed'],
"sticky" => $thread['sticky'],

					"replies" => $thread['replies'],
"closed" => $thread['closed'],
"sticky" => $thread['sticky'],

					"visible" => $thread['visible'],

					"visible" => intval($thread['visible']),

					"unapprovedposts" => $thread['unapprovedposts'],
"attachmentcount" => $thread['attachmentcount'],
"prefix" => $thread['prefix'],
"notes" => ''

					"unapprovedposts" => $thread['unapprovedposts'],
"attachmentcount" => $thread['attachmentcount'],
"prefix" => $thread['prefix'],
"notes" => ''

				);

if($thread['visible'] == 1)

				);

if($thread['visible'] == 1)

				{
++$num_threads;
$num_posts = $thread['replies']+1;

				{
++$num_threads;
$num_posts = $thread['replies']+1;

Zeile 829Zeile 843
				{
$query = $db->simple_select("threadprefixes", "COUNT(*) as num_prefixes", "(CONCAT(',',forums,',') LIKE '%,$new_fid,%' OR forums='-1') AND pid='".$thread['prefix']."'");
if($db->fetch_field($query, "num_prefixes") == 0)

				{
$query = $db->simple_select("threadprefixes", "COUNT(*) as num_prefixes", "(CONCAT(',',forums,',') LIKE '%,$new_fid,%' OR forums='-1') AND pid='".$thread['prefix']."'");
if($db->fetch_field($query, "num_prefixes") == 0)

					{

					{

						$threadarray['prefix'] = 0;
}
}

						$threadarray['prefix'] = 0;
}
}

Zeile 853Zeile 867
						'closed' => $poll['closed'],
'multiple' => $poll['multiple'],
'public' => $poll['public']

						'closed' => $poll['closed'],
'multiple' => $poll['multiple'],
'public' => $poll['public']

					);

					);

					$new_pid = $db->insert_query("polls", $poll_array);

$query = $db->simple_select("pollvotes", "*", "pid = '{$poll['pid']}'");

					$new_pid = $db->insert_query("polls", $poll_array);

$query = $db->simple_select("pollvotes", "*", "pid = '{$poll['pid']}'");

Zeile 901Zeile 915
					// Insert attachments for this post
$query2 = $db->simple_select("attachments", "*", "pid = '{$post['pid']}'");
while($attachment = $db->fetch_array($query2))

					// Insert attachments for this post
$query2 = $db->simple_select("attachments", "*", "pid = '{$post['pid']}'");
while($attachment = $db->fetch_array($query2))

					{

					{

						$attachment_array = array(
'pid' => $pid,

						$attachment_array = array(
'pid' => $pid,

							'posthash' => $db->escape_string($attachment['posthash']),

 
							'uid' => $attachment['uid'],
'filename' => $db->escape_string($attachment['filename']),
'filetype' => $attachment['filetype'],

							'uid' => $attachment['uid'],
'filename' => $db->escape_string($attachment['filename']),
'filetype' => $attachment['filetype'],

Zeile 1093Zeile 1106

$pollsql['subject'] = $subject;
$db->update_query("threads", $pollsql, "tid='{$tid}'");


$pollsql['subject'] = $subject;
$db->update_query("threads", $pollsql, "tid='{$tid}'");

		$sqlarray = array(

		$sqlarray = array(

			"closed" => "moved|{$tid}",
);
$db->update_query("threads", $sqlarray, "closed='moved|{$mergetid}'");

			"closed" => "moved|{$tid}",
);
$db->update_query("threads", $sqlarray, "closed='moved|{$mergetid}'");

Zeile 1251Zeile 1264
		$pids_list = implode(',', $pids);

// Get the icon for the first split post

		$pids_list = implode(',', $pids);

// Get the icon for the first split post

		$query = $db->simple_select("posts", "icon", "pid=".intval($pids[0]));
$icon = $db->fetch_array($query);




		$query = $db->simple_select("posts", "icon, visible", "pid=".intval($pids[0]));
$post_info = $db->fetch_array($query);

$icon = $post_info['icon'];
$visible = $post_info['visible'];


if($destination_tid == 0)
{


if($destination_tid == 0)
{

Zeile 1263Zeile 1279
			$query = array(
"fid" => $moveto,
"subject" => $newsubject,

			$query = array(
"fid" => $moveto,
"subject" => $newsubject,

				"icon" => intval($icon['icon']),

				"icon" => intval($icon),

				"uid" => intval($thread['uid']),
"username" => $db->escape_string($thread['username']),
"dateline" => intval($thread['dateline']),
"lastpost" => intval($thread['lastpost']),
"lastposter" => $db->escape_string($thread['lastposter']),
"replies" => count($pids)-1,

				"uid" => intval($thread['uid']),
"username" => $db->escape_string($thread['username']),
"dateline" => intval($thread['dateline']),
"lastpost" => intval($thread['lastpost']),
"lastposter" => $db->escape_string($thread['lastposter']),
"replies" => count($pids)-1,

				"visible" => 1,

				"visible" => intval($visible),

				"notes" => ''
);
$newtid = $db->insert_query("threads", $query);

$forum_counters[$moveto]['threads'] = $forum_cache[$moveto]['threads'];

				"notes" => ''
);
$newtid = $db->insert_query("threads", $query);

$forum_counters[$moveto]['threads'] = $forum_cache[$moveto]['threads'];

			++$forum_counters[$moveto]['threads'];










			$forum_counters[$moveto]['unapprovedthreads'] = $forum_cache[$moveto]['unapprovedthreads'];
if($visible)
{
++$forum_counters[$moveto]['threads'];
}
else
{
// Unapproved thread?
++$forum_counters[$moveto]['unapprovedthreads'];
}

		}

// Get attachment counts for each post

		}

// Get attachment counts for each post

Zeile 1310Zeile 1335
			"replyto" => 0
);
$db->update_query("posts", $sqlarray, "pid IN ($pids_list)");

			"replyto" => 0
);
$db->update_query("posts", $sqlarray, "pid IN ($pids_list)");

 
		$db->update_query("reportedposts", array('tid' => $newtid), "pid IN ($pids_list)");


// Get posts being merged
while($post = $db->fetch_array($original_posts_query))


// Get posts being merged
while($post = $db->fetch_array($original_posts_query))

Zeile 1385Zeile 1411
					{
$forum_counters[$post['fid']]['unapprovedposts'] = $forum_cache[$post['fid']]['unapprovedposts'];
}

					{
$forum_counters[$post['fid']]['unapprovedposts'] = $forum_cache[$post['fid']]['unapprovedposts'];
}

					--$forum_counters[$post['fid']]['posts'];

					--$forum_counters[$post['fid']]['unapprovedposts'];

					// Add 1 to the new forum's unapproved posts
if(!isset($forum_counters[$moveto]['unapprovedposts']))
{

					// Add 1 to the new forum's unapproved posts
if(!isset($forum_counters[$moveto]['unapprovedposts']))
{

Zeile 1505Zeile 1531
		$newforum = get_forum($moveto);

$total_posts = $total_unapproved_posts = $total_threads = $total_unapproved_threads = 0;

		$newforum = get_forum($moveto);

$total_posts = $total_unapproved_posts = $total_threads = $total_unapproved_threads = 0;

		$query = $db->simple_select("threads", "fid, visible, replies, unapprovedposts, tid", "tid IN ($tid_list)");

		$query = $db->simple_select("threads", "fid, visible, replies, unapprovedposts, tid", "tid IN ($tid_list) AND closed NOT LIKE 'moved|%'");

		while($thread = $db->fetch_array($query))
{
$forum = get_forum($thread['fid']);

		while($thread = $db->fetch_array($query))
{
$forum = get_forum($thread['fid']);

Zeile 1529Zeile 1555
			}

$query1 = $db->query("

			}

$query1 = $db->query("

				SELECT COUNT(p.pid) AS posts, u.uid

				SELECT COUNT(p.pid) AS posts, p.visible, u.uid

				FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)

				FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)

				WHERE tid='{$thread['tid']}'
GROUP BY u.uid

				WHERE p.tid = '{$thread['tid']}'
GROUP BY p.visible, u.uid

				ORDER BY posts DESC
");
while($posters = $db->fetch_array($query1))

				ORDER BY posts DESC
");
while($posters = $db->fetch_array($query1))

Zeile 1565Zeile 1591
		$query = $db->simple_select("threads", "tid, prefix", "tid IN ($tid_list) AND prefix != 0");
while($thread = $db->fetch_array($query))
{

		$query = $db->simple_select("threads", "tid, prefix", "tid IN ($tid_list) AND prefix != 0");
while($thread = $db->fetch_array($query))
{

			$query = $db->simple_select("threadprefixes", "COUNT(*) as num_prefixes", "(CONCAT(',',forums,',') LIKE '%,$new_fid,%' OR forums='-1') AND pid='".$thread['prefix']."'");

			$query = $db->simple_select("threadprefixes", "COUNT(*) as num_prefixes", "(CONCAT(',',forums,',') LIKE '%,$moveto,%' OR forums='-1') AND pid='".$thread['prefix']."'");

			if($db->fetch_field($query, "num_prefixes") == 0)
{
$sqlarray = array(

			if($db->fetch_field($query, "num_prefixes") == 0)
{
$sqlarray = array(

Zeile 1881Zeile 1907
			$new_subject = array(
"subject" => $db->escape_string($subject)
);

			$new_subject = array(
"subject" => $db->escape_string($subject)
);

			$db->update_query("threads", $new_subject, "tid='{$thread['tid']}'", 1);
$db->update_query("posts", $new_subject, "tid='{$thread['tid']}' AND replyto='0'", 1);

			$db->update_query("threads", $new_subject, "tid='{$thread['tid']}'");
$db->update_query("posts", $new_subject, "tid='{$thread['tid']}' AND replyto='0'");

		}

$arguments = array("tids" => $tids, "format" => $format);

		}

$arguments = array("tids" => $tids, "format" => $format);

Zeile 2123Zeile 2149
		$tids = array_map('intval', $tids);
$tids_csv = implode(',', $tids);


		$tids = array_map('intval', $tids);
$tids_csv = implode(',', $tids);


		$update_thread = array('prefix' => $prefix);

		$update_thread = array('prefix' => intval($prefix));

		$db->update_query('threads', $update_thread, "tid IN ({$tids_csv})");

$arguments = array('tids' => $tids, 'prefix' => $prefix);

		$db->update_query('threads', $update_thread, "tid IN ({$tids_csv})");

$arguments = array('tids' => $tids, 'prefix' => $prefix);