Vergleich inc/class_moderation.php - 1.4.2 - 1.4.10

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 1Zeile 1
<?php
/**
* MyBB 1.4

<?php
/**
* MyBB 1.4

 * Copyright � 2008 MyBB Group, All Rights Reserved

 * Copyright © 2008 MyBB Group, All Rights Reserved

 *
* Website: http://www.mybboard.net
* License: http://www.mybboard.net/about/license
*

 *
* Website: http://www.mybboard.net
* License: http://www.mybboard.net/about/license
*

 * $Id: class_moderation.php 4176 2008-09-03 13:50:09Z Tikitiki $

 * $Id: class_moderation.php 4544 2009-11-27 20:11:25Z RyanGordon $

 */

class Moderation

 */

class Moderation

Zeile 36Zeile 36
		$openthread = array(
"closed" => 1,
);

		$openthread = array(
"closed" => 1,
);

		$db->update_query("threads", $openthread, "tid IN ($tid_list)");

		$db->update_query("threads", $openthread, "tid IN ($tid_list) AND closed NOT LIKE 'moved|%'");


return true;
}


return true;
}

Zeile 228Zeile 228
			$pids = implode(',', $pids);
$db->delete_query("posts", "pid IN ($pids)");
$db->delete_query("attachments", "pid IN ($pids)");

			$pids = implode(',', $pids);
$db->delete_query("posts", "pid IN ($pids)");
$db->delete_query("attachments", "pid IN ($pids)");

 
			$db->delete_query("reportedposts", "pid IN ($pids)");

		}
// Get thread info
$query = get_thread($tid);

		}
// Get thread info
$query = get_thread($tid);

Zeile 321Zeile 322
				continue;
}
$tid_list[] = $thread['tid'];

				continue;
}
$tid_list[] = $thread['tid'];

 
			
update_thread_counters($tid, array("unapprovedposts" => "-1"));


$forum = get_forum($thread['fid']);



$forum = get_forum($thread['fid']);






			$forum_counters[$forum['fid']]['num_threads']++;
$forum_counters[$forum['fid']]['num_posts'] += $thread['replies']+1; // Remove implied visible from count

if($forum['usepostcounts'] != 0)

			$forum_counters[$forum['fid']]['num_threads']++;
$forum_counters[$forum['fid']]['num_posts'] += $thread['replies']+1; // Remove implied visible from count

