/[openfoncier]/trunk/obj/om_dbform.class.php
ViewVC logotype

Diff of /trunk/obj/om_dbform.class.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 515 by mlimic, Wed Oct 17 16:22:13 2012 UTC revision 1073 by fmichon, Mon Dec 17 14:52:40 2012 UTC
# Line 37  class om_dbform extends dbForm { Line 37  class om_dbform extends dbForm {
37       * @param boolean $DEBUG Mode debug (@deprecated)       * @param boolean $DEBUG Mode debug (@deprecated)
38       */       */
39      function constructeur($id, &$db, $DEBUG = false) {      function constructeur($id, &$db, $DEBUG = false) {
         //print __FUNCTION__.'$this->REST: \"'.$this->REST.'\"  ';  
40          if (defined('REST_REQUEST')) { // $this->REST          if (defined('REST_REQUEST')) { // $this->REST
41              logger::instance()->display_log = false;              logger::instance()->display_log = false;
42          }          }
# Line 56  class om_dbform extends dbForm { Line 55  class om_dbform extends dbForm {
55          // $champs - clause select          // $champs - clause select
56          // $tableSelect - clause from          // $tableSelect - clause from
57          // $selection - clause where          // $selection - clause where
         //print gettype($this);  
         //print 'phptype \"'.$this->db_phptype.'\"';  
         //print 'table'.$this->table;  
58          $fichier = "../sql/".$this->db->phptype."/".$this->table.".form.inc.php";          $fichier = "../sql/".$this->db->phptype."/".$this->table.".form.inc.php";
         //print '  fichier '.$fichier;  
59          if (file_exists($fichier)) {          if (file_exists($fichier)) {
60              include $fichier;              include $fichier;
61          } else {          } else {
# Line 108  class om_dbform extends dbForm { Line 103  class om_dbform extends dbForm {
103              }              }
104          }          }
105          $sql .= " ".$selection." ";          $sql .= " ".$selection." ";
106          print '$sql:'.$sql.'   ';          //print '$sql:'.$sql.'   ';
107          // Execution de la requete          // Execution de la requete
108          $res = $db->limitquery($sql, 0, 1);          $res = $db->limitquery($sql, 0, 1);
109          // Logger          // Logger
110          $this->addToLog("constructeur(): db->limitquery(\"".str_replace(",",", ",$sql)."\", 0, 1);", VERBOSE_MODE);          $this->addToLog("constructeur(): db->limitquery(\"".str_replace(",",", ",$sql)."\", 0, 1);", VERBOSE_MODE);
111          // Si une erreur survient          // Si une erreur survient
112          if (database::isError($res, true)) {          if (database::isError($res, true)) {
             //print '          %%%%%%%%%%%%%%%%%% ERRRRROR';  
113              // Appel de la methode de recuperation des erreurs              // Appel de la methode de recuperation des erreurs
114              $this->erreur_db($res->getDebugInfo(), $res->getMessage(), $tableSelect);              $this->erreur_db($res->getDebugInfo(), $res->getMessage(), $tableSelect);
115          } else {          } else {
116              // Recuperation des informations sur la structure de la table              // Recuperation des informations sur la structure de la table
117              // ??? compatibilite POSTGRESQL (len = -1, type vide, flags vide)              // ??? compatibilite POSTGRESQL (len = -1, type vide, flags vide)
118              $info = $res->tableInfo();              $info = $res->tableInfo();
             //print '@@@@@@@@@@ $info:';  
             //print_r($info);  
119              // Initialisation de la cle a 0              // Initialisation de la cle a 0
120              $i = 0;              $i = 0;
121              // Recuperation du nom de chaque champ dans l'attribut 'champs'              // Recuperation du nom de chaque champ dans l'attribut 'champs'
# Line 157  class om_dbform extends dbForm { Line 149  class om_dbform extends dbForm {
149                      }                      }
150                      $i++;                      $i++;
151                  }                  }
                 //print 'constructor-valF'.$i;  
                 //print_r($this->valF);  
