/[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 1910 by fmichon, Mon May 27 12:57:22 2013 UTC
# Line 21  require_once "om_formulaire.class.php"; Line 21  require_once "om_formulaire.class.php";
21   *   *
22   */   */
23  class om_dbform extends dbForm {  class om_dbform extends dbForm {
24        
25        // {{{ GESTION DES METADONNEES
26    
27        /**
28         * Liste des métadonnées communes à l'ensemble des objets de l'application
29         */
30        var $metadata_global = array(
31            "code_produit" => "getCodeProduit",
32            "groupe" => "getGroupe",
33        );
34    
35        /**
36         * Retourne le code produit défini dans le paramétrage
37         * @return string code produit (OpenADS)
38         */
39        protected function getCodeProduit() {
40            return $this->f->getParameter("code_produit");
41        }
42    
43        /**
44         * Retourne le groupe des dossiers d'instruction géré par l'application
45         * @return string groupe (ADS)
46         */
47        protected function getGroupe() {
48            return $this->f->getParameter("groupe_instruction");
49        }
50    
51        // }}}
52    
53    
54      /**      /**
55       *       *
56       */       */
57      var $om_formulaire = "om_formulaire";      var $om_formulaire = "om_formulaire";
58    
59            /**
       
         /**  
60       * Constructeur       * Constructeur
61       *       *
62       * @param string $id       * @param string $id
# Line 64  class om_dbform extends dbForm { Line 91  class om_dbform extends dbForm {
91                  include $fichier;                  include $fichier;
92              }              }
93          }          }
94    
95          // Sauvegarde des actions contextuelles supplementaires          // Sauvegarde des actions contextuelles supplementaires
96          if (isset($portlet_actions)) {          if (isset($portlet_actions)) {
97              $this->actions_sup = $portlet_actions;              $this->actions_sup = $portlet_actions;
98          }          }
99          //Si le flag $archivable est posé  
         //if(isset($archivable) and $archivable){  
         //    $this->archivable=TRUE;  
         //} else {  
         //    $this->archivable=FALSE;  
         //}  
100          // Concatenation des champs pour constitution de la clause select          // Concatenation des champs pour constitution de la clause select
101          $listeChamp = "";          $listeChamp = "";
102          foreach ($champs as $elem) {          foreach ($champs as $elem) {
# Line 97  class om_dbform extends dbForm { Line 120  class om_dbform extends dbForm {
120          } else { // Si mode modification ou suppression          } else { // Si mode modification ou suppression
121              // Clause where en fonction du type de la cle primaire              // Clause where en fonction du type de la cle primaire
122              if ($this->typeCle == "A") {              if ($this->typeCle == "A") {
123                  $sql .= " where ".$this->clePrimaire." like '".$id."' ";                  $sql .= " where ".$this->table.".".$this->clePrimaire." like '".$id."' ";
124              } else {              } else {
125                  $sql .= " where ".$this->table.".".$this->clePrimaire." = ".$id." ";                  $sql .= " where ".$this->table.".".$this->clePrimaire." = ".$id." ";
126              }              }
127          }          }
128          $sql .= " ".$selection." ";          $sql .= " ".$selection." ";
         //print '$sql:'.$sql.'   ';  
129          // Execution de la requete          // Execution de la requete
130          $res = $db->limitquery($sql, 0, 1);          $res = $db->limitquery($sql, 0, 1);
131          // Logger          // Logger
# Line 153  class om_dbform extends dbForm { Line 175  class om_dbform extends dbForm {
175          }          }
176      }      }
177    
   
   
178      /**      /**
179       * 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
180       * la base de donnees.       * la base de donnees.
# Line 187  class om_dbform extends dbForm { Line 207  class om_dbform extends dbForm {
207              // l'enregistrement n'existe pas encore donc il n'a pas              // l'enregistrement n'existe pas encore donc il n'a pas
208              // d'identifiant              // d'identifiant
209              $this->triggerajouter("", $db, $val, $DEBUG);              $this->triggerajouter("", $db, $val, $DEBUG);
210              // Execution de la requete d'insertion des donnees de l'attribut              //Traitement des fichiers uploadé
211              // valF de l'objet dans l'attribut table de l'objet              $retTraitementFichier = $this->traitementFichierUpload();
212              $res = $db->autoExecute(DB_PREFIXE.$this->table, $this->valF, DB_AUTOQUERY_INSERT);              if($retTraitementFichier === true) {
213              // Si une erreur survient                  // Execution de la requete d'insertion des donnees de l'attribut
214              if (database::isError($res, true)) {                  // valF de l'objet dans l'attribut table de l'objet
215                  // Appel de la methode de recuperation des erreurs                  $res = $db->autoExecute(DB_PREFIXE.$this->table, $this->valF, DB_AUTOQUERY_INSERT);
216                  $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');                  // Si une erreur survient
217                    if (database::isError($res, true)) {
218                        // Appel de la methode de recuperation des erreurs
219                        $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');
220                    } else {
221                        // Log
222                        $this->addToLog(_("Requete executee"), VERBOSE_MODE);
223                        // Log
224                        $message = _("Enregistrement")." ".$this->valF[$this->clePrimaire]." ";
225                        $message .= _("de la table")." \"".$this->table."\" ";
226                        $message .= "[ ".$db->affectedRows()." ";
227                        $message .= _("enregistrement(s) ajoute(s)")." ]";
228                        $this->addToLog($message, VERBOSE_MODE);
229                        // Message de validation
230                        $this->addToMessage(_("Vos modifications ont bien ete enregistrees.")."<br/>");
231                        // Mise en place du verrou pour ne pas valider plusieurs fois
232                        // le meme formulaire
233                        $this->verrouille();
234                        // Execution du trigger 'after' specifique au MODE 'insert'
235                        // Le premier parametre est vide car en MODE 'insert'
236                        // l'enregistrement n'existe pas encore donc il n'a pas
237                        // d'identifiant
238                        $this->triggerajouterapres("", $db, $val, $DEBUG);
239                    }
240              } else {              } else {
241                  // Log                  $this->correct = false;
242                  $this->addToLog(_("Requete executee"), VERBOSE_MODE);                  $this->addToMessage($retTraitementFichier);
243                  // 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);  
244              }              }
245          } else {          } else {
246              // 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 251  class om_dbform extends dbForm {
251          $this->addToLog("ajouter() - end", EXTRA_VERBOSE_MODE);          $this->addToLog("ajouter() - end", EXTRA_VERBOSE_MODE);
252      }      }
253    
   
     /**  
      *  
      * @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 />");  
                 }  
             }  
         }  
     }  
   
       
254      /**      /**
255       * Cette methode permet d'executer la modification (MODE 'update') de       * Cette methode permet d'executer la modification (MODE 'update') de
256       * l'objet dans la base de donnees.       * l'objet dans la base de donnees.
# Line 271  class om_dbform extends dbForm { Line 260  class om_dbform extends dbForm {
260       * @param boolean $DEBUG Mode debug (@deprecated)       * @param boolean $DEBUG Mode debug (@deprecated)
261       */       */
262      function modifier($val = array(), &$db = NULL, $DEBUG = false) {      function modifier($val = array(), &$db = NULL, $DEBUG = false) {
   
263          // Logger          // Logger
264          $this->addToLog("modifier() - begin", EXTRA_VERBOSE_MODE);          $this->addToLog("modifier() - begin", EXTRA_VERBOSE_MODE);
265          // 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 279  class om_dbform extends dbForm {
279          if ($this->correct) {          if ($this->correct) {
280              // Execution du trigger 'before' specifique au MODE 'update'              // Execution du trigger 'before' specifique au MODE 'update'
281              $this->triggermodifier($id, $db, $val, $DEBUG);              $this->triggermodifier($id, $db, $val, $DEBUG);
282              // Execution de la requête de modification des donnees de l'attribut              //Traitement des fichiers uploadé
283              // valF de l'objet dans l'attribut table de l'objet              $retTraitementFichier = $this->traitementFichierUpload();
284              $res = $db->autoExecute(DB_PREFIXE.$this->table, $this->valF, DB_AUTOQUERY_UPDATE, $this->getCle($id));              if($retTraitementFichier === true) {
285              // Si une erreur survient                  // Execution de la requête de modification des donnees de l'attribut
286              if (database::isError($res, true)) {                  // valF de l'objet dans l'attribut table de l'objet
287                  // Appel de la methode de recuperation des erreurs                  $res = $db->autoExecute(DB_PREFIXE.$this->table, $this->valF, DB_AUTOQUERY_UPDATE, $this->getCle($id));
288                  $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');                  // Si une erreur survient
289              } else {                  if (database::isError($res, true)) {
290                  // Log                      // Appel de la methode de recuperation des erreurs
291                  $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/>");  
292                  } else {                  } else {
293                      $this->addToMessage(_("Vos modifications ont bien ete enregistrees.")."<br/>");                      // Log
294                        $this->addToLog(_("Requete executee"), VERBOSE_MODE);
295                        // Log
296                        $message = _("Enregistrement")."&nbsp;".$id."&nbsp;";
297                        $message .= _("de la table")."&nbsp;\"".$this->table."\"&nbsp;";
298                        $message .= "[&nbsp;".$db->affectedRows()."&nbsp;";
299                        $message .= _("enregistrement(s) mis a jour")."&nbsp;]";
300                        $this->addToLog($message, VERBOSE_MODE);
301                        // Message de validation
302                        if ($db->affectedRows() == 0) {
303                            $this->addToMessage(_("Attention vous n'avez fait aucune modification.")."<br/>");
304                        } else {
305                            $this->addToMessage(_("Vos modifications ont bien ete enregistrees.")."<br/>");
306                        }
307                        // Mise en place du verrou pour ne pas valider plusieurs fois
308                        // le meme formulaire
309                        $this->verrouille();
310                        // Execution du trigger 'after' specifique au MODE 'update'
311                        $this->triggermodifierapres($id, $db, $val, $DEBUG);
312                  }                  }
313                  // Mise en place du verrou pour ne pas valider plusieurs fois              } else {
314                  // le meme formulaire                  $this->correct = false;
315                  $this->verrouille();                  $this->addToMessage($retTraitementFichier);
316                                $this->addToMessage(_("SAISIE NON ENREGISTREE"));
                 // Execution du trigger 'after' specifique au MODE 'update'  
                 $this->triggermodifierapres($id, $db, $val, $DEBUG);  
317              }              }
318          } else {          } else {
319              // 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 324  class om_dbform extends dbForm {
324          $this->addToLog("modifier() - end", EXTRA_VERBOSE_MODE);          $this->addToLog("modifier() - end", EXTRA_VERBOSE_MODE);
325      }      }
326    
   
327      /**      /**
328       * Cette methode permet d'executer la suppression (MODE 'delete') de       * Cette methode permet d'executer la suppression (MODE 'delete') de
329       * l'objet dans la base de donnees.       * l'objet dans la base de donnees.
# Line 357  class om_dbform extends dbForm { Line 351  class om_dbform extends dbForm {
351          if ($this->correct) {          if ($this->correct) {
352              // Execution du trigger 'before' specifique au MODE 'delete'              // Execution du trigger 'before' specifique au MODE 'delete'
353              $this->triggersupprimer($id, $db, $val, $DEBUG);              $this->triggersupprimer($id, $db, $val, $DEBUG);
354              // Construction de la requete de suppression de l'objet dans              //Traitement des fichiers uploadé
355              // l'attribut table de l'objet              $retTraitementFichier = $this->traitementFichierUpload();
356              $sql = "delete from ".DB_PREFIXE.$this->table." where ".$this->getCle($id);              if($retTraitementFichier === true) {
357              // Execution de la requete de suppression de l'objet                  // Construction de la requete de suppression de l'objet dans
358              $res = $db->query($sql);                  // l'attribut table de l'objet
359              // Logger                  $sql = "delete from ".DB_PREFIXE.$this->table." where ".$this->getCle($id);
360              $this->addToLog("supprimer(): db->query(\"".$sql."\");", VERBOSE_MODE);                  // Execution de la requete de suppression de l'objet
361              // Si une erreur survient                  $res = $db->query($sql);
362              if (database::isError($res, true)) {                  // Logger
363                  // Appel de la methode de recuperation des erreurs                  $this->addToLog("supprimer(): db->query(\"".$sql."\");", VERBOSE_MODE);
364                  $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');                  // Si une erreur survient
365                    if (database::isError($res, true)) {
366                        // Appel de la methode de recuperation des erreurs
367                        $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');
368                    } else {
369                        // Log
370                        $message = _("Enregistrement")."&nbsp;".$id."&nbsp;";
371                        $message .= _("de la table")."&nbsp;\"".$this->table."\"&nbsp;";
372                        $message .= "[&nbsp;".$db->affectedRows()."&nbsp;";
373                        $message .= _("enregistrement(s) supprime(s)")."&nbsp;]";
374                        $this->addToLog($message, VERBOSE_MODE);
375                        // Message de validation
376                        $this->addToMessage(_("La suppression a ete correctement effectuee.")."<br/>");
377                        // Mise en place du verrou pour ne pas valider plusieurs fois
378                        // le meme formulaire
379                        $this->verrouille();
380                        // Execution du trigger 'after' specifique au MODE 'delete'
381                        $this->triggersupprimerapres($id, $db, $val, $DEBUG);
382                    }
383              } else {              } else {
384                  // Log                  $this->correct = false;
385                  $message = _("Enregistrement")."&nbsp;".$id."&nbsp;";                  $this->addToMessage($retTraitementFichier);
386                  $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);  
387              }              }
388          } else {          } else {
389              // 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 400  class om_dbform extends dbForm {
400       *       *
401       * @param objet $db Objet Base de donnees       * @param objet $db Objet Base de donnees
402       */       */
403    
404      function checkUniqueKey() {      function checkUniqueKey() {
405          $unique=true;          $unique=true;
406          //Verification des cles uniques          //Verification des cles uniques
# Line 442  class om_dbform extends dbForm { Line 444  class om_dbform extends dbForm {
444          }          }
445      }      }
446    
   
   
447      /**      /**
448       * 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
449       *       *
# Line 451  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 477  class om_dbform extends dbForm { Line 477  class om_dbform extends dbForm {
477          }          }
478      }      }
479    
   
   
480      /**      /**
481       * Methode de verification des contraintes not null,       * Methode de verification des contraintes not null,
482       * affiche une erreur si nul.       * affiche une erreur si nul.
# Line 488  class om_dbform extends dbForm { Line 486  class om_dbform extends dbForm {
486      function checkRequired() {      function checkRequired() {
487          foreach($this->required_field as $field) {          foreach($this->required_field as $field) {
488              //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
489    
490              // la cle primaire est automatiquement cree              // la cle primaire est automatiquement cree
491              if ($field == $this->clePrimaire) {              if ($field == $this->clePrimaire) {
492                  continue;                  continue;
# Line 516  class om_dbform extends dbForm { Line 515  class om_dbform extends dbForm {
515              */              */
516              if ($this->getParameter('maj') == 0 and              if ($this->getParameter('maj') == 0 and
517                  (!isset($this->valF[$field]) or $this->valF[$field] == '')) {                  (!isset($this->valF[$field]) or $this->valF[$field] == '')) {
518    
519                  $error = true;                  $error = true;
520                  $this->correct = false;                  $this->correct = false;
521    
# Line 554  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] == '') {
557    
558                  $error = true;                  $error = true;
559                  $this->correct = false;                  $this->correct = false;
560              }              }
# Line 640  class om_dbform extends dbForm { Line 641  class om_dbform extends dbForm {
641       * 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
642       */       */
643      function dateDBToForm($date) {      function dateDBToForm($date) {
644          $date = new DateTime($this->valF['date_demande']);          if($date == "") {
645          return $date->format('d/m/Y');              return "";
646            }
647            $dateFormat = new DateTime($date);
648            return $dateFormat->format('d/m/Y');
649      }      }
650            
651        
652        function init_select(&$form = null, &$db = null, $maj, $debug, $field, $sql,
653                             $sql_by_id, $om_validite = false, $multiple = false) {
654    
655            // MODE AJOUTER et MODE MODIFIER
656            if ($maj < 2) {
657    
658                $contenu = array();
659                $res = $db->query($sql);
660                $this->addToLog("setSelect(): db->query(\"".$sql."\");", VERBOSE_MODE);
661                // verification d'une eventuelle erreur
662                if (database::isError($res)) {
663                    die($res->getMessage().$sql);
664                } else {
665                    // Initialisation du select
666                    $contenu[0][0] = '';
667                    $contenu[1][0] = _('choisir')."&nbsp;"._($field);
668                    //
669                    $k=1;
670                    while($row =& $res->fetchRow()){
671                        $contenu[0][$k] = $row[0];
672                        $contenu[1][$k] = $row[1];
673                        $k++;
674                    }
675                    // gestion des objets a date de validite
676                    if ($om_validite == true) {
677    
678                        // ajout de la valeur manquante a $contenu si necessaire
679                        if ($maj == 1) {
680    
681                            if (!in_array($this->form->val[$field], $contenu[0])) {
682    
683                                //
684                                $this->getSelectOldValue($form, $maj, $db, $contenu,
685                                                         $sql_by_id, $field);
686                            } else {
687    
688                                $empty = true;
689                                foreach ($this->form->val as $f => $value) {
690                                    if (!empty($value)) {
691                                        $empty = false;
692                                    }
693                                }
694    
695                                //
696                                if ($empty == true and
697                                    $_POST[$field] != '') {
698    
699                                    $this->getSelectOldValue($form, $maj, $db,
700                                                             $contenu, $sql_by_id,
701                                                             $field,
702                                                             $_POST[$field]);
703                                }
704                            }
705                        }
706                    }
707    
708                    //
709                    $form->setSelect($field, $contenu);
710                }
711            }
712    
713            // MODE SUPPRIMER et MODE CONSULTER
714            if ($maj == 2 or $maj == 3) {
715                // Initialisation du select
716                $contenu[0][0] = '';
717                $contenu[1][0] = '';
718    
719                if (isset($this->form->val[$field]) and
720                    !empty($this->form->val[$field]) and $sql_by_id) {
721                    //
722                    if ($multiple == true) {
723                        $val_field = "'".str_replace(",", "','",$this->form->val[$field])."'";
724                    } else {
725                        $val_field = $this->form->val[$field];
726                    }
727    
728                    // ajout de l'identifiant recherche a la requete
729                    $sql_by_id = str_replace('<idx>', $val_field, $sql_by_id);
730    
731                    // execution
732                    $result = $db->query($sql_by_id);
733                    $this->addToLog("setSelect(): db->query(".$sql_by_id.");", VERBOSE_MODE);
734                    if (database::isError($result)) {
735                       die($result->getMessage().$sql_by_id);
736                    }
737    
738                    $row =& $result->fetchRow();
739                    $contenu[0][0] = $row[0];
740                    $contenu[1][0] = $row[1];
741                    
742                    $k=1;
743                    while($row =& $result->fetchRow()){
744                        $contenu[0][$k] = $row[0];
745                        $contenu[1][$k] = $row[1];
746                        $k++;
747                    }
748                }
749    
750                $form->setSelect($field, $contenu);
751            }
752        }
753    
754        // {{{ SURCHARGES DES LIBELLES DES BOUTONS
755    
756                           /**
757         * Cette methode permet d'afficher le bouton de validation du formulaire
758         *
759         * @param integer $maj Mode de mise a jour
760         * @return void
761         */
762        function bouton($maj) {
763    
764            if (!$this->correct) {
765                //
766                if ($maj == 2) {
767                    $bouton = _("Supprimer");
768                } else {
769                    if ($maj == 1) {
770                        $bouton = _("Modifier");
771                    } else {
772                        $bouton = _("Ajouter");
773                    }
774                }
775                ////
776                //$bouton .= "&nbsp;"._("l'enregistrement de la table")."&nbsp;:";
777                //$bouton .= "&nbsp;'"._($this->table)."'";
778                //
779                $params = array(
780                    "value" => $bouton,
781                    "class" => "btn btn-primary",
782                );
783                //
784                $this->f->layout->display_form_button($params);
785            }
786    
787        }
788    
789        /**
790         *
791         */
792        function boutonsousformulaire($datasubmit, $maj, $val=null) {
793    
794            if (!$this->correct) {
795                //
796                switch ($maj) {
797                    case 0:
798                        $bouton = _("Ajouter");
799                        break;
800                    case 1:
801                        $bouton = _("Modifier");
802                        break;
803                    case 2:
804                        $bouton = _("Supprimer");
805                        break;
806                }
807                ////
808                //$bouton .= "&nbsp;"._("l'enregistrement de la table")."&nbsp;:";
809                //$bouton .= "&nbsp;'"._($this->table)."'";
810                //
811                $params = array(
812                    "class" => "",
813                    "value" => $bouton,
814                    "onclick" => "affichersform('".get_class($this)."', '$datasubmit', this.form);return false;",
815                );
816                //
817                $this->f->layout->display_form_button($params);
818            }
819    
820        }
821        // }}}
822  }  }
823    
824  ?>  ?>

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26