#!/usr/bin/php \$servertype=$servertype
"); //my_echo("\$debug_import_comptes=$debug_import_comptes
"); // Récupération du type des groupes Equipe_* et Matiere_* $sql="SELECT value FROM params WHERE name='type_Equipe_Matiere'"; $res1=mysql_query($sql); if(mysql_num_rows($res1)==0) { $type_Equipe_Matiere="groupOfNames"; } else{ $lig_type=mysql_fetch_object($res1); $type_Equipe_Matiere=$lig_type->value; if(($type_Equipe_Matiere!="groupOfNames")&&($type_Equipe_Matiere!="posixGroup")) { $type_Equipe_Matiere="groupOfNames"; } } // Pour ne pas faire de betises en cours d'annee scolaire et se retrouver avec un nom de classe qui change en cours d'annee parce qu'on se serait mis a virer les accents dans les noms de classes: $sql="SELECT value FROM params WHERE name='clean_caract_classe';"; $res_clean=mysql_query($sql); if(mysql_num_rows($res_clean)==0) { // On ne passera a 'y' que lors d'un import annuel. $clean_caract_classe="n"; } else { $lig_clean=mysql_fetch_object($res_clean); $clean_caract_classe=$lig_clean->value; } $nouveaux_comptes=0; $comptes_avec_employeeNumber_mis_a_jour=0; $nb_echecs=0; $tab_nouveaux_comptes=array(); $tab_comptes_avec_employeeNumber_mis_a_jour=array(); // listing pour l'impression des comptes $listing = array(array()); // une ligne par compte ; le deuxième parametre est, dans l'ordre nom, prenom, classe (ou 'prof'), uid, password if(file_exists($pathscripts."/creation_branche_Trash.sh")) { exec("/bin/bash ".$pathscripts."/creation_branche_Trash.sh > /dev/null",$retour); } //my_echo("\$creer_equipes_vides=$creer_equipes_vides\n"); my_echo("\n"); //exit; if($temoin_creation_fichiers=="oui") { my_echo("Aller à la section
\n"); my_echo("\n"); my_echo("
\n"); my_echo("\n"); my_echo(" \n"); my_echo("- \n"); my_echo("création des comptes professeurs: \n"); my_echo(" \n"); my_echo(" \n"); if($simulation!="y") { my_echo("- \n"); my_echo("création des comptes élèves: \n"); my_echo(" \n"); my_echo(" \n"); my_echo("- \n"); my_echo("création des classes et des équipes: \n"); my_echo(" \n"); my_echo(" \n"); my_echo("- \n"); // =========================================================== // AJOUTS: 20070914 boireaus if($creer_matieres=='y') { my_echo("création des matières: \n"); } else{ my_echo(" création des matières: non demandée \n"); } // =========================================================== my_echo("\n"); my_echo(" \n"); } my_echo("- \n"); // =========================================================== // AJOUTS: 20070914 boireaus if($creer_cours=='y') { my_echo("création des cours: \n"); } else{ my_echo(" création des cours: non demandée \n"); } // =========================================================== my_echo("\n"); my_echo(" \n"); my_echo("- \n"); my_echo("compte rendu final de "); if($simulation=="y") {my_echo("simulation");} else {my_echo("création");} my_echo(": \n"); my_echo("
\n"); my_echo("\n"); } // Nom du groupe professeurs principaux $nom_groupe_pp="Groupe_".$prefix."Professeurs_Principaux"; // Vérification de l'existence de la branche Trash: test_creation_trash(); $tab_no_Trash_prof=array(); $tab_no_Trash_eleve=array(); // Suppression des anciens groupes si l'importation est annuelle: //if(isset($_POST['annuelle'])) { if($annuelle=="y") { //ldap_get_right("no_Trash_user",$login)=="Y" $tmp_tab_no_Trash_user=gof_members("no_Trash_user","rights",1); if(count($tmp_tab_no_Trash_user)>0) { $attribut=array("cn"); $cpt_trash_ele=0; $cpt_trash_prof=0; my_echo("Récupérer le fichier:
\n"); my_echo("\n"); my_echo("
\n"); //my_echo("\n"); my_echo(" \n"); my_echo("- \n"); //my_echo("F_ele.txt: \n"); my_echo(" F_ele.txt: \n"); my_echo(" \n"); my_echo(" \n"); my_echo("- \n"); //my_echo("F_div.txt: \n"); my_echo(" F_div.txt: \n"); my_echo(" \n"); my_echo(" \n"); my_echo("- \n"); //my_echo("F_men.txt: \n"); my_echo(" F_men.txt: \n"); my_echo(" \n"); my_echo(" \n"); my_echo("- \n"); //my_echo("F_wind.txt: \n"); my_echo(" F_wind.txt: \n"); my_echo(" Supprimer les fichiers générés:
\n"); my_echo("Supprimer les fichiers générés:
\n"); my_echo("
Quelques comptes doivent être préservés de la Corbeille (dispositif no_Trash_user) :
\n");
for($loop=0;$loop
\n"); // ========================================================== // On profite d'une mise a jour annuelle pour passer en mode sans accents sur les caractères dans les noms de classes (pour eviter des blagues dans la creation de dossiers de classes,...) $sql="DELETE FROM params WHERE name='clean_caract_classe';"; $res_clean=mysql_query($sql); $sql="INSERT INTO params SET name='clean_caract_classe', value='y';"; $res_clean=mysql_query($sql); $clean_caract_classe="y"; // ========================================================== if(file_exists($sts_xml_file)) { unset($attribut); $attribut=array("memberuid"); $tab=get_tab_attribut("groups","cn=Profs",$attribut); if(count($tab)>0) { my_echo("\n"); //exit(); } else { my_echo("On vide le groupe Profs.
\n"); } else{ my_echo("
\n"); my_echo("Suppression de l'appartenance au groupe de: \n"); for($i=0;$i".$tab[$i].""); } } my_echo(" Le groupe Profs est déjà vide.
\n"); } if($chrono=='y') {my_echo("Fin de l'opération: ".date_et_heure()."
\n");} } if(file_exists($eleves_file)) { unset($attribut); $attribut=array("memberuid"); $tab=get_tab_attribut("groups","cn=Eleves",$attribut); if(count($tab)>0) { my_echo("On vide le groupe Eleves.
\n"); } else{ my_echo("
\n"); my_echo("Suppression de l'appartenance au groupe de: \n"); for($i=0;$i".$tab[$i].""); } } my_echo(" Le groupe Eleves est déjà vide.
\n"); } if($chrono=='y') {my_echo("Fin de l'opération: ".date_et_heure()."
\n");} } my_echo("Suppression des groupes Classes, Equipes, Cours et Matieres.
\n"); // Recherche des classes,... unset($attribut); $attribut=array("cn"); $tab=get_tab_attribut("groups","(|(cn=Classe_*)(cn=Equipe_*)(cn=Cours_*)(cn=Matiere_*))",$attribut); if(count($tab)>0) { my_echo("\n"); for($i=0;$i
\n"); } // Groupe Professeurs_Principaux $attribut=array("cn"); $tabtmp=get_tab_attribut("groups", "cn=$nom_groupe_pp", $attribut); if(count($tabtmp)>0) { unset($attribut); $attribut=array("memberuid"); $tab_mem_pp=get_tab_attribut("groups","cn=$nom_groupe_pp",$attribut); if(count($tab_mem_pp)>0) { my_echo(""); my_echo(" "); my_echo("Suppression de $tab[$i]: "); my_echo(" "); my_echo(""); if(del_entry("cn=$tab[$i]", "groups")) { my_echo("SUCCES"); } else{ my_echo("ECHEC"); } //my_echo(" "); my_echo(""); } //my_echo("\n"); my_echo("
\n"); my_echo("On vide le groupe $nom_groupe_pp
\n"); } else { my_echo("
\n"); my_echo("Suppression de l'appartenance au groupe de: \n"); for($i=0;$i".$tab_mem_pp[$i].""); } } my_echo(" Le groupe $nom_groupe_pp est vide.
\n"); } } if($chrono=='y') {my_echo("Fin de l'opération: ".date_et_heure()."
\n");} my_echo("
\n"); my_echo("Simulation de la suppression des groupes Classes, Equipes, Cours et Matieres.
\n"); my_echo("Les groupes suivants seraient supprimés: "); // Recherche des classes,... unset($attribut); $attribut=array("cn"); $tab=get_tab_attribut("groups","(|(cn=Classe_*)(cn=Equipe_*)(cn=Cours_*)(cn=Matiere_*))",$attribut); if(count($tab)>0) { my_echo("$tab[0]"); for($i=1;$i
\n"); my_echo("\n"); my_echo(""); if($chrono=='y') {my_echo(" Fin de l'opération: ".date_et_heure()."
\n");} } if($servertype!="LCS") { // Vider les fonds d'écran pour que les élèves ne restent pas avec les noms de classes de l'année précédente my_echo("On vide les fonds d'écran pour que les élèves ne restent pas avec les noms de classes de l'année précédente.
\n"); exec("/usr/bin/sudo $pathscripts/genere_fond.sh variable_bidon supprimer"); if($chrono=='y') {my_echo("Fin de l'opération: ".date_et_heure()."
\n");} } } //exit; // 20130115 // Initialisation: $uaj=""; $uaj_tronque=""; $tab_eleve_autre_etab=array(); // Partie ELEVES: //$type_fichier_eleves=isset($_POST['type_fichier_eleves']) ? $_POST['type_fichier_eleves'] : "csv"; if($type_fichier_eleves=="csv") { //$eleves_csv_file = isset($_FILES["eleves_csv_file"]) ? $_FILES["eleves_csv_file"] : NULL; //$eleves_csv_file = isset($_FILES["eleves_file"]) ? $_FILES["eleves_file"] : NULL; //$fp=fopen($eleves_csv_file['tmp_name'],"r"); $fp=fopen($eleves_file,"r"); if($fp) { //my_echo("Section élèves
\n"); //my_echo("Section élèves
\n"); my_echo("Section élèves"); if($chrono=='y') {my_echo(" (".date_et_heure().")");} my_echo("
\n"); my_echo("\n"); //my_echo("Lecture du fichier...
\n"); my_echo("Lecture du fichier élèves...
\n"); my_echo("\n"); unset($ligne); $ligne=array(); while(!feof($fp)) { //$ligne[]=fgets($fp,4096); // Suppression des guillemets s'il jamais il y en a dans le CSV //$ligne[]=ereg_replace('"','',fgets($fp,4096)); $ligne[]=preg_replace('/"/','',fgets($fp,4096)); } fclose($fp); my_echo("\n"); // Contrôle du contenu du fichier: if(stristr($ligne[0],"ERREUR: Le fichier élèves fourni a l'air d'être de type XML et non CSV.Terminé.
\n"); if($chrono=='y') {my_echo("Fin de l'opération: ".date_et_heure()."
\n");} my_echo(""); my_echo("ERREUR: Le fichier élèves fourni a l'air d'être de type XML et non CSV.