exit('Longueur du mot de passe incorrecte !'); } $test_profil_1 = (preg_match("#^p+[._-]?n+$#", $login)) ? TRUE : FALSE ; // prénom puis nom $test_profil_2 = (preg_match("#^n+[._-]?p+$#", $login)) ? TRUE : FALSE ; // nom puis prénom $test_profil_3 = (preg_match("#^p+$#", $login)) ? TRUE : FALSE ; // prénom seul $test_profil_4 = (preg_match("#^n+$#", $login)) ? TRUE : FALSE ; // nom seul if( !$test_profil_1 && !$test_profil_2 && !$test_profil_3 && !$test_profil_4 ) { exit('Modèle de nom d\'utilisateur incorrect !'); } // Mettre à jour les paramètres dans la base DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_profil_parametre( $profil , 'user_profil_login_modele' , $login ); DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_profil_parametre( $profil , 'user_profil_mdp_longueur_mini' , $mdp ); if($profil=='ELV') { DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_profil_parametre( $profil , 'user_profil_mdp_date_naissance' , $birth ); } // Mettre aussi à jour la session if($profil=='ALL') { $_SESSION['TAB_PROFILS_ADMIN']['LOGIN_MODELE'] = array_fill_keys ( array_keys($_SESSION['TAB_PROFILS_ADMIN']['LOGIN_MODELE'] ) , $login ); $_SESSION['TAB_PROFILS_ADMIN']['MDP_LONGUEUR_MINI'] = array_fill_keys ( array_keys($_SESSION['TAB_PROFILS_ADMIN']['MDP_LONGUEUR_MINI']) , $mdp ); } else { $_SESSION['TAB_PROFILS_ADMIN']['LOGIN_MODELE'][$profil] = $login; $_SESSION['TAB_PROFILS_ADMIN']['MDP_LONGUEUR_MINI'][$profil] = $mdp; } if($profil=='ELV') { $_SESSION['TAB_PROFILS_ADMIN']['MDP_DATE_NAISSANCE'][$profil] = $birth;
if (!defined('SACoche')) { exit('Ce fichier ne peut être appelé directement !'); } if ($_SESSION['SESAMATH_ID'] == ID_DEMO) { exit('Action désactivée pour la démo...'); } $action = isset($_POST['f_action']) ? Clean::texte($_POST['f_action']) : ''; $tab_profils_actifs = isset($_POST['tab_id']) ? Clean::map_texte(explode(',', $_POST['tab_id'])) : array(); $tab_profils = array_keys($_SESSION['TAB_PROFILS_ADMIN']['TYPE']); $tab_profils_inactifs = array_diff($tab_profils, $tab_profils_actifs); $tab_profils_anormaux = array_diff($tab_profils_actifs, $tab_profils); if (count($tab_profils_anormaux)) { exit('Erreur avec les profils transmis !'); } // //////////////////////////////////////////////////////////////////////////////////////////////////// // Choix des profils // //////////////////////////////////////////////////////////////////////////////////////////////////// if ($action == 'choix_profils') { // Il n'y a que quelques profils : on ne s'embête pas à comparer pour voir ce qui a changé, on effectue un update pour chacun. foreach ($tab_profils_actifs as $profil_sigle) { DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_profil_parametre($profil_sigle, 'user_profil_actif', 1); } foreach ($tab_profils_inactifs as $profil_sigle) { DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_profil_parametre($profil_sigle, 'user_profil_actif', 0); } exit('ok'); } // //////////////////////////////////////////////////////////////////////////////////////////////////// // On ne devrait pas en arriver là... // //////////////////////////////////////////////////////////////////////////////////////////////////// exit('Erreur avec les données transmises !');
exit('Action désactivée pour la démo...'); } $profil = isset($_POST['f_profil']) ? Clean::texte($_POST['f_profil']) : ''; $delai = isset($_POST['f_delai']) ? Clean::entier($_POST['f_delai']) : 0; // //////////////////////////////////////////////////////////////////////////////////////////////////// // Choix du délai avant une déconnexion automatique pour inactivité // //////////////////////////////////////////////////////////////////////////////////////////////////// if ($profil && $delai) { if ($profil != 'ALL' && !isset($_SESSION['TAB_PROFILS_ADMIN']['TYPE'][$profil])) { exit('Profil incorrect !'); } if ($delai % 10 || $delai > 120) { exit('Délai incorrect !'); } // Mettre à jour les paramètres dans la base DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_profil_parametre($profil, 'user_profil_duree_inactivite', $delai); // Mettre aussi à jour la session if ($profil == 'ALL' || $profil == 'ADM') { $_SESSION['USER_DUREE_INACTIVITE'] = $delai; } if ($profil == 'ALL') { $_SESSION['TAB_PROFILS_ADMIN']['DUREE_INACTIVITE'] = array_fill_keys($_SESSION['TAB_PROFILS_ADMIN']['DUREE_INACTIVITE'], $delai); } else { $_SESSION['TAB_PROFILS_ADMIN']['DUREE_INACTIVITE'][$profil] = $delai; } exit('ok'); } // //////////////////////////////////////////////////////////////////////////////////////////////////// // On ne devrait pas en arriver là... // //////////////////////////////////////////////////////////////////////////////////////////////////// exit('Erreur avec les données transmises !');