public static function initNavigation($id_fta, $id_fta_chapitre_encours, $synthese_action, $comeback, $id_fta_etat, $abrevation_etat, $id_fta_role, $paramActivationComplete, $paramSelectionChap) { /** * Modification */ self::$ftaModification = Acl::getValueAccesRights(Acl::ACL_FTA_MODIFICATION); /** * Consultation */ self::$ftaConsultation = Acl::getValueAccesRights(Acl::ACL_FTA_CONSULTATION); self::$selectionChap = $paramSelectionChap; self::$id_fta = $id_fta; self::$id_fta_chapitre_encours = $id_fta_chapitre_encours; self::$synthese_action = $synthese_action; if ($id_fta_etat == FtaEtatModel::ID_VALUE_MODIFICATION) { self::$synthese_action = FtaEtatModel::ETAT_AVANCEMENT_VALUE_EN_COURS; } self::$comeback = $comeback; self::$id_fta_etat = $id_fta_etat; self::$abreviation_etat = $abrevation_etat; self::$id_fta_role = $id_fta_role; self::$ftaModel = new FtaModel(self::$id_fta); self::$id_fta_workflow = self::$ftaModel->getDataField(FtaModel::FIELDNAME_WORKFLOW)->getFieldValue(); self::$id_fta_role_encours = FtaWorkflowStructureModel::getIdFtaRoleByChapitreAndWorkflow(self::$id_fta_chapitre_encours, self::$id_fta_workflow); $ftaWorkflowModel = new FtaWorkflowModel(self::$id_fta_workflow); self::$id_parent_intranet_actions = $ftaWorkflowModel->getDataField(FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS)->getFieldValue(); self::$html_navigation_bar = self::buildNavigationBar($paramActivationComplete); }
// include ("../lib/session.php"); //Récupération des variables de sessions // include ("../lib/debut_page.php"); //Construction d'une nouvelle // if (isset($menu)) //Si existant, utilisation du menu demandé // { //en variable // include ("./$menu"); // } // else // { // include ("./menu_principal.inc"); //Sinon, menu par défaut // } require_once '../inc/main.php'; print_page_begin($disable_full_page, $menu_file); flush(); } //Fin de la sélection du mode d'affichage de la page $planning_presence_modification = Acl::getValueAccesRights('planning_presence_modification'); $id_salaries = Lib::getParameterFromRequest('id_salaries'); $id_jour = Lib::getParameterFromRequest('id_jour'); $id_semaine = Lib::getParameterFromRequest('id_semaine'); $annee = Lib::getParameterFromRequest('annee'); //Autorisation de d'accéder à cette page: if ($planning_presence_modification == 0) { header("Location: none.php"); } ?> <html> <head> <title>Modification du planning</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <meta name="generator" content="HAPedit 2.4">
//$module=substr(strrchr(`pwd`, '/'), 1); //$module=trim($module); //Inclusions //include ("../lib/session.php"); //include ("../inc/php.php"); //include ("../lib/functions.php"); //include ("../lib/functions.js"); //include ("./functions.php"); //include ("./functions.js"); require_once '../inc/main.php'; $globalConfig = new GlobalConfig(); UserModel::checkUserSessionExpired($globalConfig); if ($globalConfig->getAuthenticatedUser()) { $id_user = $globalConfig->getAuthenticatedUser()->getKeyValue(); } $fta_modification = Acl::getValueAccesRights('fta_modification'); $recherche = Lib::getParameterFromRequest("recherche"); if ($recherche == "0") { $message = UserInterfaceMessage::FR_WARNING_RECHERE . ModuleConfig::VALUE_MAX_PAR_PAGE; $redirection = "recherche.php"; Lib::showMessage("Erreur", $message, $redirection); } $type_recherche = Lib::getParameterFromRequest("type_recherche"); $search_table = Lib::isDefined("search_table"); $search_id = Lib::isDefined("search_id"); $search_req = Lib::isDefined("search_req"); $operateur_recherche = Lib::isDefined("operateur_recherche"); $champ_recherche = Lib::isDefined("champ_recherche"); $idFtaRoleEncoursDefault = FtaRoleModel::getKeyNameOfFirstRoleByIdUser($id_user); if ($fta_modification) { } else {
/** * MOTEUR DE RECHERCHE * Cette fonction retourne l'affiche de l'interface du moteur de recherche * @param type $module * @param type $id_recherche * @param type $etat_table * @param type $id_recherche_etat * @param type $abreviation_recherche_etat * @param type $nom_recherche_recherche_etat * @param string $paramImageBordure * @param string $paramImageRecherche * @param type $champ_retour * @param int $paramNbLimiteDeResultat * @param type $url_page_depart * @param type $QUERY_STRING * @param type $PHP_SELF * @param type $nbligne * @param type $nbcol * @param type $champ_recherche * @param type $operateur_recherche * @param type $texte_recherche * @param type $champ_courant * @param type $operateur_courant * @param type $texte_courant * @param type $nb_col_courant * @param type $ajout_col * @param type $paramRequete * @param type $tab_resultat * @param type $module_table * @return type */ public static function afficherMoteurDeRecherche($module, $id_recherche, $etat_table, $id_recherche_etat, $abreviation_recherche_etat, $nom_recherche_recherche_etat, $paramImageBordure, $paramImageRecherche, $champ_retour, $paramNbLimiteDeResultat, $url_page_depart, $QUERY_STRING, $PHP_SELF, $nbligne, $nbcol, $champ_recherche, $operateur_recherche, $texte_recherche, $champ_courant, $operateur_courant, $texte_courant, $nb_col_courant, $ajout_col, $paramRequete, $tab_resultat, $module_table, $nb_ligne_courant) { /* Définition des Variables */ if ($url_page_depart == '') { if ($QUERY_STRING) { $url_page_depart = '(' . $PHP_SELF . '?' . $QUERY_STRING . ')'; } else { $url_page_depart = '(' . $PHP_SELF . ')'; } } $return = ""; $_REQUEST['table_champ_retour'] = $module_table; // table du champ retour $_REQUEST['table_tous_champs_rech'] = $module_table . "_moteur_de_recherche"; $tab_resultat; //Construction du code HTML $return .= "\n <center>\n <img src=" . $paramImageBordure . ">                        \n <img src=" . $paramImageBordure . ">                        \n <img src=" . $paramImageBordure . ">                        \n <img src=" . $paramImageBordure . ">                        \n <img src=" . $paramImageBordure . ">                        \n <img src=" . $paramImageBordure . ">                        \n <img src=" . $paramImageBordure . ">\n <br>\n </center>\n <center>\n <table width=100% border=1 valign=top cellspacing=0>\n <tr>\n <td class=titre_principal><img src=" . $paramImageRecherche . " WIDTH=70 HEIGHT=50 align=left> <br> Recherche <br><br></td>\n </tr>\n <tr>\n <td colspan=3> "; $return .= MoteurDeRecherche::recuperationDesDonneesDeRecherche($module, $url_page_depart, $module_table, $champ_retour, $paramNbLimiteDeResultat, $nbligne, $nbcol, $champ_recherche, $operateur_recherche, $texte_recherche, $champ_courant, $operateur_courant, $texte_courant, $nb_col_courant, $nb_ligne_courant, $ajout_col); $return .= "</td>\n </tr>\n </table>\n "; if ($tab_resultat) { $tab_resultat = explode(';;', $tab_resultat); } $return .= "\n <table width=100% border=1 valign=top cellspacing=0>\n <tr>\n <td class=titre_principal> <br> Résultats <br><br></td>\n </tr>\n "; $choix = -1; // pour que l'on affiche les entetes du tableau une seule fois if ($paramRequete) { //On vérifie si le résultat n'est pas nul $result_requete_resultat = DatabaseOperation::convertSqlStatementWithoutKeyToArray($paramRequete); if (!$result_requete_resultat) { $titre = 'Moteur de Recherche'; $message = UserInterfaceMessage::FR_WARNING_RECHERE_ERREUR; Lib::showMessage($titre, $message, $redirection); } elseif (count($result_requete_resultat) > ModuleConfig::VALUE_MAX_MOTEUR_RECHERCHE) { $message = UserInterfaceMessage::FR_WARNING_RECHERE . ModuleConfig::VALUE_MAX_MOTEUR_RECHERCHE; $redirection = "recherche.php"; Lib::showMessage("Erreur", $message, $redirection); } //Regroupement par Etat du résultat $req = "SELECT * FROM {$etat_table} "; //Spécificité propre au module FTMP //Restriction par droit d'accès // $acces= $module."_modification"; // echo $SESSION[$acces]; if (!Acl::getValueAccesRights($module . "_modification") and $_SESSION["module"] == "fiches_mp_achats") { $req .= "WHERE " . $abreviation_recherche_etat . "='V' OR " . $abreviation_recherche_etat . "='E' "; } $result = DatabaseOperation::convertSqlStatementWithoutKeyToArray($req); foreach ($result as $rows) { //Construction de la reqûete de resultat propre à cet Etat $req1 = "{$paramRequete} AND " . $id_recherche_etat . "=" . $rows[$id_recherche_etat]; $arrayFta = DatabaseOperation::convertSqlStatementWithoutKeyToArray($req1); //Si il y a des résltat on commence la construction du tableau if ($arrayFta) { //Affichage de l'en-tête de regroupement $return .= "<tr><td class=titre>" . $rows["nom_" . $etat_table] . "</td></tr>"; //Affichage des fiches foreach ($arrayFta as $rowsFta) { //echo $choix; $return .= "<tr><td>" . TableauFicheView::getHtmlTable($rowsFta[$id_recherche], $choix, "0", "") . "</td></tr>"; } } $return .= "<br>"; } // Fin de l'affichage des résultats; } //Dans le cas où un résultat de recherche est proposé, affichage du tableau //if ($tab_resultat){ $return .= "</td></tr>\n </table>\n <br>\n <img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . ">\n <img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . ">\n <img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . ">\n <img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . "><img src=" . $paramImageBordure . ">\n "; return $return; /* * ***************************************************************************** FIN MOTEUR DE RECHERCHE * ***************************************************************************** */ }
private static function isUserRightsLinkTransiter($paramIdFtaRole, $paramAbreviationFtaEtat, $paramCheckAccesButton, $paramAccesTransitionButton, $paramSyntheseAction, $paramTauxRound) { $return = FALSE; switch (TRUE) { /** * Dans le cas où on a les droits de modification, * que le soit chef de projet, * que la Fta en cours de modification soit dans un pourcentage d'avancement effectués, * que l'on est les droits sur le site de production * on accède au boutton de transition */ case Acl::getValueAccesRights(Acl::ACL_FTA_MODIFICATION) and FtaRoleModel::isGestionnaire($paramIdFtaRole) and ($paramAbreviationFtaEtat == FtaEtatModel::ETAT_ABREVIATION_VALUE_MODIFICATION and $paramSyntheseAction == FtaEtatModel::ETAT_AVANCEMENT_VALUE_ALL and $paramCheckAccesButton): /** * Dans le cas où on a les droits de modification, * que le soit chef de projet, * que la Fta en cours est dans un état différents que modification, * que l'on est les droits sur le site de production * on accède au boutton de transition */ /** * Dans le cas où on a les droits de modification, * que le soit chef de projet, * que la Fta en cours est dans un état différents que modification, * que l'on est les droits sur le site de production * on accède au boutton de transition */ case Acl::getValueAccesRights(Acl::ACL_FTA_MODIFICATION) and FtaRoleModel::isGestionnaire($paramIdFtaRole) and $paramAbreviationFtaEtat != FtaEtatModel::ETAT_ABREVIATION_VALUE_MODIFICATION and $paramCheckAccesButton: /** * Dans le cas où on a les droits de modification, * que l'on est accès aux bouton de transition, * que la Fta en cours de modification soit à 100%, * que l'on est les droits sur le site de production * on accède au boutton de transition */ /** * Dans le cas où on a les droits de modification, * que l'on est accès aux bouton de transition, * que la Fta en cours de modification soit à 100%, * que l'on est les droits sur le site de production * on accède au boutton de transition */ case Acl::getValueAccesRights(Acl::ACL_FTA_MODIFICATION) and $paramAccesTransitionButton == TRUE and $paramAbreviationFtaEtat == FtaEtatModel::ETAT_ABREVIATION_VALUE_MODIFICATION and $paramTauxRound == FtaProcessusDelaiModel::TAUX_100 and $paramCheckAccesButton: /** * Dans le cas où on a les droits de modification, * que l'on est accès aux bouton de transition, * que la Fta soit valider, * que l'on est les droits sur le site de production * on accède au boutton de transition */ /** * Dans le cas où on a les droits de modification, * que l'on est accès aux bouton de transition, * que la Fta soit valider, * que l'on est les droits sur le site de production * on accède au boutton de transition */ case Acl::getValueAccesRights(Acl::ACL_FTA_MODIFICATION) and $paramAbreviationFtaEtat == FtaEtatModel::ETAT_ABREVIATION_VALUE_VALIDE and $paramCheckAccesButton: $return = TRUE; break; } return $return; }
//include ('../lib/session.php'); //Récupération des variables de sessions //include ('../lib/debut_page.php'); //Affichage des éléments commun à l'Intranet require_once '../inc/main.php'; print_page_begin($disable_full_page, $menu_file); flush(); //if (isset($menu)) //Si existant, utilisation du menu demandé // {include ('./$menu');} //en variable //else // {include ('./menu_principal.inc');} //Sinon, menu par défaut /* * *********** Début Code PHP * *********** */ /** * Vérification des droits d'accès */ $fta_consultation = Acl::getValueAccesRights('fta_consultation'); if (!$fta_consultation) { $titre = UserInterfaceMessage::FR_WARNING_ACCES_RIGHTS_TITLE; $message = UserInterfaceMessage::FR_WARNING_ACCES_RIGHTS . " Veuillez vous déconnecter et contactez l'administrateur de l'intranet"; $redirection = "index.php"; Lib::showMessage($titre, $message, $redirection, TRUE); } /* Initialisation des variables */ $page_default = substr(strrchr($_SERVER['PHP_SELF'], '/'), '1', '-4'); $page_action = $page_default . '_post.php'; $page_pdf = $page_default . '_pdf.php'; $action = 'valider'; //Action proposée à la page _post.php $method = 'POST';
case "supprimer": //Suppression de la FTE if (Acl::getValueAccesRights($module . "_modification") == 1) { AnnexeEmballageModel::deleteAnnexeEmballage($id_annexe_emballage); } //Redirection header("Location: liste_fte.php?selection_groupe={$selection_groupe}&selection_fournisseur={$selection_fournisseur}"); break; case "insert": case "rewrite": //echo "id_fte_fournisseur: ".$id_fte_fournisseur; if (!$actif_annexe_emballage) { $actif_annexe_emballage = 0; } //Ajout ou réécriture de la FTE if (Acl::getValueAccesRights($module . "_modification") == 1 and $id_annexe_emballage) { $annexeEmballageModel = new AnnexeEmballageModel($id_annexe_emballage); $annexeEmballageModel->getDataField(AnnexeEmballageModel::FIELDNAME_POIDS_ANNEXE_EMBALLAGE)->setFieldValue($poids_annexe_emballage); $annexeEmballageModel->getDataField(AnnexeEmballageModel::FIELDNAME_ACTIF_ANNEXE_EMBALLAGE)->setFieldValue($actif_annexe_emballage); $annexeEmballageModel->getDataField(AnnexeEmballageModel::FIELDNAME_EPAISSEUR_ANNEXE_EMBALLAGE)->setFieldValue($epaisseur_annexe_emballage); $annexeEmballageModel->getDataField(AnnexeEmballageModel::FIELDNAME_HAUTEUR_ANNEXE_EMBALLAGE)->setFieldValue($hauteur_annexe_emballage); $annexeEmballageModel->getDataField(AnnexeEmballageModel::FIELDNAME_LARGEUR_ANNEXE_EMBALLAGE)->setFieldValue($largeur_annexe_emballage); $annexeEmballageModel->getDataField(AnnexeEmballageModel::FIELDNAME_LONGUEUR_ANNEXE_EMBALLAGE)->setFieldValue($longueur_annexe_emballage); $annexeEmballageModel->getDataField(AnnexeEmballageModel::FIELDNAME_NOMBRE_COUCHE_ANNEXE_EMBALLAGE)->setFieldValue($nombre_couche_annexe_emballage); $annexeEmballageModel->getDataField(AnnexeEmballageModel::FIELDNAME_QUANTITE_PAR_COUCHE_ANNEXE_EMBALLAGE)->setFieldValue($quantite_par_couche_annexe_emballage); $annexeEmballageModel->getDataField(AnnexeEmballageModel::FIELDNAME_REFERENCE_FOURNISSEUR_ANNEXE_EMBALLAGE)->setFieldValue($reference_fournisseur_annexe_emballage); $annexeEmballageModel->getDataField(AnnexeEmballageModel::FIELDNAME_DATE_MAJ_ANNEXE_EMBALLAGE)->setFieldValue(date("Y-m-d")); $annexeEmballageModel->getDataField(AnnexeEmballageModel::FIELDNAME_ID_ANNEXE_EMBALLAGE_GROUPE)->setFieldValue($nom_annexe_emballage_groupe); $annexeEmballageModel->getDataField(AnnexeEmballageModel::FIELDNAME_ID_FTE_FOURNISSEUR)->setFieldValue($nom_fte_fournisseur); $annexeEmballageModel->saveToDatabase(); } else {
<?php /*********** AUTORISATION ***********/ /* Autorisation de consulter le module: En effet cette page est chargée par toutes les pages de ce module */ $module_consultation = $module . "_consultation"; if (Acl::getValueAccesRights($module_consultation) == "0") { header("Location: index.php"); } /*************************** VARIABLES GLOBALES DU MODULE ***************************/ include "../{$module}/config.php"; /* Dictionnaire des variables: */ /* Corps de la fonction */ /****************** DEBUT DES FONCTIONS ******************/ /* Include de développement Une optimisation serait d'utiliser CVS !! */ if ($module) {
$page_pdf = $page_default . "_pdf.php"; $action = 'valider'; //Action proposée à la page _post.php $method = 'POST'; //Pour une url > 2000 caractères, ne pas utiliser utiliser GET $html_table = "table " . "border=1 " . "width=100% " . " "; $selection_proprietaire1 = Lib::getParameterFromRequest('selection_proprietaire1'); $selection_proprietaire2 = Lib::getParameterFromRequest('selection_proprietaire2'); $selection_marque = Lib::getParameterFromRequest('selection_marque'); $selection_activite = Lib::getParameterFromRequest('selection_activite'); $selection_rayon = Lib::getParameterFromRequest('selection_rayon'); $selection_environnement = Lib::getParameterFromRequest('selection_environnement'); $selection_reseau = Lib::getParameterFromRequest('selection_reseau'); $selection_saisonnalite = Lib::getParameterFromRequest('selection_saisonnalite'); $classificationModifier = ClassificationFta2Model::getClassificationModification($idUser); $classificationConsultation = Acl::getValueAccesRights("classification_consultation"); if ($classificationModifier) { $editable = TRUE; } elseif ($classificationConsultation) { $editable = FALSE; } $isEditable = TRUE; if (!$selection_proprietaire1) { $selection_proprietaire1 = 0; } ClassificationFta2Model::initClassification($selection_proprietaire1, $selection_proprietaire2, $selection_marque, $selection_activite, $selection_rayon, $selection_environnement, $selection_reseau, $selection_saisonnalite); $bloc .= "<" . $html_table . "><tr class=titre>" . "<td>Proprietaire (Groupe)</td>" . "<td>Proprietaire (Enseigne)</td>" . "<td>" . HtmlResult::MARQUE . "</td>" . "<td>" . HtmlResult::ACTIVITE . "</td>" . "<td>" . HtmlResult::RAYON . "</td>" . "<td>" . HtmlResult::ENVIRONNEMENT . "</td>" . "<td>" . HtmlResult::RESEAU . "</td>" . "<td>" . HtmlResult::SAISONALITE . "</td>" . "</tr>"; $bloc .= "<td>" . ClassificationFta2Model::getListeClassificationProprietaireGroupe($selection_proprietaire1, $isEditable) . "</td>"; if ($selection_proprietaire1) { $bloc .= "<td>" . ClassificationFta2Model::getListeClassification($selection_proprietaire1, $selection_proprietaire2, ClassificationFta2Model::FIELDNAME_ID_PROPRIETAIRE_ENSEIGNE, ClassificationFta2Model::FIELDNAME_ID_PROPRIETAIRE_GROUPE, 'selection_proprietaire2', $isEditable, $selection_marque2) . "</td>"; if ($selection_proprietaire2 != NULL) {
protected static function buildIsOwner() { //Recherche du droit d'accès correspondant $module = self::$moduleIntranetActionsModel->getDataField(IntranetActionsModel::FIELDNAME_NOM_INTRANET_ACTIONS)->getFieldValue(); if (Acl::getValueAccesRights('fta_' . $module)) { $return = true; } else { $return = false; } // /** // * Recherche du droit d'accès correspondant // */ // $ftaModification = IntranetDroitsAccesModel::getFtaModification(self::$idUser); // if ( // $ftaModification // ) { // $return = true; // } else { // $return = false; // } IntranetColumnInfoModel::setOwner($return); return $return; }
Début Code PHP * *********** */ /* Initialisation des variables */ $page_default = substr(strrchr($_SERVER["PHP_SELF"], '/'), '1', '-4'); $page_action = $page_default . "_post.php"; $page_pdf = $page_default . "_pdf.php"; // $action = 'valider'; //Action proposée à la page _post.php $method = 'POST'; //Pour une url > 2000 caractères, ne pas utiliser utiliser GET $html_table = "table " . "border=1 " . "width=100% " . "class=contenu "; /* Récupération des données MySQL */ $module_modification = Acl::getValueAccesRights($module . "_modification"); //Droits d'accès if ($module_modification >= 1) { $proprietaire = 1; $isEditable = TRUE; $html_restricted_box = ""; $bouton_submit = "Enregistrer >>"; } else { $proprietaire = 0; $isEditable = FALSE; $html_restricted_box = "disabled"; $bouton_submit = "<< Retour"; } //Titre if ($id_annexe_emballage) { $titre = "Modification d'une Fiche Technique Emballage";
public static function getListeUsersAndNotificationSuiviProjet($paramIdFta, $paramIdChapitre) { $idFtaSuiviProjet = FtaSuiviProjetModel::getIdFtaSuiviProjetByIdFtaAndIdChapitre($paramIdFta, $paramIdChapitre); $modelFtaSuiviProjet = new FtaSuiviProjetModel($idFtaSuiviProjet, $paramIdChapitre); $modelFta = new FtaModel($paramIdFta, $paramIdChapitre); $id_fta_workflow = $modelFta->getDataField(FtaModel::FIELDNAME_WORKFLOW)->getFieldValue(); $ftaWorkflowModel = new FtaWorkflowModel($id_fta_workflow); $id_parent_intranet_actions = $ftaWorkflowModel->getDataField(FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS)->getFieldValue(); //Récupération des Processus $arrayProcessus = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::KEYNAME . ', ' . FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS . ', ' . FtaProcessusModel::FIELDNAME_MULTISITE_FTA_PROCESSUS . ', ' . FtaProcessusModel::FIELDNAME_INFO_CHEF_PROJET . ', ' . FtaProcessusModel::FIELDNAME_NOM . ' FROM ' . FtaProcessusModel::TABLENAME . ',' . FtaWorkflowStructureModel::TABLENAME . ',' . FtaWorkflowModel::TABLENAME . ' WHERE ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . '=' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . '=' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::KEYNAME . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . '=' . $id_fta_workflow); foreach ($arrayProcessus as $rowsProcessus) { //Si l'utilisateur appartient au processus, il n'est pas necessaire d'informer tous son service par mail $arrayIntranetActionProcessus = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . IntranetActionsModel::FIELDNAME_NOM_INTRANET_ACTIONS . ' FROM ' . IntranetActionsModel::TABLENAME . ' WHERE ' . IntranetActionsModel::KEYNAME . '=\'' . $rowsProcessus[FtaActionRoleModel::FIELDNAME_ID_INTRANET_ACTIONS] . '\' '); if ($arrayIntranetActionProcessus) { foreach ($arrayIntranetActionProcessus as $rowsIntranetActionProcessus) { $nom_intranet_actions = $rowsIntranetActionProcessus[IntranetActionsModel::FIELDNAME_NOM_INTRANET_ACTIONS]; } } //echo 'fta_'.$nom_intranet_actions.': '.$GLOBALS{'fta_'.$nom_intranet_actions}.'<br>'; if (Acl::getValueAccesRights('fta_' . $nom_intranet_actions)) { $no_mail = 1; //Désactivation du mail pour ce processus } else { $no_mail = 0; //Activation du mail } //Ce processus est-il un processus en cours ? if (FtaProcessusModel::getValideProcessusEncours($paramIdFta, $rowsProcessus[FtaProcessusModel::KEYNAME], $id_fta_workflow) != 0 and FtaProcessusModel::getValideProcessusEncours($paramIdFta, $rowsProcessus[FtaProcessusModel::KEYNAME], $id_fta_workflow) != 1) { //Activation du mail //$no_mail=0; //Recherche des Notifications des chapitres $arraySuiviProjetChapitreProcessus = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . FtaSuiviProjetModel::FIELDNAME_NOTIFICATION_FTA_SUIVI_PROJET . ' FROM ' . FtaSuiviProjetModel::TABLENAME . ', ' . FtaChapitreModel::TABLENAME . ', ' . FtaProcessusModel::TABLENAME . ', ' . FtaWorkflowStructureModel::TABLENAME . ' WHERE (' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '=' . FtaChapitreModel::TABLENAME . '.' . FtaChapitreModel::KEYNAME . ' AND ' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::KEYNAME . ' = ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ' AND ' . FtaChapitreModel::TABLENAME . '.' . FtaChapitreModel::KEYNAME . ' = ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE . ') AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . '=' . $rowsProcessus[FtaProcessusModel::KEYNAME] . ' ' . 'AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA . '=' . $paramIdFta . ' '); //L'ensemble des chapitres a-t-il été entièrement notifié ? // -1 = le suivi doit etre créé et le processus doit être informé // 0 = ce processus doit être informé // 1 = ce processus a déjà était informé if ($arraySuiviProjetChapitreProcessus) { foreach ($arraySuiviProjetChapitreProcessus as $rowsSuiviProjetChapitreProcessus) { $notification = 1 * $rowsSuiviProjetChapitreProcessus[FtaSuiviProjetModel::FIELDNAME_NOTIFICATION_FTA_SUIVI_PROJET]; } } else { $notification = -1; } //Si au moins un des chapitres n'a pas été notifié ou qu'il n' y a pas encore de suivi if ($notification <= 0 and $rowsProcessus[FtaProcessusModel::KEYNAME] != 1) { //Initialisation du tableau des destinataires (mail + identifiant) $liste_mail = ''; $liste_user = ''; //Si le mail reste actif, on construit la listes des utilisateurs à informer if (!$no_mail) { //Recherche de la liste des utilisateurs à informer switch ($rowsProcessus[FtaProcessusModel::FIELDNAME_MULTISITE_FTA_PROCESSUS]) { case 0: //1. Cas de processus mono-site //----------------------------- //Est-ce que seul le service du chef de projet doit être informé ? if ($rowsProcessus[FtaProcessusModel::FIELDNAME_INFO_CHEF_PROJET]) { //Rechercher du service du chef de projet /** * Pour cette requête le chapitre clé est test identité le 1 */ $arraySuiviProjetSalaries = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . UserModel::FIELDNAME_ID_SERVICE . ' FROM ' . FtaSuiviProjetModel::TABLENAME . ', ' . UserModel::TABLENAME . ' WHERE (' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_SIGNATURE_VALIDATION_SUIVI_PROJET . '=' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_ID_SERVICE . ') AND ( (' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA . '= ' . $paramIdFta . 'AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '= 1 ) ) '); foreach ($arraySuiviProjetSalaries as $rowsSuiviProjetSalaries) { $where = ' AND ' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_ID_SERVICE . '=' . $rowsSuiviProjetSalaries[UserModel::FIELDNAME_ID_SERVICE]; } //Désactivation de l'envoi du mail dans ce cas de figure. $no_mail = 1; } //tableau des utilisateurs selon leur accès aux processus $arraySalarieProcessusMono = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . UserModel::TABLENAME . '.' . UserModel::KEYNAME . ', ' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_MAIL . ', ' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_LOGIN . ', ' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_NOM . ', ' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_PRENOM . ', ' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::KEYNAME . ' FROM ' . UserModel::TABLENAME . ',' . IntranetActionsModel::TABLENAME . ', ' . IntranetModulesModel::TABLENAME . ',' . IntranetDroitsAccesModel::TABLENAME . ', ' . FtaProcessusModel::TABLENAME . ', ' . FtaActionRoleModel::TABLENAME . ' WHERE ( ' . UserModel::TABLENAME . '.' . UserModel::KEYNAME . '=' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . ' AND ' . UserModel::FIELDNAME_ACTIF . '= \'oui\' ' . ' AND ' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . '=' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . ' AND ' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . '=' . FtaActionRoleModel::TABLENAME . '.' . FtaActionRoleModel::FIELDNAME_ID_INTRANET_ACTIONS . ') ' . ' AND ( ( ' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . ' <> ' . IntranetNiveauAccesModel::NIVEAU_GENERIC_FALSE . ' AND ' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::KEYNAME . ' = ' . $rowsProcessus[FtaProcessusModel::KEYNAME] . ' AND ' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::FIELDNAME_MULTISITE_FTA_PROCESSUS . ' = 0 ' . ' AND ' . IntranetModulesModel::TABLENAME . '.' . IntranetModulesModel::FIELDNAME_NOM_INTRANET_MODULES . ' = \'fta\' ) )' . ' AND ' . UserModel::TABLENAME . '.' . UserModel::KEYNAME . '<>\'' . $modelFta->getModelCreateur()->getDataField(UserModel::KEYNAME)->getFieldValue() . '\'' . $where); if ($arraySalarieProcessusMono) { foreach ($arraySalarieProcessusMono as $rowsSalarieProcessusMono) { //Remplissage du tableau des destinataires (mail + identifiant) $liste_mail[] = $rowsSalarieProcessusMono[UserModel::FIELDNAME_MAIL]; $liste_user[] = '- ' . $rowsSalarieProcessusMono[UserModel::FIELDNAME_PRENOM] . ' ' . $rowsSalarieProcessusMono[UserModel::FIELDNAME_NOM]; } } break; case 1: //2. Cas de processus multi-site //------------------------------ //Existe-t-il un processus d'un autre site qui gère ce site d'assemblage ? $arrayMultisiteProcessus = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . FtaProcessusMultisiteModel::FIELDNAME_ID_SITE_PROCESSUS_FTA_PROCESSUS_MULTISITE . ' FROM ' . FtaProcessusMultisiteModel::TABLENAME . ' WHERE ' . FtaProcessusMultisiteModel::FIELDNAME_ID_SITE_ASSEMBLAGE_FTA_PROCESSUS_MULTISITE . '=' . $modelFta->getDataField(FtaModel::FIELDNAME_SITE_PRODUCTION)->getFieldValue() . ' AND ' . FtaProcessusMultisiteModel::FIELDNAME_ID_PROCESSUS_FTA_PROCESSUS_MULTISITE . '=' . $rowsProcessus[FtaProcessusModel::KEYNAME]); if ($arrayMultisiteProcessus) { foreach ($arrayMultisiteProcessus as $rowsMultisiteProcessus) { $site_gestionnaire = $rowsMultisiteProcessus[FtaProcessusMultisiteModel::FIELDNAME_ID_SITE_PROCESSUS_FTA_PROCESSUS_MULTISITE]; } } else { $site_gestionnaire = $modelFta->getDataField(FtaModel::FIELDNAME_SITE_PRODUCTION)->getFieldValue(); } $arraySalarieProcessusMulti = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . UserModel::TABLENAME . '.' . UserModel::KEYNAME . ', ' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_MAIL . ', ' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_LOGIN . ', ' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_NOM . ', ' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_PRENOM . ', ' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::KEYNAME . ' FROM ' . UserModel::TABLENAME . ',' . IntranetActionsModel::TABLENAME . ', ' . IntranetModulesModel::TABLENAME . ',' . IntranetDroitsAccesModel::TABLENAME . ', ' . FtaProcessusModel::TABLENAME . ', ' . GeoModel::TABLENAME . ' WHERE ( ' . UserModel::TABLENAME . '.' . UserModel::KEYNAME . '=' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . ' AND ' . UserModel::FIELDNAME_ACTIF . '= \'oui\' ' . ' AND ' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . '=' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . ' AND ' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . '=' . IntranetActionsModel::getIdIntranetActionsRoleFromIdParentActionNavigation($id_parent_intranet_actions) . ' AND ' . GeoModel::TABLENAME . '.' . GeoModel::KEYNAME . '=' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_LIEU_GEO . ') ' . ' AND ( ( ' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . ' <> ' . IntranetNiveauAccesModel::NIVEAU_GENERIC_FALSE . ' AND ' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::KEYNAME . ' = ' . $rowsProcessus[FtaProcessusModel::KEYNAME] . ' AND ' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::FIELDNAME_MULTISITE_FTA_PROCESSUS . ' = 1 ' . ' AND ' . GeoModel::TABLENAME . '.' . GeoModel::KEYNAME . '= \'' . $site_gestionnaire . '\' ' . ' AND ' . IntranetModulesModel::TABLENAME . '.' . IntranetModulesModel::FIELDNAME_NOM_INTRANET_MODULES . ' = \'fta\' ) )' . ' AND ' . UserModel::TABLENAME . '.' . UserModel::KEYNAME . '<>\'' . $modelFta->getModelCreateur()->getDataField(UserModel::KEYNAME)->getFieldValue() . '\''); //echo $rows_processus['multisite_fta_processus'].'<br>'.$req.'<br><br>'; if ($arraySalarieProcessusMulti) { foreach ($arraySalarieProcessusMulti as $rowsSalarieProcessusMulti) { //Remplissage du tableau des destinataires (mail + identifiant) $liste_mail[] = $rowsSalarieProcessusMulti[UserModel::FIELDNAME_MAIL]; $liste_user[] = '- ' . $rowsSalarieProcessusMulti[UserModel::FIELDNAME_PRENOM] . ' ' . $rowsSalarieProcessusMulti[UserModel::FIELDNAME_NOM]; } } break; } //Fin de la recherche des utilisateurs à informer } //Fin du controle de désactivation de mail //Envoi du mail de notification if ($liste_mail and !$no_mail) { foreach ($liste_mail as $adresse_email) { $sujetmail = 'FTA/' . $modelFta->getDataField(FtaModel::FIELDNAME_DESIGNATION_COMMERCIALE)->getFieldValue(); $text = 'Démarrage du processus: ' . $rowsProcessus[FtaProcessusModel::FIELDNAME_NOM] . '\\n' . 'Etat de la FTA: ' . $modelFta->getModelFtaEtat()->getDataField(FtaEtatModel::FIELDNAME_NOM_FTA_ETAT)->getFieldValue() . '\\n\\n' . 'Vous pouvez consulter l\'Etat d\'avancenement du dossier directement sur le site http://intranet.agis.fr .\\n' . '\\n' . 'Bonne journée.\\n' . 'Intranet - Fiche Technique Article.'; $destinataire = $adresse_email; //$expediteur = $_SESSION['prenom'] . ' ' . $_SESSION['nom_famille_ses'] . ' <' . $_SESSION['mail_user'] . '>'; $expediteur = $modelFta->getModelCreateur()->getDataField(UserModel::FIELDNAME_PRENOM)->getFieldValue() . ' ' . $modelFta->getModelCreateur()->getDataField(UserModel::FIELDNAME_NOM)->getFieldValue() . ' <' . $modelFta->getModelCreateur()->getDataField(UserModel::FIELDNAME_MAIL)->getFieldValue() . '>'; $typeMail = 'mail-transactions'; //if ($_SESSION['notification_fta_suivi_projet']) { if ($modelFtaSuiviProjet->getDataField(FtaSuiviProjetModel::FIELDNAME_NOTIFICATION_FTA_SUIVI_PROJET)->getFieldValue()) { envoismail($sujetmail, $text, $destinataire, $expediteur, $typeMail); } } } //Fin des envois de mail //Enregistrement de la réalisation de la notification du processus switch ($notification) { case 0: //Mise à jour du suivi $update = 'UPDATE ' . FtaWorkflowStructureModel::TABLENAME . ',' . FtaSuiviProjetModel::TABLENAME . ' SET ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_NOTIFICATION_FTA_SUIVI_PROJET . '=1' . ' WHERE ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . '=' . $rowsProcessus[FtaProcessusModel::KEYNAME] . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA . '=' . $paramIdFta; DatabaseOperation::execute($update); break; case -1: //Création du suivi //Récupération des chapitres du processus $arrayChapitre = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE . ' FROM ' . FtaWorkflowStructureModel::TABLENAME . ' WHERE ' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . '= \'' . $rowsProcessus[FtaProcessusModel::KEYNAME] . '\' '); foreach ($arrayChapitre as $rowsChapitre) { $insert = 'INSERT ' . FtaSuiviProjetModel::TABLENAME . ' SET ' . FtaSuiviProjetModel::FIELDNAME_NOTIFICATION_FTA_SUIVI_PROJET . '=1' . ', ' . FtaSuiviProjetModel::FIELDNAME_ID_FTA . '=\'' . $paramIdFta . '\'' . ', ' . FtaChapitreModel::KEYNAME . '=' . $rowsChapitre[FtaChapitreModel::KEYNAME]; DatabaseOperation::execute($insert); } break; } } //Fin de la vérification par chapitre et du traitement de la notification } //Fin de la vérification des processus validés } //Fin du parcours des processsu //Retour de la fonction return $liste_user; }
case '': //Redirection header("Location: index.php"); break; case "supprimer": //Cette FTE est-elle encore utilisée par d'autres FTA ? $req = "SELECT id_fta_conditionnement FROM fta_conditionnement " . "WHERE id_annexe_emballage=" . $id_annexe_emballage . " "; $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray($req); if ($array) { //Averissement $titre = UserInterfaceMessage::FR_WARNING_EMBALLAGE_SUPPRESION_TITLE; $message = UserInterfaceMessage::FR_WARNING_EMBALLAGE_SUPPRESION; Lib::showMessage($titre, $message, $redirection); } else { //Suppression de la FTE if (Acl::getValueAccesRights($module . "_modification") == 1) { AnnexeEmballageModel::deleteAnnexeEmballage($id_annexe_emballage); } //Redirection header("Location: liste_fte.php?selection_groupe={$selection_groupe}&selection_fournisseur={$selection_fournisseur}"); } break; /* * ********** Fin de switch * ********** */ } //include ("./action_bs.php"); //include ("./action_sm.php"); ?>
<?php /*********** AUTORISATION ***********/ /* Autorisation de consulter le module: En effet cette page est chargée par toutes les pages de ce module */ $module_consultation = $module . "_consultation"; if (!Acl::getValueAccesRights($module_consultation)) { header("Location: index.php"); } /* Dictionnaire des variables: */ /* Corps de la fonction */ /****************** DEBUT DES FONCTIONS ******************/ /* Include de développement Une optimisation serait d'utiliser CVS !! */ if ($module) { $chemin_functions_personalise = "../" . $module; } else { $chemin_functions_personalise = "."; }