/[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 680 by nhaye, Tue Nov 13 18:15:59 2012 UTC revision 1130 by vpihour, Mon Dec 31 13:49:36 2012 UTC
# Line 97  class om_dbform extends dbForm { Line 97  class om_dbform extends dbForm {
97          } else { // Si mode modification ou suppression          } else { // Si mode modification ou suppression
98              // Clause where en fonction du type de la cle primaire              // Clause where en fonction du type de la cle primaire
99              if ($this->typeCle == "A") {              if ($this->typeCle == "A") {
100                  $sql .= " where ".$this->clePrimaire." like '".$id."' ";                  $sql .= " where ".$this->table.".".$this->clePrimaire." like '".$id."' ";
101              } else {              } else {
102                  $sql .= " where ".$this->table.".".$this->clePrimaire." = ".$id." ";                  $sql .= " where ".$this->table.".".$this->clePrimaire." = ".$id." ";
103              }              }
# Line 151  class om_dbform extends dbForm { Line 151  class om_dbform extends dbForm {
151                  }                  }
152              }              }
153          }          }
         if(!$this->canAccess()) {  
                             //  
             $message_class = "error";  
             $message = _("Droits insuffisants. Vous n'avez pas suffisament de ".  
                          "droits pour acceder a cette page.");  
             $this->f->addToMessage($message_class, $message);  
   
             //  
             $this->f->setFlag(NULL);  
             $this->f->display();  
   
             // Arrêt du script  
             die();  
         }  
154      }      }
155    
156    
# Line 212  class om_dbform extends dbForm { Line 198  class om_dbform extends dbForm {
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 411  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 471  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')) {
# Line 603  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 659  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        function init_select(&$form = null, &$db = null, $maj, $debug, $field, $sql,
649                             $sql_by_id, $om_validite = false) {
650    
651            if ($maj < 2) {
652    
653                $contenu = array();
654                $res = $db->query($sql);
655    
656                // logger
657                $this->addToLog("setSelect()[gen/obj]: db->query(\"".$sql."\");",
658                                VERBOSE_MODE);
659    
660                // verification d'une eventuelle erreur
661                if (database::isError($res)) {
662                    die($res->getMessage().$sql);
663                } else {
664    
665                    if ($debug == 1) {
666                        echo ' la requete '.$sql.' est executee';
667                        echo "<br />";
668                    }
669    
670                    $contenu[0][0] = '';
671                    $contenu[1][0] = _('choisir')."&nbsp;"._($field);
672    
673                    $k=1;
674                    while($row =& $res->fetchRow()){
675                        $contenu[0][$k] = $row[0];
676                        $contenu[1][$k] = $row[1];
677                        $k++;
678                    }
679    
680                    // gestion des objets a date de validite
681                    if ($om_validite == true) {
682    
683                        // ajout de la valeur manquante a $contenu si necessaire
684                        if ($maj == 1) {
685    
686                            if (!in_array($this->form->val[$field], $contenu[0])) {
687    
688                                //
689                                $this->getSelectOldValue($form, $maj, $db, $contenu,
690                                                         $sql_by_id, $field);
691                            } else {
692    
693                                $empty = true;
694                                foreach ($this->form->val as $f => $value) {
695                                    if (!empty($value)) {
696                                        $empty = false;
697                                    }
698                                }
699    
700                                //
701                                if ($empty == true and
702                                    $_POST[$field] != '') {
703    
704                                    $this->getSelectOldValue($form, $maj, $db,
705                                                             $contenu, $sql_by_id,
706                                                             $field,
707                                                             $_POST[$field]);
708                                }
709                            }
710                        }
711                    }
712    
713                    $form->setSelect($field, $contenu);
714                }
715            }
716    
717            if ($maj == 2 or $maj == 3) {
718    
719               $contenu[0][0] = '';
720               $contenu[1][0] = '';
721    
722               if (isset($this->form->val[$field]) and
723                   !empty($this->form->val[$field]) and $sql_by_id) {
724    
725                    // ajout de l'identifiant recherche a la requete
726                    $sql_by_id = str_replace('<idx>', $this->form->val[$field],
727                                             $sql_by_id);
728    
729                    // execution
730                    $result = $db->query($sql_by_id);
731    
732                    // logger
733                    $this->addToLog("setSelect()[gen/obj]: db->query(".$sql_by_id.");",
734                                    VERBOSE_MODE);
735    
736                    if (database::isError($result)) {
737                       die($result->getMessage().$sql_by_id);
738                    }
739    
740                    $row =& $result->fetchRow();
741                    $contenu[0][0] = $row[0];
742                    $contenu[1][0] = $row[1];
743                    
744                    $k=1;
745                    while($row =& $result->fetchRow()){
746                        $contenu[0][$k] = $row[0];
747                        $contenu[1][$k] = $row[1];
748                        $k++;
749                    }
750                }
751    
752                $form->setSelect($field, $contenu);
753            }
754        }
755  }  }
756    
757  ?>  ?>

Legend:
Removed from v.680  
changed lines
  Added in v.1130

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26