/** * Gestion des droits d'accès pour les droits spécifique acces_module_fta et diffusion_fta * @param int $paramIdUser */ public static function manageAccesRightToFta($paramIdUser) { $arrayActionsAccesModuleFta = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . IntranetActionsModel::KEYNAME . ', ' . IntranetActionsModel::FIELDNAME_NOM_INTRANET_ACTIONS . ', ' . IntranetActionsModel::FIELDNAME_DESCRIPTION_INTRANET_ACTIONS . ', ' . IntranetActionsModel::FIELDNAME_MODULE_INTRANET_ACTIONS . ' FROM ' . IntranetActionsModel::TABLENAME . ' WHERE (' . IntranetActionsModel::FIELDNAME_TAG_INTRANET_ACTIONS . '=\'' . IntranetActionsModel::VALUE_FTA . '\'' . ' OR ' . IntranetActionsModel::FIELDNAME_NOM_INTRANET_ACTIONS . '=\'' . IntranetActionsModel::NAME_DIFFUSION_FTA . '\')'); foreach ($arrayActionsAccesModuleFta as $rowsActionsAccesModuleFta) { $nom_niveau_intranet_droits_acces = $rowsActionsAccesModuleFta[IntranetActionsModel::FIELDNAME_NOM_INTRANET_ACTIONS]; $niveau_intranet_droits_acces = Lib::getParameterFromRequest($nom_niveau_intranet_droits_acces); $consultation = "consultation_" . IntranetNiveauAccesModel::NIVEAU_FTA_CONSULTATION; $modification = "modification_" . IntranetNiveauAccesModel::NIVEAU_FTA_MODIFICATION; $diffusion = "diffusion_" . IntranetNiveauAccesModel::NIVEAU_FTA_DIFFUSION; $impression = "impression_" . IntranetNiveauAccesModel::NIVEAU_FTA_IMPRESSION; if ($nom_niveau_intranet_droits_acces == IntranetActionsModel::NAME_ACCES_MODULE_FTA) { switch ($niveau_intranet_droits_acces) { /** * Aucun accès au module Fta */ case IntranetNiveauAccesModel::NIVEAU_GENERIC_FALSE: Lib::setParameterFromRequest($consultation, IntranetNiveauAccesModel::NIVEAU_GENERIC_FALSE); Lib::setParameterFromRequest($modification, IntranetNiveauAccesModel::NIVEAU_GENERIC_FALSE); Lib::setParameterFromRequest($diffusion, IntranetNiveauAccesModel::NIVEAU_GENERIC_FALSE); Lib::setParameterFromRequest($impression, IntranetNiveauAccesModel::NIVEAU_GENERIC_FALSE); break; /** * Accès en consultation */ /** * Accès en consultation */ case IntranetNiveauAccesModel::NIVEAU_FTA_CONSULTATION: Lib::setParameterFromRequest($consultation, IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE); Lib::setParameterFromRequest($modification, IntranetNiveauAccesModel::NIVEAU_GENERIC_FALSE); break; /** * Accès en modification */ /** * Accès en modification */ case IntranetNiveauAccesModel::NIVEAU_FTA_MODIFICATION: Lib::setParameterFromRequest($consultation, IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE); Lib::setParameterFromRequest($modification, IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE); break; } } /* * Enregistrement/Suppression du droit d'accès */ $id_intranet_modules = $rowsActionsAccesModuleFta[IntranetActionsModel::FIELDNAME_MODULE_INTRANET_ACTIONS]; $id_intranet_actions = $rowsActionsAccesModuleFta[IntranetActionsModel::KEYNAME]; /* * Suppression des anciens accès */ DatabaseOperation::execute('DELETE FROM ' . IntranetDroitsAccesModel::TABLENAME . ' WHERE ' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_MODULES . '=' . $id_intranet_modules . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . '=' . $paramIdUser . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . $id_intranet_actions); /* * Réécriture du droits d'accès */ DatabaseOperation::execute('INSERT INTO ' . IntranetDroitsAccesModel::TABLENAME . ' SET ' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_MODULES . '=' . $id_intranet_modules . ', ' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . '=' . $paramIdUser . ', ' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . $id_intranet_actions . ', ' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . '=' . $niveau_intranet_droits_acces); } }