summaryrefslogtreecommitdiff
path: root/modules/moderate.module
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2001-05-05 13:57:29 +0000
committerDries Buytaert <dries@buytaert.net>2001-05-05 13:57:29 +0000
commitbe8e898d23a3f9ca515f59fbcc8d82e112ed7ee8 (patch)
treecf0d05f6b767f36e7feb09a3bc59cbc9a01e459b /modules/moderate.module
parent16818777616eadeb8a4670324e099b95c8d53e3b (diff)
downloadbrdo-be8e898d23a3f9ca515f59fbcc8d82e112ed7ee8.tar.gz
brdo-be8e898d23a3f9ca515f59fbcc8d82e112ed7ee8.tar.bz2
- Uhm. Rewrote the module system: less code clutter, less run-time
overhead, and a lot better (simpler) module API. I had to edit a LOT of files to get this refactored but I'm sure it was worth the effort. For module writers / maintainers: None of the hooks changed, so 95% of the old modules should still work. You can remove some code instead as "$module = array(...)" just became obsolete. Also - and let's thank God for this - the global variable "$repository" has been eliminated to avoid modules relying on, and poking in drupal's internal data structures. Take a look at include/module.inc to investigate the details/changes. - Improved design of the content modules "story", "book" and "node" (to aid smooth integration of permisions + moderate.module). I'm still working on the permissions but I got side tracked for which I "Oops!".
Diffstat (limited to 'modules/moderate.module')
-rw-r--r--modules/moderate.module31
1 files changed, 14 insertions, 17 deletions
diff --git a/modules/moderate.module b/modules/moderate.module
index 5ce6d6d3a..821a588ca 100644
--- a/modules/moderate.module
+++ b/modules/moderate.module
@@ -1,7 +1,5 @@
<?php
-$module = array("admin" => "moderate_admin");
-
function moderate_comment_access($cid) {
global $user;
return db_fetch_object(db_query("SELECT n.moderate FROM comments c LEFT JOIN node n ON c.lid = n.nid WHERE c.cid = '". check_input($cid) ."' AND n.moderate LIKE '%$user->userid%'"));
@@ -30,29 +28,25 @@ function moderate_overview($query = array()) {
return $output;
}
-function moderate_node_edit($id) {
+function moderate_node($edit, $name) {
global $user;
- $node = node_get_array("nid", $id);
+ $node = node_get_array("nid", $edit[nid]);
if ($node && strstr($node[moderate], $user->userid)) {
- return node_form($node);
+ $edit[type] = $node[type];
+ return node_invoke($edit, $name);
}
else {
- return "access denied";
+ return status(t("access denied"));
}
}
-function moderate_node_save($edit) {
- global $user;
+function moderate_node_edit($edit) {
+ return moderate_node($edit, "form");
+}
- $node = node_get_array("nid", $edit[nid]);
- if ($node && strstr($node[moderate], $user->userid)) {
- $edit[type] = $node[type];
- return node_invoke($edit, "save");
- }
- else {
- return "access denied";
- }
+function moderate_node_save($edit) {
+ return moderate_node($edit, "save");
}
function moderate_comment_edit($id) {
@@ -92,7 +86,10 @@ function moderate_admin() {
default:
switch ($op) {
case "edit":
- print moderate_node_edit($id);
+ print moderate_node_edit(node_get_array("nid", $id));
+ break;
+ case t("Preview"):
+ print moderate_node_edit($edit);
break;
case t("Submit"):
print status(moderate_node_save($edit));