/[openfoncier]/trunk/obj/utils.class.php
ViewVC logotype

Diff of /trunk/obj/utils.class.php

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

revision 675 by nhaye, Tue Nov 13 11:23:15 2012 UTC revision 686 by fmichon, Wed Nov 14 12:50:34 2012 UTC
# Line 37  require_once PATH_OPENMAIRIE."om_applica Line 37  require_once PATH_OPENMAIRIE."om_applica
37   */   */
38  class utils extends application {  class utils extends application {
39    
40                // {{{
41    
42        // Ajout de variables de session contenant la division pour permettre une
43        // utilisation plus efficace dans les requetes
44        function triggerAfterLogin($utilisateur = NULL) {
45            //
46            $sql = "SELECT instructeur.division, division.code
47            FROM ".DB_PREFIXE."instructeur
48            LEFT JOIN ".DB_PREFIXE."division
49            ON instructeur.division = division.division
50            WHERE instructeur.om_utilisateur='".$utilisateur["om_utilisateur"]."'";
51            $res = $this->db->query($sql);
52            $this->addToLog("triggerAfterLogin(): db->query(\"".$sql."\");", VERBOSE_MODE);
53            $this->isDatabaseError($res);
54            $row = $res->fetchrow(DB_FETCHMODE_ASSOC);
55            //
56            if (isset($row["division"]) && $row["division"] != NULL) {
57                $_SESSION["division"] = $row["division"];
58                $_SESSION["division_code"] = $row["code"];
59            } else {
60                $_SESSION["division"] = "0";
61                $_SESSION["division_code"] = "";
62            }
63    
64        }    
65    
66        // Affichage des actions supplémentaires
67        function displayActionExtras() {
68            // Affichage de la division si l'utilisateur en possède une
69            if ($_SESSION["division"] != 0) {
70                echo "\t\t\t<li class=\"action-division\">";
71                echo "(".$_SESSION['division_code'].")";
72                echo "</li>\n";
73            }
74        }
75        
76        // }}}
77    
78    
79        var $om_utilisateur = array();
80        var $user_is_instr = false;
81        var $user_is_service_ext = false;
82        
83        /**
84         * Surcharge du constructeur de la classe
85         */
86        function __construct($flag = NULL, $right = NULL, $title = NULL, $icon = NULL, $help = NULL) {
87            parent::__construct($flag, $right, $title, $icon, $help);
88            $this->getUserInfos();
89        }
90      /**      /**
91       * Desctructeur de la classe, cette methode (appelee automatiquement)       * Desctructeur de la classe, cette methode (appelee automatiquement)
92       * permet d'afficher le footer de la page, le footer HTML, et de       * permet d'afficher le footer de la page, le footer HTML, et de
# Line 501  class utils extends application { Line 550  class utils extends application {
550          fclose($file);          fclose($file);
551          return true;          return true;
552      }      }
553        
554        /**
555         *
556         */
557        function notExistsError ($explanation = NULL) {
558            // message
559            $message_class = "error";
560            $message = _("Cette page n'existe pas.");
561            $this->addToMessage ($message_class, $message);
562            //
563            $this->setFlag(NULL);
564            $this->display();
565            
566            //
567            die();
568        }
569        
570        /**
571         * Méthode de récupération des informations de l'utilisateur connecté.
572         */
573        function getUserInfos() {
574            
575            // Si l'utilisateur est loggé $_SESSION existe
576            if(isset($_SESSION['login']) AND !empty($_SESSION['login'])) {
577                
578                // Récupération des infos utilisateur
579                $sqlUser = "SELECT om_utilisateur, nom, email, login, om_collectivite, om_profil ".
580                "FROM om_utilisateur WHERE login = '".$_SESSION['login']."'";
581                $resUser=$this->db->query($sqlUser);
582                $this->addToLog("getUserInfos(): db->query(\"".$sqlUser."\");", VERBOSE_MODE);
583                $this->isDatabaseError($resUser);
584                $this->om_utilisateur=&$resUser->fetchRow(DB_FETCHMODE_ASSOC);
585                
586                // Récupération des infos instructeur
587                $sqlInstr = "SELECT instructeur.instructeur, instructeur.nom, instructeur.telephone, division.code, division.libelle ".
588                "FROM instructeur INNER JOIN division ON division.division=instructeur.division ".
589                "WHERE instructeur.om_utilisateur = ".$this->om_utilisateur['om_utilisateur'];
590                $resInstr=$this->db->query($sqlInstr);
591                $this->addToLog("getUserInfos(): db->query(\"".$sqlInstr."\");", VERBOSE_MODE);
592                $this->isDatabaseError($resInstr);
593                $tempInstr=&$resInstr->fetchRow(DB_FETCHMODE_ASSOC);
594                // Si il y a un resultat c'est un instructeur
595                if(count($tempInstr)>0) {
596                    $this->user_is_instr=true;
597                    $this->om_utilisateur = array_merge($this->om_utilisateur,$tempInstr);
598                }
599                
600                // Récupération des infos de services ext consultés
601                $sqlServExt = "SELECT service.service, service.abrege, service.libelle ".
602                "FROM service ".
603                "INNER JOIN lien_service_om_utilisateur ON lien_service_om_utilisateur.service=service.service ".
604                "WHERE lien_service_om_utilisateur.om_utilisateur = ".$this->om_utilisateur['om_utilisateur'];
605                $resServExt=$this->db->query($sqlServExt);
606                $this->addToLog("getUserInfos(): db->query(\"".$sqlServExt."\");", VERBOSE_MODE);
607                $this->isDatabaseError($resServExt);
608                
609                while ($tempServExt=&$resServExt->fetchRow(DB_FETCHMODE_ASSOC)) {
610                    $this->om_utilisateur['service'][]=$tempServExt;
611                }
612                // Si il y a un resultat c'est un utilisateur de service
613                if(isset($this->om_utilisateur['service'])) {
614                    $this->user_is_service_ext=true;
615                }
616            }
617        }
618        
619        /**
620         * getter user_is_service_ext
621         */
622        function isUserServiceExt() {
623            return $this->user_is_service_ext;
624        }
625        /**
626         * getter user_is_instr
627         */
628        function isUserInstructeur() {
629            return $this->user_is_instr;
630        }
631  }  }
632    
633  ?>  ?>

Legend:
Removed from v.675  
changed lines
  Added in v.686

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26