comment_moderate
- Versions
- 4.6
comment_moderate()
Code
modules/comment.module, line 1255
<?php
function comment_moderate() {
global $user;
if ($moderation = $_POST['edit']['moderation']) {
$result = db_query('SELECT DISTINCT mid, value, ABS(value) FROM {moderation_roles} WHERE rid IN (%s) ORDER BY mid, ABS(value), value', implode(', ', array_keys($user->roles)));
while ($mod = db_fetch_object($result)) {
$votes[$mod->mid] = $mod->value;
}
$node = node_load(array('nid' => db_result(db_query('SELECT nid FROM {comments} WHERE cid = %d', key($moderation)))));
if (user_access('administer comments') || comment_user_can_moderate($node)) {
foreach ($moderation as $cid => $vote) {
if ($vote) {
$comment = db_fetch_object(db_query('SELECT * FROM {comments} WHERE cid = %d', $cid));
$users = unserialize($comment->users);
if ($user->uid != $comment->uid && !(comment_already_moderated($user->uid, $comment->users))) {
$users[$user->uid] = $vote;
$tot_score = 0;
foreach ($users as $uid => $vote) {
if ($uid) {
$tot_score = $tot_score + $votes[$vote];
}
else {
// vote 0 is the start value
$tot_score = $tot_score + $vote;
}
}
$new_score = round($tot_score / count($users));
db_query("UPDATE {comments} SET score = '$new_score', users = '%s' WHERE cid = %d", serialize($users), $cid);
module_invoke_all('comment', 'moderate', $cid, $vote);
}
}
}
}
}
}
?>Login or register to post comments 