/** * Liste des id Fta selon l'état d'avancement en exécution * @param type $paramSyntheseAction * @param type $paramRole * @param type $paramIdUser * @param type $paramIdFtaEtat * @param type $paramFtaModification * @return type */ public static function getIdFtaByEtatAvancement($paramSyntheseAction, $paramRole, $paramIdUser, $paramIdFtaEtat, $paramFtaModification, $paramLieuGeo) { $idFtaEffectue = array(); // $compteur = "0"; if ($_SESSION['CheckIdFtaRole'] != $paramRole or $_SESSION[UserModel::KEYNAME] != $paramIdUser) { Acl::setRightsAcces($paramIdUser, $paramRole); } switch ($paramSyntheseAction) { case FtaEtatModel::ETAT_AVANCEMENT_VALUE_ATTENTE: /* * On obtient les fta à vérifié dont tous les chapitres ne sont pas validés */ $arrayTmp = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ',' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ',' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ' FROM ' . FtaWorkflowModel::TABLENAME . ', ' . FtaWorkflowStructureModel::TABLENAME . ', ' . FtaSuiviProjetModel::TABLENAME . ' , ' . FtaActionSiteModel::TABLENAME . ' , ' . FtaModel::TABLENAME . ' , ' . IntranetDroitsAccesModel::TABLENAME . ' , ' . IntranetActionsModel::TABLENAME . ' WHERE ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ' IS NOT NULL' . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_SITE . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_SITE_PRODUCTION . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA . '=' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::FIELDNAME_PARENT_INTRANET_ACTIONS . ' AND ' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_INTRANET_ACTIONS . ' IN (' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ')' . ' AND ' . FtaSuiviProjetModel::FIELDNAME_SIGNATURE_VALIDATION_SUIVI_PROJET . '=' . FtaSuiviProjetModel::SIGNATURE_VALIDATION_SUIVI_PROJET_FALSE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . '=' . IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . '=' . $paramIdUser . ' AND ' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . $paramIdFtaEtat . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_ROLE . '=' . $paramRole . ' AND ( 0 ' . IntranetActionsModel::addIdIntranetAction($_SESSION[Acl::ACL_INTRANET_ACTIONS_VALIDE]) . ')'); if (FtaRoleModel::isGestionnaire($paramRole)) { $arrayTmp = NULL; } if ($arrayTmp) { foreach ($arrayTmp as $rows) { $cheackIdFta = in_array($rows[FtaModel::KEYNAME], $idFtaEffectue); if (!$cheackIdFta) { $tauxDeValidadation = FtaProcessusModel::getValideProcessusEncours($rows[FtaModel::KEYNAME], $rows[FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS], $rows[FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW]); if ($tauxDeValidadation != '1') { $idFtaEffectue[] = $rows[FtaModel::KEYNAME]; // $compteur++; // if ($compteur == ModuleConfig::VALUE_MAX_PAR_PAGE) { // break; // } } } } } $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ' WHERE ( ' . '0' . ' ' . FtaModel::addIdFta($idFtaEffectue) . ')'); break; case FtaEtatModel::ETAT_AVANCEMENT_VALUE_EN_COURS: //Récupération des suivis de projet gérés par l'utilisateur et non validé /* * On obtient les fta à vérifié dont tous les chapitres ne sont pas validés */ $arrayTmp = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ',' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ',' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ' FROM ' . FtaWorkflowModel::TABLENAME . ', ' . FtaWorkflowStructureModel::TABLENAME . ', ' . FtaSuiviProjetModel::TABLENAME . ' , ' . FtaActionSiteModel::TABLENAME . ' , ' . FtaModel::TABLENAME . ' , ' . IntranetDroitsAccesModel::TABLENAME . ' , ' . IntranetActionsModel::TABLENAME . ' WHERE ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ' IS NOT NULL' . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_FTA_WORKFLOW . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_SITE . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_SITE_PRODUCTION . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA . '=' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::FIELDNAME_PARENT_INTRANET_ACTIONS . ' AND ' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_INTRANET_ACTIONS . ' IN (' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ')' . ' AND ' . FtaSuiviProjetModel::FIELDNAME_SIGNATURE_VALIDATION_SUIVI_PROJET . '=' . FtaSuiviProjetModel::SIGNATURE_VALIDATION_SUIVI_PROJET_FALSE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . '=' . IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . '=' . $paramIdUser . ' AND ' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . $paramIdFtaEtat . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_ROLE . '=' . $paramRole . ' AND ( 0 ' . IntranetActionsModel::addIdIntranetAction($_SESSION[Acl::ACL_INTRANET_ACTIONS_VALIDE]) . ')'); if ($arrayTmp) { foreach ($arrayTmp as $rows) { $cheackIdFta = in_array($rows[FtaModel::KEYNAME], $idFtaEffectue); if (!$cheackIdFta) { $tauxDeValidadation = FtaProcessusModel::getFtaProcessusNonValidePrecedent($rows[FtaModel::KEYNAME], $rows[FtaProcessusModel::KEYNAME], $rows[FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW]); /** * En cas d'oublier des chef de projet qui aurait créé une fta sans validé les informations de base */ if (FtaRoleModel::isGestionnaire($paramRole)) { $chefProjet = $tauxDeValidadation == '0'; if ($tauxDeValidadation != '0' or $chefProjet == TRUE) { $idFtaEffectue[] = $rows[FtaModel::KEYNAME]; // $compteur++; // if ($compteur == ModuleConfig::VALUE_MAX_PAR_PAGE) { // break; // } } } elseif ($tauxDeValidadation == '1') { $idFtaEffectue[] = $rows[FtaModel::KEYNAME]; // $compteur++; // if ($compteur == ModuleConfig::VALUE_MAX_PAR_PAGE) { // break; // } } } } } $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ' WHERE ( ' . '0' . ' ' . FtaModel::addIdFta($idFtaEffectue) . ')'); break; case FtaEtatModel::ETAT_AVANCEMENT_VALUE_EFFECTUES: //Récupération de la liste fta pour le role concernés /* * On obtient les fta à vérifié dont tous les chapitres sont validés */ $arrayTmp = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ',' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ',' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ' FROM ' . FtaWorkflowModel::TABLENAME . ', ' . FtaWorkflowStructureModel::TABLENAME . ', ' . FtaSuiviProjetModel::TABLENAME . ' , ' . FtaActionSiteModel::TABLENAME . ' , ' . FtaModel::TABLENAME . ' , ' . IntranetDroitsAccesModel::TABLENAME . ' , ' . IntranetActionsModel::TABLENAME . ' WHERE ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ' IS NOT NULL' . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_SITE . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_SITE_PRODUCTION . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA . '=' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::FIELDNAME_PARENT_INTRANET_ACTIONS . ' AND ' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_INTRANET_ACTIONS . ' IN (' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ')' . ' AND ' . FtaSuiviProjetModel::FIELDNAME_SIGNATURE_VALIDATION_SUIVI_PROJET . '<>' . FtaSuiviProjetModel::SIGNATURE_VALIDATION_SUIVI_PROJET_FALSE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . '=' . IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . '=' . $paramIdUser . ' AND ' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . $paramIdFtaEtat . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_ROLE . '=' . $paramRole . ' AND ( 0 ' . IntranetActionsModel::addIdIntranetAction($_SESSION[Acl::ACL_INTRANET_ACTIONS_VALIDE]) . ')'); if ($arrayTmp) { foreach ($arrayTmp as $rows) { $cheackIdFta = in_array($rows[FtaModel::KEYNAME], $idFtaEffectue); if (!$cheackIdFta) { $tauxDeValidadation = FtaProcessusModel::getValideIdFtaByRoleWorkflowProcessus($rows[FtaModel::KEYNAME], $paramRole, $rows[FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW]); if ($tauxDeValidadation == '1') { $idFtaEffectue[] = $rows[FtaModel::KEYNAME]; // $compteur++; // if ($compteur == ModuleConfig::VALUE_MAX_PAR_PAGE) { // break; // } } } } } $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ' WHERE ( ' . '0' . ' ' . FtaModel::addIdFta($idFtaEffectue) . ')'); break; case FtaEtatModel::ETAT_AVANCEMENT_VALUE_ALL: //Toutes les fiches de l'état sélectionné if ($paramFtaModification) { $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ',' . IntranetDroitsAccesModel::TABLENAME . ',' . FtaWorkflowModel::TABLENAME . ',' . IntranetActionsModel::TABLENAME . ' , ' . FtaActionSiteModel::TABLENAME . ' WHERE ' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . $paramIdFtaEtat . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . '=' . IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . '=' . $paramIdUser . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::FIELDNAME_PARENT_INTRANET_ACTIONS . ' AND ' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ' AND ( 0 ' . IntranetActionsModel::addIdIntranetAction($_SESSION[Acl::ACL_INTRANET_ACTIONS_VALIDE]) . ')' . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_SITE . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_SITE_PRODUCTION . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_FTA_WORKFLOW . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_INTRANET_ACTIONS . ' IN (' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ')'); } else { $isSiteDeProd = GeoModel::isLieuGeoSiteDeProduction($paramLieuGeo); if ($isSiteDeProd) { $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ' WHERE ' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . $paramIdFtaEtat . ' AND ' . FtaModel::FIELDNAME_SITE_PRODUCTION . '=' . $paramLieuGeo); } else { $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ' WHERE ' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . $paramIdFtaEtat); } } break; } return $array; }
/** * Envoi un mail d'information global (pour une liste de FTA) * @param array $paramSelectionFta * @param array $paramListeDiffusion * @param string $paramSubject * @param string $paramLogTransition */ public static function buildEnvoiMailGlobal($paramSelectionFta, $paramListeDiffusion, $paramSubject, $paramLogTransition) { /** * Utilisateur connecté */ $globalConfig = new GlobalConfig(); $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue(); $url = $globalConfig->getConf()->getUrlFullRoot(); $userModel = new UserModel($idUser); $nom = $userModel->getDataField(UserModel::FIELDNAME_NOM)->getFieldValue(); $prenom = $userModel->getDataField(UserModel::FIELDNAME_PRENOM)->getFieldValue(); $mailUser = $userModel->getDataField(UserModel::FIELDNAME_MAIL)->getFieldValue(); $text = "Bonjour,\n" . "\tNous vous informons de la validation des Fiches Techniques Articles suivantes:\n"; $req = " SELECT " . GeoModel::FIELDNAME_LIBELLE_SITE_AGIS . "," . FtaModel::KEYNAME . "," . FtaModel::FIELDNAME_CODE_ARTICLE_LDC . "," . FtaModel::FIELDNAME_LIBELLE . " FROM " . FtaModel::TABLENAME . ", " . GeoModel::TABLENAME . " WHERE ( 0 " . FtaModel::addIdFta($paramSelectionFta) . " ) " . " AND " . GeoModel::TABLENAME . "." . GeoModel::KEYNAME . "=" . FtaModel::TABLENAME . "." . FtaModel::FIELDNAME_SITE_PRODUCTION . " ORDER BY " . GeoModel::FIELDNAME_LIBELLE_SITE_AGIS; $paramLogTransition .= "\n\n" . $req; $arrayFta = DatabaseOperation::convertSqlStatementWithoutKeyToArray($req); $typeMail = "Validation"; //Parcours des FTA classé par site foreach ($arrayFta as $rowsFta) { //Classement par site d'assemblage if ($last_site != $rowsFta[GeoModel::FIELDNAME_LIBELLE_SITE_AGIS]) { $text .= "\n\nSite d'assemblage: " . $rowsFta[GeoModel::FIELDNAME_LIBELLE_SITE_AGIS] . "\n"; } //Insertion de la ligne d'article $text .= "<a href='" . $url . "/fta/modification_fiche.php?" . FtaModel::KEYNAME . "=" . $rowsFta[FtaModel::KEYNAME] . "&synthese_action=all&comeback=0&" . FtaEtatModel::KEYNAME . "=3&" . FtaEtatModel::FIELDNAME_ABREVIATION . "=V&" . FtaRoleModel::KEYNAME . "=0' >" . $rowsFta[FtaModel::FIELDNAME_CODE_ARTICLE_LDC] . " " . $rowsFta[FtaModel::FIELDNAME_LIBELLE] . " </a>" . "\n"; //Enregistrement du site $last_site = $rowsFta[GeoModel::FIELDNAME_LIBELLE_SITE_AGIS]; } $sujetmail = "FTA/Validation: " . $paramSubject; $text .= "\n" . "Ces Articles sont maintenant disponibles et à jour dans l'ensemble de notre système informatique\n" . "\n" . "Bonne journée.\n" . "Intranet - FTA\n" . "\n" . "\n" . "NB : une ligne d'article est composée du code Article Arcadia et la DIN"; /** * Envoi du mail d'information */ foreach ($paramListeDiffusion as $mail_validation) { if (!is_string($mail_validation)) { $destinataire = $mail_validation[UserModel::FIELDNAME_MAIL]; $liste_destinataire .= $mail_validation["prenom_nom"] . ": " . $destinataire . "\n"; $expediteur = $prenom . " " . $nom . " <" . $mailUser . ">"; envoismail($sujetmail, $text, $destinataire, $expediteur, $typeMail); } } /** * Envoi du mail de contrôle */ $sujetmail = "FTA/Information \"" . $paramSubject; $corp = "DESTINATAIRES:\n" . $liste_destinataire . "\n" . "\n" . "Message envoyé:\n" . "\n" . $text . "\n\n" . $paramLogTransition; $expediteur = $prenom . " " . $nom . " <" . $mailUser . ">"; envoismail($sujetmail, $corp, $mailUser, $expediteur, $typeMail); }