/[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 11875 by softime, Thu Mar 3 17:52:44 2022 UTC revision 11876 by softime, Thu Apr 7 20:47:38 2022 UTC
# Line 353  class utils extends application { Line 353  class utils extends application {
353      var $om_utilisateur = array();      var $om_utilisateur = array();
354      var $user_is_instr = NULL;      var $user_is_instr = NULL;
355      var $user_is_service = NULL;      var $user_is_service = NULL;
356        public $user_is_tiers = NULL;
357      var $user_is_admin = NULL;      var $user_is_admin = NULL;
358      var $user_is_service_ext = NULL;      var $user_is_service_ext = NULL;
359        public $user_is_tiers_ext = NULL;
360      var $user_is_qualificateur = NULL;      var $user_is_qualificateur = NULL;
361      var $user_is_chef = NULL;      var $user_is_chef = NULL;
362      var $user_is_divisionnaire = NULL;      var $user_is_divisionnaire = NULL;
363      var $user_is_service_int = NULL;      var $user_is_service_int = NULL;
364        public $user_is_tiers_int = NULL;
365    
366      /**      /**
367       * Méthode de récupération des informations de l'utilisateur connecté.       * Méthode de récupération des informations de l'utilisateur connecté.
# Line 411  class utils extends application { Line 414  class utils extends application {
414                  $this->user_is_service_int = false;                  $this->user_is_service_int = false;
415              }              }
416    
417                // TODO : a vérifié parce que je me contente de copier le traitement pour les services
418                // je ne sais pas si ce sera utile ou pas
419                //si c'est un tiers externe
420                if ($resProfil == "TIERS CONSULTÉ") {
421                    $this->user_is_tiers_ext = true;
422                } else {
423                    $this->user_is_tiers_ext = false;
424                }
425    
426                //si c'est un tiers interne
427                if ($resProfil == "TIERS CONSULTÉ INTERNE") {
428                    $this->user_is_tiers_int = true;
429                } else {
430                    $this->user_is_tiers_int = false;
431                }
432    
433              // si c'est un qualificateur              // si c'est un qualificateur
434              if ($resProfil == "QUALIFICATEUR") {              if ($resProfil == "QUALIFICATEUR") {
435                  $this->user_is_qualificateur = true;                  $this->user_is_qualificateur = true;
# Line 452  class utils extends application { Line 471  class utils extends application {
471              }              }
472                            
473              // Récupération des infos de services consultés              // Récupération des infos de services consultés
474              $sqlServ = "SELECT service.service, service.abrege, service.libelle ".              $sqlServ = sprintf(
475              "FROM ".DB_PREFIXE."service ".                  'SELECT
476              "INNER JOIN ".DB_PREFIXE."lien_service_om_utilisateur ON lien_service_om_utilisateur.service=service.service ".                      service.service,
477              "WHERE lien_service_om_utilisateur.om_utilisateur = ".$this->om_utilisateur['om_utilisateur'];                      service.abrege,
478              $resServ=$this->db->query($sqlServ);                      service.libelle
479                    FROM
480                        %1$sservice
481                        INNER JOIN %1$slien_service_om_utilisateur
482                            ON lien_service_om_utilisateur.service=service.service
483                    WHERE
484                        lien_service_om_utilisateur.om_utilisateur = %2$s',
485                    DB_PREFIXE,
486                    $this->om_utilisateur['om_utilisateur']
487                );
488                $resServ = $this->db->query($sqlServ);
489              $this->addToLog("getUserInfos(): db->query(\"".$sqlServ."\");", VERBOSE_MODE);              $this->addToLog("getUserInfos(): db->query(\"".$sqlServ."\");", VERBOSE_MODE);
490              if ( database::isError($resServ)){              if ( database::isError($resServ)){
491                  die();                  die();
492              }              }
493                            
494              while ($tempServ=&$resServ->fetchRow(DB_FETCHMODE_ASSOC)) {              while ($tempServ =& $resServ->fetchRow(DB_FETCHMODE_ASSOC)) {
495                  $this->om_utilisateur['service'][]=$tempServ;                  $this->om_utilisateur['service'][]=$tempServ;
496              }              }
497              // Si il y a un resultat c'est un utilisateur de service              // Si il y a un resultat c'est un utilisateur de service
# Line 471  class utils extends application { Line 500  class utils extends application {
500              } else {              } else {
501                  $this->user_is_service=false;                  $this->user_is_service=false;
502              }              }
503    
504    
505                // Récupération des infos de tiers consultés
506                $sqlTiers = sprintf(
507                    'SELECT
508                        tiers_consulte.tiers_consulte,
509                        tiers_consulte.abrege,
510                        tiers_consulte.libelle
511                    FROM
512                        %1$slien_om_utilisateur_tiers_consulte
513                        INNER JOIN %1$stiers_consulte
514                            ON lien_om_utilisateur_tiers_consulte.tiers_consulte=tiers_consulte.tiers_consulte
515                    WHERE
516                        lien_om_utilisateur_tiers_consulte.om_utilisateur = %2$s',
517                    DB_PREFIXE,
518                    $this->om_utilisateur['om_utilisateur']
519                );
520                $resTiers = $this->db->query($sqlTiers);
521                $this->addToLog("getUserInfos(): db->query(\"".$sqlTiers."\");", VERBOSE_MODE);
522                $this->isDatabaseError($resTiers);
523                
524                while ($tempTiers = $resTiers->fetchRow(DB_FETCHMODE_ASSOC)) {
525                    $this->om_utilisateur['tiers'][] = $tempTiers;
526                }
527    
528                // Si il y a un resultat c'est un utilisateur de tiers
529                $this->user_is_tiers = false;
530                if (isset($this->om_utilisateur['tiers'])) {
531                    $this->user_is_tiers = true;
532                }
533          }          }
534      }      }
535    
# Line 488  class utils extends application { Line 547  class utils extends application {
547      }      }
548    
549      /**      /**
550         * getter user_is_tiers
551         */
552        function isUserTiers() {
553            //
554            if (is_null($this->user_is_tiers)) {
555                //
556                $this->getUserInfos();
557            }
558            //
559            return $this->user_is_tiers;
560        }
561    
562        /**
563       * getter user_is_instr       * getter user_is_instr
564       */       */
565      function isUserInstructeur() {      function isUserInstructeur() {
# Line 2114  class utils extends application { Line 2186  class utils extends application {
2186      }      }
2187    
2188      /**      /**
2189         * Méthode permettant de récupérer le corps et le titre du mail de notification
2190         * selon le type de notification voulu.
2191         *
2192         * @return boolean
2193         */
2194        public function get_notification_parametre_courriel_type($om_collectivite=null, $typeNotification = 'notification_demandeur') {
2195            $paramDefaut = array(
2196                'parametre_courriel_type_titre' => __("[openADS] Notification concernant votre dossier [DOSSIER]"),
2197                'parametre_courriel_type_message' => __("Bonjour, veuillez prendre connaissance du(des) document(s) suivant(s) :<br>[LIEN_TELECHARGEMENT_DOCUMENT]<br>[LIEN_TELECHARGEMENT_ANNEXE]"),
2198            );
2199            // Il existe 3 type de notification des demandeurs. Si la notification voulu appartiens a un de ces 3 types
2200            // alors ce sont les paramétre de la notification des demandeurs qui doivent être récupéré
2201            if (in_array($typeNotification, array('notification_instruction', 'notification_recepisse', 'notification_decision'))) {
2202                $typeNotification = 'notification_demandeur';
2203            }
2204            // Construit le nom de la méthode selon le type de notification
2205            // si la méthode existe elle est appellé sinon on renvoie le message défini par défaut
2206            $method = sprintf('get_%1$s_parametre_courriel_type', $typeNotification);
2207            if (method_exists($this, $method)) {
2208                $param = $this->$method($om_collectivite);
2209                // Si le titre du message n'a pas été récupéré c'est le titre par défaut qui est utilisé
2210                $param['parametre_courriel_type_titre'] =
2211                    ! array_key_exists('parametre_courriel_type_titre', $param) ?
2212                    $paramDefaut['parametre_courriel_type_titre'] :
2213                    $param['parametre_courriel_type_titre'];
2214                // Si le corps du message n'a pas été récupéré c'est le titre par défaut qui est utilisé
2215                $param['parametre_courriel_type_message'] =
2216                    ! array_key_exists('parametre_courriel_type_message', $param) ?
2217                    $paramDefaut['parametre_courriel_type_message'] :
2218                    $param['parametre_courriel_type_message'];
2219                return $param;
2220            }
2221            return $paramDefaut;
2222        }
2223    
2224        /**
2225       * Permet de récupérer les phrases types composant la notification aux pétitionnaires.       * Permet de récupérer les phrases types composant la notification aux pétitionnaires.
2226       *       *
2227       * @param  integer $om_collectivite Identifiant de la collectivité.       * @param  integer $om_collectivite Identifiant de la collectivité.
2228       *       *
2229       * @return array                    Tableau contenant les phrases types.       * @return array                    Tableau contenant les phrases types.
2230       */       */
2231      public function get_notification_parametre_courriel_type($om_collectivite = null) {      private function get_notification_demandeur_parametre_courriel_type($om_collectivite = null) {
2232          // Phrases types par défaut          // Phrases types par défaut
2233          $result = array(          $result = array();
             'parametre_courriel_type_titre' => __("Nouveau document disponible."),  
             'parametre_courriel_type_message' => __("Un nouveau document concernant votre demande d'urbanisme est à votre disposition."),  
         );  
2234          // Récupération des paramètres          // Récupération des paramètres
2235          $parameters = $this->getCollectivite($om_collectivite);          $parameters = $this->getCollectivite($om_collectivite);
2236          // Vérification de l'existance des paramètres titre et message          // Vérification de l'existance des paramètres titre et message
# Line 2145  class utils extends application { Line 2250  class utils extends application {
2250          return $result;          return $result;
2251      }      }
2252    
2253        /**
2254         * Permet de récupérer les phrases types composant la notification aux services
2255         * consultés.
2256         *
2257         * @param  integer $om_collectivite Identifiant de la collectivité.
2258         *
2259         * @return array                    Tableau contenant les phrases types.
2260         */
2261        private function get_notification_service_consulte_parametre_courriel_type($om_collectivite = null) {
2262            // Phrases types par défaut
2263            $result = array();
2264            // Récupération des paramètres
2265            $parameters = $this->getCollectivite($om_collectivite);
2266            // Vérification de l'existance des paramètres titre et message
2267            if (isset($parameters['parametre_courriel_service_type_message']) === true
2268                && $parameters['parametre_courriel_service_type_message'] !== null
2269                && $parameters['parametre_courriel_service_type_message'] !== '') {
2270                //
2271                $result['parametre_courriel_type_message'] = $parameters['parametre_courriel_service_type_message'];
2272            }
2273            if (isset($parameters['parametre_courriel_service_type_titre']) === true
2274                && $parameters['parametre_courriel_service_type_titre'] !== null
2275                && $parameters['parametre_courriel_service_type_titre'] !== '') {
2276                //
2277                $result['parametre_courriel_type_titre'] = $parameters['parametre_courriel_service_type_titre'];
2278            }
2279            //
2280            return $result;
2281        }
2282    
2283        /**
2284         * Permet de récupérer les phrases types composant la notification aux tiers consultés.
2285         *
2286         * @param  integer $om_collectivite Identifiant de la collectivité.
2287         *
2288         * @return array                    Tableau contenant les phrases types.
2289         */
2290        private function get_notification_tiers_consulte_parametre_courriel_type($om_collectivite = null) {
2291            // Phrases types par défaut
2292            $result = array();
2293            // Récupération des paramètres
2294            $parameters = $this->getCollectivite($om_collectivite);
2295            // Vérification de l'existance des paramètres titre et message
2296            if (isset($parameters['parametre_courriel_tiers_type_message']) === true
2297                && $parameters['parametre_courriel_tiers_type_message'] !== null
2298                && $parameters['parametre_courriel_type_message'] !== '') {
2299                //
2300                $result['parametre_courriel_type_message'] = $parameters['parametre_courriel_tiers_type_message'];
2301            }
2302            if (isset($parameters['parametre_courriel_tiers_type_titre']) === true
2303                && $parameters['parametre_courriel_tiers_type_titre'] !== null
2304                && $parameters['parametre_courriel_tiers_type_titre'] !== '') {
2305                //
2306                $result['parametre_courriel_type_titre'] = $parameters['parametre_courriel_tiers_type_titre'];
2307            }
2308            //
2309            return $result;
2310        }
2311    
2312      function is_type_dossier_platau($dossier_autorisation) {      function is_type_dossier_platau($dossier_autorisation) {
2313          $inst_da = $this->get_inst__om_dbform(array(          $inst_da = $this->get_inst__om_dbform(array(
2314              "obj" => "dossier_autorisation",              "obj" => "dossier_autorisation",
# Line 2751  class utils extends application { Line 2915  class utils extends application {
2915          $footer[] = array(          $footer[] = array(
2916              "title" => __("Documentation"),              "title" => __("Documentation"),
2917              "description" => __("Acceder a l'espace documentation de l'application"),              "description" => __("Acceder a l'espace documentation de l'application"),
2918              "href" => "http://docs.openmairie.org/?project=openads&version=5.8&format=html&path=manuel_utilisateur",              "href" => "http://docs.openmairie.org/?project=openads&version=5.9&format=html&path=manuel_utilisateur",
2919              "target" => "_blank",              "target" => "_blank",
2920              "class" => "footer-documentation",              "class" => "footer-documentation",
2921          );          );
# Line 5217  class utils extends application { Line 5381  class utils extends application {
5381              //              //
5382              $where2 = sprintf(" AND %s = '%s'", $args['condition2_field'], $args['condition2_value']);              $where2 = sprintf(" AND %s = '%s'", $args['condition2_field'], $args['condition2_value']);
5383          }          }
5384            $where3 = '';
5385            if (isset($args['condition3_field']) === true
5386                && isset($args['condition3_value']) === true
5387                && $args['condition3_field'] !== ''
5388                && $args['condition3_field'] !== null
5389                && $args['condition3_value'] !== ''
5390                && $args['condition3_value'] !== null) {
5391                //
5392                $where3 = sprintf(" AND %s = '%s'", $args['condition3_field'], $args['condition3_value']);
5393            }
5394            $order = '';
5395            if (isset($args['order_field']) === true
5396                && isset($args['order_asc_desc']) === true
5397                && $args['order_field'] !== ''
5398                && $args['order_field'] !== null
5399                && $args['order_asc_desc'] !== ''
5400                && $args['order_asc_desc'] !== null) {
5401                //
5402                $order = sprintf(" ORDER BY %s %s ", $args['order_field'], $args['order_asc_desc']);
5403            }
5404          //          //
5405          $query = sprintf("SELECT %s FROM %s%s WHERE %s = '%s' %s",          $query = sprintf("SELECT %s FROM %s%s WHERE %s = '%s' %s %s %s",
5406              $args['idx_name'],              $args['idx_name'],
5407              DB_PREFIXE,              DB_PREFIXE,
5408              $args['table'],              $args['table'],
5409              $args['condition_field'],              $args['condition_field'],
5410              $args['condition_value'],              $args['condition_value'],
5411              $where2              $where2,
5412                $where3,
5413                $order
5414          );          );
5415          //          //
5416          $res = $this->get_one_result_from_db_query($query);          $res = $this->get_one_result_from_db_query($query);
# Line 5241  class utils extends application { Line 5427  class utils extends application {
5427              'condition_value' => $args['fk_idx'],              'condition_value' => $args['fk_idx'],
5428              'condition2_field' => isset($args['fk_field_2']) === true ? $args['fk_field_2'] : null,              'condition2_field' => isset($args['fk_field_2']) === true ? $args['fk_field_2'] : null,
5429              'condition2_value' => isset($args['fk_idx_2']) === true ? $args['fk_idx_2'] : null,              'condition2_value' => isset($args['fk_idx_2']) === true ? $args['fk_idx_2'] : null,
5430                'condition3_field' => isset($args['fk_field_3']) === true ? $args['fk_field_3'] : null,
5431                'condition3_value' => isset($args['fk_idx_3']) === true ? $args['fk_idx_3'] : null,
5432                'order_field' => isset($args['order_field']) === true ? $args['order_field'] : null,
5433                'order_asc_desc' => isset($args['order_asc_desc']) === true ? $args['order_asc_desc'] : null,
5434          ));          ));
5435          $inst = $this->get_inst__om_dbform(array(          $inst = $this->get_inst__om_dbform(array(
5436              'obj' => $args['obj'],              'obj' => $args['obj'],

Legend:
Removed from v.11875  
changed lines
  Added in v.11876

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26