$tab_lignes_profs = array(); // Récupérer la liste des groupes $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_groupes_avec_niveaux(); if (empty($DB_TAB)) { echo '<p class="danger">Aucun groupe trouvé !</p>' . NL; return; // Ne pas exécuter la suite de ce fichier inclus. } foreach ($DB_TAB as $DB_ROW) { $tab_js .= 'tab_join[' . $DB_ROW['groupe_id'] . '] = new Array();'; $tab_groupes[$DB_ROW['groupe_id']] = html($DB_ROW['groupe_nom']); $tab_profs_par_groupe[$DB_ROW['groupe_id']] = ''; $tab_lignes_groupes[$DB_ROW['niveau_id']][] = $DB_ROW['groupe_id']; } // Récupérer la liste des professeurs $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users('professeur', 1, 'user_id,user_nom,user_prenom,user_profil_join_groupes', FALSE); if (!empty($DB_TAB)) { $compteur = 0; foreach ($DB_TAB as $DB_ROW) { if ($DB_ROW['user_profil_join_groupes'] == 'config') { $tab_profs[$DB_ROW['user_id']] = html($DB_ROW['user_nom'] . ' ' . $DB_ROW['user_prenom']); $tab_groupes_par_prof[$DB_ROW['user_id']] = ''; $tab_lignes_profs[floor($compteur / 8)][] = $DB_ROW['user_id']; $compteur++; } } } if (!count($tab_profs)) { echo '<p class="danger">Aucun compte professeur trouvé !</p>' . NL; return; // Ne pas exécuter la suite de ce fichier inclus.
echo'<p class="danger">Aucune matière trouvée !</p>'.NL; return; // Ne pas exécuter la suite de ce fichier inclus. } $compteur = 0 ; foreach($DB_TAB as $DB_ROW) { $tab_js .= 'tab_join['.$DB_ROW['matiere_id'].'] = new Array();'; $tab_matieres[$DB_ROW['matiere_id']] = html($DB_ROW['matiere_nom']); $tab_profs_par_matiere[$DB_ROW['matiere_id']] = ''; $tab_lignes_matieres[floor($compteur/8)][] = $DB_ROW['matiere_id']; $compteur++; } // Récupérer la liste des personnels $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users( 'professeur' , 1 /*only_actuels*/ , 'user_id,user_nom,user_prenom' /*liste_champs*/ , FALSE /*with_classe*/ ); if(empty($DB_TAB)) { echo'<p class="danger">Aucun compte personnel trouvé !</p>'.NL; return; // Ne pas exécuter la suite de ce fichier inclus. } $compteur = 0 ; foreach($DB_TAB as $DB_ROW) { $tab_principal[0][$DB_ROW['user_id']] = '<th id="th_'.$DB_ROW['user_id'].'"><img alt="'.html($DB_ROW['user_nom'].' '.$DB_ROW['user_prenom']).'" src="./_img/php/etiquette.php?dossier='.$_SESSION['BASE'].'&nom='.urlencode($DB_ROW['user_nom']).'&prenom='.urlencode($DB_ROW['user_prenom']).'" /></th>'; $tab_profs[$DB_ROW['user_id']] = html($DB_ROW['user_nom'].' '.$DB_ROW['user_prenom']); $tab_matieres_par_prof[$DB_ROW['user_id']] = ''; $tab_lignes_profs[floor($compteur/8)][] = $DB_ROW['user_id']; $compteur++; }
// Charge la fonction "recuperer_infos_Laclasse()" // Appelle l'annuaire ENT Laclasse.com et retourne un tableau [ ['profil'][i] , ['id_ent'][i] , ['nom'][i] , ['prenom'][i] , ['id_sconet'][i] ] $tab_users_ENT = recuperer_infos_Laclasse('0693331W'); // $tab_users_ENT = recuperer_infos_Laclasse($_SESSION['WEBMESTRE_UAI']); // **************************************************************************** // On récupère le contenu de la base pour comparer $tab_users_base = array(); $tab_users_base['id'] = array(); $tab_users_base['ordre'] = array(); $tab_users_base['profil'] = array(); $tab_users_base['id_ent'] = array(); $tab_users_base['nom'] = array(); $tab_users_base['prenom'] = array(); $tab_users_base['id_sconet'] = array(); // Ne servira que pour les élèves $tab_profils_types = array('eleve', 'parent', 'professeur', 'directeur', 'inspecteur'); $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users($tab_profils_types, 1, 'user_id,user_id_ent,user_sconet_id,user_nom,user_prenom,user_profil_sigle', FALSE); $tab_ordre = array('DIR' => 1, 'ENS' => 1, 'DOC' => 1, 'EDU' => 1, 'ELV' => 2, 'TUT' => 3, 'AVS' => 4, 'IEX' => 4, 'AED' => 4, 'SUR' => 4, 'ORI' => 4, 'MDS' => 4, 'ADF' => 4); foreach ($DB_TAB as $DB_ROW) { $tab_users_base['id'][] = (int) $DB_ROW['user_id']; $tab_users_base['ordre'][] = $tab_ordre[$DB_ROW['user_profil_sigle']]; $tab_users_base['profil'][] = $DB_ROW['user_profil_sigle']; $tab_users_base['id_ent'][] = $DB_ROW['user_id_ent']; $tab_users_base['nom'][] = $DB_ROW['user_nom']; $tab_users_base['prenom'][] = $DB_ROW['user_prenom']; $tab_users_base['id_sconet'][] = (int) $DB_ROW['user_sconet_id']; } // On trie array_multisort($tab_users_base['ordre'], SORT_ASC, SORT_NUMERIC, $tab_users_base['profil'], SORT_ASC, SORT_STRING, $tab_users_base['nom'], SORT_ASC, SORT_STRING, $tab_users_base['prenom'], SORT_ASC, SORT_STRING, $tab_users_base['id'], $tab_users_base['id_ent'], $tab_users_base['id_sconet']); // On retire l'ordre dont on n'a plus besoin unset($tab_users_base['ordre']); // Lister les profils ; ne peut être récupéré via la requête précédente à cause de profils présents dans l'ENT dont il n'y aurait aucun utilisateur dans la base SACoche
} } } // Affichage du bilan des affectations des élèves dans les classes ; en deux requêtes pour récupérer les élèves sans classes et les classes sans élèves $tab_niveau_groupe = array(); $tab_user = array(); $tab_niveau_groupe[0][0] = 'sans classe'; $tab_user[0] = ''; // Récupérer la liste des classes $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_classes_avec_niveaux(); foreach ($DB_TAB as $DB_ROW) { $tab_niveau_groupe[$DB_ROW['niveau_id']][$DB_ROW['groupe_id']] = html($DB_ROW['groupe_nom']); $tab_user[$DB_ROW['groupe_id']] = ''; } // Récupérer la liste des élèves / classes $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users('eleve', 1, 'eleve_classe_id,user_nom,user_prenom', FALSE); foreach ($DB_TAB as $DB_ROW) { $tab_user[$DB_ROW['eleve_classe_id']] .= html($DB_ROW['user_nom'] . ' ' . $DB_ROW['user_prenom']) . '<br />'; } // Assemblage du tableau résultant $TH = array(); $TB = array(); $TF = array(); foreach ($tab_niveau_groupe as $niveau_id => $tab_groupe) { $TH[$niveau_id] = ''; $TB[$niveau_id] = ''; $TF[$niveau_id] = ''; foreach ($tab_groupe as $groupe_id => $groupe_nom) { $nb = mb_substr_count($tab_user[$groupe_id], '<br />', 'UTF-8'); $s = $nb > 1 ? 's' : ''; $TH[$niveau_id] .= '<th>' . $groupe_nom . '</th>';
$tab_users_base = array(); $tab_users_base['sconet_id'] = array(); $tab_users_base['sconet_num'] = array(); $tab_users_base['reference'] = array(); $tab_users_base['profil_sigle'] = array(); $tab_users_base['genre'] = array(); $tab_users_base['nom'] = array(); $tab_users_base['prenom'] = array(); $tab_users_base['birth_date'] = array(); $tab_users_base['courriel'] = array(); $tab_users_base['sortie'] = array(); $tab_users_base['classe'] = array(); $tab_users_base['adresse'] = array(); $profil_type = $import_profil != 'professeur' ? $import_profil : array('professeur', 'directeur'); $with_classe = $import_profil == 'eleve' ? TRUE : FALSE; $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users($profil_type, 2, 'user_id,user_sconet_id,user_sconet_elenoet,user_reference,user_profil_sigle,user_genre,user_nom,user_prenom,user_naissance_date,user_email,user_email_origine,user_sortie_date', $with_classe, FALSE); foreach ($DB_TAB as $DB_ROW) { $tab_users_base['sconet_id'][$DB_ROW['user_id']] = $DB_ROW['user_sconet_id']; $tab_users_base['sconet_num'][$DB_ROW['user_id']] = $DB_ROW['user_sconet_elenoet']; $tab_users_base['reference'][$DB_ROW['user_id']] = $DB_ROW['user_reference']; $tab_users_base['profil_sigle'][$DB_ROW['user_id']] = $DB_ROW['user_profil_sigle']; $tab_users_base['genre'][$DB_ROW['user_id']] = $DB_ROW['user_genre']; $tab_users_base['nom'][$DB_ROW['user_id']] = $DB_ROW['user_nom']; $tab_users_base['prenom'][$DB_ROW['user_id']] = $DB_ROW['user_prenom']; $tab_users_base['birth_date'][$DB_ROW['user_id']] = convert_date_mysql_to_french($DB_ROW['user_naissance_date']); $tab_users_base['courriel'][$DB_ROW['user_id']] = $DB_ROW['user_email']; $tab_users_base['email_origine'][$DB_ROW['user_id']] = $DB_ROW['user_email_origine']; $tab_users_base['sortie'][$DB_ROW['user_id']] = $DB_ROW['user_sortie_date']; $tab_users_base['classe'][$DB_ROW['user_id']] = $import_profil == 'eleve' ? $DB_ROW['groupe_ref'] : ''; } // Pour préparer l'affichage
<tr> <th>Id. ENT</th> <th>Id. GEPI</th> <th>Civ.</th> <th>Nom</th> <th>Prénom</th> <th>Login</th> <th>Mot de passe</th> <th>Courriel</th> <th class="nu"><q class="ajouter" title="Ajouter un administrateur."></q></th> </tr> </thead> <tbody> <?php // Lister les administrateurs $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users( 'administrateur' , 1 /*only_actuels*/ , 'user_id,user_id_ent,user_id_gepi,user_genre,user_nom,user_prenom,user_login,user_email' /*liste_champs*/ , FALSE /*with_classe*/ ); if(!empty($DB_TAB)) { foreach($DB_TAB as $DB_ROW) { // Afficher une ligne du tableau echo'<tr id="id_'.$DB_ROW['user_id'].'">'; echo '<td>'.html($DB_ROW['user_id_ent']).'</td>'; echo '<td>'.html($DB_ROW['user_id_gepi']).'</td>'; echo '<td>'.Html::$tab_genre['adulte'][$DB_ROW['user_genre']].'</td>'; echo '<td>'.html($DB_ROW['user_nom']).'</td>'; echo '<td>'.html($DB_ROW['user_prenom']).'</td>'; echo '<td>'.html($DB_ROW['user_login']).'</td>'; echo '<td class="i">champ crypté</td>'; echo '<td>'.html($DB_ROW['user_email']).'</td>'; echo '<td class="nu">';
// $tab_niveau_groupe = array(); $tab_user = array(); $tab_niveau_groupe[0][0] = 'sans classe'; $tab_user[0] = ''; // Récupérer la liste des classes $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_classes_avec_niveaux($niveau_ordre='DESC'); foreach($DB_TAB as $DB_ROW) { $tab_niveau_groupe[$DB_ROW['niveau_id']][$DB_ROW['groupe_id']] = html($DB_ROW['groupe_nom']); $tab_user[$DB_ROW['groupe_id']] = ''; } // Récupérer la liste des élèves / classes $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users( 'eleve' , 1 /*only_actuels*/ , 'eleve_classe_id,eleve_brevet_serie,user_nom,user_prenom' /*liste_champs*/ , FALSE /*with_classe*/ ); foreach($DB_TAB as $DB_ROW) { $tab_user[$DB_ROW['eleve_classe_id']] .= '<img src="./_img/brevet/'.$DB_ROW['eleve_brevet_serie'].'.png" alt="" title="'.$tab_brevet_series[$DB_ROW['eleve_brevet_serie']].'" /> '.html($DB_ROW['user_nom'].' '.$DB_ROW['user_prenom']).'<br />'; } // Assemblage du tableau résultant $TH = array(); $TB = array(); $TF = array(); foreach($tab_niveau_groupe as $niveau_id => $tab_groupe) { $TH[$niveau_id] = ''; $TB[$niveau_id] = ''; $TF[$niveau_id] = ''; foreach($tab_groupe as $groupe_id => $groupe_nom) {
{ exit('Erreur : le fichier '.CHEMIN_DOSSIER_IMPORT.$fichier_memo.' contenant les données à traiter est introuvable !'); } $contenu = file_get_contents(CHEMIN_DOSSIER_IMPORT.$fichier_memo); $tab_users_fichier = @unserialize($contenu); if($tab_users_fichier===FALSE) { exit('Erreur : le fichier contenant les données à traiter est syntaxiquement incorrect !'); } // Récupération des données de la base $tab_users_base = array(); $tab_users_base['sconet_id' ] = array(); $tab_users_base['sconet_elenoet'] = array(); $tab_users_base['nom' ] = array(); $tab_users_base['prenom' ] = array(); $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users( 'eleve' , 2 /*actuels_et_anciens*/ , 'user_id,user_sconet_id,user_sconet_elenoet,user_nom,user_prenom' /*liste_champs*/ , FALSE /*with_classe*/ , FALSE /*tri_statut*/ ); foreach($DB_TAB as $DB_ROW) { $tab_users_base['sconet_id' ][$DB_ROW['user_id']] = $DB_ROW['user_sconet_id']; $tab_users_base['sconet_elenoet'][$DB_ROW['user_id']] = $DB_ROW['user_sconet_elenoet']; $tab_users_base['nom' ][$DB_ROW['user_id']] = $DB_ROW['user_nom']; $tab_users_base['prenom' ][$DB_ROW['user_id']] = $DB_ROW['user_prenom']; } // Analyse et maj du contenu de la base $lignes_ok = ''; $lignes_ko = ''; foreach ($tab_users_fichier as $tab_donnees_eleve) { list($eleve_sconet_id,$eleve_sconet_elenoet,$eleve_nom,$eleve_prenom,$nb_absence,$nb_absence_nj,$nb_retard,$nb_retard_nj) = $tab_donnees_eleve; $user_id = FALSE; // Recherche sur sconet_id
<th>Référence</th> <th>Profil</th> <th>Civ.</th> <th>Nom</th> <th>Prénom</th> <th>Login</th> <th>Mot de passe</th> <th>Courriel</th> <th>Date sortie</th> <th class="nu"><q class="ajouter" title="Ajouter un personnel."></q></th> </tr> </thead> <tbody> <?php // Lister les personnels (professeurs, directeurs, etc.) $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users(array('professeur', 'directeur'), $statut, 'user_id,user_id_ent,user_id_gepi,user_sconet_id,user_reference,user_profil_sigle,user_profil_nom_long_singulier,user_genre,user_nom,user_prenom,user_login,user_email,user_sortie_date', FALSE); if (!empty($DB_TAB)) { foreach ($DB_TAB as $DB_ROW) { // Formater la date $date_mysql = $DB_ROW['user_sortie_date']; $date_affich = $date_mysql != SORTIE_DEFAUT_MYSQL ? convert_date_mysql_to_french($date_mysql) : '-'; // Afficher une ligne du tableau echo '<tr id="id_' . $DB_ROW['user_id'] . '">'; echo '<td class="nu"><input type="checkbox" name="f_ids" value="' . $DB_ROW['user_id'] . '" /></td>'; echo '<td class="label">' . html($DB_ROW['user_id_ent']) . '</td>'; echo '<td class="label">' . html($DB_ROW['user_id_gepi']) . '</td>'; echo '<td class="label">' . html($DB_ROW['user_sconet_id']) . '</td>'; echo '<td class="label">' . html($DB_ROW['user_reference']) . '</td>'; echo '<td class="label">' . html($DB_ROW['user_profil_sigle']) . ' <img alt="" src="./_img/bulle_aide.png" width="16" height="16" title="' . html(html($DB_ROW['user_profil_nom_long_singulier'])) . '" /></td>'; // Volontairement 2 html() pour le title sinon <* est pris comme une balise html par l'infobulle. echo '<td class="label">' . Html::$tab_genre['adulte'][$DB_ROW['user_genre']] . '</td>';
} require(CHEMIN_FICHIER_WS_LACLASSE); // Charge la fonction "recuperer_infos_Laclasse()" // Appelle l'annuaire ENT Laclasse.com et retourne un tableau [ ['profil'][i] , ['id_ent'][i] , ['nom'][i] , ['prenom'][i] , ['id_sconet'][i] ] $tab_users_ENT = recuperer_infos_Laclasse('0693331W'); // $tab_users_ENT = recuperer_infos_Laclasse($_SESSION['WEBMESTRE_UAI']); // **************************************************************************** // On récupère le contenu de la base pour comparer $tab_users_base = array(); $tab_users_base['id'] = array(); $tab_users_base['ordre'] = array(); $tab_users_base['profil'] = array(); $tab_users_base['id_ent'] = array(); $tab_users_base['nom'] = array(); $tab_users_base['prenom'] = array(); $tab_users_base['id_sconet'] = array(); // Ne servira que pour les élèves $tab_profils_types = array('eleve','parent','professeur','directeur','inspecteur'); $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users( $tab_profils_types , 1 /*only_actuels*/ , 'user_id,user_id_ent,user_sconet_id,user_nom,user_prenom,user_profil_sigle' /*liste_champs*/ , FALSE /*with_classe*/ ); $tab_ordre = array( 'DIR'=>1, 'ENS'=>1, 'DOC'=>1, 'EDU'=>1, 'ELV'=>2, 'TUT'=>3, 'AVS'=>4, 'IEX'=>4, 'AED'=>4, 'SUR'=>4, 'ORI'=>4, 'MDS'=>4, 'ADF'=>4 ); foreach($DB_TAB as $DB_ROW) { $tab_users_base['id' ][] = (int)$DB_ROW['user_id']; $tab_users_base['ordre' ][] = $tab_ordre[$DB_ROW['user_profil_sigle']]; $tab_users_base['profil' ][] = $DB_ROW['user_profil_sigle']; $tab_users_base['id_ent' ][] = $DB_ROW['user_id_ent']; $tab_users_base['nom' ][] = $DB_ROW['user_nom']; $tab_users_base['prenom' ][] = $DB_ROW['user_prenom']; $tab_users_base['id_sconet'][] = (int)$DB_ROW['user_sconet_id']; } // On trie array_multisort( $tab_users_base['ordre'] , SORT_ASC,SORT_NUMERIC, $tab_users_base['profil'], SORT_ASC,SORT_STRING,
<th>Id. ENT</th> <th>Id. GEPI</th> <th>Id Sconet</th> <th>Référence</th> <th>Nom</th> <th>Prénom</th> <th>Login</th> <th>Mot de passe</th> <th>Date sortie</th> <th class="nu"><q class="ajouter" title="Ajouter un directeur."></q></th> </tr> </thead> <tbody> <?php // Lister les directeurs $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users( 'directeur' , $statut , 'user_id,user_id_ent,user_id_gepi,user_sconet_id,user_reference,user_nom,user_prenom,user_login,user_sortie_date' /*liste_champs*/ , FALSE /*with_classe*/ ); if(!empty($DB_TAB)) { foreach($DB_TAB as $DB_ROW) { // Formater la date (dont on ne garde que le jour) $date_mysql = $DB_ROW['user_sortie_date']; $date_affich = ($date_mysql!=SORTIE_DEFAUT_MYSQL) ? convert_date_mysql_to_french($date_mysql) : '-' ; // Afficher une ligne du tableau echo'<tr id="id_'.$DB_ROW['user_id'].'">'; echo '<td class="nu"><input type="checkbox" name="f_ids" value="'.$DB_ROW['user_id'].'" /></td>'; echo '<td class="label">'.html($DB_ROW['user_id_ent']).'</td>'; echo '<td class="label">'.html($DB_ROW['user_id_gepi']).'</td>'; echo '<td class="label">'.html($DB_ROW['user_sconet_id']).'</td>'; echo '<td class="label">'.html($DB_ROW['user_reference']).'</td>'; echo '<td class="label">'.html($DB_ROW['user_nom']).'</td>';
case "Ville Resp2" : $tab_numero_colonne['commune_2'] = $numero; $numero_max = max($numero_max,$numero); break; case "Pays Resp2" : $tab_numero_colonne['pays_2'] = $numero; $numero_max = max($numero_max,$numero); break; // enfant case "Identifiant GEP" : $tab_numero_colonne['enfant_sconet'] = $numero; $numero_max = max($numero_max,$numero); break; case "Nom de l'élève" : $tab_numero_colonne['enfant_nom' ] = $numero; $numero_max = max($numero_max,$numero); break; case "Prénom élève" : $tab_numero_colonne['enfant_prenom'] = $numero; $numero_max = max($numero_max,$numero); break; } } if(array_sum($tab_numero_colonne)<0) { exit('Erreur : un ou plusieurs champs n\'ont pas pu être repérés ("'.implode(' ";" ',array_keys(array_filter($tab_numero_colonne,'filter_init_negatif'))).'") !'); } unset($tab_lignes[0]); // Supprimer la 1e ligne // On récupère les élèves pour vérifier que ceux trouvé dans le fichier des parents sont bien dasn la base. $tab_eleves_actuels = array(); $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users( 'eleve' /*profil_type*/ , 1 /*only_actuels*/ , 'user_id,user_sconet_elenoet' /*liste_champs*/ , FALSE /*with_classe*/ , FALSE /*tri_statut*/ ); foreach($DB_TAB as $DB_ROW) { $tab_eleves_actuels[ $DB_ROW['user_sconet_elenoet']] = $DB_ROW['user_id']; } // // On passe les utilisateurs en revue : on mémorise leurs infos, les adresses trouvées, les enfants trouvés // $tab_genre = array( ''=>'I' , 'Non saisi'=>'I' , 'M.'=>'M' , 'M'=>'M' , 'MME'=>'F' , 'Mme'=>'F' , 'MLLE'=>'F' , 'Mlle'=>'F' ); $tab_adresses_uniques = array(); $nb_lien_responsabilite = 0; foreach ($tab_lignes as $ligne_contenu) { $tab_elements = str_getcsv($ligne_contenu,$separateur); if(count($tab_elements)>$numero_max) {
$tab_users_base = array(); $tab_users_base['sconet_id' ] = array(); $tab_users_base['sconet_num' ] = array(); $tab_users_base['reference' ] = array(); $tab_users_base['profil_sigle'] = array(); $tab_users_base['genre' ] = array(); $tab_users_base['nom' ] = array(); $tab_users_base['prenom' ] = array(); $tab_users_base['birth_date' ] = array(); $tab_users_base['courriel' ] = array(); $tab_users_base['sortie' ] = array(); $tab_users_base['classe' ] = array(); $tab_users_base['adresse' ] = array(); $profil_type = ($import_profil!='professeur') ? $import_profil : array('professeur','directeur') ; $with_classe = ($import_profil=='eleve') ? TRUE : FALSE ; $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users( $profil_type , 2 /*actuels_et_anciens*/ , 'user_id,user_sconet_id,user_sconet_elenoet,user_reference,user_profil_sigle,user_genre,user_nom,user_prenom,user_naissance_date,user_email,user_email_origine,user_sortie_date' /*liste_champs*/ , $with_classe , FALSE /*tri_statut*/ ); foreach($DB_TAB as $DB_ROW) { $tab_users_base['sconet_id' ][$DB_ROW['user_id']] = $DB_ROW['user_sconet_id']; $tab_users_base['sconet_num' ][$DB_ROW['user_id']] = $DB_ROW['user_sconet_elenoet']; $tab_users_base['reference' ][$DB_ROW['user_id']] = $DB_ROW['user_reference']; $tab_users_base['profil_sigle' ][$DB_ROW['user_id']] = $DB_ROW['user_profil_sigle']; $tab_users_base['genre' ][$DB_ROW['user_id']] = $DB_ROW['user_genre']; $tab_users_base['nom' ][$DB_ROW['user_id']] = $DB_ROW['user_nom']; $tab_users_base['prenom' ][$DB_ROW['user_id']] = $DB_ROW['user_prenom']; $tab_users_base['birth_date' ][$DB_ROW['user_id']] = convert_date_mysql_to_french($DB_ROW['user_naissance_date']); $tab_users_base['courriel' ][$DB_ROW['user_id']] = $DB_ROW['user_email'] ; $tab_users_base['email_origine'][$DB_ROW['user_id']] = $DB_ROW['user_email_origine'] ; $tab_users_base['sortie' ][$DB_ROW['user_id']] = $DB_ROW['user_sortie_date'] ; $tab_users_base['classe' ][$DB_ROW['user_id']] = ($import_profil=='eleve') ? $DB_ROW['groupe_ref'] : '' ; }
<tr> <th>Id. ENT</th> <th>Id. GEPI</th> <th>Civ.</th> <th>Nom</th> <th>Prénom</th> <th>Login</th> <th>Mot de passe</th> <th>Courriel</th> <th class="nu"><q class="ajouter" title="Ajouter un administrateur."></q></th> </tr> </thead> <tbody> <?php // Lister les administrateurs $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users('administrateur', 1, 'user_id,user_id_ent,user_id_gepi,user_genre,user_nom,user_prenom,user_login,user_email', FALSE); if (!empty($DB_TAB)) { foreach ($DB_TAB as $DB_ROW) { // Afficher une ligne du tableau echo '<tr id="id_' . $DB_ROW['user_id'] . '">'; echo '<td>' . html($DB_ROW['user_id_ent']) . '</td>'; echo '<td>' . html($DB_ROW['user_id_gepi']) . '</td>'; echo '<td>' . Html::$tab_genre['adulte'][$DB_ROW['user_genre']] . '</td>'; echo '<td>' . html($DB_ROW['user_nom']) . '</td>'; echo '<td>' . html($DB_ROW['user_prenom']) . '</td>'; echo '<td>' . html($DB_ROW['user_login']) . '</td>'; echo '<td class="i">champ crypté</td>'; echo '<td>' . html($DB_ROW['user_email']) . '</td>'; echo '<td class="nu">'; echo '<q class="modifier" title="Modifier cet administrateur."></q>'; echo $DB_ROW['user_id'] != $_SESSION['USER_ID'] ? '<q class="supprimer" title="Retirer cet administrateur."></q>' : '<q class="supprimer_non" title="Un administrateur ne peut pas supprimer son propre compte."></q>';
if (count($DB_VAR)) { DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_user($id_base, $DB_VAR); } $nb_mod++; } } // On enregistre (tableau mis à jour) $tab_liens_id_base = array('classes' => $tab_i_classe_TO_id_base, 'groupes' => $tab_i_groupe_TO_id_base, 'users' => $tab_i_fichier_TO_id_base); FileSystem::ecrire_fichier(CHEMIN_DOSSIER_IMPORT . 'import_' . $import_origine . '_' . $import_profil . '_' . $_SESSION['BASE'] . '_' . session_id() . '_liens_id_base.txt', serialize($tab_liens_id_base)); // Afficher le bilan $lignes = ''; $nb_fin_actuel = 0; $nb_fin_ancien = 0; $profil_type = $import_profil != 'professeur' ? $import_profil : array('professeur', 'directeur'); $with_classe = $import_profil == 'eleve' ? TRUE : FALSE; $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users($profil_type, 2, 'user_id,user_sconet_id,user_sconet_elenoet,user_reference,user_profil_nom_court_singulier,user_nom,user_prenom,user_prenom,user_login,user_sortie_date', $with_classe, TRUE); foreach ($DB_TAB as $DB_ROW) { if (TODAY_MYSQL < $DB_ROW['user_sortie_date']) { $nb_fin_actuel++; } else { $nb_fin_ancien++; } if ($mode == 'complet') { $class = isset($tab_password[$DB_ROW['user_id']]) ? ' class="new"' : ''; $td_password = isset($tab_password[$DB_ROW['user_id']]) ? '<td class="new">' . html($tab_password[$DB_ROW['user_id']]) . '</td>' : '<td class="i">champ crypté</td>'; $champ = $import_profil == 'eleve' ? $DB_ROW['groupe_ref'] : $DB_ROW['user_profil_nom_court_singulier']; $date_affich = $DB_ROW['user_sortie_date'] != SORTIE_DEFAUT_MYSQL ? convert_date_mysql_to_french($DB_ROW['user_sortie_date']) : '-'; $lignes .= '<tr' . $class . '><td>' . html($DB_ROW['user_sconet_id']) . '</td><td>' . html($DB_ROW['user_sconet_elenoet']) . '</td><td>' . html($DB_ROW['user_reference']) . '</td><td>' . html($champ) . '</td><td>' . html($DB_ROW['user_nom']) . '</td><td>' . html($DB_ROW['user_prenom']) . '</td><td' . $class . '>' . html($DB_ROW['user_login']) . '</td>' . $td_password . '<td>' . $date_affich . '</td></tr>' . NL; } } $s_debut_actuel = $nb_debut_actuel > 1 ? 's' : '';
// Récupération des données déjà extraites du fichier if (!is_file(CHEMIN_DOSSIER_IMPORT . $fichier_memo)) { exit('Erreur : le fichier ' . CHEMIN_DOSSIER_IMPORT . $fichier_memo . ' contenant les données à traiter est introuvable !'); } $contenu = file_get_contents(CHEMIN_DOSSIER_IMPORT . $fichier_memo); $tab_users_fichier = @unserialize($contenu); if ($tab_users_fichier === FALSE) { exit('Erreur : le fichier contenant les données à traiter est syntaxiquement incorrect !'); } // Récupération des données de la base $tab_users_base = array(); $tab_users_base['sconet_id'] = array(); $tab_users_base['sconet_elenoet'] = array(); $tab_users_base['nom'] = array(); $tab_users_base['prenom'] = array(); $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users('eleve', 2, 'user_id,user_sconet_id,user_sconet_elenoet,user_nom,user_prenom', FALSE, FALSE); foreach ($DB_TAB as $DB_ROW) { $tab_users_base['sconet_id'][$DB_ROW['user_id']] = $DB_ROW['user_sconet_id']; $tab_users_base['sconet_elenoet'][$DB_ROW['user_id']] = $DB_ROW['user_sconet_elenoet']; $tab_users_base['nom'][$DB_ROW['user_id']] = $DB_ROW['user_nom']; $tab_users_base['prenom'][$DB_ROW['user_id']] = $DB_ROW['user_prenom']; } // Analyse et maj du contenu de la base $lignes_ok = ''; $lignes_ko = ''; foreach ($tab_users_fichier as $tab_donnees_eleve) { list($eleve_sconet_id, $eleve_sconet_elenoet, $eleve_nom, $eleve_prenom, $nb_absence, $nb_absence_nj, $nb_retard, $nb_retard_nj) = $tab_donnees_eleve; $user_id = FALSE; // Recherche sur sconet_id if (!$user_id && $eleve_sconet_id) { $user_id = array_search($eleve_sconet_id, $tab_users_base['sconet_id']);
{ DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_user( $id_base , $DB_VAR ); } $nb_mod++; } } // On enregistre (tableau mis à jour) $tab_liens_id_base = array('classes'=>$tab_i_classe_TO_id_base,'groupes'=>$tab_i_groupe_TO_id_base,'users'=>$tab_i_fichier_TO_id_base); FileSystem::ecrire_fichier(CHEMIN_DOSSIER_IMPORT.'import_'.$import_origine.'_'.$import_profil.'_'.$_SESSION['BASE'].'_'.session_id().'_liens_id_base.txt',serialize($tab_liens_id_base)); // Afficher le bilan $lignes = ''; $nb_fin_actuel = 0; $nb_fin_ancien = 0; $profil_type = ($import_profil!='professeur') ? $import_profil : array('professeur','directeur') ; $with_classe = ($import_profil=='eleve') ? TRUE : FALSE ; $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users( $profil_type , 2 /*actuels_et_anciens*/ , 'user_id,user_sconet_id,user_sconet_elenoet,user_reference,user_profil_nom_court_singulier,user_nom,user_prenom,user_prenom,user_login,user_sortie_date' /*liste_champs*/ , $with_classe , TRUE /*tri_statut*/ ); foreach($DB_TAB as $DB_ROW) { if(TODAY_MYSQL<$DB_ROW['user_sortie_date']) {$nb_fin_actuel++;} else {$nb_fin_ancien++;} if($mode=='complet') { $class = (isset($tab_password[$DB_ROW['user_id']])) ? ' class="new"' : '' ; $td_password = (isset($tab_password[$DB_ROW['user_id']])) ? '<td class="new">'.html($tab_password[$DB_ROW['user_id']]).'</td>' : '<td class="i">champ crypté</td>' ; $champ = ($import_profil=='eleve') ? $DB_ROW['groupe_ref'] : $DB_ROW['user_profil_nom_court_singulier'] ; $date_affich = ($DB_ROW['user_sortie_date']!=SORTIE_DEFAUT_MYSQL) ? convert_date_mysql_to_french($DB_ROW['user_sortie_date']) : '-' ; $lignes .= '<tr'.$class.'><td>'.html($DB_ROW['user_sconet_id']).'</td><td>'.html($DB_ROW['user_sconet_elenoet']).'</td><td>'.html($DB_ROW['user_reference']).'</td><td>'.html($champ).'</td><td>'.html($DB_ROW['user_nom']).'</td><td>'.html($DB_ROW['user_prenom']).'</td><td'.$class.'>'.html($DB_ROW['user_login']).'</td>'.$td_password.'<td>'.$date_affich.'</td></tr>'.NL; } } $s_debut_actuel = ($nb_debut_actuel>1) ? 's' : ''; $s_debut_ancien = ($nb_debut_ancien>1) ? 's' : ''; $s_fin_actuel = ($nb_fin_actuel>1) ? 's' : '';