Exemplo n.º 1
0
                $page_debut = isset($page_fin) ? $page_fin + 1 : 1;
                $page_fin = $releve_PDF->page;
                $page_nombre = $page_fin - $page_debut + 1;
                $tab_pages_decoupe_pdf[$eleve_id][$numero_tirage] = array($eleve_nom . ' ' . $eleve_prenom, $page_debut . '-' . $page_fin, $page_nombre);
            }
        }
    }
}
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// On enregistre les sorties HTML et PDF
// ////////////////////////////////////////////////////////////////////////////////////////////////////
if ($make_html) {
    FileSystem::ecrire_fichier(CHEMIN_DOSSIER_EXPORT . $fichier_nom . '.html', $releve_HTML);
}
if ($make_pdf) {
    FileSystem::ecrire_sortie_PDF(CHEMIN_DOSSIER_EXPORT . $fichier_nom . '.pdf', $releve_PDF);
}
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// On fabrique les options js pour le diagramme graphique
// ////////////////////////////////////////////////////////////////////////////////////////////////////
if ($make_graph && count($tab_graph_data)) {
    $js_graph .= '<SCRIPT>';
    // Matières sur l'axe des abscisses
    $js_graph .= 'ChartOptions.title.text = null;';
    $js_graph .= 'ChartOptions.xAxis.categories = [' . implode(',', $tab_graph_data['categories']) . '];';
    // Second axe des ordonnés pour les moyennes
    if (!$_SESSION['OFFICIEL']['BULLETIN_MOYENNE_SCORES']) {
        $js_graph .= 'delete ChartOptions.yAxis[1];';
    } else {
        $ymax = $_SESSION['OFFICIEL']['BULLETIN_CONVERSION_SUR_20'] ? 20 : 100;
        $js_graph .= 'ChartOptions.yAxis[1] = { min: 0, max: ' . $ymax . ', title: { style: { color: "#333" } , text: "Moyennes" }, opposite: true };';
$DB_TAB = DB_STRUCTURE_IMAGE::DB_lister_images( $listing_user_id , 'photo' );
if(!empty($DB_TAB))
{
  foreach($DB_TAB as $DB_ROW)
  {
    $tab_vignettes[$DB_ROW['user_id']]['img_width']  = $DB_ROW['image_largeur'];
    $tab_vignettes[$DB_ROW['user_id']]['img_height'] = $DB_ROW['image_hauteur'];
    $tab_vignettes[$DB_ROW['user_id']]['img_src']    = $DB_ROW['image_contenu'];
    $tab_vignettes[$DB_ROW['user_id']]['img_title']  = FALSE;
  }
}
// Génération de la sortie HTML (affichée directement) et de la sortie PDF (enregistrée dans un fichier)
$fnom_pdf = 'trombinoscope_'.$_SESSION['BASE'].'_'.Clean::fichier($groupe_nom).'_'.fabriquer_fin_nom_fichier__date_et_alea().'.pdf';
$trombinoscope_HTML = '<h2>'.html($groupe_nom).'</h2><p><a target="_blank" href="'.URL_DIR_EXPORT.$fnom_pdf.'"><span class="file file_pdf">Archiver / Imprimer (format <em>pdf</em>).</span></a> &rarr; <span class="noprint">Afin de préserver l\'environnement, n\'imprimer que si nécessaire !</span></p>';
$trombinoscope_PDF = new PDF_trombinoscope( FALSE /*officiel*/ , 'portrait' /*orientation*/ , 5 /*marge_gauche*/ , 5 /*marge_droite*/ , 5 /*marge_haut*/ , 7 /*marge_bas*/ );
$trombinoscope_PDF->initialiser($groupe_nom);
// On passe les élèves en revue (on a toutes les infos déjà disponibles)
foreach($tab_vignettes as $user_id => $tab)
{
  $trombinoscope_PDF->vignette($tab);
  $img_src   = ($tab['img_src'])   ? ' src="data:'.image_type_to_mime_type(IMAGETYPE_JPEG).';base64,'.$tab['img_src'].'"' : ' src="./_img/trombinoscope_vide.png"' ;
  $img_title = ($tab['img_title']) ? ' title="absence de photo"' : '' ;
  $trombinoscope_HTML .= '<div id="div_'.$user_id.'" class="photo"><img width="'.$tab['img_width'].'" height="'.$tab['img_height'].'" alt=""'.$img_src.$img_title.' /><br />'.html($tab['user_nom']).'<br />'.html($tab['user_prenom']).'</div>';
}
// Enregistrement du PDF
FileSystem::ecrire_sortie_PDF( CHEMIN_DOSSIER_EXPORT.$fnom_pdf , $trombinoscope_PDF );
// Affichage du HTML
exit($trombinoscope_HTML);

?>
    // 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;
Exemplo n.º 4
0
      $fiche_brevet_HTML .= '<div class="i">'.texte_ligne_naissance($date_naissance).'</div>'.NL;
    }
    // Mémorisation des pages de début et de fin pour chaque élève pour découpe et archivage ultérieur
    if($make_action=='imprimer')
    {
      $page_numero++;
      $tab_pages_decoupe_pdf[$eleve_id][$numero_tirage] = array( $eleve_nom.' '.$eleve_prenom , $page_numero );
    }
  }
}

