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

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

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

revision 14541 by softime, Thu Feb 16 22:52:47 2023 UTC revision 14542 by softime, Thu Apr 20 13:21:47 2023 UTC
# Line 501  class instruction extends instruction_ge Line 501  class instruction extends instruction_ge
501                  "is_notifiable_by_task_manual",                  "is_notifiable_by_task_manual",
502                  "is_portail_notification_sans_annexe"                  "is_portail_notification_sans_annexe"
503              ),              ),
504              "method" => "notifier_demandeur_principal",              "method" => "notifier_demandeur_principal_via_portal",
505              "permission_suffix" => "modifier",              "permission_suffix" => "modifier",
506          );          );
507    
# Line 1645  class instruction extends instruction_ge Line 1645  class instruction extends instruction_ge
1645      }      }
1646    
1647      /**      /**
1648         * Renvoie sous la forme d'un tableau la liste des événements pouvant être ajoutés au dossier
1649         * dont l'identifiant a été passé en paramètre dans l'url.
1650         *
1651         * @return array
1652         */
1653        function get_var_sql_forminc__sql_evenement() {
1654            // Récupération du numéro de dossier
1655            $dossier = $this->getParameter("idxformulaire");
1656            // Si changement de décision par instructeur commune
1657            $filter = '';
1658            if ($this->f->isUserInstructeur() === true
1659                && $this->getDivisionFromDossier($dossier) != $_SESSION["division"]
1660                && $this->isInstrCanChangeDecision($dossier) === true) {
1661                $filter = "AND evenement.type IN ('arrete', 'changement_decision')";
1662            }
1663            // Récupération du libellé, de l'identifiant des évènement et d'un booléen permettant
1664            // de déterminer si il s'agit d'évènements suggérés.
1665            $qres = $this->f->get_all_results_from_db_query(
1666                sprintf(
1667                    'SELECT
1668                        DISTINCT(evenement.evenement),
1669                        evenement.libelle,
1670                        -- Si l evenement est suggérés alors il sera lié à la table des événements suggérés du dossier
1671                        CASE WHEN evenement_suggere_dossier.evenement IS NULL
1672                            THEN FALSE
1673                            ELSE TRUE
1674                        END AS is_suggested
1675                    FROM
1676                        -- Jointures permettant de récupérer la liste des évènements compatibles avec le dossier
1677                        -- selon le type de dossier et l état du dossier.
1678                        %1$sevenement
1679                        JOIN %1$slien_dossier_instruction_type_evenement
1680                            ON evenement.evenement = lien_dossier_instruction_type_evenement.evenement
1681                        JOIN %1$stransition
1682                            ON evenement.evenement = transition.evenement
1683                        JOIN %1$sdossier
1684                            ON lien_dossier_instruction_type_evenement.dossier_instruction_type = dossier.dossier_instruction_type
1685                                AND transition.etat = dossier.etat
1686                        -- Jointures avec une sous requêtes servant à récupérer la liste des évènements suggérés du dossier.
1687                        LEFT JOIN (
1688                            SELECT
1689                                lien_sig_contrainte_evenement.evenement,
1690                                dossier.dossier
1691                            FROM
1692                                %1$slien_sig_contrainte_evenement
1693                                JOIN %1$ssig_contrainte
1694                                    ON lien_sig_contrainte_evenement.sig_contrainte = sig_contrainte.sig_contrainte
1695                                JOIN %1$slien_sig_contrainte_dossier_instruction_type
1696                                    ON sig_contrainte.sig_contrainte = lien_sig_contrainte_dossier_instruction_type.sig_contrainte
1697                                JOIN %1$slien_sig_contrainte_om_collectivite
1698                                    ON sig_contrainte.sig_contrainte = lien_sig_contrainte_om_collectivite.sig_contrainte
1699                                JOIN %1$scontrainte
1700                                    ON sig_contrainte.libelle = contrainte.libelle
1701                                JOIN %1$sdossier_contrainte
1702                                    ON contrainte.contrainte = dossier_contrainte.contrainte
1703                                JOIN %1$sdossier
1704                                    ON dossier_contrainte.dossier = dossier.dossier
1705                                        AND lien_sig_contrainte_dossier_instruction_type.dossier_instruction_type = dossier.dossier_instruction_type
1706                                JOIN %1$som_collectivite
1707                                    ON lien_sig_contrainte_om_collectivite.om_collectivite = om_collectivite.om_collectivite
1708                                        AND (dossier.om_collectivite = om_collectivite.om_collectivite
1709                                            OR om_collectivite.niveau = \'2\')
1710                        ) AS evenement_suggere_dossier
1711                            ON evenement.evenement = evenement_suggere_dossier.evenement
1712                                AND dossier.dossier = evenement_suggere_dossier.dossier
1713                    WHERE
1714                        dossier.dossier = \'%2$s\'
1715                        %3$s
1716                    ORDER BY
1717                        is_suggested DESC,
1718                        evenement.libelle',
1719                    DB_PREFIXE,
1720                    $this->f->db->escapeSimple($dossier),
1721                    $filter
1722                ),
1723                array(
1724                    "origin" => __METHOD__
1725                )
1726            );
1727            return $qres['result'];
1728        }
1729    
1730        /**
1731         * Récupère un tableau contenant des évènements de la forme :
1732         * $events = array(
1733         *      1 => array(
1734         *         'libelle' => 'evenement_libelle',
1735         *         'evenement' => 'identifiant_evenement',
1736         *         'is_suggested' => true/false   -> booleen indiquant si c'est un événement suggéré
1737         *         ))
1738         * Et le transforme pour pouvoir l'utiliser pour le remplissage d'un select de formulaire.
1739         *
1740         * Le format de sorti est le suivant :
1741         * $select = array(
1742         *      0 => array( -> liste des id des événements
1743         *          '0' => '',
1744         *          '1' => array(
1745         *              '0' => array(), -> liste des id des événements suggérés
1746         *              '1' => array(), -> liste des libelles des événements suggérés
1747         *          ),
1748         *          ...,
1749         *          n => 'id_evenement_n'
1750         *      ),
1751         *      1 => array(
1752         *          '0' => '__('choisir')." ".__('evenement')',
1753         *          '1' => '💡 Suggestions',
1754         *          ...,
1755         *          'n' => 'libelle_evenement_n',
1756         *      )
1757         * )
1758         *
1759         * @param array tableau des événements
1760         * @return array
1761         */
1762        protected function convert_events_array_to_select_format($events) {
1763            // Remplissage du tableau du select en incluant le groupe des instructions suggérées.
1764            $contenu = array(
1765                0 => array("",),
1766                1 => array(__('choisir')." ".__('evenement'),)
1767            );
1768    
1769            if (! empty($events)) {
1770                // S'il y a des évènements suggérés extraction de ces événements et mise en place du groupe
1771                $suggested_event_group = array_filter($events, function($a) {
1772                        return $a['is_suggested'] === 't';
1773                });
1774                if (! empty($suggested_event_group)) {
1775                    // Prépare les données qui permettront d'afficher le groupe des événements
1776                    // suggérés.
1777                    $values = array();
1778                    $labels = array();
1779                    foreach ($suggested_event_group as $index => $suggested_event) {
1780                        $values[] = $suggested_event['evenement'];
1781                        $labels[] = $suggested_event['libelle'];
1782                        // Supprime les évènements suggérés de la liste des évènements
1783                        unset($events[$index]);
1784                    }
1785                    // Remplissage du select pour le groupe
1786                    $contenu[0][] = array($values, $labels);
1787                    $contenu[1][] = __('💡 Suggestions');
1788                }
1789        
1790                // Remplissage du select
1791                foreach ($events as $event) {
1792                    $contenu[0][] = $event['evenement'];
1793                    $contenu[1][] = $event['libelle'];
1794                }
1795            }
1796            return $contenu;
1797        }
1798    
1799        /**
1800       * SETTER_FORM - setSelect.       * SETTER_FORM - setSelect.
1801       *       *
1802       * @return void       * @return void
# Line 1722  class instruction extends instruction_ge Line 1874  class instruction extends instruction_ge
1874           * événements disponibles.           * événements disponibles.
1875           */           */
1876          if ($maj == 0) {          if ($maj == 0) {
1877              // Récupération des événements par une jointure entre la table dossier              $evenements = $this->get_var_sql_forminc__sql_evenement();
1878              // et la table transition et la table evenement et la table              $form->setSelect("evenement", $this->convert_events_array_to_select_format($evenements));
             // lien_dossier_instruction_type_evenement en fonction de l'identifiant  
             // du dossier d'instruction en cours  
             $sql = "SELECT  
             evenement.evenement,  
             evenement.libelle as lib  
             FROM ".DB_PREFIXE."dossier  
             INNER JOIN ".DB_PREFIXE."lien_dossier_instruction_type_evenement  
                 ON dossier.dossier_instruction_type=lien_dossier_instruction_type_evenement.dossier_instruction_type  
             INNER JOIN ".DB_PREFIXE."evenement  
                 ON evenement.evenement=lien_dossier_instruction_type_evenement.evenement  
             INNER JOIN ".DB_PREFIXE."transition  
                 ON evenement.evenement = transition.evenement  
                 AND dossier.etat=transition.etat  
             WHERE dossier.dossier='".$this->getParameter("idxformulaire")."' ";  
   
             // Si changement de décision par instructeur commune  
             if($this->f->isUserInstructeur() === true  
                 && $this->getDivisionFromDossier($this->getParameter("idxformulaire")) != $_SESSION["division"]  
                 && $this->isInstrCanChangeDecision($this->getParameter("idxformulaire")) === true) {  
                 $sql .= "AND evenement.type IN ('arrete', 'changement_decision') ";  
             }  
             $sql .= "ORDER BY evenement.libelle, evenement.action";  
             $res = $this->f->db->query($sql);  
             $this->addToLog(__METHOD__."(): db->query(\"".$sql."\");", VERBOSE_MODE);  
             $this->f->isDatabaseError($res);  
             // Remplissage du tableau du select  
             $contenu = array(  
                 0 => array("",),  
                 1 => array(_('choisir')." "._('evenement'),)  
             );  
             while ($row=& $res->fetchRow()) {  
                 $contenu[0][] = $row[0];  
                 $contenu[1][] = $row[1];  
             }  
             $form->setSelect("evenement", $contenu);  
   
1879          } else {          } else {
1880              // Instanciation de l'événement pour récupérer son libellé              // Instanciation de l'événement pour récupérer son libellé
1881              $evenement = $this->f->get_inst__om_dbform(array(              $evenement = $this->f->get_inst__om_dbform(array(
# Line 2006  class instruction extends instruction_ge Line 2122  class instruction extends instruction_ge
2122              } else {              } else {
2123                  $sql = $this->get_var_sql_forminc__sql("signataire_arrete_defaut");                  $sql = $this->get_var_sql_forminc__sql("signataire_arrete_defaut");
2124              }              }
2125              $res = $this->f->db->query($sql);              
2126              $this->f->addToLog(__METHOD__."(): db->query(\"".$sql."\")", VERBOSE_MODE);              $qres = $this->f->get_all_results_from_db_query($sql, array(
2127              $this->f->isDatabaseError($res);                      "origin" => __METHOD__));
2128              $row = $res->fetchrow(DB_FETCHMODE_ASSOC);              $row = array_shift($qres['result']);
2129              if (isset($row["signataire_arrete"])              if (isset($row["signataire_arrete"])
2130                  && is_numeric($row["signataire_arrete"])) {                  && is_numeric($row["signataire_arrete"])) {
2131                  //                  //
# Line 2281  class instruction extends instruction_ge Line 2397  class instruction extends instruction_ge
2397           * - avis_decision           * - avis_decision
2398           */           */
2399          // Récupération de tous les paramètres de l'événement sélectionné          // Récupération de tous les paramètres de l'événement sélectionné
2400          $sql = "SELECT * FROM ".DB_PREFIXE."evenement          // TODO : remplacer cette requête par l'instanciation de l'événement
2401          WHERE evenement=".$this->valF['evenement'];          $qres = $this->f->get_all_results_from_db_query(
2402          $res = $this->f->db->query($sql);              sprintf(
2403          $this->addToLog(__METHOD__."(): db->query(\"".$sql."\");", VERBOSE_MODE);                  'SELECT
2404          $this->f->isDatabaseError($res);                      *
2405          while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)) {                  FROM
2406                        %1$sevenement
2407                    WHERE
2408                        evenement = %2$d',
2409                    DB_PREFIXE,
2410                    intval($this->valF['evenement'])
2411                ),
2412                array(
2413                    "origin" => __METHOD__,
2414                )
2415            );
2416            foreach ($qres['result'] as $row) {
2417              // Récupération de l'identifiant de l'action              // Récupération de l'identifiant de l'action
2418              // si une action est paramétrée dans l'événement              // si une action est paramétrée dans l'événement
2419              $this->valF['action'] = NULL;              $this->valF['action'] = NULL;
# Line 2327  class instruction extends instruction_ge Line 2454  class instruction extends instruction_ge
2454              }              }
2455          }          }
2456          // Récupération de toutes les valeurs du dossier d'instruction en cours          // Récupération de toutes les valeurs du dossier d'instruction en cours
2457          $sql = "SELECT * FROM ".DB_PREFIXE."dossier          // TODO : remplacer cette requête par l'instanciation de l'objet
2458          WHERE dossier='".$this->valF['dossier']."'";          $qres = $this->f->get_all_results_from_db_query(
2459          $res = $this->f->db->query($sql);              sprintf(
2460          $this->addToLog(__METHOD__."(): db->query(\"".$sql."\");", VERBOSE_MODE);                  'SELECT
2461          $this->f->isDatabaseError($res);                      *
2462          $row=& $res->fetchRow(DB_FETCHMODE_ASSOC);                  FROM
2463                        %1$sdossier
2464                    WHERE
2465                    dossier = \'%2$s\'',
2466                    DB_PREFIXE,
2467                    $this->f->db->escapeSimple($this->valF['dossier'])
2468                ),
2469                array(
2470                    "origin" => __METHOD__,
2471                )
2472            );
2473            $row = array_shift($qres['result']);
2474          $this->updateArchiveData($row);          $this->updateArchiveData($row);
2475                                    
2476          // Récupération de la duree de validite du dossier d'autorisation          // Récupération de la duree de validite du dossier d'autorisation
# Line 2916  class instruction extends instruction_ge Line 3054  class instruction extends instruction_ge
3054          $valF_dt = array();          $valF_dt = array();
3055          //          //
3056          // Récupération des paramètres de l'action          // Récupération des paramètres de l'action
3057          $sql = "SELECT * FROM ".DB_PREFIXE."action          // TODO : remplacer cette requête par l'instanciation de l'action
3058          WHERE action='".$this->valF['action']."'";          $qres = $this->f->get_all_results_from_db_query(
3059          $res = $this->f->db->query($sql);              sprintf(
3060          $this->addToLog(__METHOD__."(): db->query(\"".$sql."\");", VERBOSE_MODE);                  'SELECT
3061          $this->f->isDatabaseError($res);                      *
3062          while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)) {                  FROM
3063                        %1$saction
3064                    WHERE
3065                        action = \'%2$s\'',
3066                    DB_PREFIXE,
3067                    $this->f->db->escapeSimple($this->valF['action'])
3068                ),
3069                array(
3070                    "origin" => __METHOD__
3071                )
3072            );
3073            foreach ($qres['result'] as $row) {
3074    
3075              // pour chacune des regles, on applique la regle              // pour chacune des regles, on applique la regle
3076              if ($row['regle_delai'] != '') {              if ($row['regle_delai'] != '') {
# Line 3703  class instruction extends instruction_ge Line 3852  class instruction extends instruction_ge
3852      }      }
3853    
3854      /**      /**
3855       * Crée une instance et une tache de notification pour le demandeur       * Crée une instance de notification et une tache notification_instruction de catégorie portal
3856       * principal.       * pour le demandeur principal.
3857       *       *
3858       * @return boolean true si le traitement à réussi       * @return boolean true si le traitement à réussi
3859       */       */
3860      protected function notifier_demandeur_principal() {      protected function notifier_demandeur_principal_via_portal() {
3861          $this->begin_treatment(__METHOD__);          $this->begin_treatment(__METHOD__);
3862          $message = '';          $message = '';
3863          // Récupération des informations concernant le demandeur          // Récupération des informations concernant le demandeur
# Line 3733  class instruction extends instruction_ge Line 3882  class instruction extends instruction_ge
3882                  return $this->end_treatment(__METHOD__, false);                  return $this->end_treatment(__METHOD__, false);
3883              }              }
3884              // Création de la tâche en lui donnant l'id de la notification              // Création de la tâche en lui donnant l'id de la notification
3885              $notification_by_task = $this->notification_by_task($idNotification, $dossier);              $notification_by_task = $this->notification_by_task($idNotification, $dossier, PORTAL);
3886              if ($notification_by_task === false) {              if ($notification_by_task === false) {
3887                  $this->addToMessage(                  $this->addToMessage(
3888                      __("Erreur lors de la génération de la notification au(x) pétitionnaire(s).")                      __("Erreur lors de la génération de la notification au(x) pétitionnaire(s).")
# Line 4058  class instruction extends instruction_ge Line 4207  class instruction extends instruction_ge
4207              ));              ));
4208    
4209              // Récupération des paramètres de l'action              // Récupération des paramètres de l'action
4210              $sql = sprintf(              // TODO : remplacer cette requête par l'instanciation de l'action
4211                  'SELECT              $qres = $this->f->get_all_results_from_db_query(
4212                      *                  sprintf(
4213                  FROM                      'SELECT
4214                      %1$saction                          *
4215                  WHERE                      FROM
4216                      action = \'%2$s\'',                          %1$saction
4217                  DB_PREFIXE,                      WHERE
4218                  $this->f->db->escapeSimple($evenement->getVal('action'))                          action = \'%2$s\'',
4219                        DB_PREFIXE,
4220                        $this->f->db->escapeSimple($evenement->getVal('action'))
4221                    ),
4222                    array(
4223                        "origin" => __METHOD__
4224                    )
4225              );              );
4226              $res = $this->f->db->query($sql);              foreach ($qres['result'] as $row) {
             $this->addToLog(__METHOD__."(): db->query(\"".$sql."\");", VERBOSE_MODE);  
             $this->f->isDatabaseError($res);  
             while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){  
4227                  // application des regles sur le courrier + delai                  // application des regles sur le courrier + delai
4228                  if(preg_match("/date_evenement/",$row['regle_date_limite'])){                  if(preg_match("/date_evenement/",$row['regle_date_limite'])){
4229                      $valF['date_limite']= $this->regle($row['regle_date_limite'], 'regle_date_limite');                      $valF['date_limite']= $this->regle($row['regle_date_limite'], 'regle_date_limite');
# Line 4192  class instruction extends instruction_ge Line 4344  class instruction extends instruction_ge
4344    
4345          if($restriction == "" || $this->restriction_valid ){          if($restriction == "" || $this->restriction_valid ){
4346              // Récupération de tous les paramètres de l'événement sélectionné              // Récupération de tous les paramètres de l'événement sélectionné
4347              $sql = "SELECT * FROM ".DB_PREFIXE."evenement              // TODO : remplacer cette requête par l'instanciation de l'evenement
4348              WHERE evenement=".$this->valF['evenement'];              $qres = $this->f->get_all_results_from_db_query(
4349              $res = $this->f->db->query($sql);                  sprintf(
4350              $this->addToLog(__METHOD__."(): db->query(\"".$sql."\");", VERBOSE_MODE);                      'SELECT
4351              $this->f->isDatabaseError($res);                          *
4352                        FROM
4353                            %1$sevenement
4354                        WHERE
4355                            evenement = %2$d',
4356                        DB_PREFIXE,
4357                        intval($this->valF['evenement'])
4358                    ),
4359                    array(
4360                        "origin" => __METHOD__
4361                    )
4362                );
4363              $current_id = $this->getVal($this->clePrimaire);              $current_id = $this->getVal($this->clePrimaire);
4364              while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)) {              foreach ($qres['result'] as $row) {
4365                  // Si la date de retour signature est éditée on vérifie si il existe un événement automatique                  // Si la date de retour signature est éditée on vérifie si il existe un événement automatique
4366                  if ($this->getVal('date_retour_signature') == "" AND                  if ($this->getVal('date_retour_signature') == "" AND
4367                      $this->valF['date_retour_signature'] != "" AND                      $this->valF['date_retour_signature'] != "" AND
# Line 5362  class instruction extends instruction_ge Line 5525  class instruction extends instruction_ge
5525              $dossier = $this->getVal("dossier");              $dossier = $this->getVal("dossier");
5526          }          }
5527          //Requête pour récupérer les informations essentiels sur le dossier d'instruction          //Requête pour récupérer les informations essentiels sur le dossier d'instruction
5528          $sql = "SELECT dossier.dossier as dossier,          $qres = $this->f->get_all_results_from_db_query(
5529                          dossier_autorisation.dossier_autorisation as dossier_autorisation,              sprintf(
5530                          to_char(dossier.date_demande, 'YYYY/MM') as date_demande_initiale,                  'SELECT
5531                          dossier_instruction_type.code as dossier_instruction_type,                      dossier.dossier AS dossier,
5532                          etat_dossier_autorisation.libelle as statut,                      dossier_autorisation.dossier_autorisation AS dossier_autorisation,
5533                          dossier_autorisation_type.code as dossier_autorisation_type,                      to_char(dossier.date_demande, \'YYYY/MM\') AS date_demande_initiale,
5534                          groupe.code as groupe_instruction,                      dossier_instruction_type.code AS dossier_instruction_type,
5535                          CASE WHEN dossier.erp IS TRUE                      etat_dossier_autorisation.libelle AS statut,
5536                              THEN 'true'                      dossier_autorisation_type.code AS dossier_autorisation_type,
5537                              ELSE 'false'                      groupe.code AS groupe_instruction,
5538                          END as erp                      CASE WHEN dossier.erp IS TRUE
5539                  FROM ".DB_PREFIXE."dossier                          THEN \'true\'
5540                      LEFT JOIN ".DB_PREFIXE."dossier_instruction_type                            ELSE \'false\'
5541                        END AS erp
5542                    FROM
5543                        %1$sdossier
5544                        LEFT JOIN %1$sdossier_instruction_type  
5545                          ON dossier.dossier_instruction_type = dossier_instruction_type.dossier_instruction_type                          ON dossier.dossier_instruction_type = dossier_instruction_type.dossier_instruction_type
5546                      LEFT JOIN ".DB_PREFIXE."dossier_autorisation                      LEFT JOIN %1$sdossier_autorisation
5547                          ON dossier.dossier_autorisation = dossier_autorisation.dossier_autorisation                          ON dossier.dossier_autorisation = dossier_autorisation.dossier_autorisation
5548                      LEFT JOIN ".DB_PREFIXE."etat_dossier_autorisation                      LEFT JOIN %1$setat_dossier_autorisation
5549                          ON  dossier_autorisation.etat_dossier_autorisation = etat_dossier_autorisation.etat_dossier_autorisation                          ON  dossier_autorisation.etat_dossier_autorisation = etat_dossier_autorisation.etat_dossier_autorisation
5550                      LEFT JOIN ".DB_PREFIXE."dossier_autorisation_type_detaille                      LEFT JOIN %1$sdossier_autorisation_type_detaille
5551                          ON dossier_autorisation.dossier_autorisation_type_detaille = dossier_autorisation_type_detaille.dossier_autorisation_type_detaille                          ON dossier_autorisation.dossier_autorisation_type_detaille = dossier_autorisation_type_detaille.dossier_autorisation_type_detaille
5552                      LEFT JOIN ".DB_PREFIXE."dossier_autorisation_type                      LEFT JOIN %1$sdossier_autorisation_type
5553                          ON dossier_autorisation_type_detaille.dossier_autorisation_type = dossier_autorisation_type.dossier_autorisation_type                          ON dossier_autorisation_type_detaille.dossier_autorisation_type = dossier_autorisation_type.dossier_autorisation_type
5554                      LEFT JOIN ".DB_PREFIXE."groupe                      LEFT JOIN %1$sgroupe
5555                          ON dossier_autorisation_type.groupe = groupe.groupe                          ON dossier_autorisation_type.groupe = groupe.groupe
5556                  WHERE dossier.dossier = '".$dossier."'";                  WHERE
5557          $res = $this->f->db->query($sql);                      dossier.dossier = \'%2$s\'',
5558          $this->addToLog(__METHOD__."(): db->query(\"".$sql."\");", VERBOSE_MODE);                  DB_PREFIXE,
5559          $this->f->isDatabaseError($res);                  $this->f->db->escapeSimple($dossier)
5560          //Le résultat est récupéré dans un objet              ),
5561          $row =& $res->fetchRow(DB_FETCHMODE_OBJECT);              array(
5562                    "origin" => __METHOD__,
5563                )
5564            );
5565            $row = array_shift($qres['result']);
5566    
5567          //Si il y a un résultat          //Si il y a un résultat
5568          if ($row !== null) {          if (! empty($row)) {
5569    
5570              // Instrance de la classe dossier              // Instrance de la classe dossier
5571              $inst_dossier = $this->get_inst_dossier($dossier);              $inst_dossier = $this->get_inst_dossier($dossier);
5572                // TODO : améliorer ce code
5573                //
5574                // Avant l e résultat été récupéré dans un objet à partir de la requête mais en modifiant pour
5575                // utiliser la méthode get_all_results_from_db_query() c'est maintenant un tableau
5576                // qu'on obtiens. Pour garder le même fonctionnement on transforme le tableau des
5577                // valeurs issues de la requête en objet.
5578                $metadata = (object)$row;
5579              // Insère l'attribut version à l'objet              // Insère l'attribut version à l'objet
5580              $row->version = $inst_dossier->get_di_numero_suffixe();              $metadata->version = $inst_dossier->get_di_numero_suffixe();
5581    
5582              //Alors on créé l'objet dossier_instruction              //Alors on créé l'objet dossier_instruction
5583              $this->specificMetadata = $row;              $this->specificMetadata = $metadata;
5584    
5585          }          }
5586      }      }
# Line 5456  class instruction extends instruction_ge Line 5633  class instruction extends instruction_ge
5633          $return = array();          $return = array();
5634    
5635          // Récupération de toutes les valeurs du dossier d'instruction en cours          // Récupération de toutes les valeurs du dossier d'instruction en cours
5636          $sql = "SELECT * FROM ".DB_PREFIXE."dossier          // TODO : remplacer cette requête par une instanciation de l'objet
5637          WHERE dossier='".$this->valF['dossier']."'";          $qres = $this->f->get_all_results_from_db_query(
5638          $res = $this->f->db->query($sql);              sprintf(
5639          $this->addToLog(__METHOD__."(): db->query(\"".$sql."\");", VERBOSE_MODE);                  'SELECT
5640          $this->f->isDatabaseError($res);                      *
5641                    FROM
5642                        %1$sdossier
5643                    WHERE
5644                        dossier = \'%2$s\'',
5645                    DB_PREFIXE,
5646                    $this->f->db->escapeSimple($this->valF['dossier'])
5647                ),
5648                array(
5649                    'origin' => __METHOD__
5650                )
5651            );
5652    
5653          //          foreach ($qres['result'] as $row) {
         while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)) {  
5654    
5655              // Récupération de la valeur actuelle du délai, de l'accord tacite,              // Récupération de la valeur actuelle du délai, de l'accord tacite,
5656              // de l'état et de l'avis du dossier d'instruction              // de l'état et de l'avis du dossier d'instruction
# Line 5783  class instruction extends instruction_ge Line 5970  class instruction extends instruction_ge
5970       */       */
5971      function getArreteMetadata() {      function getArreteMetadata() {
5972    
5973      //Récupération de la dernière instruction dont l'événement est de type 'arrete'          //Récupération de la dernière instruction dont l'événement est de type 'arrete'
5974      $this->metadonneesArrete = array("nomsignataire"=>"", "qualitesignataire"=>"",          $this->metadonneesArrete = array("nomsignataire"=>"", "qualitesignataire"=>"",
5975          "decisionarrete"=>"", "datenotification"=>"", "datesignaturearrete"=>"",              "decisionarrete"=>"", "datenotification"=>"", "datesignaturearrete"=>"",
5976          "datecontrolelegalite"=>"", "ap_numrue"=>"", "ap_nomdelavoie"=>"",              "datecontrolelegalite"=>"", "ap_numrue"=>"", "ap_nomdelavoie"=>"",
5977          "ap_codepostal"=>"", "ap_ville"=>"");              "ap_codepostal"=>"", "ap_ville"=>"");
5978    
5979          $sqlArrete = "SELECT          $qres = $this->f->get_all_results_from_db_query(
5980                  signataire_arrete.prenom || ' ' ||signataire_arrete.nom as \"nomsignataire\",              sprintf(
5981                  signataire_arrete.qualite as \"qualitesignataire\",                  'SELECT
5982                  instruction.etat as \"decisionarrete\",                      signataire_arrete.prenom || \' \' ||signataire_arrete.nom as nomsignataire,
5983                  instruction.date_retour_rar as \"datenotification\",                      signataire_arrete.qualite as qualitesignataire,
5984                  instruction.date_retour_signature as \"datesignaturearrete\",                      instruction.etat as decisionarrete,
5985                  instruction.date_retour_controle_legalite as \"datecontrolelegalite\",                      instruction.date_retour_rar as datenotification,
5986                  dossier.terrain_adresse_voie_numero as \"ap_numrue\",                      instruction.date_retour_signature as datesignaturearrete,
5987                  dossier.terrain_adresse_voie as \"ap_nomdelavoie\",                      instruction.date_retour_controle_legalite as datecontrolelegalite,
5988                  dossier.terrain_adresse_code_postal as \"ap_codepostal\",                      dossier.terrain_adresse_voie_numero as ap_numrue,
5989                  dossier.terrain_adresse_localite as \"ap_ville\"                      dossier.terrain_adresse_voie as ap_nomdelavoie,
5990              FROM ".DB_PREFIXE."instruction                      dossier.terrain_adresse_code_postal as ap_codepostal,
5991              LEFT JOIN ".DB_PREFIXE."signataire_arrete ON                      dossier.terrain_adresse_localite as ap_ville
5992                  instruction.signataire_arrete = signataire_arrete.signataire_arrete                  FROM
5993              LEFT JOIN ".DB_PREFIXE."dossier ON                      %1$sinstruction
5994                  instruction.dossier = dossier.dossier                      LEFT JOIN %1$ssignataire_arrete
5995              LEFT JOIN ".DB_PREFIXE."donnees_techniques ON                          ON instruction.signataire_arrete = signataire_arrete.signataire_arrete
5996                      donnees_techniques.dossier_instruction = dossier.dossier                      LEFT JOIN %1$sdossier
5997              WHERE instruction.instruction = ".$this->getVal("instruction");                          ON instruction.dossier = dossier.dossier
5998          $resArrete = $this->f->db->query($sqlArrete);                      LEFT JOIN %1$sdonnees_techniques
5999          $this->addToLog(__METHOD__."(): db->query(\"".$sqlArrete."\");", VERBOSE_MODE);                          ON donnees_techniques.dossier_instruction = dossier.dossier
6000          $this->f->isDatabaseError($resArrete);                  WHERE
6001          $this->metadonneesArrete = $resArrete->fetchRow(DB_FETCHMODE_ASSOC);                      instruction.instruction = %2$d',
6002                    DB_PREFIXE,
6003                    intval($this->getVal('instruction'))
6004                ),
6005                array(
6006                    'origin' => __METHOD__
6007                )
6008            );
6009            $this->metadonneesArrete = array_shift($qres['result']);
6010      }      }
6011    
6012      /**      /**
# Line 6721  class instruction extends instruction_ge Line 6916  class instruction extends instruction_ge
6916              "idx" => $idx,              "idx" => $idx,
6917          ));          ));
6918    
6919          /**          $qres = $this->f->get_all_results_from_db_query(
6920           *              sprintf(
6921           */                  'SELECT
6922          //                      *,
6923          $sql = "SELECT *, bible.libelle as bible_lib                      bible.libelle as bible_lib
6924          FROM ".DB_PREFIXE."bible                  FROM
6925          LEFT OUTER JOIN ".DB_PREFIXE."dossier_autorisation_type                      %1$sbible
6926              ON bible.dossier_autorisation_type=dossier_autorisation_type.dossier_autorisation_type                      LEFT OUTER JOIN %1$sdossier_autorisation_type
6927          LEFT JOIN ".DB_PREFIXE."om_collectivite                          ON bible.dossier_autorisation_type = dossier_autorisation_type.dossier_autorisation_type
6928              ON bible.om_collectivite = om_collectivite.om_collectivite                      LEFT JOIN %1$som_collectivite
6929          WHERE (evenement=".$evenement." OR evenement IS NULL)                          ON bible.om_collectivite = om_collectivite.om_collectivite
6930              AND (complement=".$complement." OR complement IS NULL)                  WHERE
6931              AND (bible.dossier_autorisation_type IS NULL                      (evenement = %2$d
6932                  OR dossier_autorisation_type.code ='".$code_da_type."')                          OR evenement IS NULL)
6933              AND (om_collectivite.niveau = '2'                      AND (complement = %3$d
6934                  OR bible.om_collectivite = ".$dossier->getVal("om_collectivite").")                          OR complement IS NULL)
6935          ORDER BY bible_lib ASC";                      AND (bible.dossier_autorisation_type IS NULL
6936          $res = $this->f->db->query($sql);                          OR dossier_autorisation_type.code = \'%4$s\')
6937          $this->f->addToLog(__METHOD__.": db->query(\"".$sql."\");", VERBOSE_MODE);                      AND (om_collectivite.niveau = \'2\'
6938          $this->f->isDatabaseError($res);                          OR bible.om_collectivite = %5$d)
6939                    ORDER BY
6940                        bible_lib ASC',
6941                    DB_PREFIXE,
6942                    intval($evenement),
6943                    intval($complement),
6944                    $this->f->db->escapeSimple($code_da_type),
6945                    intval($dossier->getVal("om_collectivite"))
6946                ),
6947                array(
6948                    'origin' => __METHOD__
6949                )
6950            );
6951          //          //
6952          echo "<form method=\"post\" name=\"f3\" action=\"#\">\n";          echo "<form method=\"post\" name=\"f3\" action=\"#\">\n";
6953          //          //
6954          if ($res->numrows() > 0) {          if (count($qres['result']) > 0) {
6955              //              //
6956              echo "\t<table id='tab-bible' width='100%'>\n";              echo "\t<table id='tab-bible' width='100%'>\n";
6957              //              //
# Line 6755  class instruction extends instruction_ge Line 6962  class instruction extends instruction_ge
6962              //              //
6963              $i = 0;              $i = 0;
6964              //              //
6965              while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)) {              foreach ($qres['result'] as $row) {
6966                  //                  //
6967                  echo "\t\t<tr";                  echo "\t\t<tr";
6968                  echo " class=\"".($i % 2 == 0 ? "odd" : "even")."\"";                  echo " class=\"".($i % 2 == 0 ? "odd" : "even")."\"";
# Line 6832  class instruction extends instruction_ge Line 7039  class instruction extends instruction_ge
7039    
7040          // Si consultation liée, récupération du retour d'avis          // Si consultation liée, récupération du retour d'avis
7041          if($instEvenement->getVal('consultation') == 'Oui'){          if($instEvenement->getVal('consultation') == 'Oui'){
7042              $sql = sprintf(  
7043                  '(SELECT              $qres = $this->f->get_all_results_from_db_query(
7044                      date_retour,                  sprintf(
7045                      avis_consultation.libelle as avis_consultation,                      'SELECT
7046                      COALESCE(service.libelle, tiers_consulte.libelle) as service                          date_retour,
7047                  FROM                          avis_consultation.libelle as avis_consultation,
7048                      %1$sconsultation                          COALESCE(service.libelle, tiers_consulte.libelle) as service
7049                      LEFT JOIN %1$stiers_consulte ON consultation.tiers_consulte = tiers_consulte.tiers_consulte                      FROM
7050                      LEFT JOIN %1$sservice ON consultation.service = service.service                          %1$sconsultation
7051                      LEFT JOIN %1$savis_consultation ON consultation.avis_consultation = avis_consultation.avis_consultation                          LEFT JOIN %1$stiers_consulte
7052                  WHERE                              ON consultation.tiers_consulte = tiers_consulte.tiers_consulte
7053                      dossier = \'%2$s\'                          LEFT JOIN %1$sservice
7054                      AND consultation.visible)',                              ON consultation.service = service.service
7055                  DB_PREFIXE,                          LEFT JOIN %1$savis_consultation
7056                  $this->f->db->escapeSimple($idx)                              ON consultation.avis_consultation = avis_consultation.avis_consultation
7057                        WHERE
7058                            dossier = \'%2$s\'
7059                            AND consultation.visible',
7060                        DB_PREFIXE,
7061                        $this->f->db->escapeSimple($idx)
7062                    ),
7063                    array(
7064                        'origin' => __METHOD__
7065                    )
7066              );              );
             $res = $this->f->db->query($sql);  
             $this->f->isDatabaseError($res);  
7067              // Récupération des consultations              // Récupération des consultations
7068              while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){              foreach ($qres['result'] as $row) {
7069                  $correct=false;                  $correct=false;
7070                  // date retour                  // date retour
7071                  if ($row['date_retour']<>""){                  if ($row['date_retour']<>""){
# Line 6993  class instruction extends instruction_ge Line 7207  class instruction extends instruction_ge
7207          if (preg_match('/[A-Za-z]{2,3}/', $idx, $matches) !== false) {          if (preg_match('/[A-Za-z]{2,3}/', $idx, $matches) !== false) {
7208              $code_da_type = $matches[0];              $code_da_type = $matches[0];
7209          }          }
         //  
         $sql = "SELECT * FROM ".DB_PREFIXE."bible  
             LEFT OUTER JOIN ".DB_PREFIXE."dossier_autorisation_type  
                 ON bible.dossier_autorisation_type=  
                     dossier_autorisation_type.dossier_autorisation_type  
             LEFT JOIN  
                     ".DB_PREFIXE."om_collectivite  
                     ON bible.om_collectivite = om_collectivite.om_collectivite  
             WHERE (evenement =".$event." or evenement IS NULL) and  
                 (complement=".$compnb." OR complement IS NULL) and  
                 automatique='Oui' and  
                 (dossier_autorisation_type.code ='".$code_da_type."' or  
                     bible.dossier_autorisation_type IS NULL) and  
                 (om_collectivite.niveau = '2' OR bible.om_collectivite = ".$dossier->getVal("om_collectivite").")";  
7210    
7211          $res = $this->f->db->query($sql);          $qres = $this->f->get_all_results_from_db_query(
7212          $this->f->isDatabaseError($res);              sprintf(
7213                    'SELECT
7214                        *
7215                    FROM
7216                        %1$sbible
7217                        LEFT OUTER JOIN %1$sdossier_autorisation_type
7218                            ON bible.dossier_autorisation_type =
7219                                dossier_autorisation_type.dossier_autorisation_type
7220                        LEFT JOIN %1$som_collectivite
7221                            ON bible.om_collectivite = om_collectivite.om_collectivite
7222                    WHERE
7223                        (evenement = %2$d
7224                            OR evenement IS NULL)
7225                        AND (complement = %3$d
7226                            OR complement IS NULL)
7227                        AND automatique = \'Oui\'
7228                        AND (dossier_autorisation_type.code = \'%4$s\'
7229                            OR bible.dossier_autorisation_type IS NULL)
7230                        AND (om_collectivite.niveau = \'2\'
7231                            OR bible.om_collectivite = %5$d)',
7232                    DB_PREFIXE,
7233                    intval($event),
7234                    intval($compnb),
7235                    $this->f->db->escapeSimple($code_da_type),
7236                    intval($dossier->getVal("om_collectivite"))
7237                ),
7238                array(
7239                    "origin" => __METHOD__
7240                )
7241            );
7242          $temp = "";          $temp = "";
7243          while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){          foreach ($qres['result'] as $row) {
7244              // Remplacement des retours à la ligne par des br              // Remplacement des retours à la ligne par des br
7245              $temp .= preg_replace(              $temp .= preg_replace(
7246                  '#(\\\r|\\\r\\\n|\\\n)#', '<br/>', $row['contenu']                  '#(\\\r|\\\r\\\n|\\\n)#', '<br/>', $row['contenu']
# Line 7164  class instruction extends instruction_ge Line 7393  class instruction extends instruction_ge
7393          // Données du select - On récupère ici la liste de tous les états disponibles          // Données du select - On récupère ici la liste de tous les états disponibles
7394          // dans la table om_etat qui ont un id qui commence par la cahine de caractères          // dans la table om_etat qui ont un id qui commence par la cahine de caractères
7395          // 'bordereau_'          // 'bordereau_'
7396          $sql = "SELECT om_etat.id, om_etat.libelle          $qres = $this->f->get_all_results_from_db_query(
7397                  FROM ".DB_PREFIXE."om_etat              sprintf(
7398                  WHERE om_etat.id LIKE 'bordereau_%'                  'SELECT
7399                  ORDER BY om_etat.id";                      om_etat.id,
7400          $res = $this->f->db->query($sql);                      om_etat.libelle
7401          $this->f->addToLog(__METHOD__.": db->query(\"".$sql."\")", VERBOSE_MODE);                  FROM
7402          $this->f->isDatabaseError($res);                      %1$som_etat
7403                    WHERE
7404                        om_etat.id LIKE \'bordereau_%%\'
7405                    ORDER BY
7406                        om_etat.id',
7407                    DB_PREFIXE
7408                ),
7409                array(
7410                    "origin" => __METHOD__
7411                )
7412            );
7413          // Données du select          // Données du select
7414          $contenu = array(          $contenu = array(
7415              0 => array("", ),              0 => array("", ),
7416              1 => array(_("choisir bordereau")),              1 => array(_("choisir bordereau")),
7417          );          );
7418          while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) {          foreach ($qres['result'] as $row) {
7419              $contenu[0][] = $row['id'];              $contenu[0][] = $row['id'];
7420              $contenu[1][] = $row['libelle'];              $contenu[1][] = $row['libelle'];
7421          }          }
# Line 7188  class instruction extends instruction_ge Line 7427  class instruction extends instruction_ge
7427    
7428              // Données du select - On récupère ici la liste de tous toutes les collectivités              // Données du select - On récupère ici la liste de tous toutes les collectivités
7429              // de niveau 1              // de niveau 1
7430              $sql = "SELECT om_collectivite, libelle              $qres = $this->f->get_all_results_from_db_query(
7431                      FROM ".DB_PREFIXE."om_collectivite                  sprintf(
7432                      WHERE niveau = '1' ORDER BY libelle";                      'SELECT
7433              $res = $this->f->db->query($sql);                          om_collectivite,
7434              $this->f->addToLog(__METHOD__.": db->query(\"".$sql."\")", VERBOSE_MODE);                          libelle
7435              $this->f->isDatabaseError($res);                      FROM
7436                            %1$som_collectivite
7437                        WHERE
7438                            niveau = \'1\'
7439                        ORDER BY
7440                            libelle',
7441                        DB_PREFIXE
7442                    ),
7443                    array(
7444                        "origin" => __METHOD__
7445                    )
7446                );
7447              // La valeur par défaut du select est Toutes              // La valeur par défaut du select est Toutes
7448              $list_collectivites = array(              $list_collectivites = array(
7449                  0 => array("", ),                  0 => array("", ),
# Line 7203  class instruction extends instruction_ge Line 7453  class instruction extends instruction_ge
7453              $id_colls = "";              $id_colls = "";
7454              // On stocke dans $id_colls l'id de toutes les collectivités de niveau 1 séparées              // On stocke dans $id_colls l'id de toutes les collectivités de niveau 1 séparées
7455              // par des virgules, pour un traitement plus facile dans la requête de sous-état              // par des virgules, pour un traitement plus facile dans la requête de sous-état
7456              while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) {              foreach ($qres['result'] as $row) {
7457                  if ($id_colls != "") {                  if ($id_colls != "") {
7458                      $id_colls .= ",";                      $id_colls .= ",";
7459                  }                  }
# Line 7348  class instruction extends instruction_ge Line 7598  class instruction extends instruction_ge
7598    
7599                              if ($qres['result'] == "1") {                              if ($qres['result'] == "1") {
7600                                  // Récupération de la date d'envoi de l'instruction bippé                                  // Récupération de la date d'envoi de l'instruction bippé
7601                                  $sql = "SELECT to_char(date_envoi_rar,'DD/MM/YYYY')  as date_envoi_rar, instruction FROM ".DB_PREFIXE."instruction WHERE code_barres='".$code_barres."'";                                  $qres = $this->f->get_all_results_from_db_query(
7602                                  $res = $this->f->db->query($sql);                                      sprintf(
7603                                  $this->f->addToLog(__METHOD__.": db->query(\"".$sql."\")", VERBOSE_MODE);                                          'SELECT
7604                                  $this->f->isDatabaseError($res);                                              to_char(date_envoi_rar, \'DD/MM/YYYY\') as date_envoi_rar,
7605                                  $row =& $res->fetchRow(DB_FETCHMODE_ASSOC);                                              instruction
7606                                            FROM
7607                                                %1$sinstruction
7608                                            WHERE
7609                                                code_barres = \'%2$s\'',
7610                                            DB_PREFIXE,
7611                                            $this->f->db->escapeSimple($code_barres)
7612                                        ),
7613                                        array(
7614                                            'origin' => __METHOD__
7615                                        )
7616                                    );
7617                                    $row = array_shift($qres['result']);
7618                                  // Si pas de date ou correspond à la date du formulaire on                                  // Si pas de date ou correspond à la date du formulaire on
7619                                  // effectue le traitement                                  // effectue le traitement
7620                                  if ($row["date_envoi_rar"] == "" || $row["date_envoi_rar"] == $date) {                                  if ($row["date_envoi_rar"] == "" || $row["date_envoi_rar"] == $date) {
# Line 7648  class instruction extends instruction_ge Line 7910  class instruction extends instruction_ge
7910          if ($this->f->get_submitted_post_value('validation') !== null) {          if ($this->f->get_submitted_post_value('validation') !== null) {
7911              if(!empty($type_mise_a_jour) and !empty($date) and !empty($code_barres)) {              if(!empty($type_mise_a_jour) and !empty($date) and !empty($code_barres)) {
7912    
                 // Vérification de l'existence de l'instruction  
                 $sql = "SELECT instruction  
                         FROM ".DB_PREFIXE."instruction  
                             INNER JOIN ".DB_PREFIXE."dossier  
                                 ON dossier.dossier=instruction.dossier  
                             INNER JOIN ".DB_PREFIXE."dossier_instruction_type  
                                 ON dossier.dossier_instruction_type = dossier_instruction_type.dossier_instruction_type  
                             INNER JOIN ".DB_PREFIXE."dossier_autorisation_type_detaille  
                                 ON dossier_instruction_type.dossier_autorisation_type_detaille = dossier_autorisation_type_detaille.dossier_autorisation_type_detaille  
                             INNER JOIN ".DB_PREFIXE."dossier_autorisation_type  
                                 ON dossier_autorisation_type_detaille.dossier_autorisation_type = dossier_autorisation_type.dossier_autorisation_type  
                             INNER JOIN ".DB_PREFIXE."groupe  
                                 ON dossier_autorisation_type.groupe = groupe.groupe  
                             WHERE code_barres='".$this->f->db->escapesimple($code_barres)."'";  
   
7913                  // Ajout d'un filtre sur les groupes auxquels l'utilisateur a accès                  // Ajout d'un filtre sur les groupes auxquels l'utilisateur a accès
7914                  $group_clause = array();                  $group_clause = array();
7915                  foreach ($_SESSION["groupe"] as $key => $value) {                  foreach ($_SESSION["groupe"] as $key => $value) {
# Line 7673  class instruction extends instruction_ge Line 7920  class instruction extends instruction_ge
7920                      $group_clause[$key] .= ")";                      $group_clause[$key] .= ")";
7921                  }                  }
7922                  $conditions = implode(" OR ", $group_clause);                  $conditions = implode(" OR ", $group_clause);
7923                  $sql .= " AND (" . $conditions . ")";                  $groupFilter = " AND (" . $conditions . ")";
   
   
                 $res = $this->f->db->query($sql);  
                 $this->f->addToLog(__METHOD__.": db->query(\"".$sql."\")", VERBOSE_MODE);  
                 $this->f->isDatabaseError($res);  
7924    
7925                  if($res->numrows() == 1) {                  $qres = $this->f->get_all_results_from_db_query(
7926                        sprintf(
7927                            'SELECT
7928                                instruction
7929                            FROM
7930                                %1$sinstruction
7931                                INNER JOIN %1$sdossier
7932                                    ON dossier.dossier = instruction.dossier
7933                                INNER JOIN %1$sdossier_instruction_type
7934                                    ON dossier.dossier_instruction_type = dossier_instruction_type.dossier_instruction_type
7935                                INNER JOIN %1$sdossier_autorisation_type_detaille
7936                                    ON dossier_instruction_type.dossier_autorisation_type_detaille = dossier_autorisation_type_detaille.dossier_autorisation_type_detaille
7937                                INNER JOIN %1$sdossier_autorisation_type
7938                                    ON dossier_autorisation_type_detaille.dossier_autorisation_type = dossier_autorisation_type.dossier_autorisation_type
7939                                INNER JOIN %1$sgroupe
7940                                    ON dossier_autorisation_type.groupe = groupe.groupe
7941                                WHERE
7942                                    code_barres = \'%2$s\'
7943                                    %3$s',
7944                            DB_PREFIXE,
7945                            $this->f->db->escapeSimple($code_barres),
7946                            $groupFilter
7947                        ),
7948                        array(
7949                            'origin' => __METHOD__
7950                        )
7951                    );
7952                    if(count($qres['result']) === 1) {
7953                      $liste_champs = explode(";", $type_mise_a_jour);                      $liste_champs = explode(";", $type_mise_a_jour);
7954                      $row =& $res->fetchRow(DB_FETCHMODE_ASSOC);                      $row = array_shift($qres['result']);
7955                      $instr = $this->f->get_inst__om_dbform(array(                      $instr = $this->f->get_inst__om_dbform(array(
7956                          "obj" => "instruction",                          "obj" => "instruction",
7957                          "idx" => $row['instruction'],                          "idx" => $row['instruction'],
# Line 7768  class instruction extends instruction_ge Line 8037  class instruction extends instruction_ge
8037                          }                          }
8038                      } else {                      } else {
8039                          // Récupération des infos du dossier                          // Récupération des infos du dossier
8040                          $sqlInfo = "SELECT dossier.dossier_libelle,                          $qres = $this->f->get_all_results_from_db_query(
8041                                              evenement.libelle as evenement,                              sprintf(
8042                                              autorite_competente.code as autorite_competente_code,                                  'SELECT
8043                                              autorite_competente.libelle as autorite_competente,                                      dossier.dossier_libelle,
8044                                              evenement.type as evenement_type,                                      evenement.libelle as evenement,
8045                                              to_char(date_envoi_signature,'DD/MM/YYYY')  as date_envoi_signature,                                      autorite_competente.code as autorite_competente_code,
8046                                              to_char(date_retour_signature,'DD/MM/YYYY')  as date_retour_signature,                                      autorite_competente.libelle as autorite_competente,
8047                                              to_char(date_envoi_controle_legalite,'DD/MM/YYYY')  as date_envoi_controle_legalite,                                      evenement.type as evenement_type,
8048                                              to_char(date_retour_controle_legalite,'DD/MM/YYYY')  as date_retour_controle_legalite,                                      to_char(date_envoi_signature,\'DD/MM/YYYY\') as date_envoi_signature,
8049                                              to_char(date_envoi_rar,'DD/MM/YYYY')  as date_envoi_rar,                                      to_char(date_retour_signature,\'DD/MM/YYYY\') as date_retour_signature,
8050                                              to_char(date_retour_rar,'DD/MM/YYYY')  as date_retour_rar                                      to_char(date_envoi_controle_legalite,\'DD/MM/YYYY\') as date_envoi_controle_legalite,
8051                                      FROM ".DB_PREFIXE."instruction                                      to_char(date_retour_controle_legalite,\'DD/MM/YYYY\') as date_retour_controle_legalite,
8052                                      INNER JOIN ".DB_PREFIXE."dossier ON                                      to_char(date_envoi_rar,\'DD/MM/YYYY\') as date_envoi_rar,
8053                                          dossier.dossier=instruction.dossier                                      to_char(date_retour_rar,\'DD/MM/YYYY\') as date_retour_rar
8054                                      LEFT JOIN ".DB_PREFIXE."autorite_competente ON                                  FROM
8055                                          dossier.autorite_competente=autorite_competente.autorite_competente                                      %1$sinstruction
8056                                      INNER JOIN ".DB_PREFIXE."evenement ON                                      INNER JOIN %1$sdossier
8057                                          instruction.evenement=evenement.evenement                                          ON dossier.dossier=instruction.dossier
8058                                      WHERE code_barres='".$code_barres."'";                                      LEFT JOIN %1$sautorite_competente
8059                          $resInfo = $this->f->db->query($sqlInfo);                                          ON dossier.autorite_competente=autorite_competente.autorite_competente
8060                          $this->f->isDatabaseError($resInfo);                                      INNER JOIN %1$sevenement
8061                          $infos = $resInfo->fetchRow(DB_FETCHMODE_ASSOC);                                          ON instruction.evenement=evenement.evenement
8062                                    WHERE
8063                                        code_barres = \'%2$s\'',
8064                                    DB_PREFIXE,
8065                                    $this->f->db->escapeSimple($code_barres)
8066                                ),
8067                                array(
8068                                    "origin" => __METHOD__
8069                                )
8070                            );
8071                            $infos = array_shift($qres['result']);
8072    
8073                          // Vérification de la non modification des dates de suivi                          // Vérification de la non modification des dates de suivi
8074                          foreach(explode(";", $type_mise_a_jour) as $champ) {                          foreach(explode(";", $type_mise_a_jour) as $champ) {
# Line 8054  class instruction extends instruction_ge Line 8333  class instruction extends instruction_ge
8333                  }                  }
8334    
8335                  // Test si l'evenement est de type arrete et si un délégataire a été nommé                  // Test si l'evenement est de type arrete et si un délégataire a été nommé
8336                  $sql = "SELECT                  $qres = $this->f->get_all_results_from_db_query(
8337                        sprintf(
8338                            'SELECT
8339                              dossier.dossier_libelle,                              dossier.dossier_libelle,
8340                              evenement.type,                              evenement.type,
8341                              count(lien_dossier_demandeur) as nbdemandeur,                              count(lien_dossier_demandeur) as nbdemandeur,
8342                              CASE                              CASE
8343                                  WHEN division.libelle IS NOT NULL AND phase.code IS NOT NULL                                  WHEN division.libelle IS NOT NULL AND phase.code IS NOT NULL
8344                                      THEN CONCAT(phase.code, ' - ', division.libelle)                                      THEN CONCAT(phase.code, \' - \', division.libelle)
8345                                  ELSE                                  ELSE
8346                                      phase.code                                      phase.code
8347                              END AS code_phase                              END AS code_phase
8348                          FROM ".DB_PREFIXE."instruction                          FROM
8349                          LEFT JOIN ".DB_PREFIXE."dossier                              %1$sinstruction
8350                              ON instruction.dossier = dossier.dossier                              LEFT JOIN %1$sdossier
8351                          LEFT JOIN ".DB_PREFIXE."division                                  ON instruction.dossier = dossier.dossier
8352                              ON dossier.division = division.division                              LEFT JOIN %1$sdivision
8353                          INNER JOIN ".DB_PREFIXE."evenement ON                                  ON dossier.division = division.division
8354                              instruction.evenement=evenement.evenement                              INNER JOIN %1$sevenement
8355                          LEFT JOIN ".DB_PREFIXE."phase                                  ON instruction.evenement=evenement.evenement
8356                              ON evenement.phase = phase.phase                              LEFT JOIN %1$sphase
8357                          inner JOIN ".DB_PREFIXE."lien_dossier_demandeur ON                                  ON evenement.phase = phase.phase
8358                              instruction.dossier=lien_dossier_demandeur.dossier                              inner JOIN %1$slien_dossier_demandeur
8359                          inner join ".DB_PREFIXE."demandeur on                                  ON instruction.dossier=lien_dossier_demandeur.dossier
8360                              demandeur.demandeur=lien_dossier_demandeur.demandeur                              inner join %1$sdemandeur
8361                          WHERE code_barres='".$code_barres."'                                  ON demandeur.demandeur=lien_dossier_demandeur.demandeur
8362                              AND " . $sql_demandeur . "                          WHERE
8363                          GROUP BY dossier.dossier_libelle, evenement.type, phase.code, division.libelle";                              code_barres = \'%2$s\'
8364                                AND %3$s
8365                  $res = $this->f->db->query($sql);                          GROUP BY
8366                  $this->f->addToLog(__METHOD__.": db->query(\"".$sql."\")", VERBOSE_MODE);                              dossier.dossier_libelle,
8367                  $this->f->isDatabaseError($res);                              evenement.type,
8368                  $testDemandeur = $res->fetchrow(DB_FETCHMODE_ASSOC);                              phase.code,
8369                                division.libelle',
8370                            DB_PREFIXE,
8371                            $this->f->db->escapeSimple($code_barres),
8372                            $sql_demandeur
8373                        ),
8374                        array(
8375                            "origin" => __METHOD__
8376                        )
8377                    );
8378                    $testDemandeur = array_shift($qres['result']);
8379                                    
8380    
8381                  // Recuperation de l'adresse de destination                  // Recuperation de l'adresse de destination
                 $sqlAdresse = "SELECT  
                     CASE WHEN demandeur.qualite='particulier'  
                         THEN TRIM(CONCAT_WS(' ', pc.libelle, demandeur.particulier_nom, demandeur.particulier_prenom))  
                         ELSE TRIM(demandeur.personne_morale_denomination)  
                     END  as ligne1,  
                     CASE WHEN demandeur.qualite='personne_morale'  
                         THEN TRIM(demandeur.personne_morale_raison_sociale)  
                         ELSE ''  
                     END as ligne1_1,  
                     CASE WHEN demandeur.qualite='personne_morale' AND (demandeur.personne_morale_nom IS NOT NULL OR demandeur.personne_morale_prenom IS NOT NULL)  
                         THEN TRIM(CONCAT_WS(' ', 'rep. par', demandeur.personne_morale_nom, demandeur.personne_morale_prenom))  
                         ELSE ''  
                     END as ligne1_2,  
                     trim(concat(demandeur.numero,' ',demandeur.voie)) as ligne2,  
                     CASE demandeur.complement  
                     WHEN null THEN ''  
                     ELSE trim(demandeur.complement)  
                     END as ligne3,  
                     CASE demandeur.lieu_dit  
                     WHEN null THEN ''  
                     ELSE trim(demandeur.lieu_dit)  
                     END as ligne4,  
                     CONCAT_WS(' ', demandeur.code_postal, demandeur.localite,  
                         (CASE WHEN demandeur.bp IS NOT NULL  
                             THEN CONCAT_WS(' ', 'BP', demandeur.bp)  
                             ELSE ''  
                         END),  
                         (CASE WHEN demandeur.cedex IS NOT NULL  
                             THEN CONCAT_WS(' ', 'CEDEX', demandeur.cedex)  
                             ELSE ''  
                         END))  
                     as ligne5,  
                     code_barres as code_barres  
                 FROM ".DB_PREFIXE."instruction  
                 INNER JOIN ".DB_PREFIXE."dossier ON dossier.dossier = instruction.dossier  
                 INNER JOIN ".DB_PREFIXE."lien_dossier_demandeur ON dossier.dossier = lien_dossier_demandeur.dossier  
                 INNER JOIN ".DB_PREFIXE."demandeur ON lien_dossier_demandeur.demandeur = demandeur.demandeur  
                 LEFT OUTER JOIN ".DB_PREFIXE."civilite as pc ON demandeur.particulier_civilite = pc.civilite OR demandeur.personne_morale_civilite = pc.civilite  
                 WHERE instruction.code_barres ='".$code_barres."'";  
   
8382                  // Envoi pour delegataire ou petitionnaire principal selon le type d'evenement                  // Envoi pour delegataire ou petitionnaire principal selon le type d'evenement
8383                    $sqlAdresse = " AND demandeur.type_demandeur='petitionnaire' AND lien_dossier_demandeur.petitionnaire_principal IS TRUE";
8384                  if($testDemandeur['type'] != 'arrete' AND $testDemandeur['nbdemandeur'] > 1) {                  if($testDemandeur['type'] != 'arrete' AND $testDemandeur['nbdemandeur'] > 1) {
8385                      $sqlAdresse .= " AND demandeur.type_demandeur='delegataire'";                      $sqlAdresse = " AND demandeur.type_demandeur='delegataire'";
                 } else {  
                     $sqlAdresse .= " AND demandeur.type_demandeur='petitionnaire' AND lien_dossier_demandeur.petitionnaire_principal IS TRUE";  
8386                  }                  }
8387    
8388                  $resAdresse = $this->f->db->query($sqlAdresse);                  $qres = $this->f->get_all_results_from_db_query(
8389                  $adresse_dest = $resAdresse->fetchrow(DB_FETCHMODE_ASSOC);                      sprintf(
8390                  $this->f->addToLog(__METHOD__.": db->query(\"".$sqlAdresse."\")", VERBOSE_MODE);                          'SELECT
8391                  $this->f->isDatabaseError($resAdresse);                              CASE WHEN demandeur.qualite = \'particulier\'
8392                                    THEN TRIM(CONCAT_WS(\' \', pc.libelle, demandeur.particulier_nom, demandeur.particulier_prenom))
8393                                    ELSE TRIM(demandeur.personne_morale_denomination)
8394                                END  as ligne1,
8395                                CASE WHEN demandeur.qualite = \'personne_morale\'
8396                                    THEN TRIM(demandeur.personne_morale_raison_sociale)
8397                                    ELSE \'\'
8398                                END as ligne1_1,
8399                                CASE WHEN demandeur.qualite = \'personne_morale\' AND (demandeur.personne_morale_nom IS NOT NULL OR demandeur.personne_morale_prenom IS NOT NULL)
8400                                    THEN TRIM(CONCAT_WS(\' \', \'rep. par\', demandeur.personne_morale_nom, demandeur.personne_morale_prenom))
8401                                    ELSE \'\'
8402                                END as ligne1_2,
8403                                trim(concat(demandeur.numero,\' \',demandeur.voie)) as ligne2,
8404                                CASE demandeur.complement
8405                                WHEN null THEN \'\'
8406                                ELSE trim(demandeur.complement)
8407                                END as ligne3,
8408                                CASE demandeur.lieu_dit
8409                                WHEN null THEN \'\'
8410                                ELSE trim(demandeur.lieu_dit)
8411                                END as ligne4,
8412                                CONCAT_WS(\' \', demandeur.code_postal, demandeur.localite,
8413                                    (CASE WHEN demandeur.bp IS NOT NULL
8414                                        THEN CONCAT_WS(\' \', \'BP\', demandeur.bp)
8415                                        ELSE \'\'
8416                                    END),
8417                                    (CASE WHEN demandeur.cedex IS NOT NULL
8418                                        THEN CONCAT_WS(\' \', \'CEDEX\', demandeur.cedex)
8419                                        ELSE \'\'
8420                                    END))
8421                                as ligne5,
8422                                code_barres as code_barres
8423                            FROM
8424                                %1$sinstruction
8425                                INNER JOIN %1$sdossier
8426                                    ON dossier.dossier = instruction.dossier
8427                                INNER JOIN %1$slien_dossier_demandeur
8428                                    ON dossier.dossier = lien_dossier_demandeur.dossier
8429                                INNER JOIN %1$sdemandeur
8430                                    ON lien_dossier_demandeur.demandeur = demandeur.demandeur
8431                                LEFT OUTER JOIN %1$scivilite AS pc
8432                                    ON demandeur.particulier_civilite = pc.civilite
8433                                        OR demandeur.personne_morale_civilite = pc.civilite
8434                            WHERE
8435                                instruction.code_barres = \'%2$s\'
8436                                %3$s',
8437                            DB_PREFIXE,
8438                            $this->f->db->escapeSimple($code_barres),
8439                            $sqlAdresse
8440                        ),
8441                        array(
8442                            "origin" => __METHOD__
8443                        )
8444                    );
8445                    $adresse_dest = array_shift($qres['result']);
8446    
8447                  // Création adresse destinataire sans ligne vide                  // Création adresse destinataire sans ligne vide
8448                  $adresse_destinataire = array();                  $adresse_destinataire = array();
# Line 8696  class instruction extends instruction_ge Line 9000  class instruction extends instruction_ge
9000          // Cette méthode permet d'exécuter une routine en début des méthodes          // Cette méthode permet d'exécuter une routine en début des méthodes
9001          // dites de TREATMENT.          // dites de TREATMENT.
9002          $this->begin_treatment(__METHOD__);          $this->begin_treatment(__METHOD__);
9003          $message = __('Erreur de paramétrage :');          $message = __('Erreur de paramétrage :');
9004          $erreurParametrage = false;          $erreurParametrage = false;
9005          // Récupération du paramétrage de la collectivité du dossier          // Récupération du paramétrage de la collectivité du dossier
9006          $id_di = $this->getVal('dossier');          $id_di = $this->getVal('dossier');
# Line 9453  class instruction extends instruction_ge Line 9757  class instruction extends instruction_ge
9757              ORDER BY              ORDER BY
9758                  date_envoi ASC, instruction_notification.destinataire ASC',                  date_envoi ASC, instruction_notification.destinataire ASC',
9759              DB_PREFIXE,              DB_PREFIXE,
9760              $this->getVal('instruction'),              intval($this->getVal('instruction')),
9761              $whereTypeTache              $whereTypeTache
9762          );          );
9763          $res = $this->f->db->query($sql);          $qres = $this->f->get_all_results_from_db_query($sql, array(
9764          $this->f->addToLog(__METHOD__."(): db->query(\"".$sql."\")", VERBOSE_MODE);                  "origin" => __METHOD__
9765          $this->f->isDatabaseError($res);              )
9766            );
9767          // Préparation du lien de téléchargement des annexes          // Préparation du lien de téléchargement des annexes
9768          $htmlList =          $htmlList =
9769              '<style>              '<style>
# Line 9477  class instruction extends instruction_ge Line 9782  class instruction extends instruction_ge
9782              Annexe              Annexe
9783          </a>';          </a>';
9784          // Stockage des infos de chaque notification dans un tableau          // Stockage des infos de chaque notification dans un tableau
9785          while( $row =& $res->fetchrow(DB_FETCHMODE_ASSOC) ) {          foreach ($qres['result'] as $row) {
9786              $valNotif = array();              $valNotif = array();
9787              foreach($listeChamps as $champ) {              foreach($listeChamps as $champ) {
9788                  $valNotif[$champ] = $row[$champ];                  $valNotif[$champ] = $row[$champ];
# Line 9837  class instruction extends instruction_ge Line 10142  class instruction extends instruction_ge
10142                  FROM                  FROM
10143                      %1$sevenement                      %1$sevenement
10144                  WHERE                  WHERE
10145                      evenement = %2$s                      evenement = %2$d
10146                      AND evenement_retour_ar != %3$s',                      AND evenement_retour_ar != %3$d',
10147                  DB_PREFIXE,                  DB_PREFIXE,
10148                  intval($ev_parent),                  intval($ev_parent),
10149                  intval($evenement)                  intval($evenement)
# Line 9951  class instruction extends instruction_ge Line 10256  class instruction extends instruction_ge
10256          $listeDemandeursNotifiable = array();          $listeDemandeursNotifiable = array();
10257    
10258          // Requête de récupération des demandeurs          // Requête de récupération des demandeurs
10259          $sql = sprintf(          $qres = $this->f->get_all_results_from_db_query(
10260              'SELECT              sprintf(
10261                  demandeur.demandeur,                  'SELECT
10262                  CASE                      demandeur.demandeur,
10263                      WHEN demandeur.qualite=\'particulier\'                      CASE
10264                      THEN TRIM(CONCAT(demandeur.particulier_nom, \' \', demandeur.particulier_prenom, \' \', demandeur.courriel))                          WHEN demandeur.qualite=\'particulier\'
10265                  ELSE                          THEN TRIM(CONCAT(demandeur.particulier_nom, \' \', demandeur.particulier_prenom, \' \', demandeur.courriel))
10266                      TRIM(CONCAT(demandeur.personne_morale_raison_sociale, \' \', demandeur.personne_morale_denomination, \' \', demandeur.courriel))                      ELSE
10267                  END AS destinataire,                          TRIM(CONCAT(demandeur.personne_morale_raison_sociale, \' \', demandeur.personne_morale_denomination, \' \', demandeur.courriel))
10268                  demandeur.courriel,                      END AS destinataire,
10269                  petitionnaire_principal                      demandeur.courriel,
10270              FROM                      petitionnaire_principal
10271                  %1$sdossier                  FROM
10272                  INNER JOIN %1$slien_dossier_demandeur                      %1$sdossier
10273                      ON dossier.dossier = lien_dossier_demandeur.dossier                      INNER JOIN %1$slien_dossier_demandeur
10274                  INNER JOIN %1$sdemandeur                          ON dossier.dossier = lien_dossier_demandeur.dossier
10275                      ON lien_dossier_demandeur.demandeur = demandeur.demandeur                      INNER JOIN %1$sdemandeur
10276                  -- Récupération de la plus ancienne demande associée au dossier (la demande                          ON lien_dossier_demandeur.demandeur = demandeur.demandeur
10277                  -- de création du dossier)                      -- Récupération de la plus ancienne demande associée au dossier (la demande
10278                  INNER JOIN (                      -- de création du dossier)
10279                      SELECT                      INNER JOIN (
10280                          demande,                          SELECT
10281                          dossier_instruction,                              demande,
10282                          source_depot                              dossier_instruction,
10283                      FROM                              source_depot
10284                          %1$sdemande                          FROM
10285                      WHERE                              %1$sdemande
10286                          dossier_instruction = \'%2$s\'                          WHERE
10287                      ORDER BY                              dossier_instruction = \'%2$s\'
10288                          demande ASC                          ORDER BY
10289                      LIMIT 1                              demande ASC
10290                  ) as demande                          LIMIT 1
10291                      ON dossier.dossier = demande.dossier_instruction                      ) as demande
10292              WHERE                          ON dossier.dossier = demande.dossier_instruction
10293                  dossier.dossier = \'%2$s\'                  WHERE
10294                  %3$s                      dossier.dossier = \'%2$s\'
10295                  %4$s',                      %3$s
10296              DB_PREFIXE,                      %4$s',
10297              $idDossier,                  DB_PREFIXE,
10298              $condition_demandeur,                  $this->f->db->escapeSimple($idDossier),
10299              $sqlPetitionnairePrincipal                  $condition_demandeur,
10300          );                  $sqlPetitionnairePrincipal
10301          $res = $this->f->db->query($sql);              ),
10302          $this->f->addToLog(__METHOD__."(): db->query(\"".$sql."\")", VERBOSE_MODE);              array(
10303          $this->f->isDatabaseError($res);                  "origin" => __METHOD__
10304                )
10305            );
10306          // Récupération des infos des demandeurs et stockage dans un tableau          // Récupération des infos des demandeurs et stockage dans un tableau
10307          // ayant pour clé les id des demandeurs          // ayant pour clé les id des demandeurs
10308          while($row = $res->fetchrow(DB_FETCHMODE_ASSOC)) {          foreach ($qres['result'] as $row) {
10309              $listeDemandeursNotifiable[$row['demandeur']] = $row;              $listeDemandeursNotifiable[$row['demandeur']] = $row;
10310          }          }
10311    
# Line 10037  class instruction extends instruction_ge Line 10344  class instruction extends instruction_ge
10344              }              }
10345          }          }
10346          $listeInstrNotif = array();          $listeInstrNotif = array();
10347          $sql = sprintf('          $qres = $this->f->get_all_results_from_db_query(
10348              SELECT              sprintf('
10349                  instruction_notification.instruction_notification                  SELECT
10350              FROM                      instruction_notification.instruction_notification
10351                  %1$sinstruction_notification                  FROM
10352                  LEFT JOIN %1$stask                      %1$sinstruction_notification
10353                      ON instruction_notification.instruction_notification::CHARACTER VARYING = task.object_id                      LEFT JOIN %1$stask
10354              WHERE                          ON instruction_notification.instruction_notification::CHARACTER VARYING = task.object_id
10355                  instruction = %2$s                  WHERE
10356                  %3$s',                      instruction = %2$s
10357              DB_PREFIXE,                      %3$s',
10358              intval($id_instruction),                  DB_PREFIXE,
10359              $whereTypeTache                  intval($id_instruction),
10360                    $whereTypeTache
10361                ),
10362                array(
10363                    "origin" => __METHOD__
10364                )
10365          );          );
10366          $res = $this->f->db->query($sql);          foreach ($qres['result'] as $row) {
         $this->f->addToLog(__METHOD__."(): db->query(\"".$sql."\")", VERBOSE_MODE);  
         $this->f->isDatabaseError($res);  
         while ($row = $res->fetchrow(DB_FETCHMODE_ASSOC)) {  
10367              $listeInstrNotif[] = $row['instruction_notification'];              $listeInstrNotif[] = $row['instruction_notification'];
10368          }          }
10369          return $listeInstrNotif;          return $listeInstrNotif;
# Line 10355  class instruction extends instruction_ge Line 10664  class instruction extends instruction_ge
10664          if (empty($tiersANotifier)) {          if (empty($tiersANotifier)) {
10665              $this->addToLog(              $this->addToLog(
10666                  sprintf(                  sprintf(
10667                      '%s() : %s %s : ',                      '%s() : %s %s : %s',
10668                      __METHOD__,                      __METHOD__,
10669                      __("La récupération des tiers à échoué."),                      __("La récupération des tiers à échoué."),
10670                      __('Paramétrage'),                      __('Paramétrage'),

Legend:
Removed from v.14541  
changed lines
  Added in v.14542

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26