Example #1
0
    $tab_eleves[$DB_ROW['user_id']] = $DB_ROW['user_reference'];
}
// Récupérer les notes enregistrées ; convertir si besoin en nombre de points correspondants
$tab_points = array();
$DB_TAB = DB_STRUCTURE_BREVET::DB_lister_brevet_notes_eleves($listing_eleve_id);
if (count($DB_TAB)) {
    foreach ($DB_TAB as $DB_ROW) {
        if ($DB_ROW['brevet_epreuve_code'] == CODE_BREVET_EPREUVE_TOTAL) {
            $tab_points[$DB_ROW['eleve_id']][$DB_ROW['brevet_epreuve_code']] = $DB_ROW['saisie_note'];
        } elseif ($DB_ROW['brevet_epreuve_point_sup_10']) {
            $tab_points[$DB_ROW['eleve_id']][$DB_ROW['brevet_epreuve_code']] = max(0, $DB_ROW['saisie_note'] - 10);
        } else {
            $tab_points[$DB_ROW['eleve_id']][$DB_ROW['brevet_epreuve_code']] = is_numeric($DB_ROW['saisie_note']) ? $DB_ROW['saisie_note'] * $DB_ROW['brevet_epreuve_coefficient'] : $DB_ROW['saisie_note'];
        }
    }
}
// Fabriquer le fichier csv
$csv_contenu = '';
$csv_separateur = '|';
foreach ($tab_eleves as $eleve_id => $user_reference) {
    foreach ($tab_points[$eleve_id] as $epreuve_code => $points) {
        $csv_code = $epreuve_code != CODE_BREVET_EPREUVE_TOTAL ? (string) $epreuve_code : 'TOT';
        $format = $epreuve_code != CODE_BREVET_EPREUVE_TOTAL ? "%05.2f" : "%06.2f";
        $csv_note = is_numeric($points) ? sprintf($format, $points) : (string) $points;
        $csv_contenu .= $user_reference . $csv_separateur . $csv_code . $csv_separateur . $csv_note . $csv_separateur . NL;
    }
}
// Enregistrer le fichier csv / Retour
$fichier_nom = 'export_notanet' . '_' . Clean::fichier($_SESSION['WEBMESTRE_UAI']) . '_' . fabriquer_fin_nom_fichier__date_et_alea() . '.txt';
FileSystem::ecrire_fichier(CHEMIN_DOSSIER_EXPORT . $fichier_nom, To::csv($csv_contenu));
exit($fichier_nom);
      }
    }
    else
    {
      echo'<tr class="vide"><td class="nu" colspan="15"></td><td class="nu"></td></tr>'.NL;
    }
    ?>
  </tbody>
</table>

<?php
if( $find_doublon && !empty($DB_TAB) )
{
  // Finalisation de l'export CSV (archivage dans un fichier)
  $fnom = 'extraction_doublons_responsables_'.fabriquer_fin_nom_fichier__date_et_alea();
  FileSystem::ecrire_fichier( CHEMIN_DOSSIER_EXPORT.$fnom.'.csv' , To::csv($export_csv) );
  echo'<p><ul class="puce"><li><a target="_blank" href="./force_download.php?fichier='.$fnom.'.csv"><span class="file file_txt">Récupérer les données dans un fichier (format <em>csv</em></span>).</a></li></ul></p>'.NL;
}
?>

<div id="zone_actions" style="margin-left:3em">
  <div class="p"><span class="u">Pour les utilisateurs cochés :</span> <input id="listing_ids" name="listing_ids" type="hidden" value="" /><label id="ajax_msg_actions">&nbsp;</label></div>
  <button id="retirer" type="button" class="user_desactiver">Retirer</button> (date de sortie au <?php echo TODAY_FR ?>).<br />
  <button id="reintegrer" type="button" class="user_ajouter">Réintégrer</button> (retrait de la date de sortie).<br />
  <button id="supprimer" type="button" class="supprimer">Supprimer</button> sans attendre 3 ans (uniquement si déjà sortis).
</div>

