/[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 1073 by fmichon, Mon Dec 17 14:52:40 2012 UTC revision 1199 by fmichon, Wed Jan 9 16:39:49 2013 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 224  class om_dbform extends dbForm { Line 224  class om_dbform extends dbForm {
224          $this->addToLog("ajouter() - end", EXTRA_VERBOSE_MODE);          $this->addToLog("ajouter() - end", EXTRA_VERBOSE_MODE);
225      }      }
226    
   
     /**  
      *  
      * @param array $val  
      * @param object $db Objet de connexion DB  
      */  
     function verifierAjout($val = array(), &$db = NULL) {  
   
         // Verifier [verify]  
         // la cle primaire est obligatoire  
         // [primary key is compulsory]  
         if ($this->valF[$this->clePrimaire] == "") {  
             //  
             $this->correct = false;  
             //  
             $this->addToMessage("<br/>");  
             $this->addToMessage( _("L'\"identifiant\" est obligatoire")."&nbsp;");  
             $this->addToMessage("[&nbsp;"._($this->clePrimaire)."&nbsp;]");  
         }  
         if ($this->typeCle == "A") {  
             $sql = "select count(*) from ".DB_PREFIXE.$this->table." ";      
             $sql .= "where ".$this->clePrimaire."='".$this->valF[$this->clePrimaire]."' ";  
             $nb = $db->getone($sql);  
             $this->addToLog("verifierAjout(): db->getone(\"".$sql."\");", VERBOSE_MODE);  
             if (database::isError($nb)) {  
                 $this->erreur_db($nb->getDebugInfo(), $nb->getMessage(), '');  
             }else{  
                 if ($nb > 0) {  
                     $this->correct = false;  
                     $this->addToMessage($nb." ");  
                     $this->addToMessage( _("cle primaire existante"));  
                     $this->addToMessage(" ".$this->table."<br />");  
                 }  
             }  
         }  
     }  
   
       
227      /**      /**
228       * Cette methode permet d'executer la modification (MODE 'update') de       * Cette methode permet d'executer la modification (MODE 'update') de
229       * l'objet dans la base de donnees.       * l'objet dans la base de donnees.
# Line 644  class om_dbform extends dbForm { Line 606  class om_dbform extends dbForm {
606          return $date->format('d/m/Y');          return $date->format('d/m/Y');
607      }      }
608            
609        
610        function init_select(&$form = null, &$db = null, $maj, $debug, $field, $sql,
611                             $sql_by_id, $om_validite = false) {
612    
613            if ($maj < 2) {
614    
615                $contenu = array();
616                $res = $db->query($sql);
617    
618                // logger
619                $this->addToLog("setSelect()[gen/obj]: db->query(\"".$sql."\");",
620                                VERBOSE_MODE);
621    
622                // verification d'une eventuelle erreur
623                if (database::isError($res)) {
624                    die($res->getMessage().$sql);
625                } else {
626    
627                    if ($debug == 1) {
628                        echo ' la requete '.$sql.' est executee';
629                        echo "<br />";
630                    }
631    
632                    $contenu[0][0] = '';
633                    $contenu[1][0] = _('choisir')."&nbsp;"._($field);
634    
635                    $k=1;
636                    while($row =& $res->fetchRow()){
637                        $contenu[0][$k] = $row[0];
638                        $contenu[1][$k] = $row[1];
639                        $k++;
640                    }
641    
642                    // gestion des objets a date de validite
643                    if ($om_validite == true) {
644    
645                        // ajout de la valeur manquante a $contenu si necessaire
646                        if ($maj == 1) {
647    
648                            if (!in_array($this->form->val[$field], $contenu[0])) {
649    
650                                //
651                                $this->getSelectOldValue($form, $maj, $db, $contenu,
652                                                         $sql_by_id, $field);
653                            } else {
654    
655                                $empty = true;
656                                foreach ($this->form->val as $f => $value) {
657                                    if (!empty($value)) {
658                                        $empty = false;
659                                    }
660                                }
661    
662                                //
663                                if ($empty == true and
664                                    $_POST[$field] != '') {
665    
666                                    $this->getSelectOldValue($form, $maj, $db,
667                                                             $contenu, $sql_by_id,
668                                                             $field,
669                                                             $_POST[$field]);
670                                }
671                            }
672                        }
673                    }
674    
675                    $form->setSelect($field, $contenu);
676                }
677            }
678    
679            if ($maj == 2 or $maj == 3) {
680    
681               $contenu[0][0] = '';
682               $contenu[1][0] = '';
683    
684               if (isset($this->form->val[$field]) and
685                   !empty($this->form->val[$field]) and $sql_by_id) {
686    
687                    // ajout de l'identifiant recherche a la requete
688                    $sql_by_id = str_replace('<idx>', $this->form->val[$field],
689                                             $sql_by_id);
690    
691                    // execution
692                    $result = $db->query($sql_by_id);
693    
694                    // logger
695                    $this->addToLog("setSelect()[gen/obj]: db->query(".$sql_by_id.");",
696                                    VERBOSE_MODE);
697    
698                    if (database::isError($result)) {
699                       die($result->getMessage().$sql_by_id);
700                    }
701    
702                    $row =& $result->fetchRow();
703                    $contenu[0][0] = $row[0];
704                    $contenu[1][0] = $row[1];
705                    
706                    $k=1;
707                    while($row =& $result->fetchRow()){
708                        $contenu[0][$k] = $row[0];
709                        $contenu[1][$k] = $row[1];
710                        $k++;
711                    }
712                }
713    
714                $form->setSelect($field, $contenu);
715            }
716        }
717  }  }
718    
719  ?>  ?>

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26