/[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 1900 by nhaye, Fri May 24 13:23:53 2013 UTC
# Line 22  require_once "om_formulaire.class.php"; Line 22  require_once "om_formulaire.class.php";
22   */   */
23  class om_dbform extends dbForm {  class om_dbform extends dbForm {
24            
25    
26        /**
27         * Liste des métadonnées communes à l'ensemble des fichiers de l'application
28         */
29        var $metadata_global = array(
30                                    "code_produit" => "getCodeProduit",
31                                    "groupe" => "getGroupe",
32                                );
33      /**      /**
34       *       *
35       */       */
36      var $om_formulaire = "om_formulaire";      var $om_formulaire = "om_formulaire";
37    
38            /**
       
         /**  
39       * Constructeur       * Constructeur
40       *       *
41       * @param string $id       * @param string $id
# Line 64  class om_dbform extends dbForm { Line 70  class om_dbform extends dbForm {
70                  include $fichier;                  include $fichier;
71              }              }
72          }          }
73    
74          // Sauvegarde des actions contextuelles supplementaires          // Sauvegarde des actions contextuelles supplementaires
75          if (isset($portlet_actions)) {          if (isset($portlet_actions)) {
76              $this->actions_sup = $portlet_actions;              $this->actions_sup = $portlet_actions;
77          }          }
78          //Si le flag $archivable est posé  
         //if(isset($archivable) and $archivable){  
         //    $this->archivable=TRUE;  
         //} else {  
         //    $this->archivable=FALSE;  
         //}  
79          // Concatenation des champs pour constitution de la clause select          // Concatenation des champs pour constitution de la clause select
80          $listeChamp = "";          $listeChamp = "";
81          foreach ($champs as $elem) {          foreach ($champs as $elem) {
# Line 97  class om_dbform extends dbForm { Line 99  class om_dbform extends dbForm {
99          } else { // Si mode modification ou suppression          } else { // Si mode modification ou suppression
100              // Clause where en fonction du type de la cle primaire              // Clause where en fonction du type de la cle primaire
101              if ($this->typeCle == "A") {              if ($this->typeCle == "A") {
102                  $sql .= " where ".$this->clePrimaire." like '".$id."' ";                  $sql .= " where ".$this->table.".".$this->clePrimaire." like '".$id."' ";
103              } else {              } else {
104                  $sql .= " where ".$this->table.".".$this->clePrimaire." = ".$id." ";                  $sql .= " where ".$this->table.".".$this->clePrimaire." = ".$id." ";
105              }              }
106          }          }
107          $sql .= " ".$selection." ";          $sql .= " ".$selection." ";
         //print '$sql:'.$sql.'   ';  
108          // Execution de la requete          // Execution de la requete
109          $res = $db->limitquery($sql, 0, 1);          $res = $db->limitquery($sql, 0, 1);
110          // Logger          // Logger
# Line 153  class om_dbform extends dbForm { Line 154  class om_dbform extends dbForm {
154          }          }
155      }      }
156    
157        /**
158         * Retourne le code produit défini dans le paramétrage
159         * @return string code produit (OpenADS)
160         */
161        protected function getCodeProduit() {
162            return $this->f->getParameter("code_produit");
163        }
164        /**
165         * Retourne le groupe des dossiers d'instruction géré par l'application
166         * @return string groupe (ADS)
167         */
168        protected function getGroupe() {
169            return $this->f->getParameter("groupe_instruction");
170        }
171      /**      /**
172       * Cette methode permet d'executer l'ajout (MODE 'insert') de l'objet dans       * Cette methode permet d'executer l'ajout (MODE 'insert') de l'objet dans
173       * la base de donnees.       * la base de donnees.
# Line 187  class om_dbform extends dbForm { Line 200  class om_dbform extends dbForm {
200              // l'enregistrement n'existe pas encore donc il n'a pas              // l'enregistrement n'existe pas encore donc il n'a pas
201              // d'identifiant              // d'identifiant
202              $this->triggerajouter("", $db, $val, $DEBUG);              $this->triggerajouter("", $db, $val, $DEBUG);
203              // Execution de la requete d'insertion des donnees de l'attribut              //Traitement des fichiers uploadé
204              // valF de l'objet dans l'attribut table de l'objet              $retTraitementFichier = $this->traitementFichierUpload();
205              $res = $db->autoExecute(DB_PREFIXE.$this->table, $this->valF, DB_AUTOQUERY_INSERT);              if($retTraitementFichier === true) {
206              // Si une erreur survient                  // Execution de la requete d'insertion des donnees de l'attribut
207              if (database::isError($res, true)) {                  // valF de l'objet dans l'attribut table de l'objet
208                  // Appel de la methode de recuperation des erreurs                  $res = $db->autoExecute(DB_PREFIXE.$this->table, $this->valF, DB_AUTOQUERY_INSERT);
209                  $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');                  // Si une erreur survient
210                    if (database::isError($res, true)) {
211                        // Appel de la methode de recuperation des erreurs
212                        $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');
213                    } else {
214                        // Log
215                        $this->addToLog(_("Requete executee"), VERBOSE_MODE);
216                        // Log
217                        $message = _("Enregistrement")." ".$this->valF[$this->clePrimaire]." ";
218                        $message .= _("de la table")." \"".$this->table."\" ";
219                        $message .= "[ ".$db->affectedRows()." ";
220                        $message .= _("enregistrement(s) ajoute(s)")." ]";
221                        $this->addToLog($message, VERBOSE_MODE);
222                        // Message de validation
223                        $this->addToMessage(_("Vos modifications ont bien ete enregistrees.")."<br/>");
224                        // Mise en place du verrou pour ne pas valider plusieurs fois
225                        // le meme formulaire
226                        $this->verrouille();
227                        // Execution du trigger 'after' specifique au MODE 'insert'
228                        // Le premier parametre est vide car en MODE 'insert'
229                        // l'enregistrement n'existe pas encore donc il n'a pas
230                        // d'identifiant
231                        $this->triggerajouterapres("", $db, $val, $DEBUG);
232                    }
233              } else {              } else {
234                  // Log                  $this->correct = false;
235                  $this->addToLog(_("Requete executee"), VERBOSE_MODE);                  $this->addToMessage($retTraitementFichier);
236                  // Log                  $this->addToMessage(_("SAISIE NON ENREGISTREE"));
                 $message = _("Enregistrement")."&nbsp;".$this->valF[$this->clePrimaire]."&nbsp;";  
                 $message .= _("de la table")."&nbsp;\"".$this->table."\"&nbsp;";  
                 $message .= "[&nbsp;".$db->affectedRows()."&nbsp;";  
                 $message .= _("enregistrement(s) ajoute(s)")."&nbsp;]";  
                 $this->addToLog($message, VERBOSE_MODE);  
                 // Message de validation  
                 $this->addToMessage(_("Vos modifications ont bien ete enregistrees.")."<br/>");  
                 // Mise en place du verrou pour ne pas valider plusieurs fois  
                 // le meme formulaire  
                 $this->verrouille();  
               
                 // Execution du trigger 'after' specifique au MODE 'insert'  
                 // Le premier parametre est vide car en MODE 'insert'  
                 // l'enregistrement n'existe pas encore donc il n'a pas  
                 // d'identifiant  
                 $this->triggerajouterapres("", $db, $val, $DEBUG);  
237              }              }
238          } else {          } else {
239              // Message d'echec (saut d'une ligne supplementaire avant le              // Message d'echec (saut d'une ligne supplementaire avant le
# Line 224  class om_dbform extends dbForm { Line 244  class om_dbform extends dbForm {
244          $this->addToLog("ajouter() - end", EXTRA_VERBOSE_MODE);          $this->addToLog("ajouter() - end", EXTRA_VERBOSE_MODE);
245      }      }
246    
   
     /**  
      *  
      * @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 />");  
                 }  
             }  
         }  
     }  
   
       
247      /**      /**
248       * Cette methode permet d'executer la modification (MODE 'update') de       * Cette methode permet d'executer la modification (MODE 'update') de
249       * l'objet dans la base de donnees.       * l'objet dans la base de donnees.
# Line 271  class om_dbform extends dbForm { Line 253  class om_dbform extends dbForm {
253       * @param boolean $DEBUG Mode debug (@deprecated)       * @param boolean $DEBUG Mode debug (@deprecated)
254       */       */
255      function modifier($val = array(), &$db = NULL, $DEBUG = false) {      function modifier($val = array(), &$db = NULL, $DEBUG = false) {
   
256          // Logger          // Logger
257          $this->addToLog("modifier() - begin", EXTRA_VERBOSE_MODE);          $this->addToLog("modifier() - begin", EXTRA_VERBOSE_MODE);
258          // Recuperation de la valeur de la cle primaire de l'objet          // Recuperation de la valeur de la cle primaire de l'objet
# Line 291  class om_dbform extends dbForm { Line 272  class om_dbform extends dbForm {
272          if ($this->correct) {          if ($this->correct) {
273              // Execution du trigger 'before' specifique au MODE 'update'              // Execution du trigger 'before' specifique au MODE 'update'
274              $this->triggermodifier($id, $db, $val, $DEBUG);              $this->triggermodifier($id, $db, $val, $DEBUG);
275              // Execution de la requête de modification des donnees de l'attribut              //Traitement des fichiers uploadé
276              // valF de l'objet dans l'attribut table de l'objet              $retTraitementFichier = $this->traitementFichierUpload();
277              $res = $db->autoExecute(DB_PREFIXE.$this->table, $this->valF, DB_AUTOQUERY_UPDATE, $this->getCle($id));              if($retTraitementFichier === true) {
278              // Si une erreur survient                  // Execution de la requête de modification des donnees de l'attribut
279              if (database::isError($res, true)) {                  // valF de l'objet dans l'attribut table de l'objet
280                  // Appel de la methode de recuperation des erreurs                  $res = $db->autoExecute(DB_PREFIXE.$this->table, $this->valF, DB_AUTOQUERY_UPDATE, $this->getCle($id));
281                  $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');                  // Si une erreur survient
282              } else {                  if (database::isError($res, true)) {
283                  // Log                      // Appel de la methode de recuperation des erreurs
284                  $this->addToLog(_("Requete executee"), VERBOSE_MODE);                      $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');
                 // Log  
                 $message = _("Enregistrement")."&nbsp;".$id."&nbsp;";  
                 $message .= _("de la table")."&nbsp;\"".$this->table."\"&nbsp;";  
                 $message .= "[&nbsp;".$db->affectedRows()."&nbsp;";  
                 $message .= _("enregistrement(s) mis a jour")."&nbsp;]";  
                 $this->addToLog($message, VERBOSE_MODE);  
                 // Message de validation  
                 if ($db->affectedRows() == 0) {  
                     $this->addToMessage(_("Attention vous n'avez fait aucune modification.")."<br/>");  
285                  } else {                  } else {
286                      $this->addToMessage(_("Vos modifications ont bien ete enregistrees.")."<br/>");                      // Log
287                        $this->addToLog(_("Requete executee"), VERBOSE_MODE);
288                        // Log
289                        $message = _("Enregistrement")."&nbsp;".$id."&nbsp;";
290                        $message .= _("de la table")."&nbsp;\"".$this->table."\"&nbsp;";
291                        $message .= "[&nbsp;".$db->affectedRows()."&nbsp;";
292                        $message .= _("enregistrement(s) mis a jour")."&nbsp;]";
293                        $this->addToLog($message, VERBOSE_MODE);
294                        // Message de validation
295                        if ($db->affectedRows() == 0) {
296                            $this->addToMessage(_("Attention vous n'avez fait aucune modification.")."<br/>");
297                        } else {
298                            $this->addToMessage(_("Vos modifications ont bien ete enregistrees.")."<br/>");
299                        }
300                        // Mise en place du verrou pour ne pas valider plusieurs fois
301                        // le meme formulaire
302                        $this->verrouille();
303                        // Execution du trigger 'after' specifique au MODE 'update'
304                        $this->triggermodifierapres($id, $db, $val, $DEBUG);
305                  }                  }
306                  // Mise en place du verrou pour ne pas valider plusieurs fois              } else {
307                  // le meme formulaire                  $this->correct = false;
308                  $this->verrouille();                  $this->addToMessage($retTraitementFichier);
309                                $this->addToMessage(_("SAISIE NON ENREGISTREE"));
                 // Execution du trigger 'after' specifique au MODE 'update'  
                 $this->triggermodifierapres($id, $db, $val, $DEBUG);  
310              }              }
311          } else {          } else {
312              // Message d'echec (saut d'une ligne supplementaire avant le              // Message d'echec (saut d'une ligne supplementaire avant le
# Line 329  class om_dbform extends dbForm { Line 317  class om_dbform extends dbForm {
317          $this->addToLog("modifier() - end", EXTRA_VERBOSE_MODE);          $this->addToLog("modifier() - end", EXTRA_VERBOSE_MODE);
318      }      }
319    
   
320      /**      /**
321       * Cette methode permet d'executer la suppression (MODE 'delete') de       * Cette methode permet d'executer la suppression (MODE 'delete') de
322       * l'objet dans la base de donnees.       * l'objet dans la base de donnees.
# Line 357  class om_dbform extends dbForm { Line 344  class om_dbform extends dbForm {
344          if ($this->correct) {          if ($this->correct) {
345              // Execution du trigger 'before' specifique au MODE 'delete'              // Execution du trigger 'before' specifique au MODE 'delete'
346              $this->triggersupprimer($id, $db, $val, $DEBUG);              $this->triggersupprimer($id, $db, $val, $DEBUG);
347              // Construction de la requete de suppression de l'objet dans              //Traitement des fichiers uploadé
348              // l'attribut table de l'objet              $retTraitementFichier = $this->traitementFichierUpload();
349              $sql = "delete from ".DB_PREFIXE.$this->table." where ".$this->getCle($id);              if($retTraitementFichier === true) {
350              // Execution de la requete de suppression de l'objet                  // Construction de la requete de suppression de l'objet dans
351              $res = $db->query($sql);                  // l'attribut table de l'objet
352              // Logger                  $sql = "delete from ".DB_PREFIXE.$this->table." where ".$this->getCle($id);
353              $this->addToLog("supprimer(): db->query(\"".$sql."\");", VERBOSE_MODE);                  // Execution de la requete de suppression de l'objet
354              // Si une erreur survient                  $res = $db->query($sql);
355              if (database::isError($res, true)) {                  // Logger
356                  // Appel de la methode de recuperation des erreurs                  $this->addToLog("supprimer(): db->query(\"".$sql."\");", VERBOSE_MODE);
357                  $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');                  // Si une erreur survient
358                    if (database::isError($res, true)) {
359                        // Appel de la methode de recuperation des erreurs
360                        $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');
361                    } else {
362                        // Log
363                        $message = _("Enregistrement")."&nbsp;".$id."&nbsp;";
364                        $message .= _("de la table")."&nbsp;\"".$this->table."\"&nbsp;";
365                        $message .= "[&nbsp;".$db->affectedRows()."&nbsp;";
366                        $message .= _("enregistrement(s) supprime(s)")."&nbsp;]";
367                        $this->addToLog($message, VERBOSE_MODE);
368                        // Message de validation
369                        $this->addToMessage(_("La suppression a ete correctement effectuee.")."<br/>");
370                        // Mise en place du verrou pour ne pas valider plusieurs fois
371                        // le meme formulaire
372                        $this->verrouille();
373                        // Execution du trigger 'after' specifique au MODE 'delete'
374                        $this->triggersupprimerapres($id, $db, $val, $DEBUG);
375                    }
376              } else {              } else {
377                  // Log                  $this->correct = false;
378                  $message = _("Enregistrement")."&nbsp;".$id."&nbsp;";                  $this->addToMessage($retTraitementFichier);
379                  $message .= _("de la table")."&nbsp;\"".$this->table."\"&nbsp;";                  $this->addToMessage(_("SAISIE NON ENREGISTREE"));
                 $message .= "[&nbsp;".$db->affectedRows()."&nbsp;";  
                 $message .= _("enregistrement(s) supprime(s)")."&nbsp;]";  
                 $this->addToLog($message, VERBOSE_MODE);  
                 // Message de validation  
                 $this->addToMessage(_("La suppression a ete correctement effectuee.")."<br/>");  
                 // Mise en place du verrou pour ne pas valider plusieurs fois  
                 // le meme formulaire  
                 $this->verrouille();  
               
                 // Execution du trigger 'after' specifique au MODE 'delete'  
                 $this->triggersupprimerapres($id, $db, $val, $DEBUG);  
380              }              }
381          } else {          } else {
382              // Message d'echec (saut d'une ligne supplementaire avant le              // Message d'echec (saut d'une ligne supplementaire avant le
# Line 399  class om_dbform extends dbForm { Line 393  class om_dbform extends dbForm {
393       *       *
394       * @param objet $db Objet Base de donnees       * @param objet $db Objet Base de donnees
395       */       */
396    
397      function checkUniqueKey() {      function checkUniqueKey() {
398          $unique=true;          $unique=true;
399          //Verification des cles uniques          //Verification des cles uniques
# Line 442  class om_dbform extends dbForm { Line 437  class om_dbform extends dbForm {
437          }          }
438      }      }
439    
   
   
440      /**      /**
441       * Methode permettant de requeter la base afin de definir la validite du champ unique       * Methode permettant de requeter la base afin de definir la validite du champ unique
442       *       *
# Line 451  class om_dbform extends dbForm { Line 444  class om_dbform extends dbForm {
444       * @param string $value valeur à inserer dans la colonne       * @param string $value valeur à inserer dans la colonne
445       */       */
446      function isUnique($champ,$value) {      function isUnique($champ,$value) {
447          //Test sur un groupe de champs                  //Test sur un groupe de champs
448          if(is_array($champ) and is_array($value)) {          if(is_array($champ) and is_array($value)) {
449              $sql = 'SELECT count(*) FROM '.DB_PREFIXE.$this->table." WHERE ".implode(" = ? AND ",$champ)." = ?";              $sql = 'SELECT count(*) FROM '.DB_PREFIXE.$this->table." WHERE ".implode(" = ? AND ",$champ)." = ?";
450          } else {          } else {
451          //Test sur un champ                  //Test sur un champ
452              $sql = 'SELECT count(*) FROM '.DB_PREFIXE.$this->table." WHERE ".$champ." = ?";              $sql = 'SELECT count(*) FROM '.DB_PREFIXE.$this->table." WHERE ".$champ." = ?";
453          }          }
454          if($this->getParameter('maj')) {          if($this->getParameter('maj')) {
# Line 477  class om_dbform extends dbForm { Line 470  class om_dbform extends dbForm {
470          }          }
471      }      }
472    
   
   
473      /**      /**
474       * Methode de verification des contraintes not null,       * Methode de verification des contraintes not null,
475       * affiche une erreur si nul.       * affiche une erreur si nul.
# Line 488  class om_dbform extends dbForm { Line 479  class om_dbform extends dbForm {
479      function checkRequired() {      function checkRequired() {
480          foreach($this->required_field as $field) {          foreach($this->required_field as $field) {
481              //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
482    
483              // la cle primaire est automatiquement cree              // la cle primaire est automatiquement cree
484              if ($field == $this->clePrimaire) {              if ($field == $this->clePrimaire) {
485                  continue;                  continue;
# Line 516  class om_dbform extends dbForm { Line 508  class om_dbform extends dbForm {
508              */              */
509              if ($this->getParameter('maj') == 0 and              if ($this->getParameter('maj') == 0 and
510                  (!isset($this->valF[$field]) or $this->valF[$field] == '')) {                  (!isset($this->valF[$field]) or $this->valF[$field] == '')) {
511    
512                  $error = true;                  $error = true;
513                  $this->correct = false;                  $this->correct = false;
514    
# Line 554  class om_dbform extends dbForm { Line 547  class om_dbform extends dbForm {
547              } elseif ($this->getParameter('maj') == 1              } elseif ($this->getParameter('maj') == 1
548                         and isset($this->valF[$field])                         and isset($this->valF[$field])
549                         and $this->valF[$field] == '') {                         and $this->valF[$field] == '') {
550    
551                  $error = true;                  $error = true;
552                  $this->correct = false;                  $this->correct = false;
553              }              }
# Line 640  class om_dbform extends dbForm { Line 634  class om_dbform extends dbForm {
634       * Méthode pour convertir une date Y-m-d en d/m/Y       * Méthode pour convertir une date Y-m-d en d/m/Y
635       */       */
636      function dateDBToForm($date) {      function dateDBToForm($date) {
637          $date = new DateTime($this->valF['date_demande']);          if($date == "") {
638          return $date->format('d/m/Y');              return "";
639            }
640            $dateFormat = new DateTime($date);
641            return $dateFormat->format('d/m/Y');
642      }      }
643            
644        
645        function init_select(&$form = null, &$db = null, $maj, $debug, $field, $sql,
646                             $sql_by_id, $om_validite = false, $multiple = false) {
647    
648            // MODE AJOUTER et MODE MODIFIER
649            if ($maj < 2) {
650    
651                $contenu = array();
652                $res = $db->query($sql);
653                $this->addToLog("setSelect(): db->query(\"".$sql."\");", VERBOSE_MODE);
654                // verification d'une eventuelle erreur
655                if (database::isError($res)) {
656                    die($res->getMessage().$sql);
657                } else {
658                    // Initialisation du select
659                    $contenu[0][0] = '';
660                    $contenu[1][0] = _('choisir')."&nbsp;"._($field);
661                    //
662                    $k=1;
663                    while($row =& $res->fetchRow()){
664                        $contenu[0][$k] = $row[0];
665                        $contenu[1][$k] = $row[1];
666                        $k++;
667                    }
668                    // gestion des objets a date de validite
669                    if ($om_validite == true) {
670    
671                        // ajout de la valeur manquante a $contenu si necessaire
672                        if ($maj == 1) {
673    
674                            if (!in_array($this->form->val[$field], $contenu[0])) {
675    
676                                //
677                                $this->getSelectOldValue($form, $maj, $db, $contenu,
678                                                         $sql_by_id, $field);
679                            } else {
680    
681                                $empty = true;
682                                foreach ($this->form->val as $f => $value) {
683                                    if (!empty($value)) {
684                                        $empty = false;
685                                    }
686                                }
687    
688                                //
689                                if ($empty == true and
690                                    $_POST[$field] != '') {
691    
692                                    $this->getSelectOldValue($form, $maj, $db,
693                                                             $contenu, $sql_by_id,
694                                                             $field,
695                                                             $_POST[$field]);
696                                }
697                            }
698                        }
699                    }
700    
701                    //
702                    $form->setSelect($field, $contenu);
703                }
704            }
705    
706            // MODE SUPPRIMER et MODE CONSULTER
707            if ($maj == 2 or $maj == 3) {
708                // Initialisation du select
709                $contenu[0][0] = '';
710                $contenu[1][0] = '';
711    
712                if (isset($this->form->val[$field]) and
713                    !empty($this->form->val[$field]) and $sql_by_id) {
714                    //
715                    if ($multiple == true) {
716                        $val_field = "'".str_replace(",", "','",$this->form->val[$field])."'";
717                    } else {
718                        $val_field = $this->form->val[$field];
719                    }
720    
721                    // ajout de l'identifiant recherche a la requete
722                    $sql_by_id = str_replace('<idx>', $val_field, $sql_by_id);
723    
724                    // execution
725                    $result = $db->query($sql_by_id);
726                    $this->addToLog("setSelect(): db->query(".$sql_by_id.");", VERBOSE_MODE);
727                    if (database::isError($result)) {
728                       die($result->getMessage().$sql_by_id);
729                    }
730    
731                    $row =& $result->fetchRow();
732                    $contenu[0][0] = $row[0];
733                    $contenu[1][0] = $row[1];
734                    
735                    $k=1;
736                    while($row =& $result->fetchRow()){
737                        $contenu[0][$k] = $row[0];
738                        $contenu[1][$k] = $row[1];
739                        $k++;
740                    }
741                }
742    
743                $form->setSelect($field, $contenu);
744            }
745        }
746    
747        // {{{ SURCHARGES DES LIBELLES DES BOUTONS
748    
749                           /**
750         * Cette methode permet d'afficher le bouton de validation du formulaire
751         *
752         * @param integer $maj Mode de mise a jour
753         * @return void
754         */
755        function bouton($maj) {
756    
757            if (!$this->correct) {
758                //
759                if ($maj == 2) {
760                    $bouton = _("Supprimer");
761                } else {
762                    if ($maj == 1) {
763                        $bouton = _("Modifier");
764                    } else {
765                        $bouton = _("Ajouter");
766                    }
767                }
768                ////
769                //$bouton .= "&nbsp;"._("l'enregistrement de la table")."&nbsp;:";
770                //$bouton .= "&nbsp;'"._($this->table)."'";
771                //
772                $params = array(
773                    "value" => $bouton,
774                    "class" => "btn btn-primary",
775                );
776                //
777                $this->f->layout->display_form_button($params);
778            }
779    
780        }
781    
782        /**
783         *
784         */
785        function boutonsousformulaire($datasubmit, $maj, $val=null) {
786    
787            if (!$this->correct) {
788                //
789                switch ($maj) {
790                    case 0:
791                        $bouton = _("Ajouter");
792                        break;
793                    case 1:
794                        $bouton = _("Modifier");
795                        break;
796                    case 2:
797                        $bouton = _("Supprimer");
798                        break;
799                }
800                ////
801                //$bouton .= "&nbsp;"._("l'enregistrement de la table")."&nbsp;:";
802                //$bouton .= "&nbsp;'"._($this->table)."'";
803                //
804                $params = array(
805                    "class" => "",
806                    "value" => $bouton,
807                    "onclick" => "affichersform('".get_class($this)."', '$datasubmit', this.form);return false;",
808                );
809                //
810                $this->f->layout->display_form_button($params);
811            }
812    
813        }
814        // }}}
815  }  }
816    
817  ?>  ?>

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26