// ////////////////////////////////////////////////////////////////////////////////////////////////////
// On enregistre la sortie PDF
// ////////////////////////////////////////////////////////////////////////////////////////////////////

if($make_pdf)  { FileSystem::ecrire_sortie_PDF( CHEMIN_DOSSIER_EXPORT.$fichier_nom.'.pdf' , $fiche_brevet_PDF ); }

// ////////////////////////////////////////////////////////////////////////////////////////////////////
// On fabrique les options js pour le diagramme graphique
// ////////////////////////////////////////////////////////////////////////////////////////////////////

if( $make_graph && (count($tab_graph_data)) )
{
  $js_graph .= '<SCRIPT>';
  // Épreuves sur l'axe des abscisses
  $js_graph .= 'ChartOptions.title.text = null;';
  $js_graph .= 'ChartOptions.xAxis.categories = ['.implode(',',$tab_graph_data['categories']).'];';
  // Séries de valeurs
  $tab_graph_series = array();
  if(isset($tab_graph_data['series_data_MoyClasse']))
  {
 // On archive les nouveaux identifiants dans un fichier pdf (classe fpdf + script étiquettes)
 echo '<ul class="puce">' . NL;
 if (count($fcontenu_pdf_tab)) {
     $fnom = 'identifiants_' . $_SESSION['BASE'] . '_' . fabriquer_fin_nom_fichier__date_et_alea();
     $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);
     echo '<li><a target="_blank" href="' . URL_DIR_LOGINPASS . $fnom . '.pdf"><span class="file file_pdf">Archiver / Imprimer les identifiants modifiés (étiquettes <em>pdf</em>).</span></a></li>' . NL;
     echo '<li><label class="alerte">Les mots de passe, cryptés, ne seront plus accessibles ultérieurement !</label></li>' . NL;
 }
 // On affiche le bilan
 echo '<li><b>Résultat de l\'analyse et des opérations effectuées :</b></li>' . NL;
 echo '</ul>' . NL;
 echo '<table>' . NL;
 echo '<tbody>' . NL;
 echo '<tr><th colspan="3">Utilisateurs trouvés dans le fichier dont les identifiants ont été modifiés.</th></tr>' . NL;
 echo $lignes_mod ? $lignes_mod : '<tr><td colspan="3">Aucun</td></tr>' . NL;
 echo '</tbody><tbody>' . NL;
 echo '<tr><th colspan="3">Utilisateurs trouvés dans le fichier dont les identifiants n\'ont pas pu être modifiés.</th></tr>' . NL;
 echo $lignes_pb ? $lignes_pb : '<tr><td colspan="3">Aucun</td></tr>' . NL;
 echo '</tbody><tbody>' . NL;
 echo '<tr><th colspan="3">Utilisateurs trouvés dans le fichier dont les identifiants sont inchangés.</th></tr>' . NL;
Exemplo n.º 6
0
        $bulletin_matiere = HtmlForm::afficher_select(DB_STRUCTURE_COMMUN::DB_OPT_matieres_professeur($_SESSION['USER_ID']) , 'f_rubrique' /*select_nom*/ , FALSE /*option_first*/ , FALSE /*selection*/ , '' /*optgroup*/);
      }
      $bulletin_form = '<li><form id="form_report_bulletin"><fieldset><button id="bouton_report" type="button" class="eclair">Report forcé</button> vers le bulletin <em>SACoche</em> '.$bulletin_periode.'<input type="hidden" id="f_eleves_moyennes" name="f_eleves_moyennes" value="'.implode('x',$tab_bulletin_input).'" /> '.$bulletin_matiere.'</fieldset></form><label id="ajax_msg_report"></label></li>';
      $bulletin_alerte = '<div class="danger">Un report forcé interrompt le report automatique des moyennes pour le bulletin et la matière concernée.</div>' ;
    }
    else
    {
      $bulletin_form = '<li>Report forcé vers un bulletin sans objet : aucune moyenne chiffrée n\'a pu être produite.</li>';
    }
  }
  $moyenne_affichee = sprintf("%04.1f",$moyenne_moyenne_scores/5);
  $bulletin_PDF->derniere_ligne( $info_ponderation_complete , $moyenne_affichee , $moyenne_pourcentage_acquis );
  $bulletin_head  = '<thead><tr><th>Élève</th><th>Moyenne '.$info_ponderation_complete.' sur 20<br />(des scores d\'acquisitions)</th><th>Élément d\'appréciation<br />(pourcentage d\'items acquis)</th></tr></thead>'.NL;
  $bulletin_body  = '<tbody>'.NL.$bulletin_body.'</tbody>'.NL;
  $bulletin_foot  = '<tfoot><tr><th>Moyenne '.$info_ponderation_complete.' sur 20</th><th>'.$moyenne_affichee.'</th><th>'.$moyenne_pourcentage_acquis.'% d\'items acquis</th></tr></tfoot>'.NL;
  $bulletin_html  = '<h1>Bilan '.$tab_titre[$releve_modele].'</h1>';
  $bulletin_html .= '<h2>'.html($matiere_et_groupe).'</h2>';
  $bulletin_html .= '<h2>'.$texte_periode.'</h2>';
  $bulletin_html .= '<h2>Moyenne sur 20 / Élément d\'appréciation</h2>';
  $bulletin_html .= '<table id="export20" class="hsort">'.NL.$bulletin_head.$bulletin_foot.$bulletin_body.'</table>'.NL;
  $bulletin_html .= '<script type="text/javascript">$("#export20").tablesorter({ headers:{2:{sorter:false}} });</script>'.NL;
  // On enregistre les sorties HTML / PDF / CSV
  FileSystem::ecrire_fichier(   CHEMIN_DOSSIER_EXPORT.str_replace('<REPLACE>','bulletin',$fichier_nom).'.html',$bulletin_html);
  FileSystem::ecrire_sortie_PDF(CHEMIN_DOSSIER_EXPORT.str_replace('<REPLACE>','bulletin',$fichier_nom).'.pdf' ,$bulletin_PDF );
  foreach($tab_bulletin_csv_gepi as $type_donnees => $bulletin_csv_gepi_contenu)
  {
    FileSystem::ecrire_fichier(CHEMIN_DOSSIER_EXPORT.str_replace('<REPLACE>','bulletin_'.$type_donnees,$fichier_nom).'.csv',utf8_decode($bulletin_csv_gepi_contenu));
  }
}

