annotate includes/class.dataaccess.php @ 70:e08186e4ed77
 
Ajout d'un installeur.
Il est désormais possible d'utiliser ce script pour créer une installation
vierge de Dual Blog, rendant presque facile la création de sa propre instance
du blog :-)
Une chose à noter cependant: il est encore /impératif/ de modifier le fichier
pointant vers le fichier .htpass dans le .htaccess à la main pour le moment.
 | author | 
 Franck Deroche <webmaster@defr.org> | 
 | date | 
 Wed, 19 Mar 2008 12:08:15 +0100 | 
 | parents | 
 0071e5744311  | 
 | children | 
 e4e50d4d3b7a  | 
 | 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@68
 | 
    12   var $_inError; | 
| 
webmaster@0
 | 
    13    | 
| 
webmaster@53
 | 
    14   function DataAccess($host=DB_HOST, $user=DB_USER, $pass=DB_PASSWORD, $db=DB_NAME) { | 
| 
webmaster@0
 | 
    15    $this->host=$host; | 
| 
webmaster@0
 | 
    16    $this->user=$user; | 
| 
webmaster@0
 | 
    17    $this->pass=$pass; | 
| 
webmaster@53
 | 
    18    $this->db = $db; | 
| 
webmaster@53
 | 
    19    $this->connOpen = 0; | 
| 
webmaster@0
 | 
    20    $this->_nbQueries = 0; | 
| 
webmaster@53
 | 
    21    $this->queries = array(); | 
| 
webmaster@53
 | 
    22    $this->results = array(); | 
| 
webmaster@0
 | 
    23    $this->Connect(); | 
| 
webmaster@0
 | 
    24  } | 
| 
webmaster@0
 | 
    25   | 
| 
webmaster@53
 | 
    26   function Connect() { | 
| 
webmaster@53
 | 
    27    if($this->connOpen == 0) { | 
| 
webmaster@54
 | 
    28      $this->link = mysql_connect($this->host, $this->user, $this->pass); | 
| 
webmaster@68
 | 
    29      if($this->link === false) | 
| 
webmaster@68
 | 
    30      	$this->_inError = true; | 
| 
webmaster@68
 | 
    31      else | 
| 
webmaster@68
 | 
    32      	$this->_inError = !mysql_select_db($this->db, $this->link); | 
| 
webmaster@53
 | 
    33    } | 
| 
webmaster@53
 | 
    34    $this->connOpen++; | 
| 
webmaster@0
 | 
    35   } | 
| 
webmaster@0
 | 
    36    | 
| 
webmaster@0
 | 
    37   function Query($query, $id=0) { | 
| 
webmaster@53
 | 
    38    $this->_nbQueries++; | 
| 
webmaster@53
 | 
    39    $this->queries[$id]=$query; | 
| 
webmaster@53
 | 
    40    $this->Connect(); | 
| 
webmaster@54
 | 
    41    $this->results[$id]=mysql_query($this->queries[$id], $this->link); | 
| 
webmaster@53
 | 
    42    $this->Close(); | 
| 
webmaster@53
 | 
    43    if(@$num_rows=mysql_num_rows($this->results[$id])) | 
| 
webmaster@0
 | 
    44 	return $num_rows; | 
| 
webmaster@53
 | 
    45    return 0; | 
| 
webmaster@0
 | 
    46   } | 
| 
webmaster@0
 | 
    47    | 
| 
webmaster@0
 | 
    48   function debugQuery($query, $id=0) { | 
| 
webmaster@0
 | 
    49   $rv = $this->Query($query, $id); | 
| 
webmaster@0
 | 
    50   if(mysql_errno() !== 0) | 
| 
webmaster@0
 | 
    51 	echo("<span class='menu'>\n Query : {$query}<br />\n MySQL Answer : " . mysql_error() . "</span>"); | 
| 
webmaster@0
 | 
    52   return $rv; | 
| 
webmaster@0
 | 
    53   } | 
| 
webmaster@0
 | 
    54    | 
| 
webmaster@0
 | 
    55   function GetRow($id=0) { | 
| 
webmaster@53
 | 
    56    if(@$row=mysql_fetch_array($this->results[$id])) { | 
| 
webmaster@0
 | 
    57     return $row; | 
| 
webmaster@0
 | 
    58    } | 
| 
webmaster@0
 | 
    59    return 0;     | 
| 
webmaster@0
 | 
    60   } | 
| 
webmaster@0
 | 
    61    | 
| 
webmaster@0
 | 
    62   function Close() { | 
| 
webmaster@53
 | 
    63    $this->connOpen--; | 
| 
webmaster@53
 | 
    64    if($this->connOpen == 0) { | 
| 
webmaster@54
 | 
    65     mysql_close($this->link); | 
| 
webmaster@53
 | 
    66    } | 
| 
webmaster@0
 | 
    67   } | 
| 
webmaster@0
 | 
    68    | 
| 
webmaster@0
 | 
    69   function getNbQueries() { | 
| 
webmaster@0
 | 
    70 	return $this->_nbQueries; | 
| 
webmaster@0
 | 
    71   } | 
| 
webmaster@0
 | 
    72    | 
| 
webmaster@0
 | 
    73   function formatDate($timestamp, $decallage=2, $pattern='d/m/Y H:i:s') { | 
| 
webmaster@0
 | 
    74    return gmdate($pattern, $timestamp + $decallage * 3600); | 
| 
webmaster@0
 | 
    75   } | 
| 
webmaster@68
 | 
    76    | 
| 
webmaster@68
 | 
    77   function isInError() | 
| 
webmaster@68
 | 
    78   { | 
| 
webmaster@68
 | 
    79     return $this->_inError; | 
| 
webmaster@68
 | 
    80   } | 
| 
webmaster@0
 | 
    81 } | 
| 
webmaster@0
 | 
    82 ?> |