annotate includes/class.dataaccess.php @ 61:25c6e59f019e
Suppression des urls en dur présentes dans le code.
Le code ne présuppose plus qu'il est hébergé directement sur
http://defr.org/blog. Ce n'est par contre pas vrai pour les différents
templates pour le moment, et les fichiers CSS pensent toujours qu'on est
hébergé dans le repertoire /blog, mais ca reste des présupposés à mon avis
moins ennuyeux.
Accessoirement, le code suppose que les trois constantes supplémentaires
suivantes ait été définie dans le fichier config.php:
BLOG_URL, l'adresse du blog, sans / à la fin
BLOG_DEFAULT_GRAVATAR, l'image par défaut pour les personnes laissant des
commentaires
ADMIN_MAIl, l'adresse mail ou sont envoyé les informations sur les
commentaires autorisés.
author |
Franck Deroche <webmaster@defr.org> |
date |
Tue, 11 Mar 2008 15:53:15 +0100 |
parents |
d0b737b2b398 |
children |
0071e5744311 |
rev |
line source |
webmaster@0
|
1 <?php |
webmaster@0
|
2 class DataAccess { |
webmaster@0
|
3 var $host; |
webmaster@0
|
4 var $user; |
webmaster@0
|
5 var $pass; |
webmaster@0
|
6 var $db; |
webmaster@54
|
7 var $link; |
webmaster@0
|
8 var $connOpen; |
webmaster@53
|
9 var $results; |
webmaster@53
|
10 var $queries; |
webmaster@0
|
11 var $_nbQueries; |
webmaster@0
|
12 |
webmaster@53
|
13 function DataAccess($host=DB_HOST, $user=DB_USER, $pass=DB_PASSWORD, $db=DB_NAME) { |
webmaster@0
|
14 $this->host=$host; |
webmaster@0
|
15 $this->user=$user; |
webmaster@0
|
16 $this->pass=$pass; |
webmaster@53
|
17 $this->db = $db; |
webmaster@53
|
18 $this->connOpen = 0; |
webmaster@0
|
19 $this->_nbQueries = 0; |
webmaster@53
|
20 $this->queries = array(); |
webmaster@53
|
21 $this->results = array(); |
webmaster@0
|
22 $this->Connect(); |
webmaster@0
|
23 } |
webmaster@0
|
24 |
webmaster@53
|
25 function Connect() { |
webmaster@53
|
26 if($this->connOpen == 0) { |
webmaster@54
|
27 $this->link = mysql_connect($this->host, $this->user, $this->pass); |
webmaster@54
|
28 mysql_select_db($this->db, $this->link); |
webmaster@53
|
29 } |
webmaster@53
|
30 $this->connOpen++; |
webmaster@0
|
31 } |
webmaster@0
|
32 |
webmaster@0
|
33 function Query($query, $id=0) { |
webmaster@53
|
34 $this->_nbQueries++; |
webmaster@53
|
35 $this->queries[$id]=$query; |
webmaster@53
|
36 $this->Connect(); |
webmaster@54
|
37 $this->results[$id]=mysql_query($this->queries[$id], $this->link); |
webmaster@53
|
38 $this->Close(); |
webmaster@53
|
39 if(@$num_rows=mysql_num_rows($this->results[$id])) |
webmaster@0
|
40 return $num_rows; |
webmaster@53
|
41 return 0; |
webmaster@0
|
42 } |
webmaster@0
|
43 |
webmaster@0
|
44 function debugQuery($query, $id=0) { |
webmaster@0
|
45 $rv = $this->Query($query, $id); |
webmaster@0
|
46 if(mysql_errno() !== 0) |
webmaster@0
|
47 echo("<span class='menu'>\n Query : {$query}<br />\n MySQL Answer : " . mysql_error() . "</span>"); |
webmaster@0
|
48 return $rv; |
webmaster@0
|
49 } |
webmaster@0
|
50 |
webmaster@0
|
51 function GetRow($id=0) { |
webmaster@53
|
52 if(@$row=mysql_fetch_array($this->results[$id])) { |
webmaster@0
|
53 return $row; |
webmaster@0
|
54 } |
webmaster@0
|
55 return 0; |
webmaster@0
|
56 } |
webmaster@0
|
57 |
webmaster@0
|
58 function Close() { |
webmaster@53
|
59 $this->connOpen--; |
webmaster@53
|
60 if($this->connOpen == 0) { |
webmaster@54
|
61 mysql_close($this->link); |
webmaster@53
|
62 } |
webmaster@0
|
63 } |
webmaster@0
|
64 |
webmaster@0
|
65 function getNbQueries() { |
webmaster@0
|
66 return $this->_nbQueries; |
webmaster@0
|
67 } |
webmaster@0
|
68 |
webmaster@0
|
69 function formatDate($timestamp, $decallage=2, $pattern='d/m/Y H:i:s') { |
webmaster@0
|
70 return gmdate($pattern, $timestamp + $decallage * 3600); |
webmaster@0
|
71 } |
webmaster@0
|
72 } |
webmaster@0
|
73 ?> |