<?php
######################################################################
# ZW3B.Site v7.1.2 : The Web Sites Management System
# --------------------------------------------------------------------
#
# Copyright (c) 2021 by LAB3W : O.Romain Jaillet-ramey - (orj@lab3w.fr)
#
# Date Create : 2019/09/11
# Date Modify : 2019/09/11
#
# Web Site : http://www.lab3w.fr
# Web Site : http://www.lab3w.com
#
# Web Site : http://zw3b.fr
# Web Site : http://zw3b.tv
# Web Site : http://zw3b.site
# Web Site : http://zw3b.net
#
# This module is to manage ---------------------------- :: Descripton
#
# This program is free software. You can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License.
######################################################################

class zw3bDb extends zw3b {
    
    protected 
$pNom 'admin'$pMotPasse ''$pBase 'zw3b'$pServeur 'localhost';
    
    public 
$connexion$res;
    
    
//public function __construct($pNom, $pMotPasse, $pBase, $pServeur)
    
public function __construct()
    {
        
        
//echo 'On charge la class zw3bDb<br/>';
        
        //        $this->pNom = isset($this->config['bdd']['usr']) ? $this->config['bdd']['usr'] : $this->pNom;
        //        $this->pMotPasse = isset($this->config['bdd']['pwd']) ? $this->config['bdd']['pwd'] : $this->pMotPasse;
        //        $this->pBase = isset($this->config['bdd']['db']) ? $this->config['bdd']['db'] : $this->pBase;
        //        $this->pServeur = isset($this->config['bdd']['host']) ? $this->config['bdd']['host'] : $this->pServeur;
        
        // $mysqli = new mysqli($pServeur, $pNom, $pMotPasse, $pBase);
        //$this->connexion = $this->connexion ($this->pNom, $this->pMotPasse, $this->pBase, $this->pServeur);
    
}
    
    
    
// Fonction Connexion : à MySQL
    
public function connexion($pNom$pMotPasse$pBase$pServeur)
    {
        
//echo '<pre>zw3bDb>connexion : '.print_r($pBase, 1).'</pre>';
        // Connexion au Serveur
        
$this->connexion MYSQLI_CONNECT ($pServeur$pNom$pMotPasse);
        
$charset MYSQLI_SET_CHARSET($this->connexion"UTF8");
        
        if (
$this->connexion->connect_errno)
        {
            echo 
date('M j H:m:i')." D&eacute;sol&eacute;, connexion au serveur <strong>".$pServeur."</strong> impossible !!  <br/>\n";
            exit;
        }
        
        
// Connexion à la Base
        
if (!MYSQLI_SELECT_DB ($this->connexion$pBase))
        {
            echo 
date('M j H:m:i')." D&eacute;sol&eacute;, acc&egrave;s &agrave; la base <strong>".$pBase."</strong> impossible !! <br/>\n";
            echo 
date('M j H:m:i')." <strong>Message de MySQL :</strong> " MYSQLI_ERROR($this->connexion);
            exit;
        }
        
        
//       echo '<pre>zw3bDb>__construct : '.print_r($connexion, 1).'</pre>';
        // On renvoie la variable de connexion
        
return $this->connexion;
        
    } 
// Fin de la connexion
    
    
    
public function query_sql($requete$connexion null)
    {
        
$this->connexion = isset($connexion) && !empty($connexion) ? $connexion $this->connexion;
        
        
//$resultat = MYSQL_QUERY ($requete, $connexion);
        
$resultat MYSQLI_QUERY ($this->connexion$requete);
        
//$resultat = $mysqli->query($requete);
        //echo '<pre>zw3bDb>query : '.print_r($connexion, 1).'</pre>';exit;
        #        MYSQLI_QUERY("SET NAMES UTF8");
        #       MYSQLI_QUERY("SET CHARACTER SET 'UTF8'");
        //MYSQLI_SET_CHARSET($this->connexion, "UTF8");
        #        MYSQLI_SET_CHARSET_NAME($connexion, "UTF8");
        
        //$resultat = $connexion->query($requete);
        
$this->res $resultat;
        
        if (
$this->res)
            return 
$this->res;
            else
            {
                
$res['error_text']  = date('M j H:m:i')."<strong>Erreur dans l'execution de la requete '$requete'.</strong><br/>\n";
                
$res['error_text'] .= date('M j H:m:i')."<strong>Message de MySQL :</strong>" MYSQLI_ERROR($this->connexion);
                
                echo 
$res['error_text'];
                
//return $res;
                
                
exit;
            }
    }
    
    public function 
fetch_object ($resultat)
    {
        return 
MYSQLI_FETCH_OBJECT ($resultat);
    }
    
    public function 
fetch_array ($resultat)
    {
        
$clef=0;
        while(
$result MYSQLI_FETCH_ARRAY ($resultatMYSQLI_ASSOC)) {
            
$res[$clef] = $result;
            
$clef++;
        }
        
        if (isset(
$res))
            return 
$res;
            
    }
    public function 
num_rows() {
        
        return 
MYSQLI_NUM_ROWS($this->res);
    }
    
    
# MYSQL : DERNIER ID (recuperer dernier id apres un INSERT)
    
public function last_insert_id($connexion null) {
        
$this->connexion = isset($connexion) && !empty($connexion) ? $connexion $this->connexion;
        
        
$res['last_id'] = MYSQLI_INSERT_ID($this->connexion);
        if ( 
$res['last_id'] )
            return 
$res['last_id'];
    }
    
}

?>