setMessage("Le type de message n'est pas correct."); return $this->BAD_DATA; } // Vérification de l'existence du dossier dans la base de données $sql = "SELECT dossier FROM ".DB_PREFIXE."dossier"; $sql .= " WHERE dossier='".$this->f->clean_break($data['dossier_instruction'])."'"; $res = $this->db->query($sql); // Logger $this->addToLog("generic(): db->query(\"".$sql."\"", VERBOSE_MODE); // Si une erreur de base de données se produit sur cette requête // alors on retourne un résultat d'erreur if ($this->f->isDatabaseError($res, true)) { $this->setMessage("Erreur de base de données."); return $this->KO; } // Vérification de l'existence du dossier dans la base de données $this->dossiers = array(); while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) { $this->dossiers[] = $row['dossier']; } $res->free(); // Si le nombre de dossiers correspondants au numéro de dossier passé // en paramètre n'est pas 1 alors on ajoute un message d'informations // et on retourne un résultat d'erreur if (count($this->dossiers) != 1) { $this->setMessage("Le dossier spécifié dans le message n'existe". " pas."); return $this->BAD_DATA; } // On instancie la message qui va être créé par la requête $this->metier_instance = new dossier_message("]", $this->db, 0); // Vérification de la validité de la date // Si le format de la date transmise dans la requête n'est pas correct // alors on ajoute un message d'informations et on retourne un résultat // d'erreur // Important : $date_db est passé par référence et est modifié dans la // méthode timestampValide() $date_db = null; if (!$this->timestampValide($data['date'], $date_db, true)) { $this->setMessage("La date n'est pas correcte."); return $this->BAD_DATA; } // Vérification de la validité du contenu en fonction du paramètre // $contenu_val_verif et formatage du contenu $contenu = ''; $valid_contenu = true; // On boucle sur chaque champs à vérifier foreach ($contenu_val_verif as $contenu_str => $possible_vals) { // On récupère la valeur $value = $data['contenu'][$contenu_str]; // Si la valeur est vide alors on sort de la boucle if (empty($value)) { $valid_contenu = false; break; } // Si la valeur n'est pas dans les valeurs possible et que la valeur // possible n'est pas nulle alors on sort de la boucle if ($possible_vals && !in_array(strtolower($value), $possible_vals)) { $valid_contenu = false; break; } // Formatage du contenu $contenu .= $contenu_str.' : '.$value.' '; // il faut que cette ligne soit comme ça pour que le \n soit ajouté à la fin } // Si un des éléments du contenu n'est pas valide alors on ajoute un // message d'informations et on retourne un résultat d'erreur if ($valid_contenu === false) { $this->setMessage("Le contenu du message n'est pas correct."); return $this->BAD_DATA; } // Affectation de l'identifiant du message dans la variable // $data['message'] pour être transmis dans la requête dans le champ // message de la table $data['dossier_message'] = 0; // Affectation du contenu reformaté dans la variable $data['contenu'] // pour être transmis dans la requête dans le champ contenu de la table $data['contenu'] = $contenu; // Affectation du numéro de dossier d'instruction dans la variable // $data['dossier'] pour être transmis dans la requête dans le champ // dossier de la table $data['dossier'] = $data['dossier_instruction']; // Affectation du numéro de la date dans la variable // $data['date_emission'] pour être transmis dans la requête dans le // champ date_emission de la table dans le format correct $data['date_emission'] = $date_db; // Affectation de la valeur de la variable $data['lu'] pour être // transmis dans la requête dans le champ lu de la table $data['lu'] = false; // On retourne un résultat OK return $this->OK; } /** * Ce message permet de recevoir les informations de complétude dossier * PC qui concerne un ERP par le service ERP Accessibilité * * @param mixed $data Les données reçues en format d'un tableau associative */ public function completudeDossierACC($data) { // Logger $this->addToLog("completudeDossierACC(): start", EXTRA_VERBOSE_MODE); // Définition des critères de vérification de la validité du contenu // du message $key_val_pairs = array('Complétude ERP ACC' => array('oui', 'non'), 'Motivation Complétude ERP ACC' => null); // Appel de la méthode de traitement générique qui permet d'effectuer // les vérifications de validité des données et de préparer la // requête d'insertion par la modification de $data $ret = $this->generic($data, $this->TYPE_COMPLETUDE_ACC, $key_val_pairs); // Si une erreur a été rencontrée alors on retourne cette erreur if ($ret != $this->OK) { return $ret; } // Si aucune erreur n'a été rencontrée alors on appelle la méthode // ajouter pour insérer le message et on retourne le résultat de // la méthode ajouter return parent::ajouter($data, "Insertion du message '".$this->TYPE_COMPLETUDE_ACC."' OK.", "Echec du message '".$this->TYPE_COMPLETUDE_ACC."'"); } /** * Ce message permet de recevoir les informations de complétude dossier * PC qui concerne un ERP par le service ERP Sécurité * * @param mixed $data Les données reçues en format d'un tableau associative */ public function completudeDossierSECU($data) { // Logger $this->addToLog("completudeDossierSECU(): start", EXTRA_VERBOSE_MODE); // Définition des critères de vérification de la validité du contenu // du message $key_val_pairs = array('Complétude ERP SECU' => array('oui', 'non'), 'Motivation Complétude ERP SECU' => null); // Appel de la méthode de traitement générique qui permet d'effectuer // les vérifications de validité des données et de préparer la // requête d'insertion par la modification de $data $ret = $this->generic($data, $this->TYPE_COMPLETUDE_SECU, $key_val_pairs); // Si une erreur a été rencontrée alors on retourne cette erreur if ($ret != $this->OK) { return $ret; } // Si aucune erreur n'a été rencontrée alors on appelle la méthode // ajouter pour insérer le message et on retourne le résultat de // la méthode ajouter return parent::ajouter($data, "Insertion du message '".$this->TYPE_COMPLETUDE_SECU."' OK.", "Echec du message '".$this->TYPE_COMPLETUDE_SECU."'"); } /** * Ce message permet de recevoir les informations de qualification * d'un dossier PC qui concerne un ERP par le service ERP * * @param mixed $data Les données reçues en format d'un tableau associative */ public function qualificationDossier($data) { // Logger $this->addToLog("qualificationDossier(): start", EXTRA_VERBOSE_MODE); // Définition des critères de vérification de la validité du contenu // du message $key_val_pairs = array('Confirmation ERP' => array('oui', 'non'), 'Type de dossier ERP' => null, 'Catégorie de dossier ERP' => null); // Appel de la méthode de traitement générique qui permet d'effectuer // les vérifications de validité des données et de préparer la // requête d'insertion par la modification de $data $ret = $this->generic($data, $this->TYPE_QUALIFICATION_ERP, $key_val_pairs); // Si une erreur a été rencontrée alors on retourne cette erreur if ($ret != $this->OK) { return $ret; } // Si aucune erreur n'a été rencontrée alors on appelle la méthode // ajouter pour insérer le message et on retourne le résultat de // la méthode ajouter return parent::ajouter($data, "Insertion du message '".$this->TYPE_QUALIFICATION_ERP."' OK.", "Echec du message '".$this->TYPE_QUALIFICATION_ERP."'"); } /** * Ce message permet de recevoir les informations d'enjeu ERP d'un dossier * en ce qui concerne le service ERP * * @param mixed $data Les données reçues en format d'un tableau associative */ public function dossierEnjeux($data) { // Logger $this->addToLog("dossierEnjeux(): start", EXTRA_VERBOSE_MODE); // Définition des critères de vérification de la validité du contenu // du message $key_val_pairs = array('Dossier à enjeux ERP' => array('oui', 'non')); // Appel de la méthode de traitement générique qui permet d'effectuer // les vérifications de validité des données et de préparer la // requête d'insertion par la modification de $data $ret = $this->generic($data, $this->TYPE_DOSSIER_ENJEUX, $key_val_pairs); // Si une erreur a été rencontrée alors on retourne cette erreur if ($ret != $this->OK) { return $ret; } // Si aucune erreur n'a été rencontrée alors on appelle la méthode // ajouter pour insérer le message et on retourne le résultat de // la méthode ajouter return parent::ajouter($data, "Insertion du message '".$this->TYPE_DOSSIER_ENJEUX."' OK.", "Echec du message '".$this->TYPE_DOSSIER_ENJEUX."'"); } } ?>