summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2000-06-11 13:28:26 +0000
committerDries Buytaert <dries@buytaert.net>2000-06-11 13:28:26 +0000
commit130cbb719866dcbb5a704902cac989a380748494 (patch)
treef86d23fb7f5a8ccf8b2693bfb566b488cf9217f7
parentc8b214483347305966e1ffc1c913bcda991fbeb7 (diff)
downloadbrdo-130cbb719866dcbb5a704902cac989a380748494.tar.gz
brdo-130cbb719866dcbb5a704902cac989a380748494.tar.bz2
Updates:
* Streamlined the database abstraction layer a bit (it's not much yet) and integrated it in most of the functions of `functions.inc'.
-rw-r--r--database.inc17
-rw-r--r--functions.inc57
2 files changed, 48 insertions, 26 deletions
diff --git a/database.inc b/database.inc
index 52a436202..c91e48cea 100644
--- a/database.inc
+++ b/database.inc
@@ -1,9 +1,21 @@
<?
+/*
+ * These functions build the foundation for accessing the database:
+ * it is a general database abstraction layer suitable for several
+ * databases. Currently, the only supported database is MySQL but
+ * it should be straightforward to port it to any other database:
+ * just adjust the handlers to your needs.
+ */
+
+///////////////////////////////////////////////////////////////////////////
+// NOTE: these functions are under construction and in no way finilized! //
+///////////////////////////////////////////////////////////////////////////
function db_connect() {
include "config.inc";
mysql_pconnect($dbhost, $dbuname, $dbpass) or die(mysql_Error());
mysql_select_db("$dbname") or die ("Unable to select database");
+ // Note: we are using a persistent connection!
}
function db_query($query, $debug = false) {
@@ -23,4 +35,9 @@ function db_fetch_object($qid) {
if ($qid) return mysql_fetch_object($qid);
}
+#
+# Automatically connect to database:
+#
+db_connect();
+
?> \ No newline at end of file
diff --git a/functions.inc b/functions.inc
index beb8eae3f..3cf00b0a3 100644
--- a/functions.inc
+++ b/functions.inc
@@ -1,5 +1,6 @@
<?
-include("user.class.php");
+include "user.class.php";
+include "database.inc";
session_start();
@@ -13,8 +14,7 @@ function dbconnect() {
}
function counter() {
- dbconnect();
- mysql_query("UPDATE vars SET value=value+1 where name='totalhits'");
+ db_query("UPDATE vars SET value=value+1 where name='totalhits'");
}
function FixQuotes ($what = "") {
@@ -44,30 +44,26 @@ function formatTimestamp($time) {
}
function addRefer($url) {
- dbconnect();
-
$query = "SELECT * FROM refer WHERE url = '$url'";
- $result = mysql_query($query);
+ $result = db_query($query);
- if ($site = mysql_fetch_object($result)) {
+ if ($site = db_fetch_object($result)) {
if ($site->status) {
$site->refers++;
$query = "UPDATE refer SET refers = '$site->refers', access_dt = '". time() ."' WHERE url = '$url'";
- $result = mysql_query($query);
+ $result = db_query($query);
}
}
else {
$query = "INSERT INTO refer (url, name, refers, create_dt, access_dt) VALUES ('$url', '', '1', '". time() ."', '". time() ."')";
- $result = mysql_query($query);
+ $result = db_query($query);
}
}
function displayRelatedLinks($theme, $sid = 0) {
- dbconnect();
-
- $result = mysql_query("SELECT * FROM stories WHERE sid = $sid");
+ $result = db_query("SELECT * FROM stories WHERE sid = $sid");
- if ($story = mysql_fetch_object($result)) {
+ if ($story = db_fetch_object($result)) {
### parse story for A HREF-tags:
$text = "$story->abstract $story->comments $story->article";
while ($text = stristr($text, "<A HREF=")) {
@@ -87,10 +83,10 @@ function displayRelatedLinks($theme, $sid = 0) {
function displayOldHeadlines($theme) {
global $user;
- if ($user->storynum) $result = mysql_query("SELECT sid, subject, time FROM stories ORDER BY time DESC LIMIT $user->storynum, 10");
- else $result = mysql_query("SELECT sid, subject, time FROM stories ORDER BY time DESC LIMIT 10, 10");
+ if ($user->storynum) $result = db_query("SELECT sid, subject, time FROM stories ORDER BY time DESC LIMIT $user->storynum, 10");
+ else $result = db_query("SELECT sid, subject, time FROM stories ORDER BY time DESC LIMIT 10, 10");
- while ($story = mysql_fetch_object($result)) {
+ while ($story = db_fetch_object($result)) {
if ($time != date("F jS", $story->time)) {
$content .= "<P><B>". date("l, F jS", $story->time) ."</B></P>";
@@ -116,10 +112,8 @@ function displayOldHeadlines($theme) {
function displayNewHeadlines($theme, $num = 10) {
global $user;
- dbconnect();
-
$content = "";
- $result = mysql_query("SELECT sid, subject FROM stories ORDER BY time DESC LIMIT $num");
+ $result = db_query("SELECT sid, subject FROM stories ORDER BY time DESC LIMIT $num");
while(list($sid, $subject) = mysql_fetch_row($result)) {
if ($user) {
$content .= "<LI><A HREF=\"article.php?sid=$sid";
@@ -137,7 +131,7 @@ function displayNewHeadlines($theme, $num = 10) {
}
function displayAdminblock($theme) {
- $result = mysql_query("SELECT title, content FROM blocks");
+ $result = db_query("SELECT title, content FROM blocks");
while (list($title, $content) = mysql_fetch_array($result)) {
$theme->box($title, nl2br($content));
}
@@ -145,14 +139,14 @@ function displayAdminblock($theme) {
function displayUserblock($theme) {
global $user;
- dbconnect();
+
if ($user->ublockon) {
$content .= "<P ALIGN=\"right\">[ <A HREF=\"account.php?op=edithome\"><FONT COLOR=\"$theme->hlcolor2\">edit</FONT></A> | <A HREF=\"account.php?op=logout\"><FONT COLOR=\"$theme->hlcolor2\">logout</FONT></A> ]</P>";
$theme->box("$user->userid's box", $user->content);
}
}
-function displayAccount($theme) {
+function displayLogin($theme) {
global $user;
if ($user) {
@@ -190,20 +184,31 @@ function displayAccountSettings($theme) {
}
}
+function displayAccount($theme) {
+ global $user;
+
+ include "submission.inc";
+
+ if ($user) {
+ ### Display account settings:
+ $content .= "<LI><A HREF=\"submission.php\">moderate submissions</A> (". submission_count() .")</LI>";
+ $theme->box("$user->userid's account", "$content");
+ }
+}
+
function displayReferrals($theme, $number = 10) {
$count = 1;
- dbconnect();
if ($number) {
$query = "SELECT * FROM refer ORDER BY refers DESC LIMIT $number";
- $result = mysql_query($query);
+ $result = db_query($query);
}
else {
$query = "SELECT * FROM refer ORDER BY refers DESC";
- $result = mysql_query($query);
+ $result = db_query($query);
}
- while (($site = mysql_fetch_object($result)) && ($count <= $number)) {
+ while (($site = db_fetch_object($result)) && ($count <= $number)) {
if ($site->name) $rval .= "$count. <A HREF=\"$site->url\">$site->name</A> ($site->refers)<BR>";
else $rval .= "$count. <A HREF=\"$site->url\">$site->url</A> ($site->refers)<BR>";
$count++;