/[openfoncier]/branches/3.14.0-b13/obj/utils.class.php
ViewVC logotype

Diff of /branches/3.14.0-b13/obj/utils.class.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2282 by softime, Thu Sep 12 10:14:50 2013 UTC revision 2450 by vpihour, Thu Nov 7 18:56:52 2013 UTC
# Line 615  class utils extends application { Line 615  class utils extends application {
615          }          }
616      }      }
617    
618        /**
619         * Permet de vérifier que des champs existe dans une table
620         * @param  array  $list_fields Liste des champs à tester
621         * @param  string $table       Table où les champs doivent exister
622         * @return mixed               Retourne les champs qui n'existent pas
623         *                             ou true
624         */
625        public function check_field_exist($list_fields, $table) {
626    
627            // Requête SQL pour récupérer le nom des colonnes
628            $sql = "SELECT column_name
629                    FROM information_schema.columns
630                    WHERE table_schema = '".substr(DB_PREFIXE, 0, -1)."'
631                    AND table_name = '".$table."'
632                    ORDER BY ordinal_position";
633            $this->addToLog("check_field_exist() : db->query(\"".$sql."\")", VERBOSE_MODE);
634            $res = $this->db->query($sql);
635            $this->isDatabaseError($res);
636    
637            // Tant qu'il y a un résultat
638            while ($row = &$res->fetchRow(DB_FETCHMODE_ASSOC)) {
639                
640                // Le nom de la colonne est mise dans un tableau
641                $list_column[] = $row['column_name'];
642            }
643    
644            // Tableau des champs en erreur
645            $error_fields = array();
646    
647            // Pour chaque champ à tester
648            foreach ($list_fields as $value) {
649                
650                // S'il n'apparaît pas dans la liste des champs possible
651                if (!in_array($value, $list_column)) {
652    
653                    // Alors le champ est ajouté au tableau des erreurs
654                    $error_fields[] = $value;
655                }
656            }
657    
658            // Si le tableau des erreurs n'est pas vide on le retourne
659            if (count($error_fields) > 0) {
660                return $error_fields;
661            }
662    
663            // Sinon on retourne le booléen true
664            return true;
665    
666        }
667    
668        /*
669         *
670         */
671        /**
672         * Récupère la lettre type lié à un événement
673         * @param  integer  $evenement L'identifiant de l'événement
674         * @return integer             Retourne l'idenfiant de la lettre-type                             ou true
675         */
676        function getLettreType($evenement){
677            
678             $lettretype = NULL;
679            
680             $sql =
681                "SELECT
682                    lettretype
683                FROM
684                    ".DB_PREFIXE."evenement
685                WHERE
686                    evenement = $evenement";
687                
688            $this->addToLog("getLettreType() : db->query(\"".$sql."\")", VERBOSE_MODE);
689            $res = $this->db->query($sql);
690            if ( database::isError($res)){
691                die();
692            }
693            
694            if ( $res->numrows() > 0 ){
695                    
696                $row=& $res->fetchRow(DB_FETCHMODE_ASSOC);
697                $lettretype = $row['lettretype'];
698            }
699          
700            return $lettretype;
701        }
702        
703        /**
704         * Retourne le type de dossier d'autorisation du dossier courant :
705         * @param $idxDossier Le numéro du dossier d'instruction
706         * @return le code du type détaillée de dossier d'autorisation
707         **/
708        function getDATDCode($idxDossier) {
709            $sql = "SELECT dossier_autorisation_type_detaille.code
710                    FROM ".DB_PREFIXE."dossier_autorisation_type_detaille
711                    INNER JOIN ".DB_PREFIXE."dossier_autorisation
712                        ON dossier_autorisation_type_detaille.dossier_autorisation_type_detaille =
713                           dossier_autorisation.dossier_autorisation_type_detaille
714                    INNER JOIN ".DB_PREFIXE."dossier ON dossier.dossier_autorisation = dossier_autorisation.dossier_autorisation
715                    WHERE dossier.dossier = '".$idxDossier."'";
716            $res = $this->db->getOne($sql);
717            $this->addToLog("getDATDCode() : db->getOne(\"".$sql."\")", VERBOSE_MODE);
718            if ( database::isError($res)){
719                die();
720            }
721            return $res;
722        }
723  }  }
724    
725  ?>  ?>

Legend:
Removed from v.2282  
changed lines
  Added in v.2450

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26