/[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 1920 by softime, Mon May 27 16:16:35 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 151  class om_dbform extends dbForm { Line 152  class om_dbform extends dbForm {
152                  }                  }
153              }              }
154          }          }
         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();  
         }  
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       * 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
166       * la base de donnees.       * la base de donnees.
# Line 201  class om_dbform extends dbForm { Line 193  class om_dbform extends dbForm {
193              // l'enregistrement n'existe pas encore donc il n'a pas              // l'enregistrement n'existe pas encore donc il n'a pas
194              // d'identifiant              // d'identifiant
195              $this->triggerajouter("", $db, $val, $DEBUG);              $this->triggerajouter("", $db, $val, $DEBUG);
196              // Execution de la requete d'insertion des donnees de l'attribut              //Traitement des fichiers uploadé
197              // valF de l'objet dans l'attribut table de l'objet              $retTraitementFichier = $this->traitementFichierUpload();
198              $res = $db->autoExecute(DB_PREFIXE.$this->table, $this->valF, DB_AUTOQUERY_INSERT);              if($retTraitementFichier === true) {
199              // Si une erreur survient                  // Execution de la requete d'insertion des donnees de l'attribut
200              if (database::isError($res, true)) {                  // valF de l'objet dans l'attribut table de l'objet
201                  // Appel de la methode de recuperation des erreurs                  $res = $db->autoExecute(DB_PREFIXE.$this->table, $this->valF, DB_AUTOQUERY_INSERT);
202                  $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');                  // Si une erreur survient
203                    if (database::isError($res, true)) {
204                        // Appel de la methode de recuperation des erreurs
205                        $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');
206                    } else {
207                        // Log
208                        $this->addToLog(_("Requete executee"), VERBOSE_MODE);
209                        // Log
210                        $message = _("Enregistrement")." ".$this->valF[$this->clePrimaire]." ";
211                        $message .= _("de la table")." \"".$this->table."\" ";
212                        $message .= "[ ".$db->affectedRows()." ";
213                        $message .= _("enregistrement(s) ajoute(s)")." ]";
214                        $this->addToLog($message, VERBOSE_MODE);
215                        // Message de validation
216                        $this->addToMessage(_("Vos modifications ont bien ete enregistrees.")."<br/>");
217                        // Mise en place du verrou pour ne pas valider plusieurs fois
218                        // le meme formulaire
219                        $this->verrouille();
220                        // Execution du trigger 'after' specifique au MODE 'insert'
221                        // Le premier parametre est vide car en MODE 'insert'
222                        // l'enregistrement n'existe pas encore donc il n'a pas
223                        // d'identifiant
224                        $this->triggerajouterapres("", $db, $val, $DEBUG);
225                    }
226              } else {              } else {
227                  // Log                  $this->correct = false;
228                  $this->addToLog(_("Requete executee"), VERBOSE_MODE);                  $this->addToMessage($retTraitementFichier);
229                  // Log                  $this->addToMessage(_("SAISIE NON ENREGISTREE"));
                 if(isset($val[$this->clePrimaire])) // ***  
                     $id = $val[$this->clePrimaire];  
                 else  
                     $id=$this->id;  
                 $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);  
230              }              }
231          } else {          } else {
232              // Message d'echec (saut d'une ligne supplementaire avant le              // Message d'echec (saut d'une ligne supplementaire avant le
# Line 242  class om_dbform extends dbForm { Line 237  class om_dbform extends dbForm {
237          $this->addToLog("ajouter() - end", EXTRA_VERBOSE_MODE);          $this->addToLog("ajouter() - end", EXTRA_VERBOSE_MODE);
238      }      }
239    
   
     /**  
      *  
      * @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 />");  
                 }  
             }  
         }  
     }  
   
       
240      /**      /**
241       * Cette methode permet d'executer la modification (MODE 'update') de       * Cette methode permet d'executer la modification (MODE 'update') de
242       * l'objet dans la base de donnees.       * l'objet dans la base de donnees.
# Line 289  class om_dbform extends dbForm { Line 246  class om_dbform extends dbForm {
246       * @param boolean $DEBUG Mode debug (@deprecated)       * @param boolean $DEBUG Mode debug (@deprecated)
247       */       */
248      function modifier($val = array(), &$db = NULL, $DEBUG = false) {      function modifier($val = array(), &$db = NULL, $DEBUG = false) {
   
249          // Logger          // Logger
250          $this->addToLog("modifier() - begin", EXTRA_VERBOSE_MODE);          $this->addToLog("modifier() - begin", EXTRA_VERBOSE_MODE);
251          // Recuperation de la valeur de la cle primaire de l'objet          // Recuperation de la valeur de la cle primaire de l'objet
# Line 309  class om_dbform extends dbForm { Line 265  class om_dbform extends dbForm {
265          if ($this->correct) {          if ($this->correct) {
266              // Execution du trigger 'before' specifique au MODE 'update'              // Execution du trigger 'before' specifique au MODE 'update'
267              $this->triggermodifier($id, $db, $val, $DEBUG);              $this->triggermodifier($id, $db, $val, $DEBUG);
268              // Execution de la requête de modification des donnees de l'attribut              //Traitement des fichiers uploadé
269              // valF de l'objet dans l'attribut table de l'objet              $retTraitementFichier = $this->traitementFichierUpload();
270              $res = $db->autoExecute(DB_PREFIXE.$this->table, $this->valF, DB_AUTOQUERY_UPDATE, $this->getCle($id));              if($retTraitementFichier === true) {
271              // Si une erreur survient                  // Execution de la requête de modification des donnees de l'attribut
272              if (database::isError($res, true)) {                  // valF de l'objet dans l'attribut table de l'objet
273                  // Appel de la methode de recuperation des erreurs                  $res = $db->autoExecute(DB_PREFIXE.$this->table, $this->valF, DB_AUTOQUERY_UPDATE, $this->getCle($id));
274                  $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');                  // Si une erreur survient
275              } else {                  if (database::isError($res, true)) {
276                  // Log                      // Appel de la methode de recuperation des erreurs
277                  $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/>");  
278                  } else {                  } else {
279                      $this->addToMessage(_("Vos modifications ont bien ete enregistrees.")."<br/>");                      // Log
280                        $this->addToLog(_("Requete executee"), VERBOSE_MODE);
281                        // Log
282                        $message = _("Enregistrement")."&nbsp;".$id."&nbsp;";
283                        $message .= _("de la table")."&nbsp;\"".$this->table."\"&nbsp;";
284                        $message .= "[&nbsp;".$db->affectedRows()."&nbsp;";
285                        $message .= _("enregistrement(s) mis a jour")."&nbsp;]";
286                        $this->addToLog($message, VERBOSE_MODE);
287                        // Message de validation
288                        if ($db->affectedRows() == 0) {
289                            $this->addToMessage(_("Attention vous n'avez fait aucune modification.")."<br/>");
290                        } else {
291                            $this->addToMessage(_("Vos modifications ont bien ete enregistrees.")."<br/>");
292                        }
293                        // Mise en place du verrou pour ne pas valider plusieurs fois
294                        // le meme formulaire
295                        $this->verrouille();
296                        // Execution du trigger 'after' specifique au MODE 'update'
297                        $this->triggermodifierapres($id, $db, $val, $DEBUG);
298                  }                  }
299                  // Mise en place du verrou pour ne pas valider plusieurs fois              } else {
300                  // le meme formulaire                  $this->correct = false;
301                  $this->verrouille();                  $this->addToMessage($retTraitementFichier);
302                                $this->addToMessage(_("SAISIE NON ENREGISTREE"));
                 // Execution du trigger 'after' specifique au MODE 'update'  
                 $this->triggermodifierapres($id, $db, $val, $DEBUG);  
303              }              }
304          } else {          } else {
305              // Message d'echec (saut d'une ligne supplementaire avant le              // Message d'echec (saut d'une ligne supplementaire avant le
# Line 347  class om_dbform extends dbForm { Line 310  class om_dbform extends dbForm {
310          $this->addToLog("modifier() - end", EXTRA_VERBOSE_MODE);          $this->addToLog("modifier() - end", EXTRA_VERBOSE_MODE);
311      }      }
312    
   
313      /**      /**
314       * Cette methode permet d'executer la suppression (MODE 'delete') de       * Cette methode permet d'executer la suppression (MODE 'delete') de
315       * l'objet dans la base de donnees.       * l'objet dans la base de donnees.
# Line 375  class om_dbform extends dbForm { Line 337  class om_dbform extends dbForm {
337          if ($this->correct) {          if ($this->correct) {
338              // Execution du trigger 'before' specifique au MODE 'delete'              // Execution du trigger 'before' specifique au MODE 'delete'
339              $this->triggersupprimer($id, $db, $val, $DEBUG);              $this->triggersupprimer($id, $db, $val, $DEBUG);
340              // Construction de la requete de suppression de l'objet dans              //Traitement des fichiers uploadé
341              // l'attribut table de l'objet              $retTraitementFichier = $this->traitementFichierUpload();
342              $sql = "delete from ".DB_PREFIXE.$this->table." where ".$this->getCle($id);              if($retTraitementFichier === true) {
343              // Execution de la requete de suppression de l'objet                  // Construction de la requete de suppression de l'objet dans
344              $res = $db->query($sql);                  // l'attribut table de l'objet
345              // Logger                  $sql = "delete from ".DB_PREFIXE.$this->table." where ".$this->getCle($id);
346              $this->addToLog("supprimer(): db->query(\"".$sql."\");", VERBOSE_MODE);                  // Execution de la requete de suppression de l'objet
347              // Si une erreur survient                  $res = $db->query($sql);
348              if (database::isError($res, true)) {                  // Logger
349                  // Appel de la methode de recuperation des erreurs                  $this->addToLog("supprimer(): db->query(\"".$sql."\");", VERBOSE_MODE);
350                  $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');                  // Si une erreur survient
351                    if (database::isError($res, true)) {
352                        // Appel de la methode de recuperation des erreurs
353                        $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');
354                    } else {
355                        // Log
356                        $message = _("Enregistrement")."&nbsp;".$id."&nbsp;";
357                        $message .= _("de la table")."&nbsp;\"".$this->table."\"&nbsp;";
358                        $message .= "[&nbsp;".$db->affectedRows()."&nbsp;";
359                        $message .= _("enregistrement(s) supprime(s)")."&nbsp;]";
360                        $this->addToLog($message, VERBOSE_MODE);
361                        // Message de validation
362                        $this->addToMessage(_("La suppression a ete correctement effectuee.")."<br/>");
363                        // Mise en place du verrou pour ne pas valider plusieurs fois
364                        // le meme formulaire
365                        $this->verrouille();
366                        // Execution du trigger 'after' specifique au MODE 'delete'
367                        $this->triggersupprimerapres($id, $db, $val, $DEBUG);
368                    }
369              } else {              } else {
370                  // Log                  $this->correct = false;
371                  $message = _("Enregistrement")."&nbsp;".$id."&nbsp;";                  $this->addToMessage($retTraitementFichier);
372                  $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);  
373              }              }
374          } else {          } else {
375              // Message d'echec (saut d'une ligne supplementaire avant le              // Message d'echec (saut d'une ligne supplementaire avant le
# Line 411  class om_dbform extends dbForm { Line 380  class om_dbform extends dbForm {
380          $this->addToLog("supprimer() - end", EXTRA_VERBOSE_MODE);          $this->addToLog("supprimer() - end", EXTRA_VERBOSE_MODE);
381      }      }
382    
       
       
383      /**      /**
384       * 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,
385       * ainsi que l'unicite de la cle multiple unique_multiple_key.       * ainsi que l'unicite de la cle multiple unique_multiple_key.
386       *       *
387       * @param objet $db Objet Base de donnees       * @param objet $db Objet Base de donnees
388       */       */
389    
390      function checkUniqueKey() {      function checkUniqueKey() {
391          $unique=true;          $unique=true;
392          //Verification des cles uniques          //Verification des cles uniques
# Line 462  class om_dbform extends dbForm { Line 430  class om_dbform extends dbForm {
430          }          }
431      }      }
432    
   
   
433      /**      /**
434       * 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
435       *       *
# Line 497  class om_dbform extends dbForm { Line 463  class om_dbform extends dbForm {
463          }          }
464      }      }
465    
   
   
466      /**      /**
467       * Methode de verification des contraintes not null,       * Methode de verification des contraintes not null,
468       * affiche une erreur si nul.       * affiche une erreur si nul.
# Line 508  class om_dbform extends dbForm { Line 472  class om_dbform extends dbForm {
472      function checkRequired() {      function checkRequired() {
473          foreach($this->required_field as $field) {          foreach($this->required_field as $field) {
474              //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
475    
476              // la cle primaire est automatiquement cree              // la cle primaire est automatiquement cree
477              if ($field == $this->clePrimaire) {              if ($field == $this->clePrimaire) {
478                  continue;                  continue;
# Line 536  class om_dbform extends dbForm { Line 501  class om_dbform extends dbForm {
501              */              */
502              if ($this->getParameter('maj') == 0 and              if ($this->getParameter('maj') == 0 and
503                  (!isset($this->valF[$field]) or $this->valF[$field] == '')) {                  (!isset($this->valF[$field]) or $this->valF[$field] == '')) {
504    
505                  $error = true;                  $error = true;
506                  $this->correct = false;                  $this->correct = false;
507    
# Line 574  class om_dbform extends dbForm { Line 540  class om_dbform extends dbForm {
540              } elseif ($this->getParameter('maj') == 1              } elseif ($this->getParameter('maj') == 1
541                         and isset($this->valF[$field])                         and isset($this->valF[$field])
542                         and $this->valF[$field] == '') {                         and $this->valF[$field] == '') {
543    
544                  $error = true;                  $error = true;
545                  $this->correct = false;                  $this->correct = false;
546              }              }
# Line 603  class om_dbform extends dbForm { Line 570  class om_dbform extends dbForm {
570          if ($this->msg != "") {          if ($this->msg != "") {
571    
572              //              //
             $m = new message();  
   
             //  
573              if ($this->correct) {              if ($this->correct) {
574                  $class = "valid";                  $class = "valid";
575              } else {              } else {
576                  $class = "error";                  $class = "error";
577              }              }
578              $m->displayMessage($class, $this->msg);              $this->f->displayMessage($class, $this->msg);
579    
580          }          }
581    
# Line 659  class om_dbform extends dbForm { Line 623  class om_dbform extends dbForm {
623          }          }
624      }      }
625    
626        /**
627         * Méthode pour convertir une date Y-m-d en d/m/Y
628         */
629        function dateDBToForm($date) {
630            if($date == "") {
631                return "";
632            }
633            $dateFormat = new DateTime($date);
634            return $dateFormat->format('d/m/Y');
635        }
636        
637        
638        function init_select(&$form = null, &$db = null, $maj, $debug, $field, $sql,
639                             $sql_by_id, $om_validite = false, $multiple = false) {
640    
641            // MODE AJOUTER et MODE MODIFIER
642            if ($maj < 2) {
643    
644                $contenu = array();
645                $res = $db->query($sql);
646                $this->addToLog("setSelect(): db->query(\"".$sql."\");", VERBOSE_MODE);
647                // verification d'une eventuelle erreur
648                if (database::isError($res)) {
649                    die($res->getMessage().$sql);
650                } else {
651                    // Initialisation du select
652                    $contenu[0][0] = '';
653                    $contenu[1][0] = _('choisir')."&nbsp;"._($field);
654                    //
655                    $k=1;
656                    while($row =& $res->fetchRow()){
657                        $contenu[0][$k] = $row[0];
658                        $contenu[1][$k] = $row[1];
659                        $k++;
660                    }
661                    // gestion des objets a date de validite
662                    if ($om_validite == true) {
663    
664                        // ajout de la valeur manquante a $contenu si necessaire
665                        if ($maj == 1) {
666    
667                            if (!in_array($this->form->val[$field], $contenu[0])) {
668    
669                                //
670                                $this->getSelectOldValue($form, $maj, $db, $contenu,
671                                                         $sql_by_id, $field);
672                            } else {
673    
674                                $empty = true;
675                                foreach ($this->form->val as $f => $value) {
676                                    if (!empty($value)) {
677                                        $empty = false;
678                                    }
679                                }
680    
681                                //
682                                if ($empty == true and
683                                    $_POST[$field] != '') {
684    
685                                    $this->getSelectOldValue($form, $maj, $db,
686                                                             $contenu, $sql_by_id,
687                                                             $field,
688                                                             $_POST[$field]);
689                                }
690                            }
691                        }
692                    }
693    
694                    //
695                    $form->setSelect($field, $contenu);
696                }
697            }
698    
699            // MODE SUPPRIMER et MODE CONSULTER
700            if ($maj == 2 or $maj == 3) {
701                // Initialisation du select
702                $contenu[0][0] = '';
703                $contenu[1][0] = '';
704    
705                if (isset($this->form->val[$field]) and
706                    !empty($this->form->val[$field]) and $sql_by_id) {
707                    //
708                    if ($multiple == true) {
709                        $val_field = "'".str_replace(",", "','",$this->form->val[$field])."'";
710                    } else {
711                        $val_field = $this->form->val[$field];
712                    }
713    
714                    // ajout de l'identifiant recherche a la requete
715                    $sql_by_id = str_replace('<idx>', $val_field, $sql_by_id);
716    
717                    // execution
718                    $result = $db->query($sql_by_id);
719                    $this->addToLog("setSelect(): db->query(".$sql_by_id.");", VERBOSE_MODE);
720                    if (database::isError($result)) {
721                       die($result->getMessage().$sql_by_id);
722                    }
723    
724                    $row =& $result->fetchRow();
725                    $contenu[0][0] = $row[0];
726                    $contenu[1][0] = $row[1];
727                    
728                    $k=1;
729                    while($row =& $result->fetchRow()){
730                        $contenu[0][$k] = $row[0];
731                        $contenu[1][$k] = $row[1];
732                        $k++;
733                    }
734                }
735    
736                $form->setSelect($field, $contenu);
737            }
738        }
739    
740        // {{{ SURCHARGES DES LIBELLES DES BOUTONS
741    
742                           /**
743         * Cette methode permet d'afficher le bouton de validation du formulaire
744         *
745         * @param integer $maj Mode de mise a jour
746         * @return void
747         */
748        function bouton($maj) {
749    
750            if (!$this->correct) {
751                //
752                if ($maj == 2) {
753                    $bouton = _("Supprimer");
754                } else {
755                    if ($maj == 1) {
756                        $bouton = _("Modifier");
757                    } else {
758                        $bouton = _("Ajouter");
759                    }
760                }
761                ////
762                //$bouton .= "&nbsp;"._("l'enregistrement de la table")."&nbsp;:";
763                //$bouton .= "&nbsp;'"._($this->table)."'";
764                //
765                $params = array(
766                    "value" => $bouton,
767                    "class" => "btn btn-primary",
768                );
769                //
770                $this->f->layout->display_form_button($params);
771            }
772    
773        }
774    
775        /**
776         *
777         */
778        function boutonsousformulaire($datasubmit, $maj, $val=null) {
779    
780            if (!$this->correct) {
781                //
782                switch ($maj) {
783                    case 0:
784                        $bouton = _("Ajouter");
785                        break;
786                    case 1:
787                        $bouton = _("Modifier");
788                        break;
789                    case 2:
790                        $bouton = _("Supprimer");
791                        break;
792                }
793                ////
794                //$bouton .= "&nbsp;"._("l'enregistrement de la table")."&nbsp;:";
795                //$bouton .= "&nbsp;'"._($this->table)."'";
796                //
797                $params = array(
798                    "class" => "",
799                    "value" => $bouton,
800                    "onclick" => "affichersform('".get_class($this)."', '$datasubmit', this.form);return false;",
801                );
802                //
803                $this->f->layout->display_form_button($params);
804            }
805    
806        }
807        // }}}
808  }  }
809    
810  ?>  ?>

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26