%PDF- %PDF-
Direktori : /home/jalalj2hb/www/ftm-admin/core/ |
Current File : /home/jalalj2hb/www/ftm-admin/core/model.php |
<?php /* * Description of model * * @author Azeddine.lakhdym@gmail.com */ class Model { public $conf="default"; static $conect=array(); public $table=false; public $db; public $primaryKey='id'; public $pdo ; public $default=1; public $idCurrent; public function __construct(){ $conf=conf::$database[$this->conf]; if(isset(Model::$conect[$this->conf])){ $this->db=Model::$conect[$this->conf]; return true ; } try { $this->pdo= new PDO('mysql:host='.$conf['host'].';dbname='.$conf['database'], $conf['login'], $conf['password'],array(PDO::MYSQL_ATTR_INIT_COMMAND=>'SET NAMES utf8',PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING)); $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); Model::$conect[$this->conf]=$this->pdo; $this->db=Model::$conect[$this->conf]; }catch(PDOException $e){ if(conf::$debuge >= 1){ die($e->getMessage()); }else{ echo "impossible de connecter a la base donnée "; } } if($this->table===false) $this->table= strtolower(get_class($this)); } public function findCount($conditions = null){ $result= ($this->findFirst(array( 'fields' => 'count(*) as count ', 'conditions' =>$conditions ))); return $result->count ; } public function delete($id,$identifier){ $sql= "delete from {$this->table} where {$identifier}='$id'"; if( $this->db->query($sql)) return true; else return false; } public function delete_condition($table,$ch,$v){ $cmd= "delete from ".$table." where "; for($i=0;$i<=count($ch)-2;$i++){ $cmd=$cmd.$ch[$i].'='; $cmd=$cmd.'"'.$v[$i].'" AND '; } $cmd=$cmd.$ch[count($ch)-1].'='; $cmd=$cmd.'"'.$v[count($ch)-1].'"'; if( $this->db->query($cmd)) return true; else return false; } public function SelectId($id,$identifier){ $sql= "Select * from {$this->table} where {$identifier}='$id'"; return $this->executeQuery($sql); } public function executeQuery($req){ $this->db->quote($req); $conf=conf::$database[$this->conf]; $pre=$this->db->prepare($req); try { $pre->execute(); return $pre->fetchAll(PDO::FETCH_OBJ); } catch(PDOException $e){ if(conf::$debuge >= 1){ return array(); }} } public function executeQueryFirst($req){ return array_shift($req); } public function updateQuery($req){ $pre=$this->db->prepare($req); return $pre->execute(); } public function Update_($ntable,$ch,$v){ $cmd="UPDATE ".$ntable." set "; for($i=1;$i<=count($ch)-2;$i++){ $cmd=$cmd.$ch[$i].'='; $cmd=$cmd.'"'.addslashes ($v[$i]).'",'; } $cmd=$cmd.$ch[count($ch)-1].'='; $cmd=$cmd.'"'.addslashes ($v[count($ch)-1]).'"'; $cmd=$cmd." WHERE ".$ch[0].'="'.addslashes($v[0]).'"'; $pre=$this->updateQuery($cmd); } public function list_condition($ntable,$ch,$v){ $cmd="SELECT * FROM ".$ntable." WHERE "; for($i=0;$i<=count($ch)-2;$i++){ $cmd=$cmd.$ch[$i].'='; $cmd=$cmd.'"'.$v[$i].'" AND '; } $cmd=$cmd.$ch[count($ch)-1].'='; $cmd=$cmd.'"'.$v[count($ch)-1].'"'; return $this->executeQuery($cmd); } public function Ajouter_($table,$ch,$t){ $sql="INSERT INTO ".$table; $sql.="("; for($i=0;$i<=count($ch)-2;$i++){ $sql=$sql.$ch[$i].',';} $sql=$sql.$ch[count($ch)-1].')'; $sql.=" VALUES ("; for($i=0;$i<=count($t)-2;$i++){ $sql=$sql.'"'.$t[$i].'",';} $sql=$sql.'"'.$t[count($t)-1].'")'; //$this->executeQuery($sql); $pre=$this->db->prepare($sql); $pre->execute(); return $this->db->lastInsertId(); //} } //pour login public function executeLogin($req, $login , $pass){ $pre=$this->db->prepare($req); $pre->execute(array($login, $pass)); return $pre->fetchAll(PDO::FETCH_OBJ); } public function Exist_champ($table,$ch,$t){ $exist="select * from ".$table ; $exist.=" WHERE ".$ch ; $exist.=" = '".$t."'"; $data=$this->executeQuery($exist); if(is_array($data) and sizeof($data)){ return 1; }else{ return 0 ; } } } ?>