本文整理汇总了PHP中Lib::showMessage方法的典型用法代码示例。如果您正苦于以下问题:PHP Lib::showMessage方法的具体用法?PHP Lib::showMessage怎么用?PHP Lib::showMessage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Lib
的用法示例。
在下文中一共展示了Lib::showMessage方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: checkActifWorkflow
public static function checkActifWorkflow($paramIdFtaWorkflow)
{
$arrayActifWorkflow = DatabaseOperation::convertSqlStatementWithoutKeyToArray(" SELECT " . self::TABLENAME . "." . self::FIELDNAME_WORKFLOW_ACTIF . "," . self::FIELDNAME_DESCRIPTION_FTA_WORKFLOW . " FROM " . self::TABLENAME . " WHERE " . self::KEYNAME . "=" . $paramIdFtaWorkflow);
foreach ($arrayActifWorkflow as $rowsActifWorkflow) {
$actif = $rowsActifWorkflow[self::FIELDNAME_WORKFLOW_ACTIF];
$nom = $rowsActifWorkflow[self::FIELDNAME_DESCRIPTION_FTA_WORKFLOW];
if (!$actif) {
$titre = self::WORKFLOW_NON_ACTIF_TITLE;
$message = self::WORKFLOW_NON_ACTIF_1 . $nom . self::WORKFLOW_NON_ACTIF_2;
$redirection = "";
Lib::showMessage($titre, $message, $redirection);
}
}
}
示例2: WHERE
// . '-encours-1-' . $idFtaEtat
// . '-' . $abreviationFtaEtat
// . '-' . $idFtaRole . '.html');
break;
case 2:
//Duplication d'une Fiche Technique Article
if ($id_fta) {
$arrayFta = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ' WHERE ( ' . FtaModel::KEYNAME . ' = ' . $id_fta . ' ) ');
} else {
//Averissement
$titre = "Manque de donnée id_fta";
$message = "Veuillez saisir un id_fta existant à dupliquer .<br><br>";
Lib::showMessage($titre, $message, $redirection);
}
if ($arrayFta) {
//Redirection
header('Location: duplication_fiche.php?' . 'id_fta=' . $id_fta . '&synthese_action=modification&abreviation_etat_destination=' . $abreviationFtaEtat . '&new_designation_commerciale_fta=' . $designationCommercialeFta . '&site_de_production=' . $siteDeProduction . '&id_fta_role=' . $idFtaRole . '&id_fta_workflow=' . $idFtaWorkflow);
} else {
//Averissement
$titre = UserInterfaceMessage::FR_WARNING_DATA_ID_FTA_TITLE;
$message = UserInterfaceMessage::FR_WARNING_DATA_ID_FTA;
Lib::showMessage($titre, $message, $redirection);
}
break;
/* * **********
Fin de switch
* ********** */
}
?>
示例3: checkClassificationUsed
/**
* On vérifie si la l'element qui va être supprimé est utilisé
*/
function checkClassificationUsed()
{
$array = DatabaseOperation::convertSqlStatementWithoutKeyToArray("SELECT DISTINCT " . FtaModel::FIELDNAME_CODE_ARTICLE_LDC . "," . FtaModel::FIELDNAME_LIBELLE . " FROM " . ClassificationFta2Model::TABLENAME . "," . FtaModel::TABLENAME . " WHERE (" . ClassificationFta2Model::FIELDNAME_ID_PROPRIETAIRE_GROUPE . "=" . $this->getKeyValue() . " OR " . ClassificationFta2Model::FIELDNAME_ID_PROPRIETAIRE_ENSEIGNE . "=" . $this->getKeyValue() . " OR " . ClassificationFta2Model::FIELDNAME_ID_ACTIVITE . "=" . $this->getKeyValue() . " OR " . ClassificationFta2Model::FIELDNAME_ID_MARQUE . "=" . $this->getKeyValue() . " OR " . ClassificationFta2Model::FIELDNAME_ID_RAYON . "=" . $this->getKeyValue() . " OR " . ClassificationFta2Model::FIELDNAME_ID_ENVIRONNEMENT . "=" . $this->getKeyValue() . " OR " . ClassificationFta2Model::FIELDNAME_ID_RESEAU . "=" . $this->getKeyValue() . " OR " . ClassificationFta2Model::FIELDNAME_ID_SAISONNALITE . "=" . $this->getKeyValue() . ")" . " AND " . ClassificationFta2Model::TABLENAME . "." . ClassificationFta2Model::KEYNAME . "=" . FtaModel::TABLENAME . "." . FtaModel::FIELDNAME_ID_FTA_CLASSIFICATION2 . " ORDER BY " . FtaModel::FIELDNAME_CODE_ARTICLE_LDC);
if ($array) {
//Liste des modèles concernés
$liste = "";
foreach ($array as $rows) {
$liste .= $rows[FtaModel::FIELDNAME_CODE_ARTICLE_LDC] . " " . $rows[FtaModel::FIELDNAME_LIBELLE] . "<br>";
}
//Averissement
$titre = UserInterfaceMessage::FR_WARNING_CLASSIFICATION_ELEMENT_TITLE;
$message = UserInterfaceMessage::FR_WARNING_CLASSIFICATION_ELEMENT . $liste;
Lib::showMessage($titre, $message, $redirection);
}
}
开发者ID:SalokineTerata,项目名称:intranet,代码行数:18,代码来源:ClassificationArborescenceArticleCategorieContenuModel.php
示例4:
//http://intranet.dev.agis.fr/fta/recherche.php?url_page_depart=(/fta/recherche.php)&requete_resultat=SELECT+DISTINCT+fta.id_fta+FROM+fta+WHERE+fta.id_article_agrologic%3D%27666%27&nb_limite_resultat=1000&champ_recherche=4||1||&operateur_recherche=1||4||&texte_recherche=666||666||&nbcol=1&nbligne=2&nb_col_courant=0&nb_ligne_courant=1&ajout_col=0
if (is_numeric($recherche)) {
//Recherche du code Regate
// $search_table = "fta";
// $search_id = "fta.id_fta";
// $search_req = "fta.code_article_ldc%3D%27" . $recherche . "%27+";
$champ_recherche = 6;
$operateur_recherche = 4;
} else {
if ($recherche) {
//Recherche dans la désignation Commerciale
// $search_table = "fta";
// $search_id = "$search_table.id_fta";
// $search_req = "fta.designation_commerciale_fta++LIKE+%28+%27%25" . $recherche . "%25%27+%29+";
$operateur_recherche = 1;
$champ_recherche = 4;
} else {
$message = "Veuillez saisir un code article arcadia ou une Désignation interne";
$redirection = "recherche.php";
Lib::showMessage("Erreur", $message, $redirection);
}
}
header("Location: ./recherche.php?url_page_depart=(/" . $dossierUrL . "/apps/fta/recherche.php)&rechercheRapide={$recherche}&nb_limite_resultat=1000&champ_recherche={$champ_recherche}&operateur_recherche={$operateur_recherche}&texte_recherche={$recherche}&nbcol=1&nbligne=1&nb_col_courant=0&nb_ligne_courant=1&ajout_col=0&id_fta_role={$idFtaRole}");
/* * **********
Fin de switch
* ********** */
//include ("./action_bs.php");
//include ("./action_sm.php");
?>
示例5: insertDefaultFieldToLock
/**
* On insert les champs à verrouiller par défaut
* @param int $paramFtaDossierPrimaire
*/
public static function insertDefaultFieldToLock($paramFtaDossierPrimaire)
{
$arrayIntranetColumInfoLockField = IntranetColumnInfoModel::getArrayDefaultLockField();
if ($arrayIntranetColumInfoLockField) {
foreach ($arrayIntranetColumInfoLockField as $rowIntranetColumInfoLockField) {
$lockValueIntranet = $rowIntranetColumInfoLockField[IntranetColumnInfoModel::FIELDNAME_DEFAULT_FIELD_TO_LOCK_FOR_PRIMARY_FTA];
/**
* On vérifie si il s'agit un champ à verrouilé par défaut ou pas.
*/
switch ($lockValueIntranet) {
case IntranetColumnInfoModel::DEFAULT_FIELD_TO_LOCK_FOR_PRIMARY_FTA_VALUES:
$lockValue = self::FIELD_LOCK_TRUE;
break;
case IntranetColumnInfoModel::DEFAULT_FIELD_NOT_TO_LOCK_FOR_PRIMARY_FTA_VALUES:
$lockValue = self::FIELD_LOCK_FALSE;
break;
}
DatabaseOperation::execute("INSERT INTO " . self::TABLENAME . " ( " . self::FIELDNAME_TABLE_NAME . ", " . self::FIELDNAME_FIELD_NAME . ", " . self::FIELDNAME_DOSSIER_FTA_PRIMAIRE . ", " . self::FIELDNAME_FIELD_LOCK . ", " . self::FIELDNAME_FIELD_CHANGE_STATE . " ) VALUES ( \"" . $rowIntranetColumInfoLockField[IntranetColumnInfoModel::FIELDNAME_TABLE_NAME_INTRANET_COLUMN_INFO] . "\", \"" . $rowIntranetColumInfoLockField[IntranetColumnInfoModel::FIELDNAME_COLUMN_NAME_INTRANET_COLUMN_INFO] . "\", \"" . $paramFtaDossierPrimaire . "\", \"" . $lockValue . "\", \"" . self::CHANGE_STATE_TRUE_VALIDATION_FTA . "\" ) ");
}
} else {
$titre = UserInterfaceMessage::FR_WARNING_VERROUILLAGE_CHAMPS_TITLE;
$message = UserInterfaceMessage::FR_WARNING_VERROUILLAGE_CHAMPS;
Lib::showMessage($titre, $message);
}
}
示例6: rechercheDeJointure
/**
* Algo de recherche de jointures pour 1 champ
* Dictionnaire des variables :
* $table_rech = nom de la table du champ que l'utilisateur a selectionner.
* $nbligne_jointure = variable qui contiendra le nombre de jointure contenue dans le fichier
* @param type $champ_sel
* @param type $url_page_depart
* @param type $module
* @param type $table_champ_retour
* @param type $table_tous_champs_rech
* @return string
*/
public static function rechercheDeJointure($champ_sel, $url_page_depart, $module, $table_champ_retour, $table_tous_champs_rech)
{
// Dictionnaire des variables
$result = array();
// Fichier qui contient les differentes liaisons entre les tables
//d'un meme module
$file = '../' . $module . '/sql.map';
// Recherche du nom de la table du champ que l'utilisateur a selectionné
$nom_table = "table_moteur_de_recherche";
$nom = "nom_champ_moteur_de_recherche";
$table_req = " SELECT {$nom_table} FROM {$table_tous_champs_rech}\n WHERE {$nom}='{$champ_sel}'";
$array_enr = DatabaseOperation::convertSqlStatementKeyAndOneFieldToArray($table_req);
// nom de la table
foreach ($array_enr as $table_enr) {
$table_rech = $table_enr[0];
}
/* * *****************************************************************************
Transformation du fichier $file en 1 tableau pour les jointures
$tab_jointure[][] = Tableau a 2 dimensions qui va contenir :
* dans sa premiere colonne
- soit 0 (si la jointure n'a pas été utilisée)
- soit 1 (si elle a deja ete utilisée)
* dans sa deuxieme colonne : la jointure en elle meme.
* ****************************************************************************** */
unset($tab_jointure);
//on vide le tableau
if (file_exists("{$file}")) {
// Test de l'existance du fichier
// Ouverture du fichier en lecture
$fp = fopen("{$file}", "r");
$nbligne_jointure = 0;
// le nombre de jointure
if ($fp) {
// Si le fichier est ouvert
$toute_ligne = fgets($fp, 4096);
// lecture d'une ligne
while (!feof($fp)) {
// tant qu'on n'est pas a la fin du fichier
if ($toute_ligne[0] != '#') {
// on saute les lignes en commentaires
$tab_jointure[][1] = $toute_ligne;
// on rempli le tableau
$nbligne_jointure++;
}
$toute_ligne = fgets($fp, 4096);
// lecture d'une ligne
}
} else {
$titre = 'ERREUR';
$message = 'Probleme d\'ouverture du fichier ';
$message .= $file;
Lib::showMessage($titre, $message, $redirection);
exit;
}
} else {
$titre = 'ERREUR';
$message = 'Le fichier ';
$message .= $file;
$message .= " n'existe pas ! ";
Lib::showMessage($titre, $message, $redirection);
exit;
}
// initialisation du marquage à 0
for ($j = 0; $j < $nbligne_jointure; $j++) {
$tab_jointure[$j][0] = 0;
}
/* * *****************************************************************************
Jointures et chemin forcé
Pour pouvoir determiner toutes les jointures entre la table qui contient la valeur
que l'on recherche et la table qui contient le resultat que l'on attend
On utilise un algorithme de parcours en profondeur
Explication :
point de depart = la table du champ que l'ulisateur vient de selectionner
pour faire sa recherche.
point d'arrivée = $table_champ_retour
En partant du point de départ, il peut y avoir plusieurs chemins pour
arriver au point d'arrivée.
Les differentes étapes du chemin (les jointures) seront séparées
par des AND,
Les differents chemins seront séparés par des OR
Le principe de parcours en profondeur :
on explore un chemin jusqu'au bout, si la table de la
dernière jointure (étape) est le point d'arrivée
on l'enregistre dans le tableau $chemin
//.........这里部分代码省略.........
示例7: checkUserSessionExpired
/**
* Vérifie si l'utilisateur a toujours sa session active.
* Sinon, c'est qu'elle a expirée et un message est affiché.
* @param GlobalConfig $paramGlobalConfig
*/
public static function checkUserSessionExpired(GlobalConfig $paramGlobalConfig)
{
if (self::isUserSessionExpired($paramGlobalConfig)) {
$titre = UserInterfaceMessage::FR_SESSION_EXPIRED;
$message = UserInterfaceMessage::FR_SESSION_EXPIRED_TITLE;
$redirection = "index.php";
Lib::showMessage($titre, $message, $redirection);
}
}
示例8: RecupChapitre
protected static function RecupChapitre($paramT_Liste_Processus)
{
$page_default = "modification_fiche";
$first = "";
/*
* Nous récupérons les chapitres obligatoirement présent ce qui implique que les autre chapitres doivent être attribués.
*/
$reqRecup = 'SELECT ' . FtaChapitreModel::TABLENAME . '.' . FtaChapitreModel::KEYNAME . ', ' . FtaChapitreModel::TABLENAME . '.' . FtaChapitreModel::FIELDNAME_NOM_USUEL_CHAPITRE . ', ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ', ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_ROLE . ' FROM ' . FtaChapitreModel::TABLENAME . ' LEFT JOIN ' . FtaWorkflowStructureModel::TABLENAME . ' ON ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE . '=' . FtaChapitreModel::TABLENAME . '.' . FtaChapitreModel::KEYNAME . ' WHERE ( ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_ROLE . ' =' . FtaRoleModel::ID_FTA_ROLE_COMMUN;
foreach ($paramT_Liste_Processus as $value) {
$reqRecup .= ' OR ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . '=\'' . $value . '\'';
}
$reqRecup .= ' ) AND ' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . '=' . self::$id_fta_workflow . ' ORDER BY ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_ROLE . ',' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ',' . FtaChapitreModel::TABLENAME . '.' . FtaChapitreModel::KEYNAME;
$arrayRecup = DatabaseOperation::convertSqlStatementWithoutKeyToArray($reqRecup);
//Balyage des chapitres trouvés
foreach ($arrayRecup as $rowsRecup) {
$id_fta_chapitre = $rowsRecup[FtaChapitreModel::KEYNAME];
$nom_usuel_fta_chapitre = $rowsRecup[FtaChapitreModel::FIELDNAME_NOM_USUEL_CHAPITRE];
$idFtaProcessus = $rowsRecup[FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS];
$idFtaRole = $rowsRecup[FtaWorkflowStructureModel::FIELDNAME_ID_FTA_ROLE];
//Dans le cas où il n'y a pas de chapitre sélectionné, sélection du chapitre identité
if (!self::$id_fta_chapitre_encours) {
self::$id_fta_chapitre_encours = $id_fta_chapitre;
}
if (self::$id_fta_chapitre_encours == $id_fta_chapitre and !self::$selectionChap) {
$font_size = "size=" . self::FONT_SIZE_CHAPITRE_ENCOURS;
$font_flash_color = "color=" . self::FONT_COLOR_CHAPITRE_ENCOURS;
$font_flash = "<font " . $font_size . " " . $font_flash_color . ">";
$image_flash1 = $font_flash . '[ ' . "</font>";
$image_flash2 = $font_flash . ' ]' . "</font>";
$num = 1;
} else {
$font_size = "";
$image_flash1 = '- ';
$image_flash2 = ' -';
}
//Ce chapitre est-il public?
if ($idFtaProcessus == 0) {
$font_color = "color=" . self::FONT_COLOR_CHAPITRE_PUBLIC;
$link = TRUE;
$num = 1;
} else {
//Le chapitre est-il validé ?
$req1 = 'SELECT ' . FtaSuiviProjetModel::KEYNAME . ' FROM ' . FtaSuiviProjetModel::TABLENAME . ' WHERE ' . FtaSuiviProjetModel::FIELDNAME_ID_FTA . '=' . self::$id_fta . ' AND ' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '=' . $id_fta_chapitre . ' AND ' . FtaSuiviProjetModel::FIELDNAME_SIGNATURE_VALIDATION_SUIVI_PROJET . '<> ' . FtaSuiviProjetModel::SIGNATURE_VALIDATION_SUIVI_PROJET_FALSE;
$result1 = DatabaseOperation::queryPDO($req1);
$num = DatabaseOperation::getSqlNumRows($result1);
switch ($num) {
case 0:
/**
* Chapitre pas encore validé
* - Chapitre encours en rouge
* - Chapitre non accessible en noir
*/
if (in_array($idFtaProcessus, self::$id_fta_processus)) {
$font_color = "color=" . self::FONT_COLOR_CHAPITRE_NON_VALIDEE;
$link = TRUE;
$i = "";
$iEnd = "";
} elseif (self::$id_fta_role == $idFtaRole) {
$font_color = "color=" . self::FONT_COLOR_CHAPITRE_NON_ACCESSIBLE;
$link = FALSE;
$i = "";
$iEnd = "";
} else {
$font_color = "color=" . self::FONT_COLOR_CHAPITRE_AUTRE_ROLE;
$i = " <i> ";
$iEnd = " </i> ";
$link = FALSE;
}
break;
case 1:
//Chapitre validé
$font_color = "color=" . self::FONT_COLOR_CHAPITRE_VALIDEE;
$link = TRUE;
$i = "";
$iEnd = "";
break;
default:
//Anomalie
$titre = 'Erreur Grave !';
$message = 'La fonction afficher_navigation() vient de trouver des doublons de validation des chapitres dans la table fta_suivi_projet';
Lib::showMessage($titre, $message, $redirection);
break;
}
}
//Fin du test public
//}//Fin de la colorisation
if ($num == 0 and self::$synthese_action === 'attente') {
} else {
$b = $i . "<font " . $font_size . " " . $font_color . ">";
$menu_navigation .= $image_flash1;
if ($link) {
$menu_navigation .= '<a href=' . $page_default . '.php?' . 'id_fta=' . self::$id_fta . '&id_fta_chapitre_encours=' . $id_fta_chapitre . '&synthese_action=' . self::$synthese_action . '&id_fta_etat=' . self::$id_fta_etat . '&abreviation_fta_etat=' . self::$abreviation_etat . '&id_fta_role=' . self::$id_fta_role . '>';
}
$menu_navigation .= $b . ' ' . $nom_usuel_fta_chapitre;
$menu_navigation .= '</a>';
$menu_navigation .= '</font> ' . $iEnd . $image_flash2;
/**
* Mise en forme des chapitres de la barre de navigation regroupé par Rôle
*/
if ($idFtaRoleTmp == $idFtaRole or !$first) {
//.........这里部分代码省略.........
示例9: getHtmlObjectFromDataField
/**
* Retourne l'objet Html associé au champ DataField
* @param DatabaseDataField $paramDataField
* @param $param
* @return AbstractHtmlGlobalElement
*/
public static function getHtmlObjectFromDataField(DatabaseDataField $paramDataField, $param = FALSE, $param2 = FALSE)
{
$htmlObject = NULL;
$TypeOfHtmlObject = $paramDataField->getFieldTypeOfHtmlObject();
switch ($TypeOfHtmlObject) {
case Html::TYPE_OF_OBJECT_CALENDAR:
$htmlObject = new DataFieldToHtmlInputCalendar($paramDataField);
break;
case Html::TYPE_OF_OBJECT_INPUTTEXT:
$htmlObject = new DataFieldToHtmlInputText($paramDataField);
break;
case Html::TYPE_OF_OBJECT_LIST:
$htmlObject = new DataFieldToHtmlListSelect($paramDataField);
break;
case Html::TYPE_OF_OBJECT_BOOLEAN:
$htmlObject = new DataFieldToHtmlListBoolean($paramDataField);
break;
case Html::TYPE_OF_OBJECT_TEXTAREA:
$htmlObject = new DataFieldToHtmlTextArea($paramDataField);
break;
case Html::TYPE_OF_OBJECT_SUBFORM_R1N:
$htmlObject = new DataFieldToHtmlSubform_R1N($paramDataField);
break;
case Html::TYPE_OF_OBJECT_SUBFORM_RNN:
$htmlObject = new DataFieldToHtmlSubform_RNN($paramDataField, $param, $param2);
break;
case Html::TYPE_OF_OBJECT_INPUTNUMBER:
$htmlObject = new DataFieldToHtmlInputNumber($paramDataField);
break;
default:
Lib::showMessage("Erreur", "Type d'objet <b>" . $TypeOfHtmlObject . "</b> inconnu." . " Champs concerné:" . $paramDataField->getFieldName() . " ", $redirection);
// throw new Exception();
}
return $htmlObject;
}
示例10: checkClassificationUsed
/**
* On vérifie si la classification qui va être supprimé est utilisé
*/
function checkClassificationUsed()
{
$array = DatabaseOperation::convertSqlStatementWithoutKeyToArray("SELECT DISTINCT " . FtaModel::FIELDNAME_CODE_ARTICLE_LDC . "," . FtaModel::FIELDNAME_LIBELLE . " FROM " . FtaModel::TABLENAME . " WHERE " . FtaModel::FIELDNAME_ID_FTA_CLASSIFICATION2 . "=" . $this->getKeyValue() . " ORDER BY " . FtaModel::FIELDNAME_CODE_ARTICLE_LDC);
if ($array) {
//Liste des modèles concernés
$liste = "";
foreach ($array as $rows) {
$liste .= $rows[FtaModel::FIELDNAME_CODE_ARTICLE_LDC] . " " . $rows[FtaModel::FIELDNAME_LIBELLE] . "<br>";
}
//Averissement
$titre = UserInterfaceMessage::FR_WARNING_CLASSIFICATION_DELETE_TITLE;
$message = UserInterfaceMessage::FR_WARNING_CLASSIFICATION_DELETE . $liste;
Lib::showMessage($titre, $message, $redirection);
}
}
示例11: UserModel
$login = $globalConfig->getAuthenticatedUser()->getKeyValue();
$pass = $globalConfig->getAuthenticatedUser()->getDataField(UserModel::FIELDNAME_PASSWORD)->getFieldValue();
$id_type = $globalConfig->getAuthenticatedUser()->getDataField(UserModel::FIELDNAME_ID_TYPE)->getFieldValue();
$paramIdUser = Lib::getParameterFromRequest('sal_user');
$paramRech = Lib::getParameterFromRequest('rech');
$userModel = new UserModel($paramIdUser);
$userView = new UserView($userModel);
$userView->setIsEditable(TRUE);
identification1('salaries', $login, $pass, FALSE);
if ($paramRech == '1') {
/* Recherche des infos sur le salarie */
$arrayUserDetail = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . UserModel::FIELDNAME_NOM . ',' . UserModel::FIELDNAME_PRENOM . ',' . UserModel::FIELDNAME_ID_CATSOPRO . ',' . UserModel::FIELDNAME_LIEU_GEO . ',' . UserModel::FIELDNAME_LOGIN . ',' . UserModel::FIELDNAME_PASSWORD . ',' . UserModel::FIELDNAME_MAIL . ',' . UserModel::FIELDNAME_DATE_CREATION_SALARIES . ' FROM ' . UserModel::TABLENAME . ' WHERE ' . UserModel::KEYNAME . '=' . $paramIdUser);
if (!$arrayUserDetail) {
$titre = "Utilisateur inexistant";
$message = "La requete de recherche de l'ID salarie a echoue";
Lib::showMessage($titre, $message);
} else {
foreach ($arrayUserDetail as $rowsUserDetail) {
$userNom = $rowsUserDetail[UserModel::FIELDNAME_NOM];
$userPrenom = $rowsUserDetail[UserModel::FIELDNAME_PRENOM];
$userCatsopro = $rowsUserDetail[UserModel::FIELDNAME_ID_CATSOPRO];
$userLieuGeo = $rowsUserDetail[UserModel::FIELDNAME_LIEU_GEO];
$userLogin = $rowsUserDetail[UserModel::FIELDNAME_LOGIN];
$userPass = $rowsUserDetail[UserModel::FIELDNAME_PASSWORD];
$champ = 'date_creation_salaries';
${'sal_' . $champ} = $rowsUserDetail[UserModel::FIELDNAME_DATE_CREATION_SALARIES];
//$sal_pass=mysql_result($result, 0, pass);
$userMail = $rowsUserDetail[UserModel::FIELDNAME_MAIL];
}
$userNom = stripslashes($userNom);
$userPrenom = stripslashes($userPrenom);
示例12: buildCorrectionChapitre
/**
* Correction d'une FTA
* Pour une FTA données, correction d'un chapitre et dévalidation des processus suivants
* @param type $paramIdFta
* @param type $paramIdChapitre
* @param type $option
* @return int
*/
public static function buildCorrectionChapitre($paramIdFta, $paramIdChapitre, $option)
{
$option['no_message_ecran'];
//0=affichage à l'ecran, 1=rien
$option['correction_fta_suivi_projet'];
//Commentaire justifiant la correction du chapitre
$option['mail_gestionnaire'];
//Informe le gestionnaire de la Fta de la mise en correction de sa Fta
$HtmlResult = new HtmlResult2();
$globalConfig = new GlobalConfig();
UserModel::checkUserSessionExpired($globalConfig);
//Récupération des informations préalables
//Nom de l'assistante de projet responsable:
$idUser = $globalConfig->getAuthenticatedUser()->getKeyValue();
$mailExpediteur = $globalConfig->getAuthenticatedUser()->getDataField(UserModel::FIELDNAME_MAIL)->getFieldValue();
$nomPrenom = $globalConfig->getAuthenticatedUser()->getPrenomNom();
$idFtaWorkflowStructure = FtaWorkflowStructureModel::getIdFtaWorkflowStructureByIdFtaAndIdChapitre($paramIdFta, $paramIdChapitre);
$ftaWorkflowStructureModel = new FtaWorkflowStructureModel($idFtaWorkflowStructure, $paramIdChapitre);
$idFtaProcessus = $ftaWorkflowStructureModel->getDataField(FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS)->getFieldValue();
$idFtaWorkflow = $ftaWorkflowStructureModel->getDataField(FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW)->getFieldValue();
$arrayFtaSuiviCorrection = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET . ',' . FtaSuiviProjetModel::FIELDNAME_NOTIFICATION_FTA_SUIVI_PROJET . ' FROM ' . FtaSuiviProjetModel::TABLENAME . ' WHERE ' . FtaModel::KEYNAME . '=' . $paramIdFta . ' AND ' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '=' . $paramIdChapitre . ' ');
if ($arrayFtaSuiviCorrection) {
foreach ($arrayFtaSuiviCorrection as $rowsFtaSuiviCorrection) {
$current_correction_fta_suivi_projet = $rowsFtaSuiviCorrection[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET];
$notificationFtaSuiviProjet = $rowsFtaSuiviCorrection[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET];
}
}
//Intégration du commentaire de la correction
if ($current_correction_fta_suivi_projet and $option[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET]) {
$fullComment = $option[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET] . '\\n\\n' . $current_correction_fta_suivi_projet;
$newCorrectionFtaSuiviProjet = FtaController::getComment("Correction d'une Fta", $nomPrenom, $fullComment);
}
// $newCorrectionFtaSuiviProjet = mysql_real_escape_string($newCorrectionFtaSuiviProjet);
$newCorrectionFtaSuiviProjet = str_replace("<br/>", "\n", $newCorrectionFtaSuiviProjet);
//Dévalidation du chapitre en cours
$reqDevelidationChapitre = " UPDATE " . FtaSuiviProjetModel::TABLENAME . " SET " . FtaSuiviProjetModel::FIELDNAME_SIGNATURE_VALIDATION_SUIVI_PROJET . "=0, " . FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET . "=\"" . $newCorrectionFtaSuiviProjet . "\" " . " WHERE " . FtaModel::KEYNAME . "=" . $paramIdFta . " AND " . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . "=" . $paramIdChapitre;
DatabaseOperation::execute($reqDevelidationChapitre);
/*
* Mise à jour de la validation de l'échéance du processus
* fonction non utilisé
*/
// FtaProcessusDelaiModel::BuildFtaProcessusValidationDelai($paramIdFta, $idFtaProcessus, $idFtaWorkflow);
//Dévalidation des processus suivants
$return = FtaChapitreModel::buildDevalidationChapitre($paramIdFta, $idFtaProcessus, $HtmlResult);
/**
* Actualisation du pourcentage de validation de la Fta
*/
$idFtaSuiviProjet = FtaSuiviProjetModel::getIdFtaSuiviProjetByIdFtaAndIdChapitre($paramIdFta, $paramIdChapitre);
$modelFtaSuiviProjet = new FtaSuiviProjetModel($idFtaSuiviProjet);
$modelFtaSuiviProjet->unsetSigned();
$modelFtaSuiviProjet->saveToDatabase();
//print_r($return['mail']); //Tableau contenant les adresses emails des personnes concernées par la dévalidation
if (count($return) > 1) {
$return['processus'] = array_unique($return['processus']);
//Tableau contenant les identifiants des processus dévalidés unique
}
if (is_string($return['processus'])) {
$return['processus'] = array('processus' => $return['processus']);
}
//Informations
if ($return['processus']) {
foreach ($return['processus'] as $id_Fta_Processus) {
$idFtaProcessus = $id_Fta_Processus;
$arrayFtaProcessus = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaProcessusModel::FIELDNAME_NOM . ' FROM ' . FtaProcessusModel::TABLENAME . ', ' . FtaWorkflowStructureModel::TABLENAME . ' WHERE ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . '=' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::KEYNAME . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . '=' . $idFtaProcessus . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . '=' . $idFtaWorkflow);
if ($arrayFtaProcessus) {
foreach ($arrayFtaProcessus as $rowsFtaProcessus) {
$message .= $rowsFtaProcessus[FtaProcessusModel::FIELDNAME_NOM] . '<br>';
}
}
}
if (!$message) {
$message = 'Aucun processus n\'a été dévalidé.';
}
$titre = 'Liste des Processus dévalidés';
if (!$option['no_message_ecran']) {
Lib::showMessage($titre, $message, $redirection);
}
//Envoi des mails
$show_din = FtaModel::showDin($paramIdFta);
$sujetElements = $show_din;
if ($return['mail']) {
$return['mail'] = array_unique($return['mail']);
foreach ($return['mail'] as $mail) {
$sujetmail = 'FTA/Correction: ' . $sujetElements;
$destinataire = $mail;
$expediteur = $nomPrenom . ' <' . $mailExpediteur . '>';
$text = 'Vos chapitres viennent d\'être dévalidés suite à une correction apportée par ' . $nomPrenom . '.\\n\\n' . 'OBJET DE LA CORRECTION:\\n' . '\\t' . stripslashes($option[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET]);
$typeMail = 'Correction';
if ($notificationFtaSuiviProjet) {
envoismail($sujetmail, $text, $destinataire, $expediteur, $typeMail);
}
}
//.........这里部分代码省略.........
示例13: checkFteFournisseurUsed
/**
* On vérifie si la Fte qui va e^tre supprimé est utilisé
*/
function checkFteFournisseurUsed()
{
$array = DatabaseOperation::convertSqlStatementWithoutKeyToArray("SELECT DISTINCT " . AnnexeEmballageModel::KEYNAME . "," . AnnexeEmballageModel::FIELDNAME_REFERENCE_FOURNISSEUR_ANNEXE_EMBALLAGE . " FROM " . AnnexeEmballageModel::TABLENAME . " WHERE " . AnnexeEmballageModel::FIELDNAME_ID_FTE_FOURNISSEUR . "=" . $this->getKeyValue() . " ORDER BY " . AnnexeEmballageModel::FIELDNAME_REFERENCE_FOURNISSEUR_ANNEXE_EMBALLAGE);
if ($array) {
//Liste des modèles concernés
$liste = "";
foreach ($array as $rows) {
$liste .= $rows[AnnexeEmballageModel::FIELDNAME_REFERENCE_FOURNISSEUR_ANNEXE_EMBALLAGE] . "<br>";
}
//Averissement
$titre = UserInterfaceMessage::FR_WARNING_FTE_FOURNISSEUR_TITLE;
$message = UserInterfaceMessage::FR_WARNING_FTE_FOURNISSEUR . $liste;
Lib::showMessage($titre, $message, $redirection);
}
}
示例14: buildListeDiffusionTransition
/**
* Définit la liste de diffusion après la transition de "I" vers "V" d'une FTA données
*
* Cette fonction retourne une liste d'adresse email distinctes sous la
* forme du tableau suivant:
* $return[mail]: adresse email
* $return[prenom_nom]: prénom et nom du destinataire
* @param int $id_fta
* @return array
*/
public static function buildListeDiffusionTransition($id_fta)
{
$logTransition = "";
//Déclaration des variables
//Chargement des données Articles
$req = "SELECT " . FtaModel::FIELDNAME_LISTE_CHAPITRE_MAJ_FTA . ", " . FtaModel::FIELDNAME_WORKFLOW . ", " . FtaModel::FIELDNAME_VERSION_DOSSIER_FTA . ", " . FtaModel::KEYNAME . ", " . FtaModel::FIELDNAME_SITE_PRODUCTION . " FROM " . FtaModel::TABLENAME . ", " . FtaEtatModel::TABLENAME . " WHERE " . FtaModel::TABLENAME . "." . FtaModel::KEYNAME . "='" . $id_fta . "' " . " AND " . FtaEtatModel::TABLENAME . "." . FtaEtatModel::KEYNAME . "=" . FtaModel::TABLENAME . "." . FtaModel::FIELDNAME_ID_FTA_ETAT;
$logTransition .= "\n\nLISTE DIFFUSION\n" . $req . "\n";
$arrayFta = DatabaseOperation::convertSqlStatementWithoutKeyToArray($req);
foreach ($arrayFta as $rowsFta) {
$rowsFta["liste_chapitre_maj_fta"];
//Liste des chapitres ayant été coché pour effectuer la mise à jour de la fta
$ok = 0;
if ($rowsFta[FtaModel::FIELDNAME_LISTE_CHAPITRE_MAJ_FTA]) {
//Détermination des chapitres du processus Initiateur du cycle de vie "I"
$req = "SELECT DISTINCT " . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE . " FROM " . FtaProcessusCycleModel::TABLENAME . " LEFT JOIN " . FtaProcessusCycleModel::TABLENAME . " as precedent " . " ON precedent." . FtaProcessusCycleModel::FIELDNAME_PROCESSUS_NEXT . "=" . FtaProcessusCycleModel::TABLENAME . "." . FtaProcessusCycleModel::FIELDNAME_PROCESSUS_INIT . ", " . FtaWorkflowStructureModel::TABLENAME . " WHERE precedent." . FtaProcessusCycleModel::FIELDNAME_PROCESSUS_NEXT . " IS NULL " . " AND " . FtaProcessusCycleModel::TABLENAME . "." . FtaProcessusCycleModel::FIELDNAME_FTA_ETAT . "='I' " . " AND " . FtaWorkflowStructureModel::TABLENAME . "." . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . "=" . $rowsFta[FtaModel::FIELDNAME_WORKFLOW] . " AND " . FtaWorkflowStructureModel::TABLENAME . "." . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . "=" . FtaProcessusCycleModel::TABLENAME . "." . FtaProcessusCycleModel::FIELDNAME_PROCESSUS_INIT . " AND " . FtaWorkflowStructureModel::TABLENAME . "." . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . "=" . FtaProcessusCycleModel::TABLENAME . "." . FtaProcessusCycleModel::FIELDNAME_WORKFLOW;
$logTransition .= "\n\n" . $req . "\n";
$arrayIdChapitreInitiateur = DatabaseOperation::convertSqlStatementWithoutKeyToArray($req);
//L'un des chapitres initiateurs est-il dans la liste des chapitres mis à jour sur la fta ?
foreach ($arrayIdChapitreInitiateur as $rowsInitiateur) {
if (strstr($rowsFta[FtaModel::FIELDNAME_LISTE_CHAPITRE_MAJ_FTA], $rowsInitiateur[FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE] . ";")) {
$ok = 1;
}
}
} else {
$ok = 1;
//Diffusion globale
}
if ($rowsFta[FtaModel::FIELDNAME_VERSION_DOSSIER_FTA] == 0 or $ok == 1) {
//Log de la diffusion globale
$logTransition .= "\n\nDiffusion Globale Activée";
} else {
//Log de la diffusion globale
$logTransition .= "\n\nDiffusion Globale Désactivée";
}
$arrayIdIntranetActions = DatabaseOperation::convertSqlStatementWithoutKeyToArray(' SELECT ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_INTRANET_ACTIONS . ' FROM ' . FtaActionSiteModel::TABLENAME . ' WHERE ' . FtaActionSiteModel::FIELDNAME_ID_SITE . '=' . $rowsFta[FtaModel::FIELDNAME_SITE_PRODUCTION] . ' AND ' . FtaActionSiteModel::FIELDNAME_ID_FTA_WORKFLOW . ' =' . $rowsFta[FtaModel::FIELDNAME_WORKFLOW]);
if ($arrayIdIntranetActions) {
foreach ($arrayIdIntranetActions as $rowsIdIntranetActions) {
$IdIntranetActions[] = $rowsIdIntranetActions[IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS];
}
}
/**
* Il est impératif d'avoir une condition Where dans le requête de diffusion
* Si ce n'est pas le cas, la diffusion s'étend à l'ensemble des utiisateurs du système Intranet !
* Il est necessaire d'interdire celà.
*/
if ($IdIntranetActions) {
/**
* Liste des utilisateurs ayant le droits de diffusion sur le module Fta
*/
$arrayListeDiffusion = DatabaseOperation::convertSqlStatementWithoutKeyToArray("SELECT DISTINCT " . UserModel::TABLENAME . "." . UserModel::KEYNAME . " FROM " . UserModel::TABLENAME . ", " . IntranetDroitsAccesModel::TABLENAME . " WHERE " . UserModel::TABLENAME . "." . UserModel::KEYNAME . " = " . IntranetDroitsAccesModel::TABLENAME . "." . IntranetDroitsAccesModel::FIELDNAME_ID_USER . " AND " . UserModel::TABLENAME . "." . UserModel::FIELDNAME_ACTIF . " ='" . UserModel::USER_ACTIF . "' " . " AND " . IntranetDroitsAccesModel::TABLENAME . "." . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_MODULES . " = " . IntranetModulesModel::ID_MODULES_FTA . " AND " . IntranetDroitsAccesModel::TABLENAME . "." . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . " = " . IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetNiveauAccesModel::NIVEAU_FTA_DIFFUSION);
foreach ($arrayListeDiffusion as $value) {
$idUser[] = $value[UserModel::KEYNAME];
}
//Création de la liste des destinataires
$req = "SELECT DISTINCT " . UserModel::TABLENAME . "." . UserModel::KEYNAME . ", " . UserModel::FIELDNAME_NOM . ", " . UserModel::FIELDNAME_PRENOM . ", " . UserModel::FIELDNAME_MAIL . " FROM " . UserModel::TABLENAME . ", " . IntranetDroitsAccesModel::TABLENAME . ", " . IntranetActionsModel::TABLENAME . " WHERE " . UserModel::TABLENAME . "." . UserModel::KEYNAME . " = " . IntranetDroitsAccesModel::TABLENAME . "." . IntranetDroitsAccesModel::FIELDNAME_ID_USER . " AND " . UserModel::TABLENAME . "." . UserModel::FIELDNAME_ACTIF . " ='" . UserModel::USER_ACTIF . "' " . " AND ( 0 " . UserModel::AddIdUser($idUser) . ')' . " AND " . IntranetDroitsAccesModel::TABLENAME . "." . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . " = " . IntranetActionsModel::TABLENAME . "." . IntranetActionsModel::KEYNAME . " AND " . IntranetDroitsAccesModel::TABLENAME . "." . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . " = " . IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE . ' AND ( 0 ' . IntranetActionsModel::addIdIntranetAction($IdIntranetActions) . ')';
$logTransition .= "\n\n" . $req . "\nFIN DIFFUSION\n";
$r_liste_destinataire = DatabaseOperation::convertSqlStatementWithoutKeyToArray($req);
foreach ($r_liste_destinataire as $rows_destinataire) {
$return[$rows_destinataire[UserModel::KEYNAME]]["mail"] = $rows_destinataire[UserModel::FIELDNAME_MAIL];
$return[$rows_destinataire[UserModel::KEYNAME]]["prenom_nom"] = $rows_destinataire[UserModel::FIELDNAME_NOM] . " " . $rows_destinataire[UserModel::FIELDNAME_PRENOM];
}
$reqConsultation = "SELECT DISTINCT " . UserModel::TABLENAME . "." . UserModel::KEYNAME . ", " . UserModel::FIELDNAME_NOM . ", " . UserModel::FIELDNAME_PRENOM . ", " . UserModel::FIELDNAME_MAIL . " FROM " . UserModel::TABLENAME . ", " . IntranetDroitsAccesModel::TABLENAME . ", " . IntranetActionsModel::TABLENAME . ", " . IntranetNiveauAccesModel::TABLENAME . " WHERE " . UserModel::TABLENAME . "." . UserModel::KEYNAME . " = " . IntranetDroitsAccesModel::TABLENAME . "." . IntranetDroitsAccesModel::FIELDNAME_ID_USER . " AND " . UserModel::TABLENAME . "." . UserModel::FIELDNAME_ACTIF . " ='" . UserModel::USER_ACTIF . "' " . " AND " . IntranetDroitsAccesModel::TABLENAME . "." . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . " = " . IntranetActionsModel::TABLENAME . "." . IntranetActionsModel::KEYNAME . " AND " . IntranetDroitsAccesModel::TABLENAME . "." . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_MODULES . " = " . IntranetActionsModel::TABLENAME . "." . IntranetActionsModel::FIELDNAME_MODULE_INTRANET_ACTIONS . " AND " . IntranetDroitsAccesModel::TABLENAME . "." . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . " = " . IntranetNiveauAccesModel::TABLENAME . "." . IntranetNiveauAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . " AND " . IntranetDroitsAccesModel::TABLENAME . "." . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_MODULES . " = " . IntranetNiveauAccesModel::TABLENAME . "." . IntranetNiveauAccesModel::FIELDNAME_ID_INTRANET_MODULES . " AND ((" . UserModel::FIELDNAME_LIEU_GEO . "=" . $rowsFta[FtaModel::FIELDNAME_SITE_PRODUCTION] . " AND " . IntranetActionsModel::FIELDNAME_NOM_INTRANET_ACTIONS . "='" . IntranetActionsModel::NAME_DIFFUSION_FTA . "' AND " . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . "=" . IntranetNiveauAccesModel::DIFFUSION_FTA_OUI_LIEU_RATTACHEMENT_VALUE . ") OR (" . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . "=" . IntranetNiveauAccesModel::DIFFUSION_FTA_OUI_TOUT_VALUE . " AND " . IntranetActionsModel::FIELDNAME_NOM_INTRANET_ACTIONS . "='" . IntranetActionsModel::NAME_DIFFUSION_FTA . "'))" . " AND " . IntranetDroitsAccesModel::TABLENAME . "." . IntranetDroitsAccesModel::FIELDNAME_ID_USER . " NOT IN (" . " SELECT DISTINCT " . UserModel::TABLENAME . "." . UserModel::KEYNAME . " FROM " . UserModel::TABLENAME . ", " . IntranetDroitsAccesModel::TABLENAME . " WHERE " . UserModel::TABLENAME . "." . UserModel::KEYNAME . " = " . IntranetDroitsAccesModel::TABLENAME . "." . IntranetDroitsAccesModel::FIELDNAME_ID_USER . " AND " . UserModel::TABLENAME . "." . UserModel::FIELDNAME_ACTIF . " ='" . UserModel::USER_ACTIF . "' " . " AND " . IntranetDroitsAccesModel::TABLENAME . "." . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . " = " . IntranetNiveauAccesModel::NIVEAU_FTA_MODIFICATION . " AND " . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . "=" . IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE . ")";
$r_liste_destinataire_consultation = DatabaseOperation::convertSqlStatementWithoutKeyToArray($reqConsultation);
if ($r_liste_destinataire_consultation) {
foreach ($r_liste_destinataire_consultation as $rows_destinataire_consultation) {
$return[$rows_destinataire_consultation[UserModel::KEYNAME]]["mail"] = $rows_destinataire_consultation[UserModel::FIELDNAME_MAIL];
$return[$rows_destinataire_consultation[UserModel::KEYNAME]]["prenom_nom"] = $rows_destinataire_consultation[UserModel::FIELDNAME_NOM] . " " . $rows_destinataire_consultation[UserModel::FIELDNAME_PRENOM];
}
}
} else {
//Erreur critique, risque de diffusion généralisée à l'ensemble de l'Intranet
$titre = "Erreur critique dans la liste de diffusion";
$message = "L'ensemble des utilisateurs de l'Intranet était visé par cette diffusion.<br>" . "L'envoi des mails d'information vient d'être avorté mais" . "Le reste du traitement continue.<br><br>" . "<pre>" . $logTransition . "</pre>";
$redirection = "";
Lib::showMessage($titre, $message, $redirection);
$return = 0;
}
$return["log"] = $logTransition;
}
return $return;
}