<form action="#" method="post" id="form_gestion" class="hide">
  <h2>Ajouter | Modifier un utilisateur</h2>
  <p>
    <label class="tab" for="f_id_ent">Id. ENT <img alt="" src="./_img/bulle_aide.png" width="16" height="16" title="Uniquement en cas d'identification via un ENT." /> :</label><input id="f_id_ent" name="f_id_ent" type="text" value="" size="30" maxlength="63" /><br />
    // Pour avoir les élèves dans l'ordre alphabétique, il faut utiliser $tab_eleve_id.
    $archivage_tableau_PDF->SetXY($archivage_tableau_PDF->marge_gauche, $archivage_tableau_PDF->marge_haut + $archivage_tableau_PDF->etiquette_hauteur);
    foreach ($tab_eleve_id as $eleve_id) {
        extract($tab_eleve_infos[$eleve_id]);
        // $eleve_nom $eleve_prenom $date_naissance $eleve_brevet_serie
        $archivage_tableau_PDF->moyennes_reference_eleve($eleve_id, $eleve_nom . ' ' . $eleve_prenom);
        $archivage_tableau_CSV .= '"' . $eleve_nom . ' ' . $eleve_prenom . '"';
        foreach ($tab_brevet_serie as $serie_ref => $serie_nom) {
            foreach ($tab_brevet_epreuve[$serie_ref] as $epreuve_ref => $epreuve_nom) {
                $note = isset($tab_saisie[$eleve_id][$serie_ref . $epreuve_ref]) ? $tab_saisie[$eleve_id][$serie_ref . $epreuve_ref] : NULL;
                $archivage_tableau_PDF->moyennes_note($eleve_id, $epreuve_ref, $note, TRUE);
                $archivage_tableau_CSV .= $separateur . '"' . str_replace('.', ',', $note) . '"';
                // Remplacer le point décimal par une virgule pour le tableur.
            }
        }
        $archivage_tableau_PDF->SetXY($archivage_tableau_PDF->marge_gauche, $archivage_tableau_PDF->GetY() + $archivage_tableau_PDF->cases_hauteur);
        $archivage_tableau_CSV .= "\r\n";
    }
}
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Enregistrement et affichage du retour.
// ////////////////////////////////////////////////////////////////////////////////////////////////////
$fichier_export = 'saisies_' . $bilan_type . '_' . $annee_session_brevet . '_' . Clean::fichier($classe_nom) . '_' . $action . '_' . fabriquer_fin_nom_fichier__date_et_alea();
FileSystem::ecrire_sortie_PDF(CHEMIN_DOSSIER_EXPORT . $fichier_export . '.pdf', $archivage_tableau_PDF);
echo '<a target="_blank" href="' . URL_DIR_EXPORT . $fichier_export . '.pdf"><span class="file file_pdf">' . $tab_actions[$action] . ' (format <em>pdf</em>).</span></a>';
// Et le csv éventuel
if ($action == 'imprimer_donnees_eleves_moyennes') {
    FileSystem::ecrire_fichier(CHEMIN_DOSSIER_EXPORT . $fichier_export . '.csv', To::csv($archivage_tableau_CSV));
    echo '<br />' . NL . '<a target="_blank" href="./force_download.php?fichier=' . $fichier_export . '.csv"><span class="file file_txt">' . $tab_actions[$action] . ' (format <em>csv</em>).</span></a>';
}
exit;
  echo'<p class="danger">Le fichier n\'existe pas : probablement qu\'aucune action sensible n\'a encore été effectuée !</p>'.NL;
}
else
{
  
  // 1 En extraire le plus récent (les 100 derniers enregistrements)
  $table_log_extrait = '<table class="p"><thead><tr><th>Date &amp; Heure</th><th>Utilisateur</th><th>Action</th></tr></thead><tbody>';
  $tab_lignes = extraire_lignes($fichier_log_contenu);
  $indice_ligne_debut = count($tab_lignes)-1 ;
  $indice_ligne_fin   = max(-1 , $indice_ligne_debut-100) ;
  $nb_lignes          = $indice_ligne_debut - $indice_ligne_fin ;
  $s = ($nb_lignes>1) ? 's' : '' ;
  for( $indice_ligne=$indice_ligne_debut ; $indice_ligne>$indice_ligne_fin ; $indice_ligne-- )
  {
    list( $balise_debut , $date_heure , $utilisateur , $action , $balise_fin ) = explode("\t",$tab_lignes[$indice_ligne]);
    $table_log_extrait .= '<tr><td>'.$date_heure.'</td><td>'.$utilisateur.'</td><td>'.$action.'</td></tr>'; // Pas de html(), cela a déjà été fait lors de l'enregistrement des logs
  }
  $table_log_extrait .= '</tbody></table>';
  // 2 Enregistrer un csv récupérable
  $fichier_log_contenu = str_replace(array('<?php /*','*/ ?>'),'',$fichier_log_contenu);
  $fichier_export_nom = 'log_'.$_SESSION['BASE'].'_'.fabriquer_fin_nom_fichier__date_et_alea();
  FileSystem::ecrire_fichier( CHEMIN_DOSSIER_EXPORT.$fichier_export_nom.'.csv' , To::csv($fichier_log_contenu) );
  // Afficher tout ça
  echo'<ul class="puce">'.NL;
  echo  '<li><a target="_blank" href="./force_download.php?fichier='.$fichier_export_nom.'.csv"><span class="file file_txt">Récupérer le fichier complet (format <em>csv</em>).</span></a></li>'.NL;
  echo  '<li>Consulter les derniers logs ('.$nb_lignes.' ligne'.$s.') :</li>'.NL;
  echo'</ul>'.NL;
  echo $table_log_extrait;
}
?>
Example #5
0
        {
          if($make_html) { $releve_HTML_individuel .= Html::legende( TRUE /*codes_notation*/ , ($retroactif!='non') /*anciennete_notation*/ , $aff_etat_acquisition /*score_bilan*/ , FALSE /*etat_acquisition*/ , FALSE /*pourcentage_acquis*/ , FALSE /*etat_validation*/ , $make_officiel ); }
          if($make_pdf)  { $releve_PDF->legende(); }
        }
      }
    }
  }
  // Ajout du javascript en fin de fichier
  if($make_html)
  {
    $releve_HTML_individuel .= '<script type="text/javascript">'.$releve_HTML_individuel_javascript.'</script>'.NL;
  }
  // On enregistre les sorties HTML et PDF et CSV
  if($make_html) { FileSystem::ecrire_fichier(    CHEMIN_DOSSIER_EXPORT.str_replace('<REPLACE>','individuel',$fichier_nom).'.html' , $releve_HTML_individuel ); }
  if($make_pdf)  { FileSystem::ecrire_sortie_PDF( CHEMIN_DOSSIER_EXPORT.str_replace('<REPLACE>','individuel',$fichier_nom).'.pdf'  , $releve_PDF ); }
  if($make_csv)  { FileSystem::ecrire_fichier(    CHEMIN_DOSSIER_EXPORT.str_replace('<REPLACE>','individuel',$fichier_nom).'.csv'  , To::csv($releve_CSV) ); }
}

// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Elaboration de la synthèse collective en HTML et PDF
// ////////////////////////////////////////////////////////////////////////////////////////////////////

if($type_synthese)
{
  $releve_HTML_synthese  = $affichage_direct ? '' : '<style type="text/css">'.$_SESSION['CSS'].'</style>'.NL;
  $releve_HTML_synthese .= $affichage_direct ? '' : '<h1>Bilan '.$tab_titre[$releve_modele].'</h1>'.NL;
  $releve_HTML_synthese .= '<h2>'.html($matiere_et_groupe).'</h2>'.NL;
  if($texte_periode)
  {
    $releve_HTML_synthese .= '<h2>'.html($texte_periode).'</h2>'.NL;
  }
        $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' : '';
$s_fin_ancien = $nb_fin_ancien > 1 ? 's' : '';
$s_mod = $nb_mod > 1 ? 's' : '';
$s_add = $nb_add > 1 ? 's' : '';
$s_del = $nb_del > 1 ? 's' : '';
if ($nb_add) {
    // On archive les nouveaux identifiants dans un fichier tableur (csv tabulé)
    $profil = $import_profil == 'eleve' ? 'eleve' : ($import_profil == 'parent' ? 'parent' : 'personnel');
    $fnom = 'identifiants_' . $_SESSION['BASE'] . '_' . $profil . '_' . fabriquer_fin_nom_fichier__date_et_alea();
    FileSystem::ecrire_fichier(CHEMIN_DOSSIER_LOGINPASS . $fnom . '.csv', To::csv($fcontenu_csv));
    // On archive les nouveaux identifiants dans un fichier pdf (classe fpdf + script étiquettes)
    $pdf = new PDF_Label(array('paper-size' => 'A4', 'metric' => 'mm', 'marginLeft' => 5, 'marginTop' => 5, 'NX' => 3, 'NY' => 8, 'SpaceX' => 7, 'SpaceY' => 5, 'width' => 60, 'height' => 30, 'font-size' => 11));
    $pdf->AddFont('Arial', '', 'arial.php');
    $pdf->SetFont('Arial');
    // Permet de mieux distinguer les "l 1" etc. que la police Times ou Courrier
    $pdf->AddPage();
    $pdf->SetFillColor(245, 245, 245);
    $pdf->SetDrawColor(145, 145, 145);
    sort($fcontenu_pdf_tab);
    foreach ($fcontenu_pdf_tab as $text) {
        $pdf->Add_Label(To::pdf($text));
    }
    FileSystem::ecrire_sortie_PDF(CHEMIN_DOSSIER_LOGINPASS . $fnom . '.pdf', $pdf);
}
$champ = $import_profil == 'eleve' ? 'Classe' : 'Profil';
Example #7
0
        // Commentaire écrit
        if($lignes_comm)
        {
          $cartouche_HTM .= '<tr><td colspan="'.$colonnes_nb.'"><div class="appreciation">'.html($tab_user_comm[$user_id]).'</div></td></tr>';
          $cartouche_CSV .= $tab_user_comm[$user_id]."\r\n";
          $cartouche_TEX .= '\multicolumn{'.$colonnes_nb.'}{|l|}{'.To::latex($tab_user_comm[$user_id]).'} \\\\'."\r\n".'\hline'."\r\n";
        }
        $cartouche_HTM .= '</tbody></table>';
        $cartouche_CSV .= "\r\n";
        $cartouche_TEX .= '\end{tabular}'."\r\n".'\end{center}'."\r\n\r\n";
        $cartouche_PDF->commentaire_interligne( 0 /*decalage_nb_lignes*/ , $tab_user_comm[$user_id] /*commentaire éventuel*/ , $lignes_comm );
      }
    }
  }
  // On archive le cartouche dans un fichier csv
  FileSystem::ecrire_fichier(    CHEMIN_DOSSIER_EXPORT.'cartouche_'.$fnom_export.'.csv' , To::csv($cartouche_CSV) );
  // On archive le cartouche dans un fichier tex
  FileSystem::ecrire_fichier(    CHEMIN_DOSSIER_EXPORT.'cartouche_'.$fnom_export.'.tex' , $cartouche_TEX );
  // On archive le cartouche dans un fichier pdf
  FileSystem::ecrire_sortie_PDF( CHEMIN_DOSSIER_EXPORT.'cartouche_'.$fnom_export.'.pdf' , $cartouche_PDF );
  // Affichage
  exit($cartouche_HTM);
}

// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Traiter une demande d'importation d'une saisie déportée ; on n'enregistre rien, on ne fait que décrypter le contenu du fichier et renvoyer une chaine résultante au javascript
// ////////////////////////////////////////////////////////////////////////////////////////////////////

if( (isset($_GET['f_action'])) && ($_GET['f_action']=='importer_saisie_csv') )
{
  $fichier_nom = 'saisie_deportee_'.$_SESSION['BASE'].'_'.$_SESSION['USER_ID'].'_'.fabriquer_fin_nom_fichier__date_et_alea().'.<EXT>';