if($forum['usepostcounts'] != 0)

			{

			{

				// On approving thread restore user post counts
$query = $db->simple_select("posts", "COUNT(pid) as posts, uid", "tid='{$tid}' AND (visible='1' OR pid='{$thread['firstpost']}') AND uid > 0 GROUP BY uid");
while($counter = $db->fetch_array($query))

				// On approving thread restore user post counts
$query = $db->simple_select("posts", "COUNT(pid) as posts, uid", "tid='{$tid}' AND (visible='1' OR pid='{$thread['firstpost']}') AND uid > 0 GROUP BY uid");
while($counter = $db->fetch_array($query))

Zeile 342Zeile 345

if(is_array($tid_list))
{


if(is_array($tid_list))
{

 
			$tid_moved_list = "";
$comma = "";
foreach($tid_list as $tid)
{
$tid_moved_list .= "{$comma}'moved|{$tid}'";
$comma = ",";
}

			$tid_list = implode(',', $tid_list);
$approve = array(
"visible" => 1
);

			$tid_list = implode(',', $tid_list);
$approve = array(
"visible" => 1
);

			$db->update_query("threads", $approve, "tid IN ($tid_list)");

			$db->update_query("threads", $approve, "tid IN ($tid_list) OR closed IN ({$tid_moved_list})");

			$db->update_query("posts", $approve, "pid IN (".implode(',', $posts_to_approve).")");

$plugins->run_hooks("class_moderation_approve_threads", $tids);

			$db->update_query("posts", $approve, "pid IN (".implode(',', $posts_to_approve).")");

$plugins->run_hooks("class_moderation_approve_threads", $tids);

Zeile 388Zeile 398
		$tids = array_map('intval', $tids);

$tid_list = implode(',', $tids);

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

$tid_list = implode(',', $tids);

 
		$tid_moved_list = "";
$comma = "";
foreach($tids as $tid)
{
$tid_moved_list .= "{$comma}'moved|{$tid}'";
$comma = ",";
}


foreach($tids as $tid)
{


foreach($tids as $tid)
{

Zeile 415Zeile 432
		$approve = array(
"visible" => 0
);

		$approve = array(
"visible" => 0
);

		$db->update_query("threads", $approve, "tid IN ($tid_list)");

		$db->update_query("threads", $approve, "tid IN ($tid_list) OR closed IN ({$tid_moved_list})");

		$db->update_query("posts", $approve, "pid IN (".implode(',', $posts_to_unapprove).")");

$plugins->run_hooks("class_moderation_unapprove_threads", $tids);

		$db->update_query("posts", $approve, "pid IN (".implode(',', $posts_to_unapprove).")");

$plugins->run_hooks("class_moderation_unapprove_threads", $tids);

Zeile 469Zeile 486

// Delete the post
$db->delete_query("posts", "pid='$pid'");


// Delete the post
$db->delete_query("posts", "pid='$pid'");

 

// Remove any reports attached to this post
$db->delete_query("reportedposts", "pid='$pid'");


$num_unapproved_posts = $num_approved_posts = 0;
// Update unapproved post count
if($post['visible'] == 0)
{
++$num_unapproved_posts;


$num_unapproved_posts = $num_approved_posts = 0;
// Update unapproved post count
if($post['visible'] == 0)
{
++$num_unapproved_posts;

		}

		}

		else
{
++$num_approved_posts;
}
$plugins->run_hooks("class_moderation_delete_post", $post['pid']);

		else
{
++$num_approved_posts;
}
$plugins->run_hooks("class_moderation_delete_post", $post['pid']);





		// Update stats
$update_array = array(
"replies" => "-{$num_approved_posts}",

		// Update stats
$update_array = array(
"replies" => "-{$num_approved_posts}",

Zeile 560Zeile 580
					if(!$thread_counters[$post['tid']]['replies'])
{
$thread_counters[$post['tid']]['replies'] = $post['threadreplies'];

					if(!$thread_counters[$post['tid']]['replies'])
{
$thread_counters[$post['tid']]['replies'] = $post['threadreplies'];

					}

					}

					--$thread_counters[$post['tid']]['replies'];
// Subtract 1 approved post from post's forum
--$forum_counters[$post['fid']]['num_posts'];

					--$thread_counters[$post['tid']]['replies'];
// Subtract 1 approved post from post's forum
--$forum_counters[$post['fid']]['num_posts'];

Zeile 589Zeile 609
		$query = $db->simple_select("posts", "pid", "tid = '{$post['tid']}'", array('order_by' => 'dateline', 'order_dir' => 'desc', 'limit' => '1'));
$lastpostpid = $db->fetch_field($query, 'pid');


		$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 pid != '{$masterpid}' AND visible='1'");

		$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}'");

		$attachment_count = $db->fetch_field($query2, "count");

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

Zeile 615Zeile 635
		if(is_array($thread_counters))
{
foreach($thread_counters as $tid => $counters)

		if(is_array($thread_counters))
{
foreach($thread_counters as $tid => $counters)

			{

			{

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

update_thread_data($tid);
}
}

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

update_thread_data($tid);
}
}

 
		
update_thread_data($mastertid);

update_forum_lastpost($fid);


if(is_array($forum_counters))
{


if(is_array($forum_counters))
{

Zeile 668Zeile 692
			case "redirect": // move (and leave redirect) thread
$arguments = array("tid" => $tid, "new_fid" => $new_fid);
$plugins->run_hooks("class_moderation_move_thread_redirect", $arguments);

			case "redirect": // move (and leave redirect) thread
$arguments = array("tid" => $tid, "new_fid" => $new_fid);
$plugins->run_hooks("class_moderation_move_thread_redirect", $arguments);


if($thread['visible'] == 1)
{
$num_threads++;
}
else
{
$num_unapproved_threads++;
// Implied forum unapproved count for unapproved threads
$num_unapproved_posts = $thread['replies']+1;
}

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


if($thread['visible'] == 1)
{
$num_threads++;
$num_posts = $thread['replies']+1;
}
else
{
$num_unapproved_threads++;
// Implied forum unapproved count for unapproved threads
$num_unapproved_posts = $thread['replies']+1;
}


				$num_unapproved_posts += $thread['unapprovedposts'];

$db->delete_query("threads", "closed='moved|$tid' AND fid='$new_fid'");

				$num_unapproved_posts += $thread['unapprovedposts'];

$db->delete_query("threads", "closed='moved|$tid' AND fid='$new_fid'");

Zeile 710Zeile 734
				if($redirect_expire)
{
$this->expire_thread($redirect_tid, $redirect_expire);

				if($redirect_expire)
{
$this->expire_thread($redirect_tid, $redirect_expire);

 
				}

// If we're moving back to a forum where we left a redirect, delete the rediect
$query = $db->simple_select("threads", "tid", "closed LIKE 'moved|".intval($tid)."' AND fid='".intval($new_fid)."'");
while($movedthread = $db->fetch_array($query))
{
$db->delete_query("threads", "tid='".intval($movedthread['tid'])."'", 1);

				}
break;
case "copy":// copy thread

				}
break;
case "copy":// copy thread

Zeile 850Zeile 881
				if($thread['visible'] == 1)
{
$num_threads++;

				if($thread['visible'] == 1)
{
$num_threads++;

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

				}
else
{
$num_unapproved_threads++;
// Implied forum unapproved count for unapproved threads
$num_unapproved_posts = $thread['replies']+1;

				}
else
{
$num_unapproved_threads++;
// Implied forum unapproved count for unapproved threads
$num_unapproved_posts = $thread['replies']+1;

				}

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

				}



				$num_unapproved_posts = $thread['unapprovedposts'];

$sqlarray = array(

				$num_unapproved_posts = $thread['unapprovedposts'];

$sqlarray = array(

Zeile 866Zeile 897
				);
$db->update_query("threads", $sqlarray, "tid='$tid'");
$db->update_query("posts", $sqlarray, "tid='$tid'");

				);
$db->update_query("threads", $sqlarray, "tid='$tid'");
$db->update_query("posts", $sqlarray, "tid='$tid'");

 
				
// If we're moving back to a forum where we left a redirect, delete the rediect
$query = $db->simple_select("threads", "tid", "closed LIKE 'moved|".intval($tid)."' AND fid='".intval($new_fid)."'");
while($movedthread = $db->fetch_array($query))
{
$db->delete_query("threads", "tid='".intval($movedthread['tid'])."'", 1);
}

				break;
}


				break;
}


Zeile 875Zeile 913
			FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)
WHERE tid='$tid'

			FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)
WHERE tid='$tid'

			GROUP BY u.uid

			GROUP BY u.uid, p.visible

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

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

Zeile 998Zeile 1036
		$db->update_query("threadsubscriptions", $sqlarray, "tid='{$mergetid}'");
update_first_post($tid);


		$db->update_query("threadsubscriptions", $sqlarray, "tid='{$mergetid}'");
update_first_post($tid);


		$arguments = array("mergetid" => $tid, "tid" => $tid, "subject" => $subject);

		$arguments = array("mergetid" => $mergetid, "tid" => $tid, "subject" => $subject);

		$plugins->run_hooks("class_moderation_merge_threads", $arguments);

$this->delete_thread($mergetid);

		$plugins->run_hooks("class_moderation_merge_threads", $arguments);

$this->delete_thread($mergetid);

Zeile 1110Zeile 1148
			LEFT JOIN ".TABLE_PREFIX."threads t ON (p.tid=t.tid)
LEFT JOIN ".TABLE_PREFIX."attachments a ON (a.pid=p.pid)
WHERE p.pid IN ($pids_list)

			LEFT JOIN ".TABLE_PREFIX."threads t ON (p.tid=t.tid)
LEFT JOIN ".TABLE_PREFIX."attachments a ON (a.pid=p.pid)
WHERE p.pid IN ($pids_list)

			GROUP BY p.pid

			GROUP BY p.pid, p.tid, p.fid, p.visible, p.uid, t.visible, t.replies, t.unapprovedposts,t.attachmentcount

		");

// Move the selected posts over

		");

// Move the selected posts over

Zeile 1278Zeile 1316
				update_first_post($tid);
}
}

				update_first_post($tid);
}
}

 
		update_thread_data($newtid);


		update_first_post($newtid);

// Update forum counters

		update_first_post($newtid);

// Update forum counters

Zeile 1313Zeile 1353
		$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 IN ($tid_list)");

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

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

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