diff --git a/INSTALL b/INSTALL index 8daf51b84c006bd83c13b857c7976d5a06d466d2..8986f1caff63becc2191458879665b252fb0b7fe 100644 --- a/INSTALL +++ b/INSTALL @@ -5,4 +5,4 @@ * http://drop.org/module.php?mod=drupal - drupal project page - \ No newline at end of file + diff --git a/admin.php b/admin.php index 5af84d7e640eb694456e29ec95719053c7c54a54..8bac83d2abc7a3fbe78534a851495660f0e38ce0 100644 --- a/admin.php +++ b/admin.php @@ -5,8 +5,8 @@ // validate user permission: if (!($user->permissions == 1 || $user->id == 1)) exit(); -function admin_page($mod) { - global $repository, $menu, $modules; +function admin_page($mod) { + global $repository, $site_name, $menu, $modules; function module($name, $module) { global $menu, $modules; @@ -17,7 +17,7 @@ function module($name, $module) { ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> - <HEAD><TITLE>Administration</TITLE></HEAD> + <HEAD><TITLE><? echo $site_name; ?> administration</TITLE></HEAD> <STYLE> body { font-family: helvetica, arial; } h1 { font-size: 18pt; font-weight: bold; color: #990000; } @@ -30,10 +30,10 @@ function module($name, $module) { <H1>Administration</H1> <? - ksort($repository); + ksort($repository); module_iterate("module"); - - ?> + + ?> <HR><? echo $menu; ?><A HREF="">home</A><HR> <? diff --git a/cron.php b/cron.php index d41e4cdd2970759d2f6e179ed824c1cd0d173b8a..141580f2c11a7a5aa60e33b0ef6efc97d30214c8 100644 --- a/cron.php +++ b/cron.php @@ -6,12 +6,12 @@ function cron_run() { global $repository; $time = time(); - + $result = db_query("SELECT * FROM crons WHERE $time - timestamp > scheduled"); while ($task = db_fetch_object($result)) { if ($repository[$task->module]["cron"]) { - watchdog("message", "cron: executed '". $task->module ."_cron()'"); + watchdog("message", "cron: executed '". $task->module ."_cron()'"); $repository[$task->module]["cron"](); } } diff --git a/error.php b/error.php index 9c259fb968347718cef5ae35d6d8c48a1582e1e7..5aaf456abea853f28f31b7ed81cab983065fa6ee 100644 --- a/error.php +++ b/error.php @@ -4,7 +4,7 @@ function error_flood() { global $site_email; print "WARNING: submission rate exceeded. We detected too much data or events from your IP. Please wait a few minutes and try again. If you think this is not justified, please contact us at <A HREF=\"mailto:$site_email\">$site_email</A>."; -} +} function error_httpd() { global $REDIRECT_STATUS, $REDIRECT_URL, $HTTP_REFERER, $HTTP_USER_AGENT; @@ -30,7 +30,7 @@ function error_httpd() { } watchdog("error", "message: `$message' - requested url: $REDIRECT_URL - referring url: $HTTP_REFERER - user agent: $HTTP_USER_AGENT"); - + print "<PRE>\n"; print "<H1>Oops, an error occured!</H1>\n"; print "<B>Processed output:</B><BR>\n"; @@ -43,7 +43,7 @@ function error_httpd() { switch ($op) { case "flood": - error_flood(); + error_flood(); break; default: error_httpd(); diff --git a/includes/ban.inc b/includes/ban.inc index fe8e6153a9f5c9e6cad37c52156ba4aa181afa7d..618b275ece7b74fcc1f0fbce2f83fcae896937e9 100644 --- a/includes/ban.inc +++ b/includes/ban.inc @@ -1,11 +1,11 @@ <? -$type2index = array("addresses" => 0x01, - "profanity" => 0x02, +$type2index = array("addresses" => 0x01, + "profanity" => 0x02, "hostnames" => 0x03, "usernames" => 0x04); -$index2type = array(0x01 => "addresses", +$index2type = array(0x01 => "addresses", 0x02 => "profanity", 0x03 => "hostnames", 0x04 => "usernames"); @@ -14,7 +14,7 @@ function ban_match($mask, $category) { // Perform query: $result = db_query("SELECT * FROM bans WHERE type = $category AND LOWER('$mask') LIKE LOWER(mask)"); - + // Return result: return db_fetch_object($result); } @@ -36,7 +36,7 @@ function ban_add($mask, $category, $reason, $message = "") { watchdog("message", "added new ban `$mask' to category `". $index2type[$category] ."' with reason `$reason'."); } } - + function ban_delete($id) { global $index2type; diff --git a/includes/database.inc b/includes/database.inc index 99d8391a4c572e260772b4be1386ada5b24b0f44..6e72de1581a826c751014b63b1e95ab3b135f8eb 100644 --- a/includes/database.inc +++ b/includes/database.inc @@ -20,8 +20,8 @@ function db_query($query, $debug = false) { // debug output (if required): if ($debug) print "<PRE>query: ". htmlspecialchars($query) ."<BR>error message: ". mysql_error() ."</PRE>"; if (!$qid) watchdog("error", "database: ". mysql_error() ."<BR>query: ". htmlspecialchars($query) .""); - - // return result from query: + + // return result from query: return $qid; } diff --git a/includes/hostname.conf b/includes/hostname.conf index c5af2febf934cb70a4a1d2186d6b32cca622c513..238d413ed333afb0c0b11ec810a9b2107fdacb55 100644 --- a/includes/hostname.conf +++ b/includes/hostname.conf @@ -19,21 +19,21 @@ $site_email = "info@yourdomain.com"; # # Comment votes: -# the keys of this associative array are displayed in each -# comment's selection box whereas the corresponding values -# represent the mathematical calculation to be performed +# the keys of this associative array are displayed in each +# comment's selection box whereas the corresponding values +# represent the mathematical calculation to be performed # to update a comment's value. # -$comment_votes = array("none" => "none", - "-1" => "- 1", +$comment_votes = array("none" => "none", + "-1" => "- 1", "0" => "+ 0", "+1" => "+ 1", "+2" => "+ 2", - "+3" => "+ 3", - "+4" => "+ 4", + "+3" => "+ 3", + "+4" => "+ 4", "+5" => "+ 5"); -# +# # Allowed HTML tags: # $allowed_html = "<A><B><BLOCKQUOTE><BR><DD><DL><DT><EM><HR><I><LI><SMALL><OL><U><UL>"; @@ -52,18 +52,18 @@ $themes = array("UnConeD" => array( "themes/unconed/unconed.theme", "modern theme, gray and blue, high coolness factor"), "Marvin" => array( - "themes/marvin/marvin.theme", + "themes/marvin/marvin.theme", "classic theme, white, basic design with a fresh look")); # # Submission moderation votes: -# the keys of this associative array are displayed in each -# submission's selection box whereas the corresponding values -# represent the mathematical calculation to be performed to +# the keys of this associative array are displayed in each +# submission's selection box whereas the corresponding values +# represent the mathematical calculation to be performed to # update a comment's value. # Warning: changing $submission_votes will affect the integrity -# of all pending stories in the open submission queue. Do not -# change this setting unless there are no pending stories in the +# of all pending stories in the open submission queue. Do not +# change this setting unless there are no pending stories in the # submission queue or unless you know what you are doing. $submission_votes = array("neutral (+0)" => "+ 0", "post it (+1)" => "+ 1", @@ -75,7 +75,7 @@ $submission_votes = array("neutral (+0)" => "+ 0", # submission. It is supposed to stop malicious attempts to screw # with the database and to stop denial of service attacks. # Example: -# '"comment" => 60' means that there is only one new comment +# '"comment" => 60' means that there is only one new comment # allowed from the same IP-address every 60 seconds. # $submission_rate = array("comment" => "60", // 60 seconds = 1 minute @@ -83,7 +83,7 @@ $submission_rate = array("comment" => "60", // 60 seconds = 1 minute "story" => "300"); // 300 seconds = 5 minutes # # Submission size: -# the maximum length (i.e. the maximum number of characters) a +# the maximum length (i.e. the maximum number of characters) a # story, a diary entry, or a comment is allowed to be. # $submission_size = 12000; // 12.000 characters is more or less 300 lines diff --git a/includes/module.inc b/includes/module.inc index e52f612e15ecc0def957625929c6eefd201b8ac6..6c11a358d084b4fcdd174dab2030e98f3ebea7eb 100644 --- a/includes/module.inc +++ b/includes/module.inc @@ -16,7 +16,7 @@ function module_rehash_crons($name, $module) { if ($module["cron"]) { if (!db_fetch_object(db_query("SELECT * FROM crons WHERE module = '$name'"))) { db_query("INSERT INTO crons (module, scheduled, timestamp) VALUES ('". check_input($name) ."', '172800', '0')"); - } + } } else { db_query("DELETE FROM crons WHERE module = '$name'"); @@ -24,7 +24,7 @@ function module_rehash_crons($name, $module) { } function module_rehash_blocks($name, $module) { - db_query("DELETE FROM blocks WHERE module = '$name'"); + db_query("DELETE FROM blocks WHERE module = '$name'"); if ($module["block"] && $blocks = $module["block"]()) { foreach ($blocks as $offset=>$block) { db_query("INSERT INTO blocks (name, module, offset) VALUES ('". check_input($block["info"]) ."', '". check_input($name) ."', '". check_input($offset) ."')"); @@ -34,7 +34,7 @@ function module_rehash_blocks($name, $module) { function module_rehash($name) { global $repository; - + if ($module = $repository[$name]) { $result = db_query("SELECT * FROM modules WHERE name = '$name'"); diff --git a/includes/submission.inc b/includes/submission.inc index 2c5711ab58ea89f980a8a3bedc5716a9aa57e717..2b3cf7ebdf9d4fc5d972a026a6831ac2081d1796 100644 --- a/includes/submission.inc +++ b/includes/submission.inc @@ -12,7 +12,7 @@ function submission_score($id) { function submission_vote($id, $vote, $comment) { global $user; - + if (!user_getHistory($user->history, "s$id")) { // Update submission's score- and votes-field: db_query("UPDATE stories SET score = score $vote, votes = votes + 1 WHERE id = $id"); @@ -25,9 +25,9 @@ function submission_vote($id, $vote, $comment) { // Update user's history record: user_setHistory($user, "s$id", $vote); - + // Update story table (if required): - $result = db_query("SELECT * FROM stories WHERE id = $id"); + $result = db_query("SELECT * FROM stories WHERE id = $id"); if ($submission = db_fetch_object($result)) { if (section_post_threshold($submission->section) <= $submission->score) { db_query("UPDATE stories SET status = 2, timestamp = '". time() ."' WHERE id = $id"); diff --git a/includes/theme.inc b/includes/theme.inc index 6f9785aa4b65846c1b9910db365964a4ac3aa4fa..f46c29e0bd440321d8de952ba5643d6c53d3b4ef 100644 --- a/includes/theme.inc +++ b/includes/theme.inc @@ -4,7 +4,7 @@ function theme_load() { global $user, $themes; if ($user->theme && file_exists($themes[$user->theme][0])) { - include_once $themes[$user->theme][0]; + include_once $themes[$user->theme][0]; } else { include_once $themes[key($themes)][0]; @@ -14,8 +14,8 @@ function theme_load() { function theme_account($theme) { global $user, $site_name, $links, $menu; - - if ($user->id) { + + if ($user->id) { function submission_number() { $result = db_query("SELECT COUNT(id) FROM stories WHERE status = 1"); @@ -72,7 +72,7 @@ function menu($name, $module) { function theme_blocks($region, $theme) { global $id, $PHP_SELF, $user; - + switch (strrchr($PHP_SELF, "/")) { case "/story.php": if ($user->id) $story = db_fetch_object(db_query("SELECT * FROM stories WHERE id = '$id'")); @@ -84,7 +84,7 @@ function theme_blocks($region, $theme) { else $result = db_query("SELECT * FROM blocks WHERE status = 2 ORDER BY weight"); while ($block = db_fetch_object($result)) { $blocks = module_execute($block->module, "block"); - $theme->box($blocks[$block->offset]["subject"], $blocks[$block->offset]["content"]); + $theme->box($blocks[$block->offset]["subject"], $blocks[$block->offset]["content"]); } break; } @@ -102,7 +102,7 @@ function theme_moderation_results($theme, $story) { while ($account = db_fetch_object($result)) { $output .= format_username($account->userid) ." voted `". user_getHistory($account->history, "s$story->id") ."'.<BR>"; } - + $theme->box("Moderation results", ($output ? $output : "This story has not been moderated yet.")); } } @@ -116,7 +116,7 @@ function theme_related_links($theme, $story) { if (!stristr($link, "mailto:")) $content .= "<LI>$link</LI>"; } - // Stories in the same section: + // Stories in the same section: $content .= " <LI>More about <A HREF=\"index.php?section=". urlencode($story->section) ."\">$story->section</A>.</LI>"; // Stories from the same author: @@ -137,11 +137,11 @@ function theme_new_headlines($theme, $num = 10) { function theme_old_headlines($theme, $num = 10) { global $user; - + if ($user->stories) $result = db_query("SELECT id, subject, timestamp FROM stories WHERE status = 2 ORDER BY timestamp DESC LIMIT $user->stories, $num"); else $result = db_query("SELECT id, subject, timestamp FROM stories WHERE status = 2 ORDER BY timestamp DESC LIMIT $num, $num"); - while ($story = db_fetch_object($result)) { + while ($story = db_fetch_object($result)) { if ($time != date("F jS", $story->timestamp)) { $content .= "<P><B>". date("l, M jS", $story->timestamp) ."</B></P>\n"; $time = date("F jS", $story->timestamp); diff --git a/includes/user.inc b/includes/user.inc index 6f87df47e8ad428fabdf6d2a5790024cf1fdca84..90e1dc1e80994984a0525e96370edd23736ff283 100644 --- a/includes/user.inc +++ b/includes/user.inc @@ -12,12 +12,12 @@ function User($userid, $passwd = "") { function user_save($data, $id = 0) { global $user; - + foreach ($data as $key=>$value) { if ($key == "passwd") $query .= "$key = PASSWORD('". addslashes($value) ."'), "; else $query .= "$key = '". addslashes($value) ."', "; } - + if (empty($id)) { db_query("INSERT INTO users SET $query last_access = '". time() ."', last_host = '$GLOBALS[REMOTE_HOST]'"); } @@ -36,7 +36,7 @@ function user_getHistory($history, $field) { if (reset($entry) == $field) $rval = end($entry); } return $rval; -} +} function user_setHistory(&$user, $field, $value) { @@ -56,7 +56,7 @@ function user_setHistory(&$user, $field, $value) { $entry = explode(":", current($data)); if ($entry[0] == $field) $entry[1] = $value; $rval .= "$entry[0]:$entry[1];"; - } + } } else { // not found: add new entry: diff --git a/includes/watchdog.inc b/includes/watchdog.inc index 97c6ca063e850f2c3806104f7295560053842f2e..f50fab57e98fb7c15e6ba97dfe10582a70945d6a 100644 --- a/includes/watchdog.inc +++ b/includes/watchdog.inc @@ -12,8 +12,8 @@ function watchdog($id, $message) { if ($watchdog[$id][1] && !($user->permissions == 1 || $user->id == 1)) { if ($log = db_fetch_object(db_query("SELECT * FROM watchdog WHERE hostname = '". getenv("REMOTE_ADDR") ."' AND level = '". $watchdog[$id][0] ."'"))) { - if (time() - $log->timestamp < $watchdog[$id][1]) { - watchdog("warning", "'". getenv("REMOTE_ADDR") ."' exceeded '$id' submission rate"); + if (time() - $log->timestamp < $watchdog[$id][1]) { + watchdog("warning", "'". getenv("REMOTE_ADDR") ."' exceeded '$id' submission rate"); header("Location: error.php?op=flood"); exit(); } @@ -28,5 +28,5 @@ function watchdog_clean($history = 302400) { $timestamp = time() - $history; db_query("DELETE FROM watchdog WHERE timestamp < $timestamp"); } - + ?> diff --git a/modules/account.module b/modules/account.module index 942cf6072adab1eacd1fd412990e85054928eb16..0de1cbc2e3bb03c42e32aa1ba93bd9c03a6350f7 100644 --- a/modules/account.module +++ b/modules/account.module @@ -24,7 +24,7 @@ function account_display($order = "username") { // Perform query: $result = db_query("SELECT u.id, u.userid, u.". strtok($sort[$order], " ") .", u.url FROM users u ORDER BY $sort[$order]"); - + // Generate output: $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; $output .= " <TR>\n"; @@ -57,7 +57,7 @@ function account_display($order = "username") { case "last_access": $output .= " <TD>". format_interval(time() - $account[$value]) ." ago</TD>\n"; break; - case "status": + case "status": $output .= " <TD ALIGN=\"center\">". $stat[$account[$value]] ."</TD>\n"; break; case "permissions": @@ -117,12 +117,12 @@ function account_edit($name) { if ($account = db_fetch_object($result)) { foreach ($status as $key=>$value) { - $stat .= " <OPTION VALUE=\"$key\"". (($account->status == $key) ? " SELECTED" : "") .">$value</OPTION>\n"; + $stat .= " <OPTION VALUE=\"$key\"". (($account->status == $key) ? " SELECTED" : "") .">$value</OPTION>\n"; } $stat = "<SELECT NAME=\"edit[status]\">\n$stat</SELECT>\n"; foreach ($permissions as $key=>$value) { - $perm .= " <OPTION VALUE=\"$key\"". (($account->permissions == $key) ? " SELECTED" : "") .">$value</OPTION>\n"; + $perm .= " <OPTION VALUE=\"$key\"". (($account->permissions == $key) ? " SELECTED" : "") .">$value</OPTION>\n"; } $perm = "<SELECT NAME=\"edit[permissions]\">\n$perm</SELECT>\n"; @@ -202,7 +202,7 @@ function account_admin() { account_display($order); break; default: - account_display(); + account_display(); } } diff --git a/modules/affiliate-site.module b/modules/affiliate-site.module index 42c95c6167de84df8d821ebb9cc3af56e4c09bed..d8e1e1079316f85e66a6e029507c51d090153513 100644 --- a/modules/affiliate-site.module +++ b/modules/affiliate-site.module @@ -36,7 +36,7 @@ function affiliate_block() { $content .= " </SELECT>\n"; $content .= "</FORM>\n"; $content .= "</CENTER>\n"; - + $blocks[0]["subject"] = "Affiliate sites"; $blocks[0]["content"] = $content; $blocks[0]["info"] = "Affiliate sites (selection)"; @@ -51,7 +51,7 @@ function affiliate_block() { $blocks[1]["subject"] = "Affiliate sites"; $blocks[1]["content"] = $content; $blocks[1]["info"] = "Affiliate sites (sequential)"; - + return $blocks; } diff --git a/modules/backend.class b/modules/backend.class index 7869b65309d48470fd7d42ed780ecd53b6587458..04e25520dde58a53a58e5322f5158d05510ebf94 100644 --- a/modules/backend.class +++ b/modules/backend.class @@ -48,27 +48,29 @@ class backend { } function rdf2sql($timout = 10) { + global $site_name; + if ($this->file) { // Decode URL: $url = parse_url($this->file); $host = $url[host]; $port = $url[port] ? $url[port] : 80; $path = $url[path]; - + // print "<PRE><B>Debug:</B> $url - $host - $port - $path</PRE>"; - + // Retrieve data from website: $fp = fsockopen($host, $port, &$errno, &$errstr, $timout); if ($fp) { // Get data from URL: fputs($fp, "GET $path HTTP/1.0\n"); - fputs($fp, "User-Agent: headline grabber\n"); + fputs($fp, "User-Agent: $site_name\n"); fputs($fp, "Host: ". $host ."\n"); fputs($fp, "Accept: */*\n\n"); while(!feof($fp)) $data .= fgets($fp, 128); - + // print "<PRE>$data</PRE><HR>"; if (strstr($data, "200 OK")) { @@ -80,7 +82,7 @@ class backend { $data = ereg_replace("<?xml.*/image>", "", $data); $data = ereg_replace("</rdf.*", "", $data); $data = chop($data); - + // Iterating through our data processing each entry/item: $items = explode("</item>", $data); $number = 0; @@ -90,18 +92,18 @@ class backend { $link = ereg_replace(".*<link>", "", $item); $link = ereg_replace("</link>.*", "", $link); $title = ereg_replace(".*<title>", "", $item); - $title = ereg_replace("</title>.*", "", $title); + $title = ereg_replace("</title>.*", "", $title); // Clean headlines: $title = stripslashes($title); - + // Count the number of stories: $number += 1; // Insert item in database: $result = db_query("INSERT INTO headlines (id, title, link, number) VALUES('". check_input($this->id) ."', '". check_input($title) ."', '". check_input($link) ."', '". check_input($number) ."')"); } - + // Mark channels as being updated: $result = db_query("UPDATE channel SET timestamp = '". time() ."' WHERE id = $this->id"); $this->timestamp = time(); @@ -143,8 +145,8 @@ class backend { } // Add timestamp: $update = round((time() - $this->timestamp) / 60); - $content .= "<P ALIGN=\"right\">[ <A HREF=\"backend.php?op=reset&site=$this->site\"><FONT COLOR=\"$theme->hlcolor2\">reset</FONT></A> | updated $update min. ago ]</P>"; - + $content .= "<P ALIGN=\"right\">[ <A HREF=\"backend.php?op=reset&site=$this->site\"><FONT COLOR=\"$theme->hlcolor2\">reset</FONT></A> | updated $update min. ago ]</P>"; + // Display box: $theme->box("$this->site", $content); } @@ -152,24 +154,24 @@ class backend { } function add() { - // Add channel: + // Add channel: $result = db_query("INSERT INTO channel (site, file, url, contact, timestamp) VALUES ('". check_input($this->site) ."', '". check_input($this->file) ."', '". check_input($this->url) ."', '". check_input($this->contact) ."', 1)"); } - + function delete() { - // Delete channel: + // Delete channel: $result = db_query("DELETE FROM channel WHERE id = $this->id"); // Delete headlines: - $result = db_query("DELETE FROM headlines WHERE id = $this->id"); + $result = db_query("DELETE FROM headlines WHERE id = $this->id"); } function refresh() { // Delete headlines: - $result = db_query("DELETE FROM headlines WHERE id = $this->id"); + $result = db_query("DELETE FROM headlines WHERE id = $this->id"); // Mark channel as invalid to enforce an update: - $result = db_query("UPDATE channel SET timestamp = 1 WHERE id = $this->id"); + $result = db_query("UPDATE channel SET timestamp = 1 WHERE id = $this->id"); } function dump() { diff --git a/modules/ban.module b/modules/ban.module index f602c177f7256d97629452efe40e69505c14ef5b..b14dc492e1ade1ca7304e02868e90faa4c100af5 100644 --- a/modules/ban.module +++ b/modules/ban.module @@ -37,12 +37,12 @@ function ban_admin_new($mask, $category, $reason) { function ban_display($category = "") { global $type2index; - // initialize variable: + // initialize variable: $category = $category ? $category : 1; // Perform query: $result = db_query("SELECT * FROM bans WHERE type = $category ORDER BY mask"); - + // Generate output: $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; $output .= " <TR>\n"; @@ -67,7 +67,7 @@ function ban_display($category = "") { } $output .= " <TR><TD COLSPAN=\"3\"><SMALL>%: matches any number of characters, even zero characters.<BR>_: matches exactly one character.</SMALL></TD></TR>\n"; $output .= "</TABLE>\n"; - + print $output; } @@ -88,7 +88,7 @@ function ban_admin_add() { $output .= "<TEXTAREA NAME=\"reason\" COLS=\"50\" ROWS=\"5\"></TEXTAREA><P>\n"; $output .= "<INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Add ban\"><BR>\n"; $output .= "</FORM>\n"; - + print $output; } diff --git a/modules/block.module b/modules/block.module index ce994d704c3871864119a389835f77730df65646..bfa38bae95a75915af1abf13bbd6a344602e1062 100644 --- a/modules/block.module +++ b/modules/block.module @@ -17,18 +17,18 @@ function block_page() { global $theme; $result = db_query("SELECT * FROM blocks WHERE status = 1 ORDER BY module"); - + $theme->header(); print "<TABLE BORDER=\"0\">\n"; while ($block = db_fetch_object($result)) { if ($state % 3 == 0) print " <TR>\n"; - print " <TD ALIGN=\"center\" VALIGN=\"top\" WIDTH=\"33%\">\n"; + print " <TD ALIGN=\"center\" VALIGN=\"top\" WIDTH=\"33%\">\n"; $blocks = module_execute($block->module, "block"); $theme->box($blocks[$block->offset]["subject"], $blocks[$block->offset]["content"]); print " </TD>\n"; if ($state % 3 == 2) print " </TR>\n"; $state += 1; - } + } print "</TABLE>\n"; $theme->footer(); } @@ -43,12 +43,12 @@ function block_admin_display() { global $repository; $result = db_query("SELECT * FROM blocks ORDER BY module"); - + // Generate output: $output .= "<FORM ACTION=\"admin.php?mod=block\" METHOD=\"post\">\n"; $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; $output .= " <TR><TH>block</TH><TH>module</TH><TH>status</TH><TH>weight</TH><TH>region</TH></TR>\n"; - + while ($block = db_fetch_object($result)) { $module = ($repository[$block->module]["admin"]) ? "<A HREF=\"admin.php?mod=$block->module\">$block->module</A>" : $block->module; @@ -70,12 +70,12 @@ function block_admin_display() { $region .= "</SELECT>\n"; $output .= " <TR><TD>". $block->name ."</TD><TD ALIGN=\"center\">$module</TD><TD>$status</TD><TD>$weight</TD><TD>$region</TD></TR>\n"; - + unset($status); unset($weight); unset($region); } - + $output .= "</TABLE>\n"; $output .= "<INPUT NAME=\"op\" TYPE=\"submit\" VALUE=\"Save blocks\">\n"; $output .= "</FORM>\n"; @@ -95,7 +95,7 @@ function block_admin_overview() { $rblocks .= "<TABLE BORDER=\"0\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; while ($block = db_fetch_object($result)) $rblocks .= " <TR><TD NOWRAP>". ($block->status == 2 ? "<B>$block->name</B>" : $block->name) ."</TD><TD>$block->weight</TD></TR>\n"; $rblocks .= "</TABLE>\n"; - + $output .= "<P><B>layout 1:</B></P>\n"; $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; $output .= " <TR><TD ALIGN=\"center\" COLSPAN=\"3\">$site_name header</TD></TR>\n"; @@ -127,7 +127,7 @@ function block_admin_overview() { function block_admin() { global $op, $edit; - + print "<SMALL><A HREF=\"admin.php?mod=block\">configure</A> | <A HREF=\"admin.php?mod=block&op=overview\">overview</A> | <A HREF=\"admin.php?mod=block&op=help\">help</A></SMALL><HR>\n"; switch ($op) { @@ -143,7 +143,7 @@ function block_admin() { default: block_admin_display(); } - + } ?> diff --git a/modules/block/block.module b/modules/block/block.module index ce994d704c3871864119a389835f77730df65646..bfa38bae95a75915af1abf13bbd6a344602e1062 100644 --- a/modules/block/block.module +++ b/modules/block/block.module @@ -17,18 +17,18 @@ function block_page() { global $theme; $result = db_query("SELECT * FROM blocks WHERE status = 1 ORDER BY module"); - + $theme->header(); print "<TABLE BORDER=\"0\">\n"; while ($block = db_fetch_object($result)) { if ($state % 3 == 0) print " <TR>\n"; - print " <TD ALIGN=\"center\" VALIGN=\"top\" WIDTH=\"33%\">\n"; + print " <TD ALIGN=\"center\" VALIGN=\"top\" WIDTH=\"33%\">\n"; $blocks = module_execute($block->module, "block"); $theme->box($blocks[$block->offset]["subject"], $blocks[$block->offset]["content"]); print " </TD>\n"; if ($state % 3 == 2) print " </TR>\n"; $state += 1; - } + } print "</TABLE>\n"; $theme->footer(); } @@ -43,12 +43,12 @@ function block_admin_display() { global $repository; $result = db_query("SELECT * FROM blocks ORDER BY module"); - + // Generate output: $output .= "<FORM ACTION=\"admin.php?mod=block\" METHOD=\"post\">\n"; $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; $output .= " <TR><TH>block</TH><TH>module</TH><TH>status</TH><TH>weight</TH><TH>region</TH></TR>\n"; - + while ($block = db_fetch_object($result)) { $module = ($repository[$block->module]["admin"]) ? "<A HREF=\"admin.php?mod=$block->module\">$block->module</A>" : $block->module; @@ -70,12 +70,12 @@ function block_admin_display() { $region .= "</SELECT>\n"; $output .= " <TR><TD>". $block->name ."</TD><TD ALIGN=\"center\">$module</TD><TD>$status</TD><TD>$weight</TD><TD>$region</TD></TR>\n"; - + unset($status); unset($weight); unset($region); } - + $output .= "</TABLE>\n"; $output .= "<INPUT NAME=\"op\" TYPE=\"submit\" VALUE=\"Save blocks\">\n"; $output .= "</FORM>\n"; @@ -95,7 +95,7 @@ function block_admin_overview() { $rblocks .= "<TABLE BORDER=\"0\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; while ($block = db_fetch_object($result)) $rblocks .= " <TR><TD NOWRAP>". ($block->status == 2 ? "<B>$block->name</B>" : $block->name) ."</TD><TD>$block->weight</TD></TR>\n"; $rblocks .= "</TABLE>\n"; - + $output .= "<P><B>layout 1:</B></P>\n"; $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; $output .= " <TR><TD ALIGN=\"center\" COLSPAN=\"3\">$site_name header</TD></TR>\n"; @@ -127,7 +127,7 @@ function block_admin_overview() { function block_admin() { global $op, $edit; - + print "<SMALL><A HREF=\"admin.php?mod=block\">configure</A> | <A HREF=\"admin.php?mod=block&op=overview\">overview</A> | <A HREF=\"admin.php?mod=block&op=help\">help</A></SMALL><HR>\n"; switch ($op) { @@ -143,7 +143,7 @@ function block_admin() { default: block_admin_display(); } - + } ?> diff --git a/modules/box.module b/modules/box.module index a271462aa4ed36638932ad7295649d201691e6ed..9a2cd51a96743f1929039cdac28e59016547adf3 100644 --- a/modules/box.module +++ b/modules/box.module @@ -50,9 +50,9 @@ function box_block() { function box_admin_display() { $type = array(0 => "ASCII", 1 => "HTML", 2 => "PHP"); - + $result = db_query("SELECT * FROM boxes"); - + while ($block = db_fetch_object($result)) { $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"3\" CELLSPACING=\"0\">\n"; $output .= " <TR><TH>Subject:</TH><TD>". format_data($block->subject) ."</TD></TR>\n"; @@ -89,7 +89,7 @@ function box_admin_new() { } function box_admin_add($subject, $content, $info, $link, $type) { - db_query("INSERT INTO boxes (subject, content, info, link, type) VALUES ('". check_input($subject) ."', '". check_code($content) ."', '". check_input($info) ."', '". check_input($link) ."', '". check_input($type) ."')"); + db_query("INSERT INTO boxes (subject, content, info, link, type) VALUES ('". check_input($subject) ."', '". check_code($content) ."', '". check_input($info) ."', '". check_input($link) ."', '". check_input($type) ."')"); } function box_admin_delete($id) { @@ -108,7 +108,7 @@ function box_admin_edit($id) { if ($block = db_fetch_object($result)) { $output .= "<FORM ACTION=\"admin.php?mod=box\" METHOD=\"post\">\n"; - + $output .= "<P>\n"; $output .= " <B>Subject:</B><BR>\n"; $output .= " <INPUT TYPE=\"text\" NAME=\"subject\" VALUE=\"". check_textfield($block->subject) ."\">\n"; diff --git a/modules/calendar.class b/modules/calendar.class index 16498c6bb0a91f178581dd41c317cfefda453883..0c16001cc88d4aa85fa4004c5998d5e682a9d0c1 100644 --- a/modules/calendar.class +++ b/modules/calendar.class @@ -17,7 +17,7 @@ class Calendar { // Extract first day of the month: $first = date("w", mktime(0, 0, 0, $month, 1, $year)); - + // Extract last day of the month: $last = date("t", mktime(0, 0, 0, $month, 1, $year)); @@ -30,11 +30,11 @@ class Calendar { $output .= "<TABLE WIDTH=\"100%\" BORDER=\"1\" CELLSPACING=\"0\" CELLPADDING=\"1\">\n"; $output .= " <TR><TD ALIGN=\"center\" COLSPAN=\"7\"><SMALL><A HREF=\"index.php?date=$prev\"><</A> ". date("F Y", $this->date) ." <A HREF=\"index.php?date=$next\">></A></SMALL></TD></TR>\n"; $output .= " <TR><TD ALIGN=\"center\"><SMALL>S</SMALL></TD><TD ALIGN=\"center\"><SMALL>M</SMALL></TD><TD ALIGN=\"center\"><SMALL>T</SMALL></TD><TD ALIGN=\"center\"><SMALL>W</SMALL></TD><TD ALIGN=\"center\"><SMALL>T</SMALL></TD><TD ALIGN=\"center\"><SMALL>F</SMALL></TD><TD ALIGN=\"center\"><SMALL>S</SMALL></TD></TR>\n"; - + // Initialize temporary variables: $nday = 1; $sday = $first; - + // Loop through all the days of the month: while ($nday <= $last) { // Set up blank days for first week of the month: @@ -42,25 +42,25 @@ class Calendar { $output .= " <TR><TD COLSPAN=\"$first\"> </TD>\n"; $first = 0; } - + // Start every week on a new line: if ($sday == 0) $output .= " <TR>\n"; - + // Print one cell: $date = mktime(23, 59, 59, $month, $nday, $year); if ($nday == $day) $output .= " <TD ALIGN=\"center\"><SMALL><B>$nday</B></SMALL></TD>\n"; else if ($date > time()) $output .= " <TD ALIGN=\"center\"><SMALL>$nday</SMALL></TD>\n"; else $output .= " <TD ALIGN=\"center\"><SMALL><A HREF=\"index.php?date=$date\" STYLE=\"text-decoration: none;\">$nday</A></SMALL></TD>\n"; - + // Start every week on a new line: if ($sday == 6) $output .= " </TR>\n"; - + // Update temporary variables: $sday++; $sday = $sday % 7; $nday++; } - + // Complete the calendar: if ($sday) { $end = 7 - $sday; diff --git a/modules/calendar.module b/modules/calendar.module index 0f4e2868cfff768ba24265a3b2a772900dc80dc3..fbceef7a0ae9a917c4afc74336d4b952c56c0764 100644 --- a/modules/calendar.module +++ b/modules/calendar.module @@ -12,7 +12,7 @@ function calendar_block() { $block[0]["subject"] = "Browse archives"; $block[0]["content"] = $calendar->display(); $block[0]["info"] = "Calendar to browse archives"; - + return $block; } diff --git a/modules/comment.module b/modules/comment.module index bdda1cc0ea594586a506f7fa985970b9ccd8893f..e4a8ca9accf88d447f29f384d74c5bdb674a0497 100644 --- a/modules/comment.module +++ b/modules/comment.module @@ -28,7 +28,7 @@ function comment_edit($id) { $output .= " <INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Save comment\">\n"; $output .= "</P>\n"; $output .= "</FORM>\n"; - + print $output; } @@ -43,7 +43,7 @@ function comment_display($order = "date") { // Perform SQL query: $result = db_query("SELECT c.*, u.userid FROM comments c LEFT JOIN users u ON u.id = c.author ORDER BY c.$fields[$order] LIMIT 50"); - + // Display comments: $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; $output .= " <TR>\n"; @@ -70,7 +70,7 @@ function comment_display($order = "date") { } $output .= "</TABLE>\n"; - + print $output; } diff --git a/modules/comment/comment.module b/modules/comment/comment.module index bdda1cc0ea594586a506f7fa985970b9ccd8893f..e4a8ca9accf88d447f29f384d74c5bdb674a0497 100644 --- a/modules/comment/comment.module +++ b/modules/comment/comment.module @@ -28,7 +28,7 @@ function comment_edit($id) { $output .= " <INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Save comment\">\n"; $output .= "</P>\n"; $output .= "</FORM>\n"; - + print $output; } @@ -43,7 +43,7 @@ function comment_display($order = "date") { // Perform SQL query: $result = db_query("SELECT c.*, u.userid FROM comments c LEFT JOIN users u ON u.id = c.author ORDER BY c.$fields[$order] LIMIT 50"); - + // Display comments: $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; $output .= " <TR>\n"; @@ -70,7 +70,7 @@ function comment_display($order = "date") { } $output .= "</TABLE>\n"; - + print $output; } diff --git a/modules/cron.module b/modules/cron.module index 67a147a7c0f7f1a1490f924d03da5b8ae1d2a1ef..54d55c41b5fa0ec567cc5c5877af80c377b2e334 100644 --- a/modules/cron.module +++ b/modules/cron.module @@ -22,7 +22,7 @@ function cron_display() { // Perform query: $result = db_query("SELECT * FROM crons"); - + // Generate output: $output .= "<FORM ACTION=\"admin.php?mod=cron\" METHOD=\"post\">\n"; $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; diff --git a/modules/diary.module b/modules/diary.module index 4f9f392039da9faef06034ec2135457c0cb4eb11..584a51b8aacfb8b62f39ad859d5fd81115ea2968 100644 --- a/modules/diary.module +++ b/modules/diary.module @@ -56,7 +56,7 @@ function diary_page_display($username) { global $theme, $user; $username = empty($username) ? $user->userid : $username; - + $result = db_query("SELECT d.*, u.userid FROM diaries d LEFT JOIN users u ON d.author = u.id WHERE u.userid = '$username' ORDER BY timestamp DESC"); if ($username == $user->userid) { @@ -75,10 +75,10 @@ function diary_page_display($username) { function diary_page_add() { global $theme, $user, $allowed_html; - + $output .= "<FORM ACTION=\"module.php?mod=diary\" METHOD=\"post\">\n"; - $output .= "<P>\n"; + $output .= "<P>\n"; $output .= " <B>Enter new diary entry:</B><BR>\n"; $output .= " <TEXTAREA WRAP=\"virtual\" COLS=\"50\" ROWS=\"15\" NAME=\"text\" MAXLENGTH=\"20\"></TEXTAREA><BR>\n"; $output .= " <SMALL><I>Allowed HTML tags: ". htmlspecialchars($allowed_html) .".</I></SMALL>\n"; @@ -89,7 +89,7 @@ function diary_page_add() { $output .= "</P>\n"; $output .= "</FORM>\n"; - + $theme->header(); $theme->box("Edit you diary", $output); $theme->footer(); @@ -118,7 +118,7 @@ function diary_page_edit($id) { $output .= "</P>\n"; $output .= "</FORM>\n"; - + $theme->header(); $theme->box("Edit your diary", $output); $theme->footer(); @@ -263,7 +263,7 @@ function diary_admin_edit($id) { $output .= " <INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Save diary entry\">\n"; $output .= "</P>\n"; $output .= "</FORM>\n"; - + print $output; } @@ -278,7 +278,7 @@ function diary_admin_display($order = "date") { // Perform SQL query: $result = db_query("SELECT d.*, u.userid FROM diaries d LEFT JOIN users u ON u.id = d.author ORDER BY d.$fields[$order] LIMIT 50"); - + // Display stories: $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; $output .= " <TR>\n"; @@ -305,14 +305,14 @@ function diary_admin_display($order = "date") { } $output .= "</TABLE>\n"; - + print $output; } function diary_admin() { global $op, $id, $text, $order; - + switch ($op) { case "edit": diary_admin_edit($id); diff --git a/modules/documentation.module b/modules/documentation.module index 5b5cb4f6922041d2af055f7af82fbb9748eae500..9150be17875ace24d15ab654a448dadb604fd021 100644 --- a/modules/documentation.module +++ b/modules/documentation.module @@ -12,7 +12,7 @@ function documentation_module($name, $module) { function documentation() { ?> <SMALL><I>$Id$</I></SMALL> - + <H1>Chapter 1: introduction</H1> <P>Drupal is the English pronunciation for the Dutch word 'druppel' which means 'drop'. Drupal is a fully-featured content management/discussion engine suitable to setup a news-driven community or portal site. Drupal aims to provide easy installation, excessive configuration and fine-grained maintenance capabilities. Due to its modular design, drupal is flexible and easy to adapt or extend.</P> @@ -88,10 +88,10 @@ function documentation() { <H1>Chapter 3: drupal engine</H1> - <P>While we in no way consider the design and implementation of the drupal engine to be finished, we feel that our own accompanying intensive experience has given us a fairly stable and well-proven design. The following provides a brief over-view of the different aspects of drupal's core engine and features.</P> + <P>While we in no way consider the design and implementation of the drupal engine to be finished, we feel that our own accompanying intensive experience has given us a fairly stable and well-proven design. The following provides a brief over-view of the different aspects of drupal's core engine and features.</P> <H2>Cron</H2> - + <P>Cron (which stands for chronograph) is a periodic command scheduler: it executes commands at intervals specified in seconds. It can be used to control the execution of daily, weekly and monthly jobs (or anything with a period of n seconds). Automating tasks is one of the best ways to keep a system running smoothly, and if most of your administration does not require your direct involvement, cron is an ideal solution.</P> <P>Note that cron does not guarantee that the commands will be executed at the specified interval. However, the engine will make sure that the commands are run at the specified intervals as closely as possible.</P> <P>Whenever <CODE>http://yourdomain.com/cron.php</CODE> is accessed, cron will run: it queries the database for the jobs cron controls, and their periods in seconds. If a certain task wasn't executed in the last n seconds, where n is the period of that job, it will be executed. It then records the date in the database so it can know when to run it again. When all the executed commands terminate, cron is done.</P> @@ -108,18 +108,18 @@ function documentation() { <P>The maintenance of all databases is handled by surprisingly simple code. Access to to the database is done by facilities of drupal's database abstraction layer. The purpose of drupal's database abstraction layer is to make it possible to run a drupal site on top of different databases like MySQL, Oracle, Postgres and so on.</P> <P>However, currently the only supported database is MySQL. In fact, we haven't even bothered or tried to migrate to another database so our database abstraction layer might even contain undiscovered flaws. Nevertless, moving to another database shouldn't be much of a problem.</P> <P>Take a look at <CODE>includes/database.inc</CODE> to see what database functions are supported.</P> - + <H2>Moderation, collaborative rating</H2> <P>We like to experiment with moderation, trust metrics and collaborative filtering. Why? To help individuals and communities address the challenges of information overload.</P> <P>As each new piece of information competes for attention, people quickly tend to become overwhelmed and seek assistance in identifying the most interesting, worthwhile, valuable or entertaining items. Not to mention the fact that reader-contributed content and other levels of interactivity tend to become chaotic, bloated and disreputable.</P> <P>Therefor, we decided to develop a public system powered by a community that aims to bring quality content to everyone's attention and to filter out all junk: to <I>sort the wheat from the chaff</I>. The output should be something clean and homogenized featuring quality content, and should slide down the gullet far more easily.</P> - + <H3>Open submission queue</H3> <P>Anyone who visits and has some news or some thoughts they'd like to share, can submit new content for consideration. After someone has submitted something, their story is added to a queue. All registered users can access this list of pending stories, that is, stories that have been submitted, but do not yet appear on the public front page. Those registered users can vote whether they think the story should be posted or not. When enough people vote to post a story, the story is pushed over the threshold and up it goes on the public page. On the other hand, when too many people voted to drop a story, the story will get trashed.</P> <H3>Comment rating</H3> - + <P>Anyone with a user account will be able to moderate comments. This lets people assign a score to a comment on how good they think the comment is or how visible they think it should be. When more than one person rates a comment, the overall rating is just a simple average of all ratings. Comments with high ratings are more visible than comments with a lower rating. That way, comments that gain the approval of participants will gradually move up through statistical effects and pointless comments will sink into oblivion.</P> <P>Hence, the purpose of comment moderation is two-fold:</P> <UL> @@ -129,7 +129,7 @@ function documentation() { <P>In the latter, comment moderation provides a technical solution to a social problem.</P> <H2>Modules</H2> - + <P>When developing drupal it became clear that we wanted to have a system which is as modular as possible. A modular design will provide flexibility, adaptability, and continuity which in turn allows people to customize the site to their needs and likings.</P> <P>A drupal module is simply a file containing a set of routines written in PHP. When used, the module code executes entirely within the context of the site. Hence it can use all the functions and access all variables and structures of the main engine. In fact, a module is not any different from a regular PHP file: it is more of a notion that automatically leads to good design principles and a good development model. Modularity better suits the open-source development model, because otherwise you can't easily have people working in parallel without risk of interference.</P> <P>The idea is to be able to run random code at given places in the engine. This random code should then be able to do whatever needed to enhance the functionality. The places where code can be executed are called "hooks" and are defined by a fixed interface.</P> @@ -138,7 +138,7 @@ function documentation() { <P>In our above example, our associative array <CODE>$module</CODE> would look like:</P> <PRE> $module = array("bar" => "foo_bar"); - </PRE> + </PRE> <TABLE BORDER="1"> <TR> <TH>Hook name</TH> @@ -176,19 +176,19 @@ function documentation() { <P>Even though we aim towards modularity, a basic rule is to avoid defined interfaces. We are exceptionally careful when it comes down to adding hooks because once you give a hook to developers they will start coding to it and once somebody's using it, you are stuck with it.</P> <H2>Theme system</H2> - + <P>Drupal's theme system is simple, elegant, flexible and powerful. You can accommodate rather major changes in overall appearance and significant structural changes. Moreover, you control all aspects of your drupal site in terms of colors, mark-up, layout and even the position of most blocks (or boxes). You can leave blocks out, move them from right to left, up and down until it fits your needs.</P> <P>In order to accomplish this, drupal uses a theme class that has a handful of functions. The drupal engine dynamically loads the correct theme class, instantiates it and then calls this class' functions where appropriate.</P> <P>Let's illustrate this with an easy example. Say, to generate the main page, the drupal engine would use something like:</P> <PRE> - $theme = new Theme(); - $theme->header(); + $theme = new Theme(); + $theme->header(); // displays the header of a page - for each $article to be displayed { - $theme->article($article); + for each $article to be displayed { + $theme->article($article); // displays a themed article or story - } - $theme->footer(); + } + $theme->footer(); // displays the footer of a page </PRE> <P>We have similar functions for things like comments (i.e. <CODE>$theme->comment($comment)</CODE>), generic boxes (i.e. <CODE>$theme->box($topic, $body)</CODE>) and so on. To create your own theme, you simply need to provide a new implementation of these functions.</P> @@ -203,8 +203,8 @@ function documentation() { <P>Once a user authenticated a session is started and until that session is over they won't have to re-authenticate. To keep track of the individual sessions, drupal relies on PHP's session support. A visitor accessing your web site is assigned an unique ID, the so-called session ID, which is stored in a cookie. For security's sake, the cookie does not contain personal information but acts as a key to retrieve the information stored on your server's side. When a visitor accesses your site, drupal will check whether a specific session ID has been sent with the request. If this is the case, the prior saved environment is recreated.</P> <P>Drupal allows you to control who is allowed to get authenticated and who is not. To accomplish this, you can ban certain hostnames, IPs, IP-ranges, e-mail address and usernames. Any user that matches any of the given ban criteria will not be able to authenticate or to register as a new user.</P> <P>Authenticated users can themselves select entirely different appearances for the site, utilizing their own preferences for how the pages are structured, how navigation lists and other page components are presented and much more.</P> - <P>An important feature of drupal is that any user can be granted administrator rights. The ability to share maintenance responsibility with volunteers from across the globe can be considered valuable for most community-based projects.</P> - + <P>An important feature of drupal is that any user can be granted administrator rights. The ability to share maintenance responsibility with volunteers from across the globe can be considered valuable for most community-based projects.</P> + <H1>Chapter 4: drupal modules</H1> <? @@ -219,7 +219,7 @@ function documentation() { <H2>CVS</H2> <H3>Introduction</H3> - + <P>CVS is a tool to manage software revisions and release control in a multi-developer, multi-directory, multi-group environment. It comes in very handy to maintain local modifications.</P> <P>Thus, CVS helps you if you are part of a group of people working on the same project. In large software development projects, it's usually necessary for more then one software developer to be modifying modules of the code at the same time. Without CVS, it is all too easy to overwrite each others' changes unless you are extremely careful.</P> <P>In addition, CVS helps to keep track of all changes. Therefor, the CVS server has been setup to mail all CVS commits to all maintainers. Thus, it does not require any effort to inform the other people about the work you have done, and by reading the mails everyone is kept up to date.</P> diff --git a/modules/drupal-site.module b/modules/drupal-site.module index 9d48f97476efae57286ee414d248a61e465941f6..75fff69d51a43b1e1820575d37e4204adab1de11 100644 --- a/modules/drupal-site.module +++ b/modules/drupal-site.module @@ -29,7 +29,7 @@ function drupal_block() { $content .= " </SELECT>\n"; $content .= "</FORM>\n"; $content .= "</CENTER>\n"; - + $blocks[0]["subject"] = "Drupal sites"; $blocks[0]["content"] = $content; $blocks[0]["info"] = "Drupal sites (selection)"; @@ -44,7 +44,7 @@ function drupal_block() { $blocks[1]["subject"] = "Drupal sites"; $blocks[1]["content"] = $content; $blocks[1]["info"] = "Drupal sites (sequential)"; - + return $blocks; } diff --git a/modules/drupal.module b/modules/drupal.module index 8e7cc249ce42f58c689fa38dd444df2bfbacbae7..990080f0591b4e68fd5c41e3028b4912921908ee 100644 --- a/modules/drupal.module +++ b/modules/drupal.module @@ -11,8 +11,8 @@ function drupal_render($id, $cid) { $output = " <P>Drupal is the English pronunciation for the Dutch word 'druppel' which stands for 'drop'. Drupal is a full-featured content management/discussion engine suitable to setup a news-driven community or portal site. Drupal aims towards easy installation, excessive configuration and fine-grained maintenance capabilities. Due to its modular design drupal is flexible and easy to adapt or extend.</P>\n"; $output .= " <P>Drupal is primarily written by Dries Buytaert (dries_at_drop.org) and build after Slash (<A HREF=\"http://slashcode.com/\">http://slashcode.com/</A>) and Scoop (<A HREF=\"http://scoop.kuro5hin.org/\">http://scoop.kuro5hin.org/</A>). The source code is available under terms of GNU General Public License (GPL).</P>\n"; $output .= " <P>We don't have a real demo site yet but drupal is used by (and created for) <A HREF=\"http://drop.org/\">http://drop.org/</A>. Create an account, play with it for a bit, read the <A HREF=\"module.php?mod=documentation\">documentation</A> and spend some time getting used to it.</P>\n"; - $theme->box("Introduction", $output); - + $theme->box("Introduction", $output); + $output = "<LI><A HREF=\"drupal/drupal-1.00.tgz\">drupal 1.00</A> (2000/01/15 - latest version)</LI>\n"; $output .= "<LI><A HREF=\"drupal/drupal-1.00-rc2.tgz\">drupal 1.00-rc2</A> (2000/01/08)</LI>\n"; $output .= "<LI><A HREF=\"drupal/drupal-1.00-rc1.tgz\">drupal 1.00-rc1</A> (2000/01/01)</LI>\n"; @@ -23,7 +23,7 @@ function drupal_render($id, $cid) { while ($file = readdir($handle)) if (ereg(".jpg", $file) || ereg(".gif", $file)) $output .= " <LI><SMALL><A HREF=\"drupal/$file\">$file</A></SMALL></LI>\n"; closedir($handle); $theme->box("Screenshots", $output); - + $output = "<H2>Documentation</H2>\n"; $output .= " <LI><A HREF=\"module.php?mod=documentation\">documentation</A></LI>\n"; $output .= " <LI><A HREF=\"module.php?mod=wishlist\">wishlist</A></LI>\n"; @@ -42,7 +42,7 @@ function drupal_render($id, $cid) { function drupal_page() { global $cid, $comment, $id, $op, $pid, $lid, $link, $mode, $order, $subject, $theme, $threshold; - switch($op) { + switch($op) { case "Preview comment": $theme->header(); comment_preview($pid, $id, $subject, $comment); diff --git a/modules/drupal/drupal.module b/modules/drupal/drupal.module index 8e7cc249ce42f58c689fa38dd444df2bfbacbae7..990080f0591b4e68fd5c41e3028b4912921908ee 100644 --- a/modules/drupal/drupal.module +++ b/modules/drupal/drupal.module @@ -11,8 +11,8 @@ function drupal_render($id, $cid) { $output = " <P>Drupal is the English pronunciation for the Dutch word 'druppel' which stands for 'drop'. Drupal is a full-featured content management/discussion engine suitable to setup a news-driven community or portal site. Drupal aims towards easy installation, excessive configuration and fine-grained maintenance capabilities. Due to its modular design drupal is flexible and easy to adapt or extend.</P>\n"; $output .= " <P>Drupal is primarily written by Dries Buytaert (dries_at_drop.org) and build after Slash (<A HREF=\"http://slashcode.com/\">http://slashcode.com/</A>) and Scoop (<A HREF=\"http://scoop.kuro5hin.org/\">http://scoop.kuro5hin.org/</A>). The source code is available under terms of GNU General Public License (GPL).</P>\n"; $output .= " <P>We don't have a real demo site yet but drupal is used by (and created for) <A HREF=\"http://drop.org/\">http://drop.org/</A>. Create an account, play with it for a bit, read the <A HREF=\"module.php?mod=documentation\">documentation</A> and spend some time getting used to it.</P>\n"; - $theme->box("Introduction", $output); - + $theme->box("Introduction", $output); + $output = "<LI><A HREF=\"drupal/drupal-1.00.tgz\">drupal 1.00</A> (2000/01/15 - latest version)</LI>\n"; $output .= "<LI><A HREF=\"drupal/drupal-1.00-rc2.tgz\">drupal 1.00-rc2</A> (2000/01/08)</LI>\n"; $output .= "<LI><A HREF=\"drupal/drupal-1.00-rc1.tgz\">drupal 1.00-rc1</A> (2000/01/01)</LI>\n"; @@ -23,7 +23,7 @@ function drupal_render($id, $cid) { while ($file = readdir($handle)) if (ereg(".jpg", $file) || ereg(".gif", $file)) $output .= " <LI><SMALL><A HREF=\"drupal/$file\">$file</A></SMALL></LI>\n"; closedir($handle); $theme->box("Screenshots", $output); - + $output = "<H2>Documentation</H2>\n"; $output .= " <LI><A HREF=\"module.php?mod=documentation\">documentation</A></LI>\n"; $output .= " <LI><A HREF=\"module.php?mod=wishlist\">wishlist</A></LI>\n"; @@ -42,7 +42,7 @@ function drupal_render($id, $cid) { function drupal_page() { global $cid, $comment, $id, $op, $pid, $lid, $link, $mode, $order, $subject, $theme, $threshold; - switch($op) { + switch($op) { case "Preview comment": $theme->header(); comment_preview($pid, $id, $subject, $comment); diff --git a/modules/faq.module b/modules/faq.module index 80fe80ac0b91260ac36626b2d7451aab4c0cd0e3..d4c0b1d819abdb95ad713e8e580ab6be728457ca 100644 --- a/modules/faq.module +++ b/modules/faq.module @@ -29,7 +29,7 @@ function faq_page() { <DT><B><A NAME=\"moderation\">Why moderation, trust metrics and collaborative filtering?</A></B></DT> <DD>To help individuals and communities address the challenges of information overload.<P>As each new piece of information competes for attention, people quickly tend to become overwhelmed and seek assistance in identifying the most interesting, worthwhile, valuable or entertaining items. Not to mention the fact, reader-contributed content and other levels of interactivity tend to become chaotic, bloated and disreputable.<P>Therefor, we decided to develop a public system powered by a community that aims to bring quality content to everyone's attention and to filter out all junk: to <I>sort the wheat from the chaff</I>. The output should be something clean and homogenized featuring quality content, and should slide down the gullet far more easily. Another objective is to provide a customized service according to public and individual preferences, whether expressed or inferred.<P>Yes, you are right: it all sounds a bit idealistic, not to mention hypothetical. However, don't get this wrong: this isn't a new concept, various such systems exist nowadays (like <A HREF=\"http://slashdot.org/\">slashdot.org</A> or <A HREF=\"http://www.kuro5hin.org/\">kuro5hin.org</A>). We just happen to want our own system.<P>Last but not least we, the $site_name team, don't want the responsibility to manually review each post and to select the ones worthy. Systematic editing by individual editors is nice and dandy if they get paid for it or if you they some time to kill. After all, we are not writers, critics nor reviewers for that matter; we are programmers, designers and technicians.<P></DD> - + <DT><B>How does submission moderation work?</B></DT> <DD>Anyone who drops in and has some news or some thoughts they'd like to share, can submit new content for consideration. After someone has submitted something, their story is added to a queue. All registered users can access this list of pending stories, that is, stories that have been submitted, but do not yet appear on the public front page. Those registered users can vote whether they think the story should be posted or not. When enough people vote to post a story, the story is pushed over the threshold and up it goes on the public page. On the other hand, when too many people voted to drop a story, the story will get trashed.<P></DD> @@ -73,7 +73,7 @@ function faq_page() { <DT><B>What is your disclaimer?</B></DT> <DD>All messages made available (including any discussion groups and bulletin boards) and any opinions, advice, statements or other information contained in any messages posted or transmitted by any third party are the responsibility of the author of that message and not of $site_name. The fact that a particular message is posted on or transmitted using this website does not mean that $site_name has endorsed that message in any way or verified the accuracy, completeness or usefulness of any message.<P>Furthermore, all persons who use $site_name are advised not to use them for solicitation or any other commercial purposes. We make no representation regarding the merchantability or fitness for any particular purpose of any message posted by any third party. Users are encouraged to seek the advice of their appropriate professional advisors, when evaluating the information contained in any message. $site_name is not responsible for any defamatory, offensive or illegal conduct of any user.<P></DD> - + <DT><B>What are your terms and conditions?</B></DT> <DD> This website includes threaded discussion groups and discussion forums which allow feedback to $site_name and real-time interaction between the persons who use this service. The responsibility for any opinions, advice, statements or other information contained in any messages posted or transmitted by any third party on this website resides solely with the author.<P> diff --git a/modules/headline.module b/modules/headline.module index 3a42b3d764dee7663c8f6afb227300ea668d5e88..8bb89d31052d780a77dec7f5c3656dd929fb5740 100644 --- a/modules/headline.module +++ b/modules/headline.module @@ -13,7 +13,7 @@ function headline_blocks() { global $theme; - + // Get channel info: $result = db_query("SELECT * FROM channel ORDER BY id"); @@ -24,12 +24,12 @@ function headline_blocks() { if ($state % 3 == 0) print " <TR>\n"; print " <TD ALIGN=\"center\" VALIGN=\"top\" WIDTH=\"33%\">\n"; - + // Load backend from database: $backend = new backend($channel->id); if ($backend->headlines) { - unset($content); + unset($content); foreach ($backend->headlines as $headline) $content .= "<LI>$headline</LI>\n"; } else { @@ -43,7 +43,7 @@ function headline_blocks() { if ($state % 3 == 2) print " </TR>\n"; $state += 1; - } + } print "</TABLE>\n"; $theme->footer(); @@ -81,7 +81,7 @@ function headline_block() { $result = db_query("SELECT * FROM channel"); while ($channel = db_fetch_object($result)) { $backend = new Backend($channel->id); - + if ($backend->headlines) { unset($content); foreach ($backend->headlines as $headline) { @@ -91,7 +91,7 @@ function headline_block() { else { $content = "no headlines available"; } - + $blocks[$channel->id]["subject"] = $backend->site; $blocks[$channel->id]["content"] = $content; $blocks[$channel->id]["info"] = "$backend->site headlines"; @@ -112,7 +112,7 @@ function headline_admin_display() { while ($channel = db_fetch_object($result)) { // Load backend from database: $backend = new backend($channel->id); - + $output .= "<TR>\n"; $output .= " <TD><A HREF=\"$backend->url\">$backend->site</A></TD>\n"; $output .= " <TD><A HREF=\"mailto:$backend->contact\">$backend->contact</A></TD>\n"; @@ -120,10 +120,10 @@ function headline_admin_display() { $output .= " <TD ALIGN=\"center\"><A HREF=\"admin.php?mod=headline&op=refresh&id=$backend->id\">refresh</A></TD>\n"; $output .= " <TD ALIGN=\"center\"><A HREF=\"admin.php?mod=headline&op=delete&id=$backend->id\">delete</A></TD>\n"; $output .= "</TR>\n"; - } + } $output .= "</TABLE>\n"; - + print $output; } @@ -147,13 +147,13 @@ function headline_admin_add() { $output .= " </P>\n"; $output .= " <INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Add backend\">\n"; $output .= " </FORM>\n"; - + print $output; } function headline_admin() { global $op, $id, $site, $url, $backend, $contact; - + print "<SMALL><A HREF=\"admin.php?mod=headline&op=add\">add new channel</A> | <A HREF=\"admin.php?mod=headline\">overview</A> | <A HREF=\"admin.php?mod=headline&op=help\">help</A></SMALL><HR>"; switch($op) { @@ -184,7 +184,7 @@ function headline_admin() { function headline_export($uri) { global $site_name, $site_url, $HTTP_REFERER, $HTTP_USER_AGENT; - + if ($uri[2] == "headlines.rdf") { watchdog("message", "grabbed 'headlines.rdf' - referring url: $HTTP_REFERER - user agent: $HTTP_USER_AGENT"); @@ -203,7 +203,7 @@ function headline_export($uri) { print "</channel>\n"; $result = db_query("SELECT * FROM stories WHERE status = 2 ORDER BY timestamp DESC LIMIT 10"); - + while ($story = db_fetch_object($result)) { print "<item>\n"; print " <title>$story->subject</title>\n"; diff --git a/modules/module.module b/modules/module.module index f07b46a68ef086eb7d8b5a2fb35daaf8d5564f8c..9f905c1596ba8fa39db41e80925cbbbf55c4f650 100644 --- a/modules/module.module +++ b/modules/module.module @@ -25,13 +25,13 @@ function module_row($name, $module) { $admin = ($module["admin"]) ? "<A HREF=\"admin.php?mod=$name\">admin</A>" : " "; $output .= " <TR><TD>$name</TD><TD>$view</TD><TD>$admin</TD><TD><A HREF=\"admin.php?mod=module&op=rehash&name=$name\">rehash</A></TD></TR>\n"; } - + $output .= "<FORM ACTION=\"admin.php?mod=module\" METHOD=\"post\">\n"; $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; $output .= " <TR><TH>module</TH><TH COLSPAN=\"3\">operations</TH></TR>\n"; - + module_iterate("module_row"); - + $output .= "</TABLE>\n"; $output .= "<INPUT NAME=\"op\" TYPE=\"submit\" VALUE=\"Rehash modules\">\n"; $output .= "</FORM>\n"; @@ -40,7 +40,7 @@ function module_row($name, $module) { function module_admin() { global $op, $name; - + switch ($op) { case "Rehash modules": module_admin_rehash(); diff --git a/modules/section.module b/modules/section.module index 3ef7331f6b1a68903ab3a4aeb6f6e9ab9484e731..36642f4183dbe015d66cbd3faa7ad91f9025f991 100644 --- a/modules/section.module +++ b/modules/section.module @@ -58,7 +58,7 @@ function section_add() { $output .= " </P>\n"; $output .= " <INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Add section\">\n"; $output .= " </FORM>\n"; - + print $output; } @@ -80,7 +80,7 @@ function section_display() { // Perform query: $result = db_query("SELECT * FROM sections ORDER BY name"); - + // Generate output: $output .= "<FORM ACTION=\"admin.php?mod=section\" METHOD=\"post\">\n"; $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; diff --git a/modules/watchdog.module b/modules/watchdog.module index 9b974634ad440070d4da69869a7ed784d65242c6..5762842725c527318b558f53a1c454a5226c5a43 100644 --- a/modules/watchdog.module +++ b/modules/watchdog.module @@ -1,6 +1,6 @@ <? -$module = array("cron" => "watchdog_cron", +$module = array("cron" => "watchdog_cron", "admin" => "watchdog_admin"); function watchdog_cron() { @@ -13,7 +13,7 @@ function watchdog_display($order = "date") { // Perform query: $result = db_query("SELECT l.*, u.userid FROM watchdog l LEFT JOIN users u ON l.user = u.id ORDER BY l.$fields[$order]"); - + // Generate output: $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; $output .= " <TR>\n"; diff --git a/modules/watchdog/watchdog.module b/modules/watchdog/watchdog.module index 9b974634ad440070d4da69869a7ed784d65242c6..5762842725c527318b558f53a1c454a5226c5a43 100644 --- a/modules/watchdog/watchdog.module +++ b/modules/watchdog/watchdog.module @@ -1,6 +1,6 @@ <? -$module = array("cron" => "watchdog_cron", +$module = array("cron" => "watchdog_cron", "admin" => "watchdog_admin"); function watchdog_cron() { @@ -13,7 +13,7 @@ function watchdog_display($order = "date") { // Perform query: $result = db_query("SELECT l.*, u.userid FROM watchdog l LEFT JOIN users u ON l.user = u.id ORDER BY l.$fields[$order]"); - + // Generate output: $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; $output .= " <TR>\n"; diff --git a/modules/wishlist.module b/modules/wishlist.module index bfeb33ce17c65af6a0527e406ad335b8e1e0a2bc..8a35d9b1a5ab383825269712584699de1d4b5ddb 100644 --- a/modules/wishlist.module +++ b/modules/wishlist.module @@ -17,7 +17,7 @@ function wishlist_page() { <LI>advanced search so people can search stories, comments, diaries, users, and so on by date</LI> <LI><I>see section "Modules" for more user oriented features</I></LI> </UL> - + <H3>Adminstration</H3> <UL> <LI>auto-backup functionality</LI> @@ -37,7 +37,7 @@ function wishlist_page() { <LI>enable/disable comments - pending comments</LI> </UL> </UL> - + <H3>Modules</H3> <UL> <LI>messaging between administrators/users</LI> @@ -53,7 +53,7 @@ function wishlist_page() { <LI>automatically post scheduled stories</LI> <LI>review system</LI> </UL> - + <H3>Themes</H3> <UL> <LI>create a theme with topic icons - graphical theme</LI> diff --git a/scripts/php-clean b/scripts/php-clean index 998f0f08dcb8d869af94b3732b9688850f7e0a45..5dc306a611e7753e872a49b21fb78616faf8f825 100644 --- a/scripts/php-clean +++ b/scripts/php-clean @@ -1,4 +1,4 @@ #!/bin/sh - -find . -name "*~" | xargs rm -f +find . -name "*~" | xargs rm -f find . -name "DEADJOE" | xargs rm -f +find . -name "*" -type f | xargs perl -wi -pe 's/\s+$/\n/' diff --git a/story.php b/story.php index 648cc5b921ae3fe35b08a3d590e361c219e6d0f6..56d832ad283823dca8b5756e8f9856d300434fdc 100644 --- a/story.php +++ b/story.php @@ -16,7 +16,7 @@ function story_render($id, $cid) { } } -switch($op) { +switch($op) { case "Preview comment": $theme->header(); comment_preview($pid, $id, $subject, $comment); diff --git a/submission.php b/submission.php index dd1d613f65ecfb950f4cb7a745c5a0a14d6b01ba..070aa196b804ced10698cd8da9bee547d547a067 100644 --- a/submission.php +++ b/submission.php @@ -35,7 +35,7 @@ function submission_display_item($id) { else { $theme->header(); $theme->article($submission, "[ <A HREF=\"submission.php\"><FONT COLOR=\"$theme->hlcolor2\">back</FONT></A> ]"); - + print "<FORM ACTION=\"submission.php\" METHOD=\"post\">\n"; print "<P>\n"; @@ -52,7 +52,7 @@ function submission_display_item($id) { print "<INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Vote\">\n"; print "</FORM>\n"; - $theme->footer(); + $theme->footer(); } } diff --git a/submit.php b/submit.php index cb155846661f1799f34df5d3015108597d511acf..baf1b941e575488eec7b50ad2b12fbd086297856 100644 --- a/submit.php +++ b/submit.php @@ -2,11 +2,11 @@ function submit_enter() { global $anonymous, $allowed_html, $theme, $user; - + // Guidlines: - $output .= "<P>Got some news or some thoughts you would like to share? Fill out this form and they will automatically get whisked away to our submission queue where our moderators will frown at it, poke at it and hopefully post it. Every registered user is automatically a moderator and can vote whether or not your sumbission should be carried to the front page for discussion.</P>\n"; + $output .= "<P>Got some news or some thoughts you would like to share? Fill out this form and they will automatically get whisked away to our submission queue where our moderators will frown at it, poke at it and hopefully post it. Every registered user is automatically a moderator and can vote whether or not your sumbission should be carried to the front page for discussion.</P>\n"; $output .= "<P>Note that we do not revamp or extend your submission so it is up to you to make sure your submission is well-written: if you don't care enough to be clear and complete, your submission is likely to be moderated down by our army of moderators. Try to be complete, aim for clarity, organize and structure your text, and try to carry out your statements with examples. It is also encouraged to extend your submission with arguments that flow from your unique intellectual capability and experience: offer some insight or explanation as to why you think your submission is interesting. Make sure your submission has some meat on it!</P>\n"; - $output .= "<P>However, if you have bugs to report, complaints, personal questions or anything besides a public submission, we would prefer you to mail us instead, or your message is likely to get lost.</P><BR>\n"; + $output .= "<P>However, if you have bugs to report, complaints, personal questions or anything besides a public submission, we would prefer you to mail us instead, or your message is likely to get lost.</P><BR>\n"; // Submission form: $output .= "<FORM ACTION=\"submit.php\" METHOD=\"post\">\n"; @@ -14,7 +14,7 @@ function submit_enter() { $output .= "<P>\n <B>Your name:</B><BR>\n"; $output .= format_username($user->userid); $output .= "</P>\n"; - + $output .= "<P>\n"; $output .= " <B>Subject:</B><BR>\n"; $output .= " <INPUT TYPE=\"text\" NAME=\"subject\" SIZE=\"50\" MAXLENGTH=\"60\"><BR>\n"; @@ -22,30 +22,30 @@ function submit_enter() { $output .= "</P>\n"; $output .= "<P><B>Section:</B><BR>\n"; - $output .= " <SELECT NAME=\"section\">\n"; + $output .= " <SELECT NAME=\"section\">\n"; foreach ($sections = section_get() as $value) $output .= " <OPTION VALUE=\"$value\">$value</OPTION>\n"; $output .= " </SELECT>\n"; $output .= "</P>\n"; - $output .= "<P>\n"; + $output .= "<P>\n"; $output .= " <B>Abstract:</B><BR>\n"; $output .= " <TEXTAREA WRAP=\"virtual\" COLS=\"50\" ROWS=\"10\" NAME=\"abstract\" MAXLENGTH=\"20\"></TEXTAREA><BR>\n"; $output .= " <SMALL><I>Allowed HTML tags: ". htmlspecialchars($allowed_html) .".</I></SMALL>\n"; $output .= "</P>\n"; - $output .= "<P>\n"; + $output .= "<P>\n"; $output .= " <B>Extended story:</B><BR>\n"; $output .= " <TEXTAREA WRAP=\"virtual\" COLS=\"50\" ROWS=\"15\" NAME=\"article\"></TEXTAREA><BR>\n"; $output .= " <SMALL><I>Allowed HTML tags: ". htmlspecialchars($allowed_html) .".</I></SMALL>\n"; $output .= "</P>\n"; - + $output .= "<P>\n"; $output .= " <SMALL><I>You must preview at least once before you can submit:</I></SMALL><BR>\n"; $output .= " <INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Preview submission\">\n"; $output .= "</P>\n"; - + $output .= "</FORM>\n"; - + $theme->header(); $theme->box("Submit a story", $output); $theme->footer(); @@ -110,7 +110,7 @@ function submit_preview($subject, $abstract, $article, $section) { $output .= "</P>\n"; } $output .= "</FORM>\n"; - + $theme->header(); $theme->article(new Story($user->userid, $subject, $abstract, $article, $section, time())); $theme->box("Submit a story", $output); @@ -122,12 +122,12 @@ function submit_submit($subject, $abstract, $article, $section) { // Add log entry: watchdog("story", "story: added '$subject'"); - + // Add submission to SQL table: db_query("INSERT INTO stories (author, subject, abstract, article, section, timestamp) VALUES ('$user->id', '". check_input($subject) ."', '". check_input($abstract) ."', '". check_input($article) ."', '". check_input($section) ."', '". time() ."')"); - + // Display confirmation message: - $theme->header(); + $theme->header(); $theme->box("Thank you for your submission.", "Thank you for your submission. Your submission has been whisked away to our submission queue where our registered users will frown at it, poke at it and hopefully carry it to the front page for discussion."); $theme->footer(); } diff --git a/themes/jeroen/images/background.gif b/themes/jeroen/images/background.gif index 7728f41cf9edf86e60cfd702d5eaadc2edb353d0..3d8de468dfaedfdbadc5d51b2dfcb84dbd3f83a0 100644 --- a/themes/jeroen/images/background.gif +++ b/themes/jeroen/images/background.gif @@ -1,4 +1,4 @@ -GIF89aРРч����� +GIF89aРРч����� !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~АААБББВВВГГГДДДЕЕЕЖЖЖЗЗЗИИИЙЙЙКККЛЛЛМММНННОООПППРРРСССТТТУУУФФФХХХЦЦЦЧЧЧШШШЩЩЩЪЪЪЫЫЫЬЬЬЭЭЭЮЮЮЯЯЯааабббвввгггдддееежжжзззииийййккклллмммннноооппп░░░▒▒▒▓▓▓│││┤┤┤╡╡╡╢╢╢╖╖╖╕╕╕╣╣╣║║║╗╗╗╝╝╝╜╜╜╛╛╛┐┐┐└└└┴┴┴┬┬┬├├├───┼┼┼╞╞╞╟╟╟╚╚╚╔╔╔╩╩╩╦╦╦╠╠╠═══╬╬╬╧╧╧╨╨╨╤╤╤╥╥╥╙╙╙╘╘╘╒╒╒╓╓╓╫╫╫╪╪╪┘┘┘┌┌┌███▄▄▄▌▌▌▐▐▐▀▀▀рррссстттуууфффхххцццчччшшшщщщъъъыыыьььэээюююяяяЁЁЁёёёЄЄЄєєєЇЇЇїїїЎЎЎўўў°°°∙∙∙···√√√№№№¤¤¤■■■ !■Made with GIMP�!∙ diff --git a/themes/jeroen/images/menutitle.gif b/themes/jeroen/images/menutitle.gif index 81d910f4aa9e3fabf8d7e0479dabd81d9aa5a8a2..064f71052886c3db211cc31aa3f0063234cd2e34 100644 --- a/themes/jeroen/images/menutitle.gif +++ b/themes/jeroen/images/menutitle.gif @@ -1,8 +1,8 @@ GIF89aХ��е��kkkjjjllliiihhhmmmnnnooogggppprrrqqqsssddduuutttzzzwww~~~}}}yyyvvvВВВИИИЗЗЗБББ|||ЖЖЖЛЛЛКККxxxАААМММГГГ{{{ДДДЕЕЕ������������������������������������������������������������������������������!■Made with GIMP�,����Х���■@� �Гd╤╚<'┤YиZл═lSH┼vп`ла8hc┴p8Cї╨v3║█~('═z{wyuГ|yHQcOСM �JТKFЯаrZFгеLЮиMЮаопЮy Я║╗w┴╗├│U┤╞╟ ╨┬ ─Я -╚аПС� ╨L cBEчЬ -эю ЯгLyгy ўь∙їью к,Ш``&X╕pCЖyєV▒AAДЕчEXPРуВ/@лxQ$╚КU2``HёЧ#HFаБG╬�чб90░ч■ВX +╚аПС� ╨L cBEчЬ +эю ЯгLyгy ўь∙їью к,Ш``&X╕pCЖyєV▒AAДЕчEXPРуВ/@лxQ$╚КU2``HёЧ#HFаБG╬�чб90░ч■ВX АИш^╝Э?Mбa╟р5NsrP0ї_Д4d╪└uЮє 8$iб├<З▌ASiVъ╝6@иruCГ *~┌Ъ8Ъ5╡╨c┬,9Г╤ Ыj╒Pйrx:Ё`h▓Г┬hЮзYsЕ ╜&|°└aB$\рp!ДiDмn¤Ъ┴█ЯC╠QЎh м°nP┼Ї╧C╕A[■╖ЬАr╬ ??E/╠╨zr'╓^╜╘Б┬Й"МИ└@|╪╬Э1[Йр "А╣эЇA╠╨╥7`�э78╡\┴r ╝═qC hОГ╨Eў╪t;╨]Lp╒ГЗtД■mWJШ-рБ0р┴yшm╞AКщ%c А└┴~.ZXE~Ъ┴u#ЁБP╦╣(c∙╤╚▀Я<╫@s╦MчЬД╫Qh╧PJeибR█yX╩@Е-@Б╪VЛ╔мHцК┬QPpQРfa8ЄG▄М√═ш#\h░&ВFЗф╨Ф┴зУ61MD╬IОNW╩ch=TpYАЧ`КifКЬеЧЛЭй ННЩ┘╢\Шrт╣ЯЕ%,WXaЮ*О╟-)hУJ=АyЖЇ╕%╘гh(ЕЖдФ┬W�Ш╛^┌┘жUаdp6jf!Юn╔I$Э╨м╩РоцшчЯG8Ис8 diff --git a/themes/jeroen/images/sketch.gif b/themes/jeroen/images/sketch.gif index 361dbad056a5a6f4c67a9a35a8b782cdc67a740c..55c350c846d841dd82473349d633022868848036 100644 --- a/themes/jeroen/images/sketch.gif +++ b/themes/jeroen/images/sketch.gif @@ -67,7 +67,7 @@ A ═ТйзЭrk╕`┤▓нЩQЁ)Л·"l&22й"B0r$г+х╜$Jq a┐О╥!Aм┌Є3Э.%?╨Dаe+j.▄@&░┼Е,В`о!╠qї$@╩─+x┬N╞╚-0YК>tУ)&2;jNF*▀8О(╦.HьэF╬3'ЕSЦиИ╨0╤a╠faюpT─О^╙VЕcf4°├,сL╥╬У�б╟&hfчXHeRТg■FQ=я-&№bв6'&╥ЖTB▒ ▓╕2г&ю╚1уgэ╓┤F#ИMрR╥H╚▓ф%├╧хЖПО B╫╥вц$сh ЦеD№еnf╨"a\еF│ZECWbї.@▓А>я*О╙QЎйu@4шМэB/$█о-[├й╥(XЎО╬3нRLЇ@╧D%ю4KS6йY╞┤�f┤+ё#╥jЇы6 ╖ ЖБхV╩Ь║сXЦэ┼ъbУ∙h▒╙дxВ/и?эBй┬"B╟/у.Ї├x┤0eхzvт╟dA█┴g▐я╕Т*ЖєLб>a1mєu╞■мc u6c┘^У6гA)╜╩тm<йkgYф 8╪3Лj3P6g ф─$е7#R═k─╘а*!(uЩ▐°╘╬╣ЙPV/л'qDU1Иц▀▐Е▒А&╬─к~ltд\╬*ог& "�N▒рTa]бй3Q0@УА█юdfЬЖ �:xbSM@;L@╔DД▄p▄Ё#P@[xП/.╡гr*╓!Ф -у>шIДЬщFaутЪрО*CgfБ1(гhвї┼6г"ks*═5bIbї Т.└ЄаГ&г[r!h�╙М b■8!:'bї, +у>шIДЬщFaутЪрО*CgfБ1(гhвї┼6г"ks*═5bIbї Т.└ЄаГ&г[r!h�╙М b■8!:'bї, Vо.║P╕#e╛h№╞└ЬБ-·ыi▓с!╣МVВ2'],мў(Ф-Tx╓╩/Сь*е№~k!цГRъЯЎi}6Ю╘t!>ZР4Fiс╝�╓лд┬/`р▒{6v▓╝рzа� б6rh"╟зgDcяЗ&╠Ў DpUэ└ ╪╢ внW[е*╕ЗаXкЄ·Пg║гg}I■L╚[Р(hьцтb JГ)v╨Л8eТ#�:З!юкT╨Д╠кф-�(рZHrткGOЬUZих98┼кдЯl#^^~a┤а╙+TМ3ъС9nўnтПЬц■ гo∙°╕CRКT═Ч▄4щК 0═-#4t╔╨I1ТГs=╟╠·м2Aа6╚аЕ рV╣├дс.@╚Н░)╣нмВе2k╔▓ �бnЁжш╕уВ1с�&а└mL diff --git a/themes/jeroen/jeroen.theme b/themes/jeroen/jeroen.theme index 940aeb32fcd3f55a3eb6d528728a8b7f0b0a68bb..56c5edc9508a1ced22709b0453f2aa5257a410ff 100644 --- a/themes/jeroen/jeroen.theme +++ b/themes/jeroen/jeroen.theme @@ -1,11 +1,11 @@ <? class Theme { - + // color set #1: var $bgc1 = "#6C6C6C"; // header color var $fgc1 = "#000000"; // link color var $hlc1 = "#"; // ? color - + // color set #2: var $bgc2 = "#E7E7E7"; // color var $fgc2 = "#FEFEFE"; // header-text color @@ -18,19 +18,19 @@ function header() { <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <HTML> - + <HEAD> <TITLE><? echo $site_name; ?> - Tears of technology</TITLE> <META NAME="description" CONTENT="drop.org"> <META NAME="keywords" CONTENT="drop, weblog, portal, community, news, article, announcements, stories, story, computer, science, space, hype, cult, geek, nerd, foo, bar"> - <STYLE type="text/css"> + <STYLE type="text/css"> <!-- BODY,P,DIV,LI,UL,TD,EM,FONT,BLOCKQUOTE,FORM{font-size: 10pt; font-family:Helvetica,Lucida,sans-serif;} SMALL {font-size: 8pt;} --> </STYLE> </HEAD> - + <BODY TEXT="#202020" BGCOLOR="#FEFEFE" BACKGROUND="themes/jeroen/images/background.gif" ALINK="#000000" LINK="#000000" VLINK="#000000"> <TABLE WIDTH="770" ALIGN="left" BORDER="0" CELLPADDING="0" CELLSPACING="6"> <TR> @@ -114,16 +114,16 @@ function abstract($story) { <TABLE WIDTH="100%"> <TR> <TD> -<? +<? if ($story->updates) { echo "<P><FONT COLOR=\"$this->hlc1\">Editor's note:</FONT> ". check_output($story->updates, 1) ."</P>"; } if ($story->abstract) { echo "<P>". check_output($story->abstract, 1) ."</P>"; } -?> +?> </TD> - </TR> + </TR> <TR> <TD ALIGN="right"> <FONT COLOR="<? echo $this->hlc2;?>"><? echo theme_morelink($this, $story);?></FONT> @@ -141,14 +141,14 @@ function abstract($story) { <TD ALIGN="right" VALIGN="top" WIDTH="20" HEIGHT="20" BACKGROUND="themes/jeroen/images/newsboxbottomright.gif"> </TD> </TR> </TABLE> -<? +<? } function article($story, $reply) { $timestamp = format_date($story->timestamp); ?> - + <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"> <TR> <TD ALIGN="right" VALIGN="bottom" WIDTH="20" HEIGHT="20"> @@ -192,7 +192,7 @@ function article($story, $reply) { </TD> <TD ALIGN=\"center\" WIDTH=\"80\" BGOLOR=\"6C6C6C\" BACKGROUND=\"themes/jeroen/images/menutitle.gif\"> <A HREF=\"search.php?category=$category\"><FONT COLOR=\"<? $this->fgcolor3; ?>\">$story->category</FONT></A>"; - } + } ?> </FONT> </TD> @@ -215,7 +215,7 @@ function article($story, $reply) { else { echo $story->abstract; } - if ($story->article) + if ($story->article) echo "<P>". check_output($story->article) ."</P>"; ?> </TD> @@ -238,9 +238,9 @@ function article($story, $reply) { </TR> </TABLE> -<? +<? } - + function control() { print comment_controls(); } @@ -263,7 +263,7 @@ function comment($comment, $link = "", $thread = "") { // Moderation: echo " <TD ALIGN=\"right\" ROWSPAN=\"3\" VALIGN=\"middle\" WIDTH=\"15%\">"; print comment_moderation($comment); - echo " </TD>"; + echo " </TD>"; echo " </TR>"; // Author: @@ -295,7 +295,7 @@ function comment($comment, $link = "", $thread = "") { echo " </TABLE>"; } - function box($subject, $content, $options = "") { + function box($subject, $content, $options = "") { if (rand(0,50) == 25) $img = "boxbottomright2.gif"; else $img = "boxbottomright1.gif"; $width = rand(10,200); @@ -353,12 +353,12 @@ function footer() { </TD> <TD WIDTH="180" VALIGN="top" ALIGN="right"> <? - global $PHP_SELF; - + global $PHP_SELF; + $this->box("Drop where?", "<TD ALIGN=\"left\" VALIGN=\"top\"><A HREF=\"index.php\">home</A><BR><A HREF=\"faq.php\">faq</A><BR><A HREF=\"search.php\">search</A></TD><TD ALIGN=\"right\" VALIGN=\"top\"><A HREF=\"submit.php\">submit news</A><BR><A HREF=\"account.php\">your account</A></TD>"); - + theme_account($this); -?> +?> </TD> </TR> <TR> @@ -373,7 +373,7 @@ function footer() { </TD> </TR> </TABLE> - </BODY> + </BODY> </HTML> <? } diff --git a/themes/marvin/images/drop.gif b/themes/marvin/images/drop.gif index ee7cdb548c39fcdc614af87e2981ca0d99d5d885..cb21c08ad9d198aa0f8d8b1dcf87a6e3b1901ad3 100644 --- a/themes/marvin/images/drop.gif +++ b/themes/marvin/images/drop.gif @@ -1,4 +1,4 @@ -GIF89a ��ў����� +GIF89a ��ў����� !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~АААБББВВВГГГДДДЕЕЕЖЖЖЗЗЗИИИЙЙЙКККЛЛЛМММНННОООПППРРРСССТТТУУУФФФХХХЦЦЦЧЧЧШШШЩЩЩЪЪЪЫЫЫЬЬЬЭЭЭЮЮЮЯЯЯааабббвввгггдддееежжжзззииийййккклллмммннноооппп░░░▒▒▒▓▓▓│││┤┤┤╡╡╡╢╢╢╖╖╖╕╕╕╣╣╣║║║╗╗╗╝╝╝╜╜╜╛╛╛┐┐┐└└└┴┴┴┬┬┬├├├───┼┼┼╞╞╞╟╟╟╚╚╚╔╔╔╩╩╩╦╦╦╠╠╠═══╬╬╬╧╧╧╨╨╨╤╤╤╥╥╥╙╙╙╘╘╘╒╒╒╓╓╓╫╫╫╪╪╪┘┘┘┌┌┌███▄▄▄▌▌▌▐▐▐▀▀▀рррссстттуууфффхххцццчччшшшщщщъъъыыыьььэээюююяяяЁЁЁёёёЄЄЄєєєЇЇЇїїїЎЎЎўўў°°°∙∙∙···√√√№№№¤¤¤■■■ ,���� ���D� Hp оВ diff --git a/themes/marvin/marvin.theme b/themes/marvin/marvin.theme index d7b81205018cb051fd58c5cba1a745e5081f1e49..5451ad5c646df11cbea8506ba5d8bcf6bef5963f 100644 --- a/themes/marvin/marvin.theme +++ b/themes/marvin/marvin.theme @@ -1,5 +1,5 @@ <? - + class Theme { // color set #1: var $bgcolor1 = "#EAEAEA"; // background color @@ -19,14 +19,14 @@ class Theme { function header() { global $site_name; ?> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <HTML> <HEAD> <TITLE><? print $site_name; ?></TITLE> <META NAME="description" CONTENT="drop.org"> <META NAME="keywords" CONTENT="drop, weblog, portal, community, news, article, announcements, stories, story, computer, science, space, hype, cult, geek, nerd, foo, bar"> </HEAD> - <STYLE type="text/css"> + <STYLE type="text/css"> <!-- BODY,TD,P,UL,LI,DIV,FORM,EM,BLOCKQUOTE { font-size: 10pt; font-family: Lucida,Verdana,Helvetica,Arial; } TH { font-size: 10pt; font-family: Lucida,Verdana,Helvetica,Arial; } @@ -48,7 +48,7 @@ function header() { } function abstract($story) { - print "\n<!-- story: \"$story->subject\" -->\n"; + print "\n<!-- story: \"$story->subject\" -->\n"; print "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"2\" WIDTH=\"100%\">\n"; print " <TR><TD COLSPAN=\"2\"><IMG SRC=\"themes/marvin/images/drop.gif\" ALT=\"\"> <B>". check_output($story->subject) ."</B></TD></TR>\n"; print " <TR VALIGN=\"bottom\"><TD COLSPAN=\"2\" BGCOLOR=\"#000000\" WIDTH=\"100%\"><IMG SRC=\"themes/marvin/images/pixel.gif\" WIDTH=\"1\" HEIGHT=\"0\" ALT=\"\"></TD></TR>\n"; @@ -77,7 +77,7 @@ function article($story, $reply = "") { print " <TR VALIGN=\"bottom\"><TD COLSPAN=\"2\" BGCOLOR=\"#000000\" WIDTH=\"100%\"><IMG SRC=\"themes/marvin/images/pixel.gif\" WIDTH=\"1\" HEIGHT=\"0\" ALT=\"\"></TD></TR>\n"; print " <TR>\n"; print " <TD>\n"; - print " <FONT COLOR=\"#7C7C7C\"><SMALL>Submitted by ". format_username($story->userid) ." on ". format_date($story->timestamp, "extra large") .""; ?><? if ($story->department) print "<BR>from the $story->department dept."; ?><? print "</SMALL></FONT></TD><TD ALIGN=\"right\" VALIGN=\"top\" NOWRAP><SMALL><A HREF=\"index.php?section=". urlencode($story->section) ."\"><FONT COLOR=\"#83997A\">$story->section</FONT></A></SMALL>\n"; + print " <FONT COLOR=\"#7C7C7C\"><SMALL>Submitted by ". format_username($story->userid) ." on ". format_date($story->timestamp, "extra large") .""; ?><? if ($story->department) print "<BR>from the $story->department dept."; ?><? print "</SMALL></FONT></TD><TD ALIGN=\"right\" VALIGN=\"top\" NOWRAP><SMALL><A HREF=\"index.php?section=". urlencode($story->section) ."\"><FONT COLOR=\"#83997A\">$story->section</FONT></A></SMALL>\n"; print " </TD>\n"; print " </TR>\n"; print " <TR><TD COLSPAN=\"2\"> </TD></TR>\n"; @@ -155,7 +155,7 @@ function comment($comment, $link = "", $thread = "") { print "<BR>\n\n"; } - function box($subject, $content, $options = "") { + function box($subject, $content, $options = "") { print "\n<!-- box: \"$subject\" -->\n"; print "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BGCOLOR=\"#000000\" WIDTH=\"100%\">\n"; print " <TR>\n"; @@ -186,7 +186,7 @@ function footer() { </TD> </TR> </TABLE> - </BODY> + </BODY> </HTML> <? } diff --git a/themes/unconed/images/black.gif b/themes/unconed/images/black.gif index 6c69e7084557f2093695b4220da1960ff4a2bac6..a2ded65959bf1a8d9a2da480749a255b425f0aa9 100644 --- a/themes/unconed/images/black.gif +++ b/themes/unconed/images/black.gif @@ -1,4 +1,4 @@ -GIF89a��ў����� +GIF89a��ў����� !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~АААБББВВВГГГДДДЕЕЕЖЖЖЗЗЗИИИЙЙЙКККЛЛЛМММНННОООПППРРРСССТТТУУУФФФХХХЦЦЦЧЧЧШШШЩЩЩЪЪЪЫЫЫЬЬЬЭЭЭЮЮЮЯЯЯааабббвввгггдддееежжжзззииийййккклллмммннноооппп░░░▒▒▒▓▓▓│││┤┤┤╡╡╡╢╢╢╖╖╖╕╕╕╣╣╣║║║╗╗╗╝╝╝╜╜╜╛╛╛┐┐┐└└└┴┴┴┬┬┬├├├───┼┼┼╞╞╞╟╟╟╚╚╚╔╔╔╩╩╩╦╦╦╠╠╠═══╬╬╬╧╧╧╨╨╨╤╤╤╥╥╥╙╙╙╘╘╘╒╒╒╓╓╓╫╫╫╪╪╪┘┘┘┌┌┌███▄▄▄▌▌▌▐▐▐▀▀▀рррссстттуууфффхххцццчччшшшщщщъъъыыыьььэээюююяяяЁЁЁёёёЄЄЄєєєЇЇЇїїїЎЎЎўўў°°°∙∙∙···√√√№№№¤¤¤■■■ ,���������; \ No newline at end of file diff --git a/themes/unconed/images/logo.gif b/themes/unconed/images/logo.gif index e5648e5092da9b51c9d60170f19ba45aa23bb439..e81ceeba90b18a8ddb737271bc72fd2acc2b0434 100644 --- a/themes/unconed/images/logo.gif +++ b/themes/unconed/images/logo.gif @@ -1,4 +1,4 @@ -GIF89aйd�ў�����!!!!)))111199BBBJJJRRRRZZckcksks{ssД{ДМДМФМФЬФЬеЬеннн╡╡╡╜╜╜╞╞╞╬╬╬╓╓╓▐▐▐чччяяяўўў �╜ !∙���,����йd��■�?H░а┴Г*\╚░б├З#JЬH▒в┼Л3j▄╚▒г╟П CКI▓д╔У(Sк\╔▓е╦Ж8h@УжГ/sъ▄╔єр (`рАЬ=Уж|╨@┴�ШJuj�$XpSщ┼Ш0Xа ╥X;┤А█╖lуо=А`kWпxa.80ак▀�РцМQfВR¤*^<u└БВ d║ h3▐╠Щ▒�Р%~РА@чкИ^¤╨В╛Э╚Ц█�Г╚Ie.@P@└щ▀└9HАЫї╦4W P�┴В▒|7.▐1fe╤╢╜Lа;▄вu■,x▐ жё╔ +GIF89aйd�ў�����!!!!)))111199BBBJJJRRRRZZckcksks{ssД{ДМДМФМФЬФЬеЬеннн╡╡╡╜╜╜╞╞╞╬╬╬╓╓╓▐▐▐чччяяяўўў �╜ !∙���,����йd��■�?H░а┴Г*\╚░б├З#JЬH▒в┼Л3j▄╚▒г╟П CКI▓д╔У(Sк\╔▓е╦Ж8h@УжГ/sъ▄╔єр (`рАЬ=Уж|╨@┴�ШJuj�$XpSщ┼Ш0Xа ╥X;┤А█╖lуо=А`kWпxa.80ак▀�РцМQfВR¤*^<u└БВ d║ h3▐╠Щ▒�Р%~РА@чкИ^¤╨В╛Э╚Ц█�Г╚Ie.@P@└щ▀└9HАЫї╦4W P�┴В▒|7.▐1fe╤╢╜Lа;▄вu■,x▐ жё╔ 0&АаД ,\Ш?▀ЕРюw8їЦ∙эЬl@╘Y $ ▐xb5╪рxFШа░-З└чЩфАК АА╨'вPХАG29ЕYp└]U`Q 2╨└]╣-`Ъ_,�Б|"Ўш#}8pАr��жЪKФ╞Y�О%p[Ёё°уФTNY┴Cв╞@Ж*СжЬ� DP%} L%�Ж=а,╢╣┘UY! ^yhО─└НT ░�SbР┴ЯА:еphaЭ¤д▐b<Ў@ИcF*iХ,а\`\ЪЇ└вSЁАФєaа┴t`ъєQ@U_1Рg■@Чxb═ш└н╫НХЭPШ┘&Уq*└�Н mшЧ°ШйАрь│╨:ыAhАAПXZХЮИjЇЮy^╚чШ~f0ъшЦjъ║ь╢ыn╗ш^K_ diff --git a/themes/unconed/images/theme.gif b/themes/unconed/images/theme.gif index c2105a525eb988f0e7375ba76d7a072320928e85..a2334b2851df4d7ff6f7226f515fa035869d6cac 100644 --- a/themes/unconed/images/theme.gif +++ b/themes/unconed/images/theme.gif @@ -1,4 +1,4 @@ -GIF89aRў����� +GIF89aRў����� !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~АААБББВВВГГГДДДЕЕЕЖЖЖЗЗЗИИИЙЙЙКККЛЛЛМММНННОООПППРРРСССТТТУУУФФФХХХЦЦЦЧЧЧШШШЩЩЩЪЪЪЫЫЫЬЬЬЭЭЭЮЮЮЯЯЯааабббвввгггдддееежжжзззииийййккклллмммннноооппп░░░▒▒▒▓▓▓│││┤┤┤╡╡╡╢╢╢╖╖╖╕╕╕╣╣╣║║║╗╗╗╝╝╝╜╜╜╛╛╛┐┐┐└└└┴┴┴┬┬┬├├├───┼┼┼╞╞╞╟╟╟╚╚╚╔╔╔╩╩╩╦╦╦╠╠╠═══╬╬╬╧╧╧╨╨╨╤╤╤╥╥╥╙╙╙╘╘╘╒╒╒╓╓╓╫╫╫╪╪╪┘┘┘┌┌┌███▄▄▄▌▌▌▐▐▐▀▀▀рррссстттуууфффхххцццчччшшшщщщъъъыыыьььэээюююяяяЁЁЁёёёЄЄЄєєєЇЇЇїїїЎЎЎўўў°°°∙∙∙···√√√№№№¤¤¤■■■ ,����R�■� H░а┴Г*\╚░б├З#JЬH▒в┼Л3j▄╚▒г╟П CКI▓д╔У(Sк\╔▓е╦Ч0c╩ЬI│ж═Ы8sъ▄╔│з╧Я@Г @@ -19,7 +19,7 @@ D вЩS№є~!k°3Ж№╕щB▀АO╛■╫"$EщТ СНМH╧ ,к +╡Т+s H║а _ЁАB%ИЩЬjQЪm5ЧkVLриur°#В@qЭtДх╣ЧёёФ:ЇЭ╤Я]D╘� Y2!в хЄjб║aE"ЯЇYЎйHaРp°ЗЖЇW`@QФ:дЁёMк╣"K╡CpIвцaвхєdаб╣"б5ЯЪ▐�/╨Ъ0╫Ер┘ФЁa|lцf>*ЫSВсЗV.ЭщB' ПXJ·QУ╕гЄ`ўгЖQr%хЗ8G╖Е:ЇдM■HдМ#вРЁ=╟"░И?їgР_╕wDК�(┤c.TАМ■╧1┬°4@�ЄМ╩иЖ┬2Б&жЗБ╨Ч═ає├3╣h@o╚Ф6!Ю─3i╒jрrY.tИё!I╣<,r┤╤жТКЎRгЫx)нЖТM═Щ)ф0l?`.дЫШєYр2Р╠cЛбкдЫ$t▒Z┬Ўr╡j)╛9Pёh°Щ4Шz%I┌A·wC|FСуh@ю'╩Z>zyCSїммё;┤Ж'Ў?ФйCМxддВk─ИпївсrnsцА╔К[х╙PТ╔ожБ`U:нГв hпТ°°№є╘P╙теЫ:k╥Жеч║<РЙА╦1ж░тцШwз°sД░ъ■┴щAJї " 7╙g@"Кл┌╓н-╓У!╦ўзшПAШеЬЧa╦╥хЧлEL^ �┤┘7·╔K╔Ы1чЙ=╗т╕л∙EЕ№$?Й╚N▀r▓8A┤╩<МHтче■y:Ж▓4jtVз[Wл6еК${)╗xCAШ╡;Д|∙3╗л"·gъе6┌7B)jw�;╖е1Гmи░g█╢╖C\Ыw¤ш░°#вoPiЖkИ)Ru'WGы╕╢╤▒wл)в┌=[╡╢°єЪd╚(Е╦3╕Ж╖гЗЫ?ЛL╠$ЬSнЎj║ЫБ`лz╖║Й│Б[z@~█6U│fk╟п'г▓}■#АШ█^╨"Ъ└+╝дБ`┤Ы║Щgн╜4ЗЦ[║:┴L■z:]8}IСЦz4G°╖┴╖╦3г▐РЫ║Щ"О▌ГVZЫ)ЖЭ;A┤v╗<╜ъВ 7PК└&ЛL6еИ╝Г┐∙√▐7Ш№k)Сзз БРQД|-╦- -Ї░}г@п╒есr└╝├РЮz`╛ШgЫ№йЦ┴Ц┬╡-`{┼u2мХ▒ї7─PЗ(cмIcQ╞фSg─I╙╜3 ї┤ЫШ└ Е╥КЗB┬с}1jwTCl3[к┘К0Y░╤щВху─Oьmg├кЛu▐Гg╛Ы4r┤Я8▒U|:3√MG&╣{3■┘i╡Q╣╠г╞k╝ ч╞ Pd 1R╓[>Гы│Zы╗8Ї`P|хw-╥НP╓├└iь╔ЗЬ№╜╝9|`Ё╣Up┐j▓c|0╘@5ад╩"╞<щ╩9┤┴%╩г|ъы╞8╫е╦GУ╢й▄}┐ЙЛ│Э(є�$Ь?√Ф├к,░╠єЧ╓\▀Aк(/гМт,╬X·:·Б╠Ha└6Ь╢█фnЩ(VЧY└J5═Hг2YСЎ|4щ╢К╧хГ├ККeУ@ыЪ╝: +Ї░}г@п╒есr└╝├РЮz`╛ШgЫ№йЦ┴Ц┬╡-`{┼u2мХ▒ї7─PЗ(cмIcQ╞фSg─I╙╜3 ї┤ЫШ└ Е╥КЗB┬с}1jwTCl3[к┘К0Y░╤щВху─Oьmg├кЛu▐Гg╛Ы4r┤Я8▒U|:3√MG&╣{3■┘i╡Q╣╠г╞k╝ ч╞ Pd 1R╓[>Гы│Zы╗8Ї`P|хw-╥НP╓├└iь╔ЗЬ№╜╝9|`Ё╣Up┐j▓c|0╘@5ад╩"╞<щ╩9┤┴%╩г|ъы╞8╫е╦GУ╢й▄}┐ЙЛ│Э(є�$Ь?√Ф├к,░╠єЧ╓\▀Aк(/гМт,╬X·:·Б╠Ha└6Ь╢█фnЩ(VЧY└J5═Hг2YСЎ|4щ╢К╧хГ├ККeУ@ыЪ╝: "rс<BBУфq╨ёC┐ъЬ.√$┼Eш╣▒щ┬sE7#eкЕ╝Щ Єm■3, -M\>МЗV∙�T� ─@8н:К`Ь4н!Їg╘B]ЦhЄ╨E5в&2╘Ц8-Ц║�╞YXй┼]U╢$√Чf▄Ф ┐зга?╤zС┘Ьяа─z $а╚,ЖT╝!}k-/┬┌;s9╬Ў>Їf█е~7C█EVСA?ЁоЧB А`.^X╒F┴┼^═АщРW╜C╘Щ╜ТL5╦╦╢ fW\ї░░лЧ<[;&Шe▌CI░╧Чв АА�иЭ)│RЫvI7У&Tн╪#Б╟ЬY▀ja2xb@█7m{█нБЄ╚МCк�/�ao�sl>[■┼П▓Ї!X═;х┌K$@OF/КpРаГ╪1АРDLїаdУ▐░o╓%CV╣╛├o� Оi)z╣╒╕╓√Ї╟ьўЖФ▌╚F╡CеD▄QUо[╫U▒─°Щmwфп╧8ї1Ё╢ЇHdP▐оЭ┌ьRh{)Аа-LC╡ф└4їё6�Х:Ю▀ a▄╣<нH▄Р▓дX) ╡В╓┐#═GжЫхФа╩;ЭZ╛уb\в гФM/└сLе┌Aтw┤aк░XКj0▀�Я═я 1╔Ж▀0.╔ тЫ°Wр%#─╠C┌Ои@@╪X┼мXД/{sєl█│a■Й╡lA √HE╥сЦв┌·wDH`L#jGтмVщ/>цБ\╬▄|нJ▌ш╨╠ЫчТ╝OP╔XEЩ!}═)А^?`╩П─X█snIз(Д■Ў╢~ыЄ�Же┌)╒GDо╤aХ -щCa▄�└▀╧╓к3ХB<▌ diff --git a/themes/unconed/unconed.theme b/themes/unconed/unconed.theme index 35ec176fb7f479c9a8afa1f2d77238fb66ad7a5d..501ca4334154962fdf8311fa352d7264114a4cea 100644 --- a/themes/unconed/unconed.theme +++ b/themes/unconed/unconed.theme @@ -6,7 +6,7 @@ class Theme { var $cl80 = "#8B8E95"; var $clc0 = "#c8c8d0"; var $cl00 = "#000000"; - + // color set #1: var $brcolor1 = "#000000"; // border color var $bgcolor1 = "#B5BECE"; @@ -34,8 +34,8 @@ function header() { <META NAME="description" CONTENT="drop.org"> <META NAME="keywords" CONTENT="drop, weblog, portal, community, news, article, announcements, stories, story, computer, science, space, hype, cult, geek, nerd, foo, bar"> </HEAD> - <STYLE type="text/css"> - <!-- + <STYLE type="text/css"> + <!-- TABLE { border-width: 0; } TD { border-width: 0; font-size: 9pt; font-family: verdana,helvetica,arial; } P,UL,LI,DIV,FORM,EM,BLOCKQUOTE { font-size: 9pt; font-family: verdana,helvetica,arial; } @@ -73,7 +73,7 @@ function header() { function abstract($story) { $timestamp = format_date($story->timestamp); - print "\n<!-- story: \"$story->subject\" -->\n"; + print "\n<!-- story: \"$story->subject\" -->\n"; ?> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" BGCOLOR="<? echo $this->brcolor1; ?>" WIDTH="100%"> <TR><TD> @@ -103,7 +103,7 @@ function abstract($story) { </TR> <TR BGCOLOR="<? echo $this->bgcolor3; ?>"><TD BGCOLOR="<? echo $this->bgcolor3 ?>" ALIGN="right" COLSPAN="2"><? echo theme_morelink($this, $story) ?></TD></TR> </TABLE></TD></TR></TABLE><BR> - <? + <? } function article($story, $reply = "") { @@ -128,7 +128,7 @@ function article($story, $reply = "") { </TR> <TR BGCOLOR="<? echo $this->bgcolor2; ?>"> <TD COLSPAN="2" BGCOLOR="<? echo $this->bgcolor2 ?>" > - <? + <? if ($story->abstract) print "<P>". check_output($story->abstract, 1) ."</P>\n"; if ($story->updates) print "<P><FONT COLOR=\"$this->bgcolor2\">Editor's note:</FONT> ". check_output($story->updates, 1) ."</P>\n"; if ($story->article) print "<P>". check_output($story->article, 1) ."</P>\n"; @@ -137,7 +137,7 @@ function article($story, $reply = "") { </TR> <TR BGCOLOR="<? echo $this->bgcolor3; ?>"><TD COLSPAN="2" BGCOLOR="<? echo $this->bgcolor3 ?>" ALIGN="right"><? echo "$reply"; ?></TD></TR> </TABLE></TD></TR></TABLE><BR> - <? + <? } function controls() { @@ -205,7 +205,7 @@ function comment($comment, $link, $thread = "") { ?></TD></TR></TABLE><BR><? } - function box($subject, $content) { + function box($subject, $content) { ?> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" BGCOLOR="<? echo $this->brcolor1; ?>" WIDTH="100%"> <TR><TD> @@ -220,7 +220,7 @@ function box($subject, $content) { </TD></TR> </TABLE><BR> <? - + } function footer() { @@ -249,7 +249,7 @@ function footer() { </TABLE> </TD><TD BGCOLOR="<? print $this->clc0; ?>"><IMG SRC="themes/<? print $this->themename; ?>/images/null.gif" WIDTH="4"></TD><TD BGCOLOR="<? print $this->cl00; ?>"><IMG SRC="themes/<? print $this->themename; ?>/images/null.gif" WIDTH="10"></TD></TR> </TABLE> - </BODY> + </BODY> </HTML> <? }