From 72065fb8351b54eee5f1928c18e06ad81aa9b502 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Wed, 20 Jun 2001 20:00:40 +0000 Subject: - Added a brand-new access.module which allows you to manage 'roles' (groups) and 'permissions' ... (inspired by Zope's system). + Once installed, click the help-link for more information. + See updates/2.00-to-x.xx.sql for the SQL updates. - Modified loads of code to use our new access.module. The system still has to mature though: new permissions have to be added and existing permissions need stream-lining. Awaiting suggestions. - As a direct result of the new access system, I had to rewrite the way the top-level links in admin.php are rendered and displayed, and xhtml-ified admin.php while I was at it. TODO - Home-brewed modules need updating, home-brewed themes not. (Examples: file.module, trip_link.module) - As soon we *finished* the refactoring of the user system (KJ has been working on this refactoring already) we should consider to embed this role and permission code into account.module ... --- modules/moderate.module | 70 ++++++++++++++++++++++++++++--------------------- 1 file changed, 40 insertions(+), 30 deletions(-) (limited to 'modules/moderate.module') diff --git a/modules/moderate.module b/modules/moderate.module index c3db8abab..a75402c3a 100644 --- a/modules/moderate.module +++ b/modules/moderate.module @@ -1,5 +1,9 @@ userid%'")); @@ -37,7 +41,7 @@ function moderate_node($edit, $name) { return node_invoke($edit, $name); } else { - return status(t("access denied")); + return status(message_access()); } } @@ -54,7 +58,7 @@ function moderate_comment_edit($id) { return comment_edit($id); } else { - return "access denied"; + return status(message_access()); } } @@ -63,41 +67,47 @@ function moderate_comment_save($id, $edit) { return comment_save($id, $edit); } else { - return "access denied"; + return status(message_access()); } } function moderate_admin() { - global $op, $id, $edit, $type; - - switch ($type) { - case "comment": - switch ($op) { - case "edit": - print moderate_comment_edit($id); - break; - case t("Submit"): - print status(moderate_comment_save($id, $edit)); - // fall through: - default: - print moderate_overview(); + global $user, $op, $id, $edit, $type; + + if (user_access($user, "access moderation pages")) { + + switch ($type) { + case "comment": + switch ($op) { + case "edit": + print moderate_comment_edit($id); + break; + case t("Submit"): + print status(moderate_comment_save($id, $edit)); + // fall through: + default: + print moderate_overview(); + } + break; + default: + switch ($op) { + case "edit": + print moderate_node_edit(node_get_array(array("nid" => $id))); + break; + case t("Preview"): + print moderate_node_edit($edit); + break; + case t("Submit"): + print status(moderate_node_save($edit)); + // fall through: + default: + print moderate_overview(); } - break; - default: - switch ($op) { - case "edit": - print moderate_node_edit(node_get_array(array("nid" => $id))); - break; - case t("Preview"): - print moderate_node_edit($edit); - break; - case t("Submit"): - print status(moderate_node_save($edit)); - // fall through: - default: - print moderate_overview(); } } + else { + print message_access(); + } } ?> -- cgit v1.2.3