summaryrefslogtreecommitdiff
path: root/modules/admin-block.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/admin-block.module')
-rw-r--r--modules/admin-block.module122
1 files changed, 122 insertions, 0 deletions
diff --git a/modules/admin-block.module b/modules/admin-block.module
new file mode 100644
index 000000000..bacc9a9e8
--- /dev/null
+++ b/modules/admin-block.module
@@ -0,0 +1,122 @@
+<?
+
+$module = array("block" => "ab_block",
+ "admin" => "ab_admin");
+
+function ab_block() {
+ $result = db_query("SELECT * FROM admin_blocks");
+ $i = 0;
+ while ($block = db_fetch_object($result)) {
+ $blocks[$i]["subject"] = check_output($block->subject);
+ $blocks[$i]["content"] = check_output(eval($block->content));
+ $blocks[$i]["info"] = check_output($block->info);
+ $blocks[$i]["link"] = check_output($block->link);
+ $i++;
+ }
+
+ return $blocks;
+}
+
+function ab_admin_display() {
+ $result = db_query("SELECT * FROM admin_blocks");
+
+ while ($block = db_fetch_object($result)) {
+ $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"3\" CELLSPACING=\"0\">\n";
+ $output .= " <TR><TH>Subject:</TH><TD>". check_output($block->subject) ."</TD></TR>\n";
+ $output .= " <TR><TH>Content:</TH><TD>". nl2br(htmlentities($block->content)) ."</TD></TR>\n";
+ $output .= " <TR><TH>Information:</TH><TD><I>". check_output($block->info) ."</I></TD></TR>\n";
+ $output .= " <TR><TH>Link:</TH><TD>". format_url($block->link) ."</TD></TR>\n";
+ $output .= " <TR><TH>Operations:</TH><TD><A HREF=\"admin.php?mod=admin-block&op=edit&id=$block->id\">edit</A>, <A HREF=\"admin.php?mod=admin-block&op=delete&id=$block->id\">delete</A></TD></TR>\n";
+ $output .= "</TABLE>\n";
+ $output .= "<BR><BR>\n";
+ }
+
+ $output .= "<FORM ACTION=\"admin.php?mod=admin-block\" METHOD=\"post\">\n";
+ $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"3\" CELLSPACING=\"0\">\n";
+ $output .= " <TR><TH>Subject:</TH><TD><INPUT TYPE=\"text\" NAME=\"subject\" SIZE=\"35\"></TD></TR>\n";
+ $output .= " <TR><TH>Content:</TH><TD><TEXTAREA NAME=\"content\" COLS=\"50\" ROWS=\"5\"></TEXTAREA></TD></TR>\n";
+ $output .= " <TR><TH>Information:</TH><TD><INPUT TYPE=\"text\" NAME=\"info\" SIZE=\"35\"></TD></TR>\n";
+ $output .= " <TR><TH>Link:</TH><TD><INPUT TYPE=\"text\" NAME=\"link\" SIZE=\"35\"></TD></TR>\n";
+ $output .= " <TR><TH>Operations:</TH><TD><INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Add admin block\"></TD></TR>\n";
+ $output .= "</TABLE>\n";
+ $output .= "</FORM>\n";
+
+ print $output;
+}
+
+function ab_admin_add($subject, $content, $info, $link) {
+ db_query("INSERT INTO admin_blocks (subject, content, info, link) VALUES ('". check_input($subject) ."', '". check_code($content) ."', '". check_input($info) ."', '". check_input($link) ."')");
+}
+
+function ab_admin_delete($id) {
+ db_query("DELETE FROM admin_blocks WHERE id = $id");
+}
+
+function ab_admin_rehash() {
+ global $repository;
+ module_rehash_blocks("admin-block", $repository["admin-block"]);
+}
+
+function ab_admin_edit($id) {
+ $result = db_query("SELECT * FROM admin_blocks WHERE id = $id");
+
+ if ($block = db_fetch_object($result)) {
+ $output .= "<FORM ACTION=\"admin.php?mod=admin-block\" METHOD=\"post\">\n";
+
+ $output .= "<P>\n";
+ $output .= " <B>Subject:</B><BR>\n";
+ $output .= " <INPUT TYPE=\"text\" NAME=\"subject\" VALUE=\"". check_field($block->subject) ."\">\n";
+ $output .= "</P>\n";
+ $output .= "<P>\n";
+ $output .= "<B>Content:</B><BR>\n";
+ $output .= "<TEXTAREA NAME=\"content\" COLS=\"50\" ROWS=\"5\">$block->content</TEXTAREA>\n";
+ $output .= "</P>\n";
+ $output .= "<B>Information:</B><BR>\n";
+ $output .= "<INPUT TYPE=\"text\" NAME=\"info\" VALUE=\"$block->info\">\n";
+ $output .= "</P>\n";
+ $output .= "<P>\n";
+ $output .= "<B>Link:</B><BR>\n";
+ $output .= "<INPUT TYPE=\"text\" NAME=\"link\" VALUE=\"$block->link\">\n";
+ $output .= "</P>\n";
+ $output .= "<P>\n";
+ $output .= "<INPUT TYPE=\"hidden\" NAME=\"id\" VALUE=\"$id\">\n";
+ $output .= "<INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Save admin block\"><BR>\n";
+ $output .= "</P>\n";
+ $output .= "</FORM>\n";
+ }
+
+ print $output;
+}
+
+function ab_admin_save($id, $subject, $content, $info, $link) {
+ db_query("UPDATE admin_blocks SET subject = '". check_input($subject) ."', content = '". check_code($content) ."', info = '". check_input($info) ."', link = '". check_input($link) ."' WHERE id = '$id'");
+ watchdog("message", "modified admin block `$subject'");
+}
+
+function ab_admin() {
+ global $op, $id, $subject, $content, $info, $link;
+
+ switch ($op) {
+ case "Add admin block":
+ ab_admin_add($subject, $content, $info, $link);
+ ab_admin_display();
+ ab_admin_rehash();
+ break;
+ case "Save admin block":
+ ab_admin_save($id, $subject, $content, $info, $link);
+ ab_admin_display();
+ ab_admin_rehash();
+ break;
+ case "edit":
+ ab_admin_edit($id);
+ break;
+ case "delete":
+ ab_admin_delete($id);
+ ab_admin_rehash();
+ // fall through
+ default:
+ ab_admin_display();
+ }
+}
+
+?> \ No newline at end of file