diff options
author | Dries Buytaert <dries@buytaert.net> | 2000-12-29 11:00:56 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2000-12-29 11:00:56 +0000 |
commit | fd64164419060f4420ece6c7766c5693577f67ef (patch) | |
tree | 620f34c7b35cf1c468d121d34e7763d9422a7b63 /modules/admin-block.module | |
parent | 10381949f8bf63608749754f9f348504179346d8 (diff) | |
download | brdo-fd64164419060f4420ece6c7766c5693577f67ef.tar.gz brdo-fd64164419060f4420ece6c7766c5693577f67ef.tar.bz2 |
Surprise, surprise. After nothing but code, a large batch of changes:
- removed droplets
- added (optional) admin_blocks module
- added (optional) affiliate module
- added (optional) about module (only placeholder, under construction)
- fixed some tiny bugs (e.g. quote bug in search.php)
- partionally rewrote some modules to be big, bad and better
- partionally rewrote some modules to be more uniform
- added GNU GPL license to CVS
Also:
- installed PHP 4.0.4 on my localhost and now working
towards PHP 4.0.4 compatibility.
- I think I'll baptize the engine "drupal". If you have a
better idea, try convincing me ASAP.
Todo:
- more testing (also with PHP 4.0.4)
- make "project"-module: download, info, blah blah
- complete documentation
Diffstat (limited to 'modules/admin-block.module')
-rw-r--r-- | modules/admin-block.module | 122 |
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 |