* 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...'); } $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)) {
* 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...');} $action = (isset($_POST['f_action'])) ? Clean::texte($_POST['f_action']) : ''; $id = (isset($_POST['f_id'])) ? Clean::entier($_POST['f_id']) : 0; $niveau = (isset($_POST['f_niveau'])) ? Clean::entier($_POST['f_niveau']) : 0; $ref = (isset($_POST['f_ref'])) ? Clean::ref($_POST['f_ref']) : ''; $nom = (isset($_POST['f_nom'])) ? Clean::texte($_POST['f_nom']) : ''; // //////////////////////////////////////////////////////////////////////////////////////////////////// // Ajouter une nouvelle classe // //////////////////////////////////////////////////////////////////////////////////////////////////// if( ($action=='ajouter') && $niveau && $ref && $nom ) { // Vérifier que la référence de la classe est disponible if( DB_STRUCTURE_ADMINISTRATEUR::DB_tester_classe_reference($ref) ) { exit('Erreur : référence de classe déjà existante !'); } // Insérer l'enregistrement $groupe_id = DB_STRUCTURE_ADMINISTRATEUR::DB_ajouter_groupe_par_admin('classe',$ref,$nom,$niveau); // Afficher le retour
$classe = $tab_elements[$tab_numero_colonne['classe']] != "Non saisi" ? $tab_elements[$tab_numero_colonne['classe']] : ''; if ($nom != '' && $prenom != '' && $classe != '') { $i_classe = 'i' . Clean::login($classe); // 'i' car la référence peut être numérique (ex : 61) et cela pose problème que l'indice du tableau soit un entier (ajouter (string) n'y change rien) lors du array_multisort(). $tab_users_fichier['sconet_id'][] = 0; $tab_users_fichier['sconet_num'][] = Clean::entier($sconet_num); $tab_users_fichier['reference'][] = ''; $tab_users_fichier['profil_sigle'][] = 'ELV'; $tab_users_fichier['genre'][] = $genre; $tab_users_fichier['nom'][] = Clean::nom($nom); $tab_users_fichier['prenom'][] = Clean::prenom($prenom); $tab_users_fichier['birth_date'][] = Clean::texte($birth_date); $tab_users_fichier['courriel'][] = ''; $tab_users_fichier['classe'][] = $i_classe; if (!isset($tab_classes_fichier['ref'][$i_classe])) { $tab_classes_fichier['ref'][$i_classe] = mb_substr(Clean::ref($classe), 0, 8); $tab_classes_fichier['nom'][$i_classe] = mb_substr(Clean::texte($classe), 0, 20); $tab_classes_fichier['niveau'][$i_classe] = ''; } } } } } // //////////////////////////////////////////////////////////////////////////////////////////////////// // Extraction factos_parents // //////////////////////////////////////////////////////////////////////////////////////////////////// if ($import_origine == 'factos' && $import_profil == 'parent') { $contenu = file_get_contents(CHEMIN_DOSSIER_IMPORT . $fichier_dest); $contenu = To::deleteBOM(To::utf8($contenu)); // Mettre en UTF-8 si besoin et retirer le BOM éventuel $tab_lignes = extraire_lignes($contenu);
$tab_classes[$classe_id] = array( 'ref' => $classe_ref, 'nom' => $classe_nom, 'mef' => $classe_mef, ); } } // Les groupes if(!empty($tab_annuaire['groupes_eleves'])) { foreach($tab_annuaire['groupes_eleves'] as $tab_infos) { $groupe_id = Clean::entier($tab_infos['id']); $groupe_ref = Clean::ref($tab_infos['libelle_aaf']); $groupe_nom = ($tab_infos['libelle']) ? Clean::ref($tab_infos['libelle']) : $groupe_ref ; $groupe_mef = ($tab_infos['code_mef_aaf']) ? Clean::texte($tab_infos['code_mef_aaf']) : $groupe_ref{0} ; $tab_groupes[$groupe_id] = array( 'ref' => $groupe_ref, 'nom' => $groupe_nom, 'mef' => $groupe_mef, ); } } // Les personnels $tab_id_ent_to_id_user = array(); if(!empty($tab_annuaire['personnel'])) { foreach($tab_annuaire['personnel'] as $tab_infos) {
// //////////////////////////////////////////////////////////////////////////////////////////////////// // Étape 32 - Traitement des actions à effectuer sur les classes (sconet_professeurs_directeurs | sconet_eleves | base_eleves_eleves | factos_eleves | tableur_professeurs_directeurs | tableur_eleves) // //////////////////////////////////////////////////////////////////////////////////////////////////// // On récupère le fichier avec des infos sur les correspondances : $tab_liens_id_base['classes'] -> $tab_i_classe_TO_id_base ; $tab_liens_id_base['groupes'] -> $tab_i_groupe_TO_id_base ; $tab_liens_id_base['users'] -> $tab_i_fichier_TO_id_base $tab_liens_id_base = load_fichier('liens_id_base'); $tab_i_classe_TO_id_base = $tab_liens_id_base['classes']; $tab_i_groupe_TO_id_base = $tab_liens_id_base['groupes']; $tab_i_fichier_TO_id_base = $tab_liens_id_base['users']; // Récupérer les éléments postés $tab_del = !empty($_POST['f_del']) ? Clean::map_entier(explode(',', $_POST['f_del'])) : array(); $tab_add = array(); $tab_tmp = !empty($_POST['f_add']) ? explode(',', $_POST['f_add']) : array(); if (count($tab_tmp)) { foreach ($tab_tmp as $add_infos) { list($i, $niv, $ref, $nom) = explode(']¤[', $add_infos); $tab_add[$i]['ref'] = Clean::ref($ref); $tab_add[$i]['nom'] = Clean::texte($nom); $tab_add[$i]['niv'] = Clean::entier($niv); } } // Ajouter des classes éventuelles $nb_add = 0; if (count($tab_add)) { foreach ($tab_add as $i => $tab) { if ($tab['ref'] && $tab['nom'] && $tab['niv']) { $classe_id = DB_STRUCTURE_ADMINISTRATEUR::DB_ajouter_groupe_par_admin('classe', $tab['ref'], $tab['nom'], $tab['niv']); $nb_add++; $tab_i_classe_TO_id_base[$i] = (int) $classe_id; } } }