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']) : ''; $check = isset($_POST['f_check']) ? Clean::entier($_POST['f_check']) : 0; $id = isset($_POST['f_id']) ? Clean::entier($_POST['f_id']) : 0; $id_ent = isset($_POST['f_id_ent']) ? Clean::texte($_POST['f_id_ent']) : ''; $id_gepi = isset($_POST['f_id_gepi']) ? Clean::texte($_POST['f_id_gepi']) : ''; $sconet_id = isset($_POST['f_sconet_id']) ? Clean::entier($_POST['f_sconet_id']) : 0; $reference = isset($_POST['f_reference']) ? Clean::ref($_POST['f_reference']) : ''; $profil = isset($_POST['f_profil']) ? Clean::texte($_POST['f_profil']) : ''; $genre = isset($_POST['f_genre']) ? Clean::texte($_POST['f_genre']) : ''; $nom = isset($_POST['f_nom']) ? Clean::nom($_POST['f_nom']) : ''; $prenom = isset($_POST['f_prenom']) ? Clean::prenom($_POST['f_prenom']) : ''; $login = isset($_POST['f_login']) ? Clean::login($_POST['f_login']) : ''; $password = isset($_POST['f_password']) ? Clean::password($_POST['f_password']) : ''; $sortie_date = isset($_POST['f_sortie_date']) ? Clean::date_fr($_POST['f_sortie_date']) : ''; $box_login = isset($_POST['box_login']) ? Clean::entier($_POST['box_login']) : 0; $box_password = isset($_POST['box_password']) ? Clean::entier($_POST['box_password']) : 0; $box_date = isset($_POST['box_date']) ? Clean::entier($_POST['box_date']) : 0; $courriel = isset($_POST['f_courriel']) ? Clean::courriel($_POST['f_courriel']) : ''; // //////////////////////////////////////////////////////////////////////////////////////////////////// // Ajouter un nouveau personnel // //////////////////////////////////////////////////////////////////////////////////////////////////// if ($action == 'ajouter' && $profil && isset(Html::$tab_genre['adulte'][$genre]) && $nom && $prenom && ($box_login || $login) && ($box_password || $password) && ($box_date || $sortie_date)) { // Vérifier le profil if (!isset($_SESSION['TAB_PROFILS_ADMIN']['TYPE'][$profil]) || !in_array($_SESSION['TAB_PROFILS_ADMIN']['TYPE'][$profil], array('professeur', 'directeur'))) { exit('Erreur : profil incorrect !'); } // Vérifier que l'identifiant ENT est disponible (parmi tous les utilisateurs de l'établissement) if ($id_ent) {
$contenu = To::deleteBOM(To::utf8($contenu)); // Mettre en UTF-8 si besoin et retirer le BOM éventuel $tab_lignes = extraire_lignes($contenu); // Extraire les lignes du fichier $separateur = extraire_separateur_csv($tab_lignes[0]); // Déterminer la nature du séparateur unset($tab_lignes[0]); // Supprimer la 1e ligne foreach ($tab_lignes as $ligne_contenu) { $tab_elements = str_getcsv($ligne_contenu, $separateur); $tab_elements = array_slice($tab_elements, 0, 4); if (count($tab_elements) == 4) { list($login, $mdp, $nom, $prenom) = $tab_elements; if ($nom != '' && $prenom != '') { $tab_users_fichier['login'][] = mb_substr(Clean::login($login), 0, 20); $tab_users_fichier['mdp'][] = $mdp != 'inchangé' ? mb_substr(Clean::password($mdp), 0, 20) : ''; $tab_users_fichier['nom'][] = Clean::nom($nom); $tab_users_fichier['prenom'][] = Clean::prenom($prenom); } } } // On trie array_multisort($tab_users_fichier['nom'], SORT_ASC, SORT_STRING, $tab_users_fichier['prenom'], SORT_ASC, SORT_STRING, $tab_users_fichier['login'], $tab_users_fichier['mdp']); // On récupère le contenu de la base pour comparer, y compris les professeurs afin de comparer avec leurs logins, et y compris les classes pour les étiquettes pdf $tab_users_base = array(); $tab_users_base['login'] = array(); $tab_users_base['mdp'] = array(); $tab_users_base['nom'] = array(); $tab_users_base['prenom'] = array(); $tab_users_base['info'] = array(); $tab_parents = array();
{ exit('Erreur avec les données transmises !'); } } if( $step==41 ) { // récupérer et tester les paramètres $installation = (isset($_POST['f_installation'])) ? Clean::texte($_POST['f_installation']) : ''; $denomination = (isset($_POST['f_denomination'])) ? Clean::texte($_POST['f_denomination']) : ''; $uai = (isset($_POST['f_uai'])) ? Clean::uai($_POST['f_uai']) : ''; $adresse_site = (isset($_POST['f_adresse_site'])) ? Clean::url($_POST['f_adresse_site']) : ''; $nom = (isset($_POST['f_nom'])) ? Clean::nom($_POST['f_nom']) : ''; $prenom = (isset($_POST['f_prenom'])) ? Clean::prenom($_POST['f_prenom']) : ''; $courriel = (isset($_POST['f_courriel'])) ? Clean::courriel($_POST['f_courriel']) : ''; $password = (isset($_POST['f_password1'])) ? Clean::password($_POST['f_password1']) : ''; if( in_array($installation,array('mono-structure','multi-structures')) && $denomination && $nom && $prenom && $courriel && $password ) { // Vérifier le domaine du serveur mail seulement en mode multi-structures car ce peut être sinon une installation sur un serveur local non ouvert sur l'extérieur. if($installation=='multi-structures') { list($mail_domaine,$is_domaine_valide) = tester_domaine_courriel_valide($courriel); if(!$is_domaine_valide) { exit('Erreur avec le domaine "'.$mail_domaine.'" !'); } } // Il faut tout transmettre car à ce stade le fichier n'existe pas. FileSystem::fabriquer_fichier_hebergeur_info( array( 'HEBERGEUR_INSTALLATION' => $installation, 'HEBERGEUR_DENOMINATION' => $denomination,
* SACoche est distribué dans l’espoir qu’il vous sera utile, mais SANS AUCUNE GARANTIE : * sans même la garantie implicite de COMMERCIALISABILITÉ ni d’ADÉQUATION À UN OBJECTIF PARTICULIER. * Consultez la Licence Publique Générale GNU Affero pour plus de détails. * * Vous devriez avoir reçu une copie de la Licence Publique Générale GNU Affero avec SACoche ; * si ce n’est pas le cas, consultez : <http://www.gnu.org/licenses/>. * */ 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...'); } $password_ancien = isset($_POST['f_password0']) ? Clean::password($_POST['f_password0']) : ''; $password_nouveau = isset($_POST['f_password1']) ? Clean::password($_POST['f_password1']) : ''; // //////////////////////////////////////////////////////////////////////////////////////////////////// // Mettre à jour son mdp // //////////////////////////////////////////////////////////////////////////////////////////////////// if ($password_ancien != '' && $password_nouveau != '') { if ($_SESSION['USER_PROFIL_TYPE'] == 'webmestre') { exit(Webmestre::modifier_mdp_webmestre($password_ancien, $password_nouveau)); } elseif ($_SESSION['USER_PROFIL_TYPE'] == 'partenaire') { exit(DB_WEBMESTRE_PARTENAIRE::DB_modifier_mdp_partenaire($_SESSION['USER_ID'], crypter_mdp($password_ancien), crypter_mdp($password_nouveau))); } else { exit(DB_STRUCTURE_COMMUN::DB_modifier_mdp_utilisateur($_SESSION['USER_ID'], crypter_mdp($password_ancien), crypter_mdp($password_nouveau))); } } // //////////////////////////////////////////////////////////////////////////////////////////////////// // On ne devrait pas en arriver là ! // ////////////////////////////////////////////////////////////////////////////////////////////////////
$contenu = file_get_contents(CHEMIN_DOSSIER_IMPORT.$fichier_nom); $contenu = To::deleteBOM(To::utf8($contenu)); // Mettre en UTF-8 si besoin et retirer le BOM éventuel $tab_lignes = extraire_lignes($contenu); // Extraire les lignes du fichier $separateur = extraire_separateur_csv($tab_lignes[0]); // Déterminer la nature du séparateur unset($tab_lignes[0]); // Supprimer la 1e ligne foreach ($tab_lignes as $ligne_contenu) { $tab_elements = str_getcsv($ligne_contenu,$separateur); $tab_elements = array_slice($tab_elements,0,4); if(count($tab_elements)==4) { list($login,$mdp,$nom,$prenom) = $tab_elements; if( ($nom!='') && ($prenom!='') ) { $tab_users_fichier['login'][] = mb_substr(Clean::login($login),0,LOGIN_LONGUEUR_MAX); $tab_users_fichier['mdp'][] = ($mdp!='inchangé') ? mb_substr(Clean::password($mdp),0,PASSWORD_LONGUEUR_MAX) : ''; $tab_users_fichier['nom'][] = Clean::nom($nom); $tab_users_fichier['prenom'][] = Clean::prenom($prenom); } } } // On trie array_multisort( $tab_users_fichier['nom'] , SORT_ASC,SORT_STRING, $tab_users_fichier['prenom'], SORT_ASC,SORT_STRING, $tab_users_fichier['login'], $tab_users_fichier['mdp'] ); // On récupère le contenu de la base pour comparer, y compris les professeurs afin de comparer avec leurs logins, et y compris les classes pour les étiquettes pdf $tab_users_base = array(); $tab_users_base['login'] = array();