?>
     $texte = 'Règlement acquitté le ' . convert_date_mysql_to_french($DB_ROW['convention_paiement']) . '.';
 } elseif ($DB_ROW['convention_signature'] !== NULL) {
     list($annee, $mois, $jour) = explode('-', $DB_ROW['convention_signature']);
     $timeunix_signature_plus2mois = mktime(0, 0, 0, $mois + 2, $jour, $annee);
     list($annee, $mois, $jour) = explode('-', $DB_ROW['convention_date_debut']);
     $timeunix_anneescolaire_plus3mois = mktime(0, 0, 0, $mois + 2, $jour, $annee);
     $date_limite = date("d/m/Y", max($timeunix_signature_plus2mois, $timeunix_anneescolaire_plus3mois));
     $texte = 'Date limite de règlement : ' . $date_limite . '.';
 } else {
     $texte = 'Date limite de règlement : 2 mois après la mise en service effective du connecteur.';
 }
 $facture_PDF->SetXY(20, 174);
 $facture_PDF->CellFit(180, $hauteur_ligne, To::pdf($texte), 0, 2, 'L', FALSE);
 // On enregistre la sortie PDF
 $facture_fichier_nom = 'convention_facture_' . fabriquer_fin_nom_fichier__date_et_alea() . '.pdf';
 FileSystem::ecrire_sortie_PDF(CHEMIN_DOSSIER_EXPORT . $facture_fichier_nom, $facture_PDF);
 //
 // Envoyer un courriel au contact.
 //
 if ($f_first_time == 'oui') {
     $titre = 'Convention connecteur ENT établissement - Documents générés';
     $texte = 'Bonjour ' . $DB_ROW2['structure_contact_prenom'] . ' ' . $DB_ROW2['structure_contact_nom'] . ',' . "\r\n";
     $texte .= "\r\n";
     $texte .= 'Vous venez de générer les documents associés à une convention pour un connecteur ENT :' . "\r\n";
     $texte .= 'Référence : ' . $connecteur_ref . "\r\n";
     $texte .= 'Établissement : ' . $_SESSION['ETABLISSEMENT']['DENOMINATION'] . "\r\n";
     $texte .= 'Période : du ' . convert_date_mysql_to_french($DB_ROW['convention_date_debut']) . ' au ' . convert_date_mysql_to_french($DB_ROW['convention_date_fin']) . "\r\n";
     $texte .= "\r\n";
     $texte .= 'Le contrat est en deux exemplaires.' . "\r\n";
     $texte .= 'L\'un est à retourner signé au président de l\'association (ses coordonnées postales figurent sur le document).' . "\r\n";
     $texte .= 'L\'autre est à conserver par votre établissement.' . "\r\n";
Exemplo n.º 8
0
          $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>';
  $result = FileSystem::recuperer_upload( CHEMIN_DOSSIER_IMPORT /*fichier_chemin*/ , $fichier_nom /*fichier_nom*/ , array('txt','csv') /*tab_extensions_autorisees*/ , NULL /*tab_extensions_interdites*/ , NULL /*taille_maxi*/ , NULL /*filename_in_zip*/ );
  if($result!==TRUE)
  {
    exit('Erreur : '.$result);