$lignes_principal_ras = ''; $lignes_principal_add = ''; $lignes_principal_del = ''; $lignes_matieres_ras = ''; $lignes_matieres_add = ''; $lignes_matieres_del = ''; $lignes_groupes_ras = ''; $lignes_groupes_add = ''; $lignes_groupes_del = ''; // 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']; // On récupère le fichier avec les utilisateurs : $tab_users_fichier['champ'] : i -> valeur, avec comme champs : sconet_id / sconet_num / reference / profil_sigle / nom / prenom / classe / groupes / matieres / adresse / enfant $tab_users_fichier = load_fichier('users'); // // Pour sconet_professeurs_directeurs, il faut regarder les associations profs/classes & profs/PP + profs/matières + profs/groupes. // Pour tableur_professeurs_directeurs, il faut regarder les associations profs/classes & profs/groupes. // Pour sconet_eleves & tableur_eleves, il faut juste à regarder les associations élèves/groupes. // if ($import_profil == 'professeur') { // //////////////////////////////////////////////////////////////////////////////////////////////////// // associations profs/classes // //////////////////////////////////////////////////////////////////////////////////////////////////// // Garder trace des associations profs/classes pour faire le lien avec les propositions d'ajouts profs/pp $tab_asso_prof_classe = array(); // Garder trace des identités des profs de la base $tab_base_prof_identite = array(); // On récupère le contenu de la base pour comparer : $tab_base_affectation[user_id_groupe_id]=TRUE $tab_base_classe[groupe_id]=groupe_nom // En deux requêtes sinon on ne récupère pas les groupes sans utilisateurs affectés.
* 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(!isset($STEP)) {exit('Ce fichier ne peut être appelé directement !');} // //////////////////////////////////////////////////////////////////////////////////////////////////// // Étape 71 - Adresses des parents (sconet_parents | base_eleves_parents | tableur_parents | factos_parents) // //////////////////////////////////////////////////////////////////////////////////////////////////// // On récupère le fichier avec des infos sur les correspondances : $tab_liens_id_base['users'] -> $tab_i_fichier_TO_id_base $tab_liens_id_base = load_fichier('liens_id_base'); $tab_i_fichier_TO_id_base = $tab_liens_id_base['users']; // On récupère le fichier avec les utilisateurs : $tab_users_fichier['champ'] : i -> valeur, avec comme champs : sconet_id / sconet_num / reference / profil_sigle / nom / prenom / classe / groupes / matieres / adresse / enfant $fnom = CHEMIN_DOSSIER_IMPORT.'import_'.$import_origine.'_'.$import_profil.'_'.$_SESSION['BASE'].'_'.session_id().'_users.txt'; if(!is_file($fnom)) { exit('Erreur : le fichier contenant les utilisateurs est introuvable !'); } $contenu = file_get_contents($fnom); $tab_users_fichier = @unserialize($contenu); if($tab_users_fichier===FALSE) { exit('Erreur : le fichier contenant les utilisateurs est syntaxiquement incorrect !'); } // On récupère le contenu de la base pour comparer : $tab_base_adresse[user_id]=array() $tab_base_adresse = array();
* * 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 (!isset($STEP)) { exit('Ce fichier ne peut être appelé directement !'); } // //////////////////////////////////////////////////////////////////////////////////////////////////// // Étape 82 - Traitement des liens de responsabilités des parents (sconet_parents | base_eleves_parents | tableur_parents) // //////////////////////////////////////////////////////////////////////////////////////////////////// // On récupère le fichier avec des infos sur les utilisateurs : $tab_memo_analyse[$eleve_id][$parent_id] = $resp_legal_num; $tab_memo_analyse = load_fichier('memo_analyse'); // Récupérer les éléments postés $tab_eleve_id = array(); $tab_check = isset($_POST['f_check']) ? explode(',', $_POST['f_check']) : array(); foreach ($tab_check as $check_infos) { if (substr($check_infos, 0, 4) == 'mod_') { $eleve_id = Clean::entier(substr($check_infos, 4)); if (isset($tab_memo_analyse[$eleve_id])) { $tab_eleve_id[] = $eleve_id; } } } $nb_modifs_eleves = count($tab_eleve_id); if ($nb_modifs_eleves) { // supprimer les liens de responsabilité des élèves concernés (il est plus simple de réinitialiser que de traiter les resp un par un puis de vérifier s'il n'en reste pas à supprimer...) DB_STRUCTURE_ADMINISTRATEUR::DB_supprimer_jointures_parents_for_eleves(implode(',', $tab_eleve_id));
*/ if(!defined('SACoche')) {exit('Ce fichier ne peut être appelé directement !');} if(!isset($STEP)) {exit('Ce fichier ne peut être appelé directement !');} // //////////////////////////////////////////////////////////////////////////////////////////////////// // Étape 41 - Analyse des données des groupes (sconet_professeurs_directeurs | sconet_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']; // On récupère le fichier avec les groupes : $tab_groupes_fichier['ref'] : i -> ref ; $tab_groupes_fichier['nom'] : i -> nom ; $tab_groupes_fichier['niveau'] : i -> niveau $tab_groupes_fichier = load_fichier('groupes'); // On récupère le contenu de la base pour comparer : $tab_groupes_base['ref'] : id -> ref ; $tab_groupes_base['nom'] : id -> nom $tab_groupes_base = array(); $tab_groupes_base['ref'] = array(); $tab_groupes_base['nom'] = array(); $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_groupes(); foreach($DB_TAB as $DB_ROW) { $tab_groupes_base['ref'][$DB_ROW['groupe_id']] = $DB_ROW['groupe_ref']; $tab_groupes_base['nom'][$DB_ROW['groupe_id']] = $DB_ROW['groupe_nom']; } // Contenu du fichier à conserver $lignes_ras = ''; foreach($tab_groupes_fichier['ref'] as $i_groupe => $ref) { $id_base = array_search($ref,$tab_groupes_base['ref']);
if (!defined('SACoche')) { exit('Ce fichier ne peut être appelé directement !'); } if (!isset($STEP)) { exit('Ce fichier ne peut être appelé directement !'); } // //////////////////////////////////////////////////////////////////////////////////////////////////// // Étape 31 - Analyse des données des 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']; // On récupère le fichier avec les classes : $tab_classes_fichier['ref'] : i -> ref ; $tab_classes_fichier['nom'] : i -> nom ; $tab_classes_fichier['niveau'] : i -> niveau $tab_classes_fichier = load_fichier('classes'); // On récupère le contenu de la base pour comparer : $tab_classes_base['ref'] : id -> ref ; $tab_classes_base['nom'] : id -> nom $tab_classes_base = array(); $tab_classes_base['ref'] = array(); $tab_classes_base['nom'] = array(); $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_classes(); foreach ($DB_TAB as $DB_ROW) { $tab_classes_base['ref'][$DB_ROW['groupe_id']] = $DB_ROW['groupe_ref']; $tab_classes_base['nom'][$DB_ROW['groupe_id']] = $DB_ROW['groupe_nom']; } // Contenu du fichier à conserver $lignes_ras = ''; foreach ($tab_classes_fichier['ref'] as $i_classe => $ref) { $id_base = array_search($ref, $tab_classes_base['ref']); if ($id_base !== FALSE) { if ($mode == 'complet') {