Luxbum.net - Script de galerie photo

Changeset 266

Show
Ignore:
Timestamp:
02/24/08 19:32:28 (9 months ago)
Author:
nicolas
Message:

verification de la disponibilite de l'extention mysql de php afin de pouvoir activer les commentaires

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/luxbum-0.5/_fonctions/mysql.inc.php

    r66 r266  
    1111    */ 
    1212   var $db_link; 
    13     
     13 
    1414   /** 
    1515    * Nombre de requêtes effectuées 
     
    1717    */ 
    1818   var $nb_sql; 
    19     
     19 
    2020   /** 
    2121    * Hôte du serveur Mysql 
     
    2323    */ 
    2424   var $mysqlserveur; 
    25     
     25 
    2626   /** 
    2727    * Login de l'utilisateur mysql 
     
    2929    */ 
    3030   var $mysqlloggin; 
    31     
     31 
    3232   /** 
    3333    * Mot de passe de l'utilisateur 
     
    3535    */ 
    3636   var $mysqlpassword; 
    37     
     37 
    3838   /** 
    3939    * Nom de la base de données 
     
    5858      $this->mysqlmaindb = $mysqlmaindb; 
    5959   } 
    60     
     60 
     61   /** 
     62    * Teste si l'extension mysql de php est disponible 
     63    * @return boolean true / false 
     64    */ 
     65   function isAvailable () { 
     66      return function_exists('mysql_connect'); 
     67   } 
     68 
    6169 
    6270   /** 
     
    6573    */ 
    6674   function DbConnect () { 
    67       $this->db_link = @mysql_connect ($this->mysqlserveur , $this->mysqlloggin , $this->mysqlpassword)  
     75      $this->db_link = @mysql_connect ($this->mysqlserveur , $this->mysqlloggin , $this->mysqlpassword) 
    6876         or die('Connexion à la base de données impossible !! : '.$this->mysqlErr()); 
    69       @mysql_select_db ($this->mysqlmaindb)  
     77      @mysql_select_db ($this->mysqlmaindb) 
    7078         or die('Sélection de la table impossible !!'.$this->mysqlErr()); 
    7179   } 
    72     
     80 
    7381   /** 
    7482    * Teste une connection au serveur et à la base de données. 
     
    7684    * avoir un message d'erreur détaillé. 
    7785    * @access public 
    78     * @return boolean true / false  
     86    * @return boolean true / false 
    7987    */ 
    8088   function testDbConnect () { 
     
    96104   function DbQuery ($query) { 
    97105      $this->nb_sql++; 
    98       $result = mysql_query ($query, $this->db_link)  
    99          or die ('<br /><strong>ERREUR</strong> '.($this->mysqlErr()).'<br /><strong>Requete</strong>: '.$query);  
     106      $result = mysql_query ($query, $this->db_link) 
     107         or die ('<br /><strong>ERREUR</strong> '.($this->mysqlErr()).'<br /><strong>Requete</strong>: '.$query); 
    100108      return $result; 
    101109   } 
     
    141149      @mysql_close(); 
    142150   } 
    143     
     151 
    144152   /** 
    145153    * Retourne l'id auto généré lors d'une requête INSERT 
     
    150158      return mysql_insert_id(); 
    151159   } 
    152     
     160 
    153161   /** 
    154162    * Retourne la liste des tables de la base sélectionnée 
     
    159167      return $this->DbQuery('SHOW TABLES FROM '.$this->mysqlmaindb); 
    160168   } 
    161     
     169 
    162170   /** 
    163171    * Retourne un message d'erreur plus parlant que celui par défaut de la 
     
    167175    */ 
    168176   function mysqlErr() { 
    169       $partie = explode('\'', mysql_error() ); // On découpe le message d'erreur retourné par mysql_error()    
    170       
     177      $partie = explode('\'', mysql_error() ); // On découpe le message d'erreur retourné par mysql_error() 
     178 
    171179      switch   (mysql_errno() ) { // On cherche quel N° d'erreur SQL à été retouné 
    172180         case 1040 : // Too many connections 
     
    194202            break; 
    195203         case 1064 : // You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'requete' 
    196             return 'Une erreur de syntaxe SQL se trouve dans la requête "'.$partie[1].'".';          
     204            return 'Une erreur de syntaxe SQL se trouve dans la requête "'.$partie[1].'".'; 
    197205         case 1065 : // Query was empty 
    198             return 'Aucune requête SQL n\'à été trouvée.';          
     206            return 'Aucune requête SQL n\'à été trouvée.'; 
    199207         case 1109 : // Unknown table 'nom_table' in where clause 
    200208         case 1146 : 
    201             return 'La table "'.$partie[1].'" n\'a pas été trouvée dans la clause WHERE.';          
     209            return 'La table "'.$partie[1].'" n\'a pas été trouvée dans la clause WHERE.'; 
    202210         case 2002 : // Can't connect to local MySQL server through socket 'chemnin d'accès' (2) 
    203211            return 'Échec lors de la connection au serveur SQL.'; 
     
    210218      } 
    211219   } 
    212     
     220 
    213221   /** 
    214222    * Getter du nombre de requêtes effectuées 
  • branches/luxbum-0.5/_fonctions_manager/parametres.php

    r66 r266  
    147147   if ($param['show_commentaire'] == 'on' && $errCom == false) { 
    148148      $mysqlParam = new mysqlInc($param['dbl_host'], $param['dbl_login'], $param['dbl_password'], $param['dbl_name']); 
    149       if (!$mysqlParam->testDbConnect()) { 
     149      if (!$mysqlParam->isAvailable()) { 
     150         $err_vide = true; 
     151         $page->MxText('err_dbl_host', 'L\'extension mysql n\'est pas disponible sur le serveur. Vous devez désactiver les commentaires.'); 
     152      } 
     153      else if (!$mysqlParam->testDbConnect()) { 
    150154         $err_vide = true; 
    151155         $page->MxText('err_dbl_host', $mysqlParam->mysqlErr()); 
  • branches/luxbum-0.5/manager.php

    r81 r266  
    164164       
    165165      // Connection à la base de données 
    166       if (SHOW_COMMENTAIRE == 'on' || (SHOW_COMMENTAIRE == 'off' && $mysql->testDbConnect())) { 
     166      if (SHOW_COMMENTAIRE == 'on' && $mysql->isAvailable() && $mysql->testDbConnect()) { 
    167167         $mysql->DbConnect(); 
    168168      }