152              }              }
153          }          }
154      }      }
# Line 174  class om_dbform extends dbForm { Line 164  class om_dbform extends dbForm {
164       * @param boolean $DEBUG Mode debug (@deprecated)       * @param boolean $DEBUG Mode debug (@deprecated)
165       */       */
166      function ajouter($val, &$db = NULL, $DEBUG = false) {      function ajouter($val, &$db = NULL, $DEBUG = false) {
         //print 'val:';  
         //print_r($val);  
167          // Logger          // Logger
168          $this->addToLog("ajouter() - begin", EXTRA_VERBOSE_MODE);          $this->addToLog("ajouter() - begin", EXTRA_VERBOSE_MODE);
169          // Mutateur de valF          // Mutateur de valF
# Line 188  class om_dbform extends dbForm { Line 176  class om_dbform extends dbForm {
176          $this->verifierAjout($val, $db);          $this->verifierAjout($val, $db);
177          // Verification du verrou          // Verification du verrou
178          $this->testverrou();          $this->testverrou();
         //print '$this->valF';  
179          // Si les verifications precedentes sont correctes, on procede a          // Si les verifications precedentes sont correctes, on procede a
180          // l'ajout, sinon on ne fait rien et on affiche un message d'echec          // l'ajout, sinon on ne fait rien et on affiche un message d'echec
         //print 'CORRECT:'.$this->correct;  
181          if ($this->correct) {          if ($this->correct) {
182              // Appel au mutateur pour le calcul de la cle primaire (si la cle              // Appel au mutateur pour le calcul de la cle primaire (si la cle
183              // est automatique) specifique au MODE 'insert'              // est automatique) specifique au MODE 'insert'
# Line 208  class om_dbform extends dbForm { Line 194  class om_dbform extends dbForm {
194              if (database::isError($res, true)) {              if (database::isError($res, true)) {
195                  // Appel de la methode de recuperation des erreurs                  // Appel de la methode de recuperation des erreurs
196                  $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');                  $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');
                 //print '    debuginfo:'.$res->getDebugInfo().'     ';  
                 //print '    debugmessage:'.$res->getMessage().'    ';  
197              } else {              } else {
198                  // Log                  // Log
199                  $this->addToLog(_("Requete executee"), VERBOSE_MODE);                  $this->addToLog(_("Requete executee"), VERBOSE_MODE);
200                  // Log                  // Log
                 if(isset($val[$this->clePrimaire])) // ***  
                     $id = $val[$this->clePrimaire];  
                 else  
                     $id=$this->id;  
201                  $message = _("Enregistrement")." ".$this->valF[$this->clePrimaire]." ";                  $message = _("Enregistrement")." ".$this->valF[$this->clePrimaire]." ";
202                  $message .= _("de la table")." \"".$this->table."\" ";                  $message .= _("de la table")." \"".$this->table."\" ";
203                  $message .= "[ ".$db->affectedRows()." ";                  $message .= "[ ".$db->affectedRows()." ";
# Line 291  class om_dbform extends dbForm { Line 271  class om_dbform extends dbForm {
271       * @param boolean $DEBUG Mode debug (@deprecated)       * @param boolean $DEBUG Mode debug (@deprecated)
272       */       */
273      function modifier($val = array(), &$db = NULL, $DEBUG = false) {      function modifier($val = array(), &$db = NULL, $DEBUG = false) {
         //print 'val:';  
         //print_r($val);  
274    
275          // Logger          // Logger
276          $this->addToLog("modifier() - begin", EXTRA_VERBOSE_MODE);          $this->addToLog("modifier() - begin", EXTRA_VERBOSE_MODE);
# Line 320  class om_dbform extends dbForm { Line 298  class om_dbform extends dbForm {
298              if (database::isError($res, true)) {              if (database::isError($res, true)) {
299                  // Appel de la methode de recuperation des erreurs                  // Appel de la methode de recuperation des erreurs
300                  $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');                  $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');
                 //print '      debugInfo:'.$res->getDebugInfo().'   ';  
                 //print '      debugMessage:'.$res->getMessage().'   ';  
301              } else {              } else {
302                  // Log                  // Log
303                  $this->addToLog(_("Requete executee"), VERBOSE_MODE);                  $this->addToLog(_("Requete executee"), VERBOSE_MODE);
# Line 373  class om_dbform extends dbForm { Line 349  class om_dbform extends dbForm {
349          // Verification des contraintes d'integrite specifique au MODE 'delete'          // Verification des contraintes d'integrite specifique au MODE 'delete'
350          $this->correct=true;          $this->correct=true;
351          $this->cleSecondaire($id, $db, $val, $DEBUG);          $this->cleSecondaire($id, $db, $val, $DEBUG);
         //print '%%%%%%%% CORRECT:'.$this->correct.'  ';  
352          // Verification du verrou          // Verification du verrou
353          $this->testverrou();          $this->testverrou();
354          // Si les verifications precedentes sont correctes, on procede a          // Si les verifications precedentes sont correctes, on procede a
# Line 418  class om_dbform extends dbForm { Line 393  class om_dbform extends dbForm {
393          $this->addToLog("supprimer() - end", EXTRA_VERBOSE_MODE);          $this->addToLog("supprimer() - end", EXTRA_VERBOSE_MODE);
394      }      }
395    
       
       
396      /**      /**
397       * Methode de verification de l'unicite d'une valeur pour chaque elements du tableau unique_key,       * Methode de verification de l'unicite d'une valeur pour chaque elements du tableau unique_key,
398       * ainsi que l'unicite de la cle multiple unique_multiple_key.       * ainsi que l'unicite de la cle multiple unique_multiple_key.
# Line 429  class om_dbform extends dbForm { Line 402  class om_dbform extends dbForm {
402      function checkUniqueKey() {      function checkUniqueKey() {
403          $unique=true;          $unique=true;
404          //Verification des cles uniques          //Verification des cles uniques
         //print 'unique_key:';  
         //print_r($this->unique_key);  
405          if(!empty($this->unique_key)) {          if(!empty($this->unique_key)) {
406              foreach ($this->unique_key as $constraint) {              foreach ($this->unique_key as $constraint) {
407                  if(!is_array($constraint)) {                  if(!is_array($constraint)) {
# Line 480  class om_dbform extends dbForm { Line 451  class om_dbform extends dbForm {
451       * @param string $value valeur à inserer dans la colonne       * @param string $value valeur à inserer dans la colonne
452       */       */
453      function isUnique($champ,$value) {      function isUnique($champ,$value) {
454                  //Test sur un groupe de champs          //Test sur un groupe de champs
455          if(is_array($champ) and is_array($value)) {          if(is_array($champ) and is_array($value)) {
456              $sql = 'SELECT count(*) FROM '.DB_PREFIXE.$this->table." WHERE ".implode(" = ? AND ",$champ)." = ?";              $sql = 'SELECT count(*) FROM '.DB_PREFIXE.$this->table." WHERE ".implode(" = ? AND ",$champ)." = ?";
457          } else {          } else {
458                  //Test sur un champ          //Test sur un champ
459              $sql = 'SELECT count(*) FROM '.DB_PREFIXE.$this->table." WHERE ".$champ." = ?";              $sql = 'SELECT count(*) FROM '.DB_PREFIXE.$this->table." WHERE ".$champ." = ?";
460          }          }
461          if($this->getParameter('maj')) {          if($this->getParameter('maj')) {
462              $sql .= " AND ".$this->clePrimaire." \!= ".$this->valF[$this->clePrimaire];              $sql .= " AND ".$this->clePrimaire." \!= ".$this->valF[$this->clePrimaire];
463          }          }
         //print '$sql:'.$sql.'  ';  
         //print 'login:'. $value;  
464          $nb = $this->db->getone($sql,$value);          $nb = $this->db->getone($sql,$value);
465          $this->addToLog("isUnique() : db->getone(\"".$sql."\");", VERBOSE_MODE);          $this->addToLog("isUnique() : db->getone(\"".$sql."\");", VERBOSE_MODE);
466          if (database::isError($nb, true)) {          if (database::isError($nb, true)) {
# Line 519  class om_dbform extends dbForm { Line 488  class om_dbform extends dbForm {
488      function checkRequired() {      function checkRequired() {
489          foreach($this->required_field as $field) {          foreach($this->required_field as $field) {
490              //Ne test la cle primaire car n'a pas de valeur a l'ajout              //Ne test la cle primaire car n'a pas de valeur a l'ajout
             //print '$field:'.$field.'   ';  
491              // la cle primaire est automatiquement cree              // la cle primaire est automatiquement cree
492              if ($field == $this->clePrimaire) {              if ($field == $this->clePrimaire) {
493                  continue;                  continue;
# Line 548  class om_dbform extends dbForm { Line 516  class om_dbform extends dbForm {
516              */              */
517              if ($this->getParameter('maj') == 0 and              if ($this->getParameter('maj') == 0 and
518                  (!isset($this->valF[$field]) or $this->valF[$field] == '')) {                  (!isset($this->valF[$field]) or $this->valF[$field] == '')) {
                 //print 'ajout problem';  
519                  $error = true;                  $error = true;
520                  $this->correct = false;                  $this->correct = false;
521    
# Line 587  class om_dbform extends dbForm { Line 554  class om_dbform extends dbForm {
554              } elseif ($this->getParameter('maj') == 1              } elseif ($this->getParameter('maj') == 1
555                         and isset($this->valF[$field])                         and isset($this->valF[$field])
556                         and $this->valF[$field] == '') {                         and $this->valF[$field] == '') {
                 //print 'modif problem';  
557                  $error = true;                  $error = true;
558                  $this->correct = false;                  $this->correct = false;
559              }              }
# Line 617  class om_dbform extends dbForm { Line 583  class om_dbform extends dbForm {
583          if ($this->msg != "") {          if ($this->msg != "") {
584    
585              //              //
             $m = new message();  
   
             //  
586              if ($this->correct) {              if ($this->correct) {
587                  $class = "valid";                  $class = "valid";
588              } else {              } else {
589                  $class = "error";                  $class = "error";
590              }              }
591              $m->displayMessage($class, $this->msg);              $this->f->displayMessage($class, $this->msg);
592    
593          }          }
594    
# Line 640  class om_dbform extends dbForm { Line 603  class om_dbform extends dbForm {
603       * @deprecated       * @deprecated
604       */       */
605      function erreur_db($debuginfo, $messageDB, $table) {      function erreur_db($debuginfo, $messageDB, $table) {
         print '$this->REST:\"'.$this->REST.'\"  ';  
606          if (!defined('REST_REQUEST')) { // $this->REST          if (!defined('REST_REQUEST')) { // $this->REST
607              die(_("Erreur de base de donnees. Contactez votre administrateur."));              die(_("Erreur de base de donnees. Contactez votre administrateur."));
608          } else {          } else {
# Line 674  class om_dbform extends dbForm { Line 636  class om_dbform extends dbForm {
636          }          }
637      }      }
638    
639        /**
640         * Méthode pour convertir une date Y-m-d en d/m/Y
641         */
642        function dateDBToForm($date) {
643            $date = new DateTime($this->valF['date_demande']);
644            return $date->format('d/m/Y');
645        }
646        
647  }  }
648    
649  ?>  ?>

Legend:
Removed from v.515  
changed lines
  Added in v.1073

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26