Vergleich inc/class_moderation.php - 1.4.1 - 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 4119 2008-08-16 01:00:23Z Tikitiki $

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

 */

class Moderation

 */

class Moderation

Zeile 27Zeile 27
		}

// Make sure we only have valid values

		}

// Make sure we only have valid values

		array_walk($tids, 'intval');

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


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



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


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 58Zeile 58
		}

// Make sure we only have valid values

		}

// Make sure we only have valid values

		array_walk($tids, 'intval');

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


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



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


Zeile 88Zeile 88
		}

// Make sure we only have valid values

		}

// Make sure we only have valid values

		array_walk($tids, 'intval');

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


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



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


Zeile 118Zeile 118
		}

// Make sure we only have valid values

		}

// Make sure we only have valid values

		array_walk($tids, 'intval');

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


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



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


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 311Zeile 312
		}

// Make sure we only have valid values

		}

// Make sure we only have valid values

		array_walk($tids, 'intval');

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


foreach($tids as $tid)
{


foreach($tids as $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']);


Zeile 335Zeile 338
				while($counter = $db->fetch_array($query))
{
$db->write_query("UPDATE ".TABLE_PREFIX."users SET postnum=postnum+{$counter['posts']} WHERE uid='".$counter['uid']."'");

				while($counter = $db->fetch_array($query))
{
$db->write_query("UPDATE ".TABLE_PREFIX."users SET postnum=postnum+{$counter['posts']} WHERE uid='".$counter['uid']."'");

				}
}

				}
}

			$posts_to_approve[] = $thread['firstpost'];
}

if(is_array($tid_list))
{

			$posts_to_approve[] = $thread['firstpost'];
}

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 363Zeile 373
						"unapprovedposts" => "-{$counters['num_posts']}"
);
update_forum_counters($fid, $update_array);

						"unapprovedposts" => "-{$counters['num_posts']}"
);
update_forum_counters($fid, $update_array);

				}
}
}
return true;

				}
}
}
return true;

	}

/**

	}

/**

Zeile 385Zeile 395
		}

// Make sure we only have valid values

		}

// Make sure we only have valid values

		array_walk($tids, 'intval');

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


$tid_list = implode(',', $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 442Zeile 459
	 * Delete a specific post
*
* @param int Post ID

	 * Delete a specific post
*
* @param int Post ID

	 * @return boolean true

	 * @return boolean true

	 */
function delete_post($pid)
{

	 */
function delete_post($pid)
{

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_approved_posts = 0;
// Update unapproved post count
if($post['visible'] == 0)
{

			--$num_unaproved_posts;

			++$num_unapproved_posts;

		}
else
{

		}
else
{

Zeile 514Zeile 534
		global $db, $plugins;

// Make sure we only have valid values

		global $db, $plugins;

// Make sure we only have valid values

		array_walk($pids, 'intval');

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

		$tid = intval($tid);

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

		$tid = intval($tid);

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

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 621Zeile 641
				update_thread_data($tid);
}
}

				update_thread_data($tid);
}
}

 
		
update_thread_data($mastertid);

update_forum_lastpost($fid);


if(is_array($forum_counters))
{


if(is_array($forum_counters))
{

Zeile 661Zeile 685
		$newforum = get_forum($new_fid);
$fid = $thread['fid'];
$forum = get_forum($fid);

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





		$num_threads = $num_unapproved_threads = $num_posts = $num_unapproved_threads = 0;
switch($method)
{
case "redirect": // move (and leave redirect) thread
$arguments = array("tid" => $tid, "new_fid" => $new_fid);
$plugins->run_hooks("class_moderation_move_thread_redirect", $arguments);

		$num_threads = $num_unapproved_threads = $num_posts = $num_unapproved_threads = 0;
switch($method)
{
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;
$num_unapproved_posts += $thread['unapprovedposts'];



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'");
$changefid = array(
"fid" => $new_fid,

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

				);

				);

				$db->update_query("threads", $changefid, "tid='$tid'");
$db->update_query("posts", $changefid, "tid='$tid'");
$threadarray = array(

				$db->update_query("threads", $changefid, "tid='$tid'");
$db->update_query("posts", $changefid, "tid='$tid'");
$threadarray = array(

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 1060Zeile 1098
		}

// Make sure we only have valid values

		}

// Make sure we only have valid values

		array_walk($pids, 'intval');

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


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



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


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 1304Zeile 1344
		global $db, $plugins;

// Make sure we only have valid values

		global $db, $plugins;

// Make sure we only have valid values

		array_walk($tids, 'intval');

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


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



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


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']);

Zeile 1420Zeile 1460
		$num_posts = 0;

// Make sure we only have valid values

		$num_posts = 0;

// Make sure we only have valid values

		array_walk($pids, 'intval');

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


$pid_list = implode(',', $pids);
$pids = $threads_to_update = array();


$pid_list = implode(',', $pids);
$pids = $threads_to_update = array();

Zeile 1526Zeile 1566
		global $db, $cache;

// Make sure we only have valid values

		global $db, $cache;

// Make sure we only have valid values

		array_walk($pids, 'intval');

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


$pid_list = implode(',', $pids);
$pids = $threads_to_update = array();


$pid_list = implode(',', $pids);
$pids = $threads_to_update = array();

Zeile 1641Zeile 1681


// Make sure we only have valid values



// Make sure we only have valid values

		array_walk($tids, 'intval');

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


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



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


Zeile 1702Zeile 1742
		global $db;

// Make sure we only have valid values

		global $db;

// Make sure we only have valid values

		array_walk($pids, 'intval');

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


$pid_list = implode(',', $pids);
$query = $db->simple_select("posts", 'pid, visible', "pid IN ($pid_list)");


$pid_list = implode(',', $pids);
$query = $db->simple_select("posts", 'pid, visible', "pid IN ($pid_list)");

Zeile 1740Zeile 1780
		global $db;

// Make sure we only have valid values

		global $db;

// Make sure we only have valid values

		array_walk($tids, 'intval');

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

		$fid = intval($fid);

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

		$fid = intval($fid);

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

Zeile 1778Zeile 1818
		global $db;

// Make sure we only have valid values

		global $db;

// Make sure we only have valid values

		array_walk($tids, 'intval');

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


$tid_list = implode(',', $tids);
$query = $db->simple_select("threads", 'tid, closed', "tid IN ($tid_list)");


$tid_list = implode(',', $tids);
$query = $db->simple_select("threads", 'tid, closed', "tid IN ($tid_list)");

Zeile 1823Zeile 1863
		}

// Make sure we only have valid values

		}

// Make sure we only have valid values

		array_walk($tids, 'intval');

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

		$fid = intval($fid);

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

		$fid = intval($fid);

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