Index: nmoderation.info
===================================================================
RCS file: nmoderation.info
diff -N nmoderation.info
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ nmoderation.info 2 Apr 2007 06:29:31 -0000 1.1
@@ -0,0 +1,4 @@
+; $Id: nmoderation.info,v 1.1 2007/04/02 06:29:31 eaton Exp $
+name = Nmoderation
+description = Allows users to moderate nodes.
+dependencies = votingapi
Index: nmoderation.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nmoderation/nmoderation.module,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- nmoderation.module 20 Jun 2006 20:40:30 -0000 1.30
+++ nmoderation.module 2 Apr 2007 06:30:24 -0000 1.31
@@ -1,5 +1,5 @@
'admin/settings/nmoderation',
+ 'title' => t('Nmoderation'),
+ 'description' => t('Moderate nodes.'),
+ 'callback' => 'drupal_get_form',
+ 'callback arguments' => array('nmoderation_admin_settings'),
+ 'access' => user_access('administer site configuration'),
+ 'type' => MENU_NORMAL_ITEM, // optional
+ );
+
if ($may_cache) {
$access = user_access('administer node moderation votes');
$items[] = array('path' => 'admin/nmoderation', 'title' => t('node moderation'),
@@ -51,8 +62,8 @@
'callback' => 'nmoderation_list_all', 'weight' => 5, 'access' => user_access('administer node moderation votes'));
}
else {
- if (arg(0) == 'node' && is_numeric(arg(1))) {
- $access = user_access('administer node moderation votes') || user_access('view node moderation votes');
+ if (arg(0) == 'node' && is_numeric(arg(1))) {
+ $access = user_access('administer node moderation votes') || user_access('view node moderation votes');
$items[] = array('path' => 'node/'. arg(1). '/nmoderation', 'title' => t('votes'),
'type' => MENU_LOCAL_TASK, 'callback' => 'nmoderation_list_node', 'weight' => 5, 'access' => $access, 'callback arguments' => array(arg(1)));
}
@@ -113,6 +124,11 @@
function nmoderation_matrix_settings() {
$output .= '
Node Moderation vote/value matrix
';
+ $output .= drupal_get_form('nmoderation_matrix_settings_form', $form_id);
+ return $output;
+}
+
+function nmoderation_matrix_settings_form() {
$result = db_query("SELECT r.rid, r.name FROM {role} r, {permission} p WHERE r.rid = p.rid AND p.perm LIKE '%moderate nodes%'");
$role_names = array();
while ($role = db_fetch_object($result)) {
@@ -152,11 +168,10 @@
'#value' => $role_names,
);
- $output .= drupal_get_form('nmoderation_matrix_form', $form);
- return $output;
+ return $form;
}
-function nmoderation_matrix_form_submit($form_id, $form_values) {
+function nmoderation_matrix_settings_form_submit($form_id, $form_values) {
// db_query('DELETE FROM {nmoderation_roles} ');
foreach (element_children($form_values['votes']) as $mid) {
foreach (element_children($form_values['votes'][$mid]) as $rid) {
@@ -169,14 +184,14 @@
drupal_set_message(t('the vote values have been saved.'));
}
-function theme_nmoderation_matrix_form(&$form) {
+function theme_nmoderation_matrix__settings_form(&$form) {
$role_names = $form['role_names']['#value'];
$header = array_merge(array(t('votes')), array_values($role_names));
foreach (element_children($form['votes']) as $mid) {
$row = array();
foreach (element_children($form['votes'][$mid]) as $rid) {
- $row[] = form_render($form['votes'][$mid][$rid]);
+ $row[] = drupal_render($form['votes'][$mid][$rid]);
}
$rows[] = $row;
}
@@ -187,7 +202,7 @@
}
$output = theme('table', $header, $rows);
- $output .= form_render($form);
+ $output .= drupal_render($form);
return $output;
}
@@ -196,7 +211,11 @@
*/
function nmoderation_role_settings() {
$output .= 'Initial node scores
';
-
+ $output .= drupal_get_form('nmoderation_role_settings_form', $form_id);
+ return $output;
+}
+
+ function nmoderation_role_settings_form() {
$start_values = variable_get('nmoderation_roles', array());
$result = db_query("SELECT r.rid, r.name FROM {role} r, {permission} p WHERE r.rid = p.rid AND p.perm LIKE '%moderate nodes%' ORDER BY r.rid");
@@ -216,15 +235,14 @@
'#value' => t('Save scores')
);
- $output .= drupal_get_form('nmoderation_role_form', $form);
- return $output;
+ return $form;
}
-function nmoderation_role_form_validate($form_id, $form_values) {
+function nmoderation_role_settings_form_validate($form_id, $form_values) {
// make sure everything is numeric/int
}
-function nmoderation_role_form_submit($form_id, $form_values) {
+function nmoderation_role_settings_form_submit($form_id, $form_values) {
$new_values = array();
foreach (element_children($form_values['role']) as $rid) {
$new_values[$rid] = $form_values['role'][$rid]['#value'];
@@ -233,7 +251,7 @@
drupal_set_message(t('the node moderation scores have been saved.'));
}
-function theme_nmoderation_role_form(&$form) {
+function theme_nmoderation_role_settings_form(&$form) {
$header = array(t('user role'), t('initial score'));
$rows = array();
@@ -241,20 +259,26 @@
$row = array();
$row[] = $form['role'][$rid]['#title'];
unset($form['role'][$rid]['#title']);
- $row[] = form_render($form['role'][$rid]);
+ $row[] = drupal_render($form['role'][$rid]);
$rows[] = $row;
}
$output = theme('table', $header, $rows);
- $output .= form_render($form);
+ $output .= drupal_render($form);
return $output;
}
/**
* Menu callback; displays page for assigning names to vote values.
*/
-function nmoderation_vote_settings() {
+
+ function nmoderation_vote_settings() {
$output .= ''. t('Node moderation votes overview') .'
';
+ $output = drupal_get_form('nmoderation_vote_settings_form', $form_id);
+ return $output;
+}
+
+ function nmoderation_vote_settings_form() {
// load up and show any vote types previously defined.
$result = db_query('SELECT mid, vote, weight FROM {nmoderation_votes} ORDER BY weight');
@@ -301,15 +325,14 @@
'#value' => t('Save changes'),
);
- $output = drupal_get_form('nmoderation_vote_form', $form);
- return $output;
+ return $form;
}
-function nmoderation_vote_form_validate($form_id, $form_values) {
+function nmoderation_vote_settings_form_validate($form_id, $form_values) {
// make sure $weight is an int and $vote is markup clean, no injections.
}
-function nmoderation_vote_form_submit($form_id, $form_values) {
+function nmoderation_vote_settings_form_submit($form_id, $form_values) {
// loop through the fields for old votes, update or delete as necessary.
foreach (element_children($form_values['old']) as $mid) {
if ($form_values['old'][$mid]['delete'] == 1) {
@@ -330,31 +353,36 @@
drupal_goto('admin/nmoderation/votes'); // do this because we want the form completely rebuilt.
}
-function theme_nmoderation_vote_form(&$form) {
+function theme_nmoderation_vote_settings_form(&$form) {
$header = array(t('votes'), t('weight'), t('delete'));
// render the existing-vote fields.
foreach (element_children($form['old']) as $mid) {
$row = array();
- $row[] = form_render($form['old'][$mid]['vote']);
- $row[] = form_render($form['old'][$mid]['weight']);
- $row[] = form_render($form['old'][$mid]['delete']);
+ $row[] = drupal_render($form['old'][$mid]['vote']);
+ $row[] = drupal_render($form['old'][$mid]['weight']);
+ $row[] = drupal_render($form['old'][$mid]['delete']);
$rows[] = $row;
}
// render the add-a-vote fields.
$row = array();
- $row[] = form_render($form['new']['vote']);
- $row[] = form_render($form['new']['weight']);
+ $row[] = drupal_render($form['new']['vote']);
+ $row[] = drupal_render($form['new']['weight']);
$row[] = '';
$rows[] = $row;
$output .= theme('table', $header, $rows);
- $output .= form_render($form);
+ $output .= drupal_render($form);
+ return $output;
+}
+
+function nmoderation_moderation($content_type, $content_id, $vote, $title= NULL) {
+ $output = drupal_get_form('nmoderation_moderation_form', $form_id, $content_type, $content_id, $vote, $title= NULL);
return $output;
}
-function nmoderation_get_moderation_form($content_type, $content_id, $vote, $title= NULL) {
+function nmoderation_moderation_form($content_type, $content_id, $vote, $title= NULL) {
global $user;
static $votes;
@@ -441,7 +469,7 @@
function theme_nmoderation_moderation_form($form) {
// We aren't actually going to do anything fancy, but it's here
// in case folks want to override it for a given theme.
- $output = form_render($form);
+ $output = drupal_render($form);
return $output;
}
@@ -464,7 +492,7 @@
// may only edit own vote if you are not an admin
if ($user->uid == $vote->uid || user_access('administer node moderation votes')) {
$node = node_load($vote->content_id);
- $form = nmoderation_get_moderation_form('node', $node->nid, $vote, t('Edit vote'));
+ $form = nmoderation_moderation_form('node', $node->nid, $vote, t('Edit vote'));
if ($vote->uid != $user->uid) {
$form['username'] = array(
@@ -482,7 +510,8 @@
'#weight' => -1,
);
- $output .= drupal_get_form('nmoderation_moderation_form', $form);
+ //$output .= drupal_get_form('nmoderation_moderation_form');
+ $output .= drupal_get_form('nmoderation_moderation_form', 'node', $node->nid, $vote, t('Edit vote'));
return $output;
}
else {
@@ -493,7 +522,7 @@
function nmoderation_uservote_delete($vote_id) {
$form['vote_id'] = array('#type' => 'value', '#value' => $vote_id);
$output = confirm_form(
- 'nmoderation_delete_confirm',
+ //'nmoderation_delete_confirm',
$form,
t('Are you sure you want to delete this vote?'),
$_GET['destination'] ? $_GET['destination'] : 'nmoderation/voted',
@@ -501,6 +530,7 @@
t('Delete Vote'),
t('Cancel')
);
+ var_export($output);
return $output;
}
@@ -551,7 +581,7 @@
);
$cols = 2;
$title = t('my unmoderated nodes');
- $types = implode("','", variable_get('nmoderation_node_types', array_flip(node_get_types())));
+ $types = implode("','", variable_get('nmoderation_node_types', node_get_types()));
$sql = "SELECT n.nid, n.created, u.name, n.title, n.uid FROM {node} n INNER JOIN {users} u ON n.uid = u.uid LEFT JOIN {votingapi_vote} v ON n.nid = v.content_id AND v.content_type = '$content_type' AND v.uid = $user->uid WHERE n.type IN ('$types') AND n.status = 1 AND ISNULL(v.vote_id)";
$min = time()-24*3600*variable_get('nmoderation_vote_interval', 7);
$sql .= " AND n.created > $min";
@@ -677,16 +707,16 @@
return $output;
}
-function nmoderation_settings() {
+function nmoderation_admin_settings() {
$promote = drupal_map_assoc(array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 20, 25, 30, 35, 40, 45, 50, 60, 70, 80, 90, 100));
- $unpublish = drupal_map_assoc(array(-1, -2, -3, -4, -5, -6, -7, -8, -8, -10, -11, -12, -13, -14, -15, -20, -25, -30));
+ $unpublish = drupal_map_assoc(array(-1, -2, -3, -4, -5, -6, -7, -8, -8, -10, -11, -12, -13, -14, -15, -20, -25, -30, -100));
$interval = drupal_map_assoc(range(1,60));
$form['nmoderation_node_types'] = array(
'#type' => 'select',
'#title' => t('Node Types'),
'#default_value' => variable_get('nmoderation_node_types', node_get_types()),
- '#options' => node_get_types(),
+ '#options' => node_get_types('names'),
'#description' => t('Select the node types upon which accept node moderation votes.'),
'#extra' => 0,
'#multiple' => 1,
@@ -713,7 +743,7 @@
'#description' => t('The number of days since the creation of a node when we allow voting.'),
);
- return $form;
+ return system_settings_form($form);
}
@@ -742,9 +772,7 @@
else {
$title = t('Add vote');
}
- if ($frm = nmoderation_get_moderation_form('node', $node->nid, $vote, $title)) {
- $node->body .= drupal_get_form('nmoderation_moderation_form', $frm);
- }
+ $node->content['body']['#value'] .= drupal_get_form('nmoderation_moderation_form', 'node', $node->nid, $vote, $title);
}
break;
}