Implementation of hook_nodeapi().
File
- modules/
queue.module, line 257 - Enables content to be moderated by the community.
Code
function queue_nodeapi(&$node, $op) {
switch ($op) {
case 'load':
$result = db_query("SELECT uid, vote FROM {queue} WHERE nid = %d", $node->nid);
$node->voters = array();
$node->score = 0;
while ($voter = db_fetch_object($result)) {
$node->voters[$voter->uid] = $voter->vote;
$node->score += $voter->vote;
}
break;
case 'validate':
if ($node->nid && $node->moderate) {
// Reset votes when node is updated:
$node->score = 0;
$node->voters = array();
$node->votes = 0;
}
break;
case 'insert':
if ($node->moderate) {
db_query("INSERT INTO {queue} (nid, uid) VALUES (%d, %d)", $node->nid, $node->uid);
}
case 'update':
if ($node->moderate && user_access('access submission queue')) {
drupal_set_message(t('The post is queued for approval. You can check the votes in the <a href="%queue">submission queue</a>.', array('%queue' => url('queue'))));
}
else if ($node->moderate) {
drupal_set_message(t('The post is queued for approval. The editors will decide whether it should be published.'));
}
break;
}
}
Login or register to post comments