summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2001-04-07 20:00:21 +0000
committerDries Buytaert <dries@buytaert.net>2001-04-07 20:00:21 +0000
commitdae5c2208c936c82b07eea35ce95f0aba03f5413 (patch)
treeccd754c192de8699baff32966ebd704b3c8d2de4
parentd7e9ad10279746ca6ca36ce7bda2f293e7474b8d (diff)
downloadbrdo-dae5c2208c936c82b07eea35ce95f0aba03f5413.tar.gz
brdo-dae5c2208c936c82b07eea35ce95f0aba03f5413.tar.bz2
- improved rating module: it now shows some basic statistics :-)
- updated database files - removed affialiate-site and drupal-site module: maintain them by hand through a box for now will you.
-rw-r--r--database/database.mysql10
-rw-r--r--includes/database.inc13
-rw-r--r--modules/affiliate-site.module106
-rw-r--r--modules/drupal-site.module94
-rw-r--r--modules/rating.module18
-rw-r--r--modules/watchdog.module4
-rw-r--r--modules/watchdog/watchdog.module4
-rw-r--r--updates/2.00-to-x.xx.sql9
8 files changed, 38 insertions, 220 deletions
diff --git a/database/database.mysql b/database/database.mysql
index e2aed1caf..89f3ac0f7 100644
--- a/database/database.mysql
+++ b/database/database.mysql
@@ -219,12 +219,20 @@ CREATE TABLE users (
history text NOT NULL,
hash varchar(12) DEFAULT '' NOT NULL,
timezone varchar(8),
- rating decimal(8,4),
+ rating decimal(8,2),
language char(2) DEFAULT '' NOT NULL,
access varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (id)
);
+DROP TABLE IF EXISTS rating;
+CREATE TABLE rating (
+ user int(6) DEFAULT '0' NOT NULL,
+ new int(6) DEFAULT '0' NOT NULL,
+ old int(6) DEFAULT '0' NOT NULL,
+ PRIMARY KEY (user)
+);
+
DROP TABLE IF EXISTS variable;
CREATE TABLE variable (
name varchar(32) DEFAULT '' NOT NULL,
diff --git a/includes/database.inc b/includes/database.inc
index b86ad6dcf..30b1c5a1f 100644
--- a/includes/database.inc
+++ b/includes/database.inc
@@ -6,16 +6,9 @@ function db_connect($host, $user, $pass, $name) {
// NOTE: we are using a persistent connection!
}
-function db_query($query, $debug = false) {
- // perform query:
- $qid = mysql_query($query);
-
- // 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 $qid;
+function db_query($query) {
+ if ($result = mysql_query($query)) return $result;
+ else watchdog("error", "database: ". mysql_error() ."<BR>query: ". htmlspecialchars($query));
}
function db_fetch_object($qid) {
diff --git a/modules/affiliate-site.module b/modules/affiliate-site.module
deleted file mode 100644
index 1f004d11c..000000000
--- a/modules/affiliate-site.module
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-
-$module = array("help" => "affiliate_help",
- "block" => "affiliate_block",
- "admin" => "affiliate_admin");
-
-function affiliate_help() {
- ?>
- <P>This is a small module to manage related and/or affiliate sites. The module exports two different blocks with links to the affiliate sites.</P>
- <?php
-}
-
-function affiliate_block() {
- global $site_url;
-
- $result = db_query("SELECT * FROM affiliates ORDER BY name");
-
- $content .= "<SCRIPT>\n";
- $content .= " <!--//\n";
- $content .= " function gotosite(site) {\n";
- $content .= " if (site != \"\") {\n";
- $content .= " parent.location = site\n";
- $content .= " }\n";
- $content .= " }\n";
- $content .= " //-->\n";
- $content .= "</SCRIPT>\n";
-
- $content .= "<CENTER>\n";
- $content .= "<FORM ACTION=\"\" METHOD=\"post\">\n";
- $content .= " <SELECT NAME=\"affiliate\" ONCHANGE=\"gotosite(this.options[this.selectedIndex].value)\">\n";
- $content .= " <OPTION VALUE=\"$site_url\">select a site</OPTION>\n";
- while ($affiliate = db_fetch_object($result)) {
- $content .= " <OPTION VALUE=\"$affiliate->link\">$affiliate->name</OPTION>\n";
- }
-
- $content .= " </SELECT>\n";
- $content .= "</FORM>\n";
- $content .= "</CENTER>\n";
-
- $blocks[0]["subject"] = "Affiliate sites";
- $blocks[0]["content"] = $content;
- $blocks[0]["info"] = "Affiliate sites (selection)";
-
- unset($content);
-
- $result = db_query("SELECT * FROM affiliates ORDER BY name");
- while ($affiliate = db_fetch_object($result)) {
- $content .= "<LI><A HREF=\"$affiliate->link\">$affiliate->name</A></LI>\n";
- }
-
- $blocks[1]["subject"] = "Affiliate sites";
- $blocks[1]["content"] = $content;
- $blocks[1]["info"] = "Affiliate sites (sequential)";
-
- return $blocks;
-}
-
-function affiliate_admin_add($name, $url, $contact) {
- db_query("INSERT INTO affiliates (name, link, contact) VALUES ('". check_input($name) ."', '". check_input($url) ."', '". check_input($contact) ."')");
-}
-
-function affiliate_admin_del($id) {
- db_query("DELETE FROM affiliates WHERE id = '$id'");
-}
-
-function affiliate_admin_display() {
- $result = db_query("SELECT * FROM affiliates ORDER BY name");
-
- $output .= "<FORM ACTION=\"admin.php?mod=affiliate-site\" METHOD=\"post\">\n";
- $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n";
- $output .= " <TR><TH>name</TH><TH>link</TH><TH>contact</TH><TH>operations</TH></TR>\n";
-
- while ($affiliate = db_fetch_object($result)) {
- $output .= " <TR><TD>". check_output($affiliate->name) ."</TD><TD>". format_url($affiliate->link) ."</TD><TD>". format_email($affiliate->contact) ."</TD><TD ALIGN=\"center\"><A HREF=\"admin.php?mod=affiliate-site&op=delete&id=$affiliate->id\">delete</A></TD></TR>\n";
- }
-
- $output .= " <TR><TD><INPUT TYPE=\"text\" NAME=\"name\"></TD><TD><INPUT TYPE=\"text\" NAME=\"url\"></TD><TD><INPUT TYPE=\"text\" NAME=\"contact\"></TD><TD><INPUT NAME=\"op\" TYPE=\"submit\" VALUE=\"Add affiliate site\"></TD></TR>\n";
- $output .= "</TABLE>\n";
- $output .= "</FORM>\n";
-
- print $output;
-}
-
-function affiliate_admin() {
- global $op, $id, $name, $url, $contact;
-
- print "<SMALL><A HREF=\"admin.php?mod=affiliate-site\">overview</A> | <A HREF=\"admin.php?mod=affiliate-site&op=help\">help</A></SMALL><HR>\n";
-
- switch($op) {
- case "Add affiliate site":
- affiliate_admin_add($name, $url, $contact);
- affiliate_admin_display();
- break;
- case "delete":
- affiliate_admin_del($id);
- affiliate_admin_display();
- break;
- case "help":
- affiliate_help();
- break;
- default:
- affiliate_admin_display();
- }
-}
-
-?> \ No newline at end of file
diff --git a/modules/drupal-site.module b/modules/drupal-site.module
deleted file mode 100644
index d4742b681..000000000
--- a/modules/drupal-site.module
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-
-$module = array("block" => "drupal_block",
- "admin" => "drupal_admin");
-
-function drupal_block() {
- global $site_url;
-
- $result = db_query("SELECT * FROM drupals ORDER BY name");
-
- $content .= "<SCRIPT>\n";
- $content .= " <!--//\n";
- $content .= " function gotosite(site) {\n";
- $content .= " if (site != \"\") {\n";
- $content .= " parent.location = site\n";
- $content .= " }\n";
- $content .= " }\n";
- $content .= " //-->\n";
- $content .= "</SCRIPT>\n";
-
- $content .= "<CENTER>\n";
- $content .= "<FORM ACTION=\"\" METHOD=\"post\">\n";
- $content .= " <SELECT NAME=\"drupal\" ONCHANGE=\"gotosite(this.options[this.selectedIndex].value)\">\n";
- $content .= " <OPTION VALUE=\"$site_url\">select a site</OPTION>\n";
- while ($drupal = db_fetch_object($result)) {
- $content .= " <OPTION VALUE=\"$drupal->link\">$drupal->name</OPTION>\n";
- }
-
- $content .= " </SELECT>\n";
- $content .= "</FORM>\n";
- $content .= "</CENTER>\n";
-
- $blocks[0]["subject"] = "Drupal sites";
- $blocks[0]["content"] = $content;
- $blocks[0]["info"] = "Drupal sites (selection)";
-
- unset($content);
-
- $result = db_query("SELECT * FROM drupals ORDER BY name");
- while ($drupal = db_fetch_object($result)) {
- $content .= "<LI><A HREF=\"$drupal->link\">$drupal->name</A></LI>\n";
- }
-
- $blocks[1]["subject"] = "Drupal sites";
- $blocks[1]["content"] = $content;
- $blocks[1]["info"] = "Drupal sites (sequential)";
-
- return $blocks;
-}
-
-function drupal_admin_add($name, $url, $contact) {
- db_query("INSERT INTO drupals (name, link, contact) VALUES ('". check_input($name) ."', '". check_input($url) ."', '". check_input($contact) ."')");
-}
-
-function drupal_admin_del($id) {
- db_query("DELETE FROM drupals WHERE id = '$id'");
-}
-
-function drupal_admin_display() {
- $result = db_query("SELECT * FROM drupals ORDER BY name");
-
- $output .= "<FORM ACTION=\"admin.php?mod=drupal-site\" METHOD=\"post\">\n";
- $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n";
- $output .= " <TR><TH>name</TH><TH>link</TH><TH>contact</TH><TH>operations</TH></TR>\n";
-
- while ($drupal = db_fetch_object($result)) {
- $output .= " <TR><TD>$drupal->name</TD><TD>". format_url($drupal->link) ."</TD><TD>". format_email($drupal->contact) ."</TD><TD ALIGN=\"center\"><A HREF=\"admin.php?mod=drupal-site&op=delete&id=$drupal->id\">delete</A></TD></TR>\n";
- }
-
- $output .= " <TR><TD><INPUT TYPE=\"text\" NAME=\"name\"></TD><TD><INPUT TYPE=\"text\" NAME=\"url\"></TD><TD><INPUT TYPE=\"text\" NAME=\"contact\"></TD><TD><INPUT NAME=\"op\" TYPE=\"submit\" VALUE=\"Add drupal site\"></TD></TR>\n";
- $output .= "</TABLE>\n";
- $output .= "</FORM>\n";
-
- print $output;
-}
-
-function drupal_admin() {
- global $op, $id, $name, $url, $contact;
-
- switch($op) {
- case "Add drupal site":
- drupal_admin_add($name, $url, $contact);
- drupal_admin_display();
- break;
- case "delete":
- drupal_admin_del($id);
- drupal_admin_display();
- break;
- default:
- drupal_admin_display();
- }
-}
-
-?> \ No newline at end of file
diff --git a/modules/rating.module b/modules/rating.module
index 0330422f4..c5e665592 100644
--- a/modules/rating.module
+++ b/modules/rating.module
@@ -6,10 +6,17 @@ $module = array("cron" => "rating_cron",
"block" => "rating_block");
function rating_cron() {
- $result = db_query("SELECT id FROM users");
-
- while ($account = db_fetch_object($result)) {
+ $r1 = db_query("SELECT id FROM users ORDER BY rating DESC");
+ while ($account = db_fetch_object($r1)) {
db_query("UPDATE users SET rating = '". user_gravity($account->id) ."' WHERE id = '$account->id'");
+ $rating[$account->id] = ++$i;
+ }
+
+ db_query("DELETE FROM rating");
+
+ $r2 = db_query("SELECT id FROM users ORDER BY rating DESC");
+ while ($account = db_fetch_object($r2)) {
+ db_query("INSERT INTO rating (user, new, old) VALUES ('$account->id', '". ++$j ."', '". $rating[$account->id] ."')");
}
}
@@ -20,11 +27,12 @@ function rating_help() {
}
function rating_list($limit) {
- $result = db_query("SELECT userid, rating FROM users ORDER BY rating DESC LIMIT $limit");
+ $result = db_query("SELECT u.userid, u.rating, r.* FROM users u LEFT JOIN rating r ON u.id = r.user ORDER BY u.rating DESC LIMIT $limit");
$output .= "<TABLE CELLPADDING=\"1\" CELLSPACING=\"1\">\n";
while ($account = db_fetch_object($result)) {
- $output .= "<TR><TD ALIGN=\"right\">". ++$i ."</TD><TD>". format_username($account->userid) ."</TD><TD>". check_output($account->rating) ."</TD></TR>";
+ $ranking = $account->old - $account->new;
+ $output .= "<TR><TD ALIGN=\"right\">". ++$i ."</TD><TD>". format_username($account->userid) ."</TD><TD ALIGN=\"right\">". check_output($account->rating) ."</TD><TD>(". ($ranking < 0 ? "" : "+") ."$ranking)</TD></TR>";
}
$output .= "</TABLE>\n";
return $output;
diff --git a/modules/watchdog.module b/modules/watchdog.module
index 18279db1b..23e803e62 100644
--- a/modules/watchdog.module
+++ b/modules/watchdog.module
@@ -15,10 +15,10 @@ function watchdog_cron() {
db_query("DELETE FROM watchdog WHERE ". time() ." - timestamp > ". variable_get(watchdog_clear, "302400"));
}
-function watchdog_overview($order = "date") {
+function watchdog_overview() {
$colors = array(message => "#FFFFFF", special => "#836FFF", warning => "#FFAA22", error => "#EE2C2C");
- $result = db_query("SELECT w.*, u.userid FROM watchdog w LEFT JOIN users u ON w.user = u.id");
+ $result = db_query("SELECT w.*, u.userid FROM watchdog w LEFT JOIN users u ON w.user = u.id ORDER BY timestamp DESC LIMIT 1000");
$output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n";
$output .= " <TR><TH>date</TH><TH>type</TH><TH>message</TH><TH>user</TH><TH>operations</TH></TR>\n";
diff --git a/modules/watchdog/watchdog.module b/modules/watchdog/watchdog.module
index 18279db1b..23e803e62 100644
--- a/modules/watchdog/watchdog.module
+++ b/modules/watchdog/watchdog.module
@@ -15,10 +15,10 @@ function watchdog_cron() {
db_query("DELETE FROM watchdog WHERE ". time() ." - timestamp > ". variable_get(watchdog_clear, "302400"));
}
-function watchdog_overview($order = "date") {
+function watchdog_overview() {
$colors = array(message => "#FFFFFF", special => "#836FFF", warning => "#FFAA22", error => "#EE2C2C");
- $result = db_query("SELECT w.*, u.userid FROM watchdog w LEFT JOIN users u ON w.user = u.id");
+ $result = db_query("SELECT w.*, u.userid FROM watchdog w LEFT JOIN users u ON w.user = u.id ORDER BY timestamp DESC LIMIT 1000");
$output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n";
$output .= " <TR><TH>date</TH><TH>type</TH><TH>message</TH><TH>user</TH><TH>operations</TH></TR>\n";
diff --git a/updates/2.00-to-x.xx.sql b/updates/2.00-to-x.xx.sql
index 247aae9cf..314775494 100644
--- a/updates/2.00-to-x.xx.sql
+++ b/updates/2.00-to-x.xx.sql
@@ -13,6 +13,13 @@ CREATE TABLE variable (
PRIMARY KEY (name)
);
+CREATE TABLE rating (
+ user int(6) DEFAULT '0' NOT NULL,
+ new int(6) DEFAULT '0' NOT NULL,
+ old int(6) DEFAULT '0' NOT NULL,
+ PRIMARY KEY (user)
+);
+
CREATE TABLE watchdog (
id int(5) DEFAULT '0' NOT NULL auto_increment,
user int(6) DEFAULT '0' NOT NULL,
@@ -25,6 +32,8 @@ CREATE TABLE watchdog (
PRIMARY KEY (id)
);
+ALTER TABLE users CHANGE rating rating decimal(8,2);
+
# 01/04/2001:
CREATE TABLE access (