Exemplo n.º 1
0
        $lignes .= '<tr id="tr_' . $user_id . '"><td>' . html($user_nom_prenom) . '</td><td><input type="text" size="3" maxlength="3" id="td1_' . $user_id . '" value="' . $nb_absence . '" /></td><td><input type="text" size="3" maxlength="3" id="td2_' . $user_id . '" value="' . $nb_absence_nj . '" /></td><td><input type="text" size="3" maxlength="3" id="td3_' . $user_id . '" value="' . $nb_retard . '" /></td><td><input type="text" size="3" maxlength="3" id="td4_' . $user_id . '" value="' . $nb_retard_nj . '" /></td></tr>';
    }
    exit($lignes);
}
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Traitement de saisies manuelles
// ////////////////////////////////////////////////////////////////////////////////////////////////////
if ($action == 'enregistrer_saisies' && $periode_id && $datas) {
    // Récupération des données saisies
    $tab_eleves = explode('_', $datas);
    foreach ($tab_eleves as $eleves_infos) {
        list($user_id, $nb_absence, $nb_absence_nj, $nb_retard, $nb_retard_nj) = explode('.', $eleves_infos);
        $user_id = (int) $user_id;
        $nb_absence = $nb_absence === '' ? NULL : (int) $nb_absence;
        $nb_absence_nj = $nb_absence_nj === '' ? NULL : (int) $nb_absence_nj;
        $nb_retard = $nb_retard === '' ? NULL : (int) $nb_retard;
        $nb_retard_nj = $nb_retard_nj === '' ? NULL : (int) $nb_retard_nj;
        DB_STRUCTURE_OFFICIEL::DB_modifier_officiel_assiduite('manuel', $periode_id, $user_id, $nb_absence, $nb_absence_nj, $nb_retard, $nb_retard_nj);
    }
    exit('ok');
}
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Il se peut que rien n'ait été récupéré à cause de l'upload d'un fichier trop lourd
// ////////////////////////////////////////////////////////////////////////////////////////////////////
if (empty($_POST)) {
    exit('Erreur : aucune donnée reçue ! Fichier trop lourd ? ' . InfoServeur::minimum_limitations_upload());
}
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// On ne devrait pas en arriver là...
// ////////////////////////////////////////////////////////////////////////////////////////////////////
exit('Erreur avec les données transmises !');
Exemplo n.º 2
0
    // Pas $tab_rubrique_id car il ne faut pas juste restreindre à la liste des rubriques dont on souhaite vérifier l'appréciation afin de récupérer les bilans de tous les élèves concernés.
    $tab_eleve_id = $tab_eleve_id;
    $tab_matiere_id = array();
    require CHEMIN_DOSSIER_INCLUDE . 'noyau_socle_releve.php';
}
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Affichage du résultat de l'analyse
// ////////////////////////////////////////////////////////////////////////////////////////////////////
$nb_pb_rubriques = count($tab_resultat_examen);
if (!$nb_pb_rubriques) {
    exit('<p class="ti"><label class="valide">Aucune saisie manquante trouvée.</label></p>');
} else {
    // Tentative d'indication des collègues potentiellement concernés
    $tab_rubrique_profs = array();
    if (in_array($BILAN_TYPE, array('releve', 'bulletin'))) {
        $DB_TAB = DB_STRUCTURE_OFFICIEL::DB_recuperer_professeurs_eleves_matieres($classe_id, $liste_eleve_id, $liste_rubrique_id);
        if (!empty($DB_TAB)) {
            $tab_tmp = array();
            foreach ($DB_TAB as $DB_ROW) {
                $tab_tmp[$DB_ROW['matiere_id']][$DB_ROW['user_id']] = $DB_ROW['user_nom'] . ' ' . $DB_ROW['user_prenom'];
            }
            foreach ($tab_tmp as $matiere_id => $tab_profs) {
                // On peut avoir des matières qui n'apparaissent pas sur le bilan officiel
                if (isset($tab_matiere[$matiere_id])) {
                    $rubrique_nom = $tab_matiere[$matiere_id]['matiere_nom'];
                    $nb_profs = count($tab_profs);
                    if ($nb_profs == 1) {
                        $tab_rubrique_profs[$rubrique_nom] = '[' . current($tab_profs) . ']';
                    } else {
                        if ($nb_profs <= 3) {
                            $tab_rubrique_profs[$rubrique_nom] = '[' . implode(' ; ', $tab_profs) . ']';
Exemplo n.º 3
0
   exit('Erreur : aucune saisie trouvée dans le fichier transmis !');
 }
 // On compare avec ce qui est enregistré dans la base pour distinguer s'il s'agit d'UPDATE, d'INSERT, ou si cela n'a pas changé.
 // Cette partie de code est inspirée de [code_officiel_archiver.php]
 $liste_eleve_id = implode(',',array_keys($tab_eleve_id));
 if($BILAN_TYPE=='bulletin')
 {
   $DB_TAB = array_merge
   (
     DB_STRUCTURE_OFFICIEL::DB_recuperer_bilan_officiel_saisies_classe( $BILAN_TYPE , $periode_id , $classe_id      , $_SESSION['USER_ID'] , FALSE /*with_periodes_avant*/ , FALSE /*only_synthese_generale*/ ),
     DB_STRUCTURE_OFFICIEL::DB_recuperer_bilan_officiel_saisies_eleves( $BILAN_TYPE , $periode_id , $liste_eleve_id , $_SESSION['USER_ID'] , TRUE /*with_rubrique_nom*/ , FALSE /*with_periodes_avant*/ , FALSE /*only_synthese_generale*/ )
   );
 }
 else
 {
   $DB_TAB = DB_STRUCTURE_OFFICIEL::DB_recuperer_bilan_officiel_saisies_eleves( $BILAN_TYPE , $periode_id , $liste_eleve_id , $_SESSION['USER_ID'] , TRUE /*with_rubrique_nom*/ , FALSE /*with_periodes_avant*/ , FALSE /*only_synthese_generale*/ );
 }
 // Les appréciations
 foreach($DB_TAB as $key => $DB_ROW)
 {
   if($DB_ROW['prof_id'])
   {
     if(isset($tab_donnees_csv[$DB_ROW['rubrique_id']][$DB_ROW['eleve_id']]['appreciation']))
     {
       $appreciation = $tab_donnees_csv[$DB_ROW['rubrique_id']][$DB_ROW['eleve_id']]['appreciation']['val'];
       $tab_donnees_csv[$DB_ROW['rubrique_id']][$DB_ROW['eleve_id']]['appreciation']['mode'] = ( $appreciation == $DB_ROW['saisie_appreciation'] ) ? 'idem' : 'update' ;
     }
     unset($DB_TAB[$key]);
   }
 }
 // Les notes
Exemplo n.º 4
0
	if($_SESSION['USER_PROFIL']=='eleve')
	{
		$tab_eleve_id[] = $_SESSION['USER_ID'];
		$tab_tbody[$_SESSION['USER_ID']][0] = '';
	}
	else
	{
		foreach($_SESSION['OPT_PARENT_ENFANTS'] as $tab)
		{
			$tab_eleve_id[] = $tab['valeur'];
			$tab_tbody[$tab['valeur']][0] = '<th>'.html($tab['texte']).'</th>';
		}
	}

	// lister les bilans officiels archivés de l'année courante
	$DB_TAB = DB_STRUCTURE_OFFICIEL::DB_lister_bilan_officiel_fichiers( '' /*BILAN_TYPE*/ , 0 /*periode_id*/ , $tab_eleve_id );
	$_SESSION['tmp_droit_voir_archive'] = array(); // marqueur mis en session pour vérifier que c'est bien cet utilisateur qui veut voir (et à donc le droit de voir) le fichier, car il n'y a pas d'autre vérification de droit ensuite
	foreach($DB_TAB as $DB_ROW)
	{
		if(strpos($_SESSION['DROIT_OFFICIEL_'.$tab_types[$DB_ROW['officiel_type']]['droit'].'_VOIR_ARCHIVE'],$_SESSION['USER_PROFIL'])!==FALSE)
		{
			if(is_file(CHEMIN_DOSSIER_OFFICIEL.$_SESSION['BASE'].DS.fabriquer_nom_fichier_bilan_officiel( $DB_ROW['user_id'] , $DB_ROW['officiel_type'] , $DB_ROW['periode_id'] )))
			{
				$_SESSION['tmp_droit_voir_archive'][$DB_ROW['user_id'].$DB_ROW['officiel_type']] = TRUE; // marqueur mis en session pour vérifier que c'est bien cet utilisateur qui veut voir (et à donc le droit de voir) le fichier, car il n'y a pas d'autre vérification de droit ensuite
				$tab_tbody[$DB_ROW['user_id']][$DB_ROW['periode_id']][] = '<a href="releve_pdf.php?fichier='.$DB_ROW['user_id'].'_'.$DB_ROW['officiel_type'].'_'.$DB_ROW['periode_id'].'" class="lien_ext">'.$tab_types[$DB_ROW['officiel_type']]['titre'].'</a>' ;
			}
		}
	}

	// Assemblage et affichage du tableau.
Exemplo n.º 5
0
        // car droit commun pour tous les paliers
    }
    if ($droit_voir_archives_pdf) {
        // identifiants élèves concernés
        $tab_eleve_id = array();
        if ($_SESSION['USER_PROFIL_TYPE'] == 'eleve') {
            $tab_eleve_id[] = $_SESSION['USER_ID'];
        } else {
            foreach ($_SESSION['OPT_PARENT_ENFANTS'] as $tab) {
                $tab_eleve_id[] = $tab['valeur'];
            }
        }
        $tab_eleves = $_SESSION['USER_PROFIL_TYPE'] == 'eleve' ? array(0 => array('valeur' => $_SESSION['USER_ID'])) : $_SESSION['OPT_PARENT_ENFANTS'];
        $nb_eleves = count($tab_eleve_id);
        // lister les bilans officiels archivés de l'année courante
        $DB_TAB = DB_STRUCTURE_OFFICIEL::DB_lister_bilan_officiel_fichiers('', 0, $tab_eleve_id, TRUE, $_SESSION['USER_PROFIL_TYPE']);
        foreach ($DB_TAB as $DB_ROW) {
            if (test_user_droit_specifique($_SESSION['DROIT_' . $tab_types[$DB_ROW['officiel_type']]['droit'] . '_VOIR_ARCHIVE'])) {
                if (is_file(CHEMIN_DOSSIER_OFFICIEL . $_SESSION['BASE'] . DS . fabriquer_nom_fichier_bilan_officiel($DB_ROW['user_id'], $DB_ROW['officiel_type'], $DB_ROW['periode_id']))) {
                    $text_eleve_nom = $nb_eleves > 1 ? html($_SESSION['OPT_PARENT_ENFANTS'][array_search($DB_ROW['user_id'], $tab_eleve_id)]['texte']) . ' || ' : '';
                    $tab_accueil['officiel']['nombre'] += 1;
                    $tab_accueil['officiel']['contenu'] .= '<li>' . $text_eleve_nom . '<a href="./index.php?page=officiel_voir_archive">' . $tab_types[$DB_ROW['officiel_type']]['titre'] . ' || ' . html($DB_ROW['periode_nom']) . '</a></li>';
                }
            }
        }
        if ($tab_accueil['officiel']['nombre']) {
            $tab_accueil['officiel']['contenu'] = '<div class="b"><TG> ' . $tab_accueil['officiel']['masque'] . '</div>' . '<ul class="puce p">' . $tab_accueil['officiel']['contenu'] . '</ul>';
        }
    }
}
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// ////////////////////////////////////////////////////////////////////////////////////////////////////
$tab_periode_eleves = isset($_POST['f_periode_eleves']) ? explode('_', $_POST['f_periode_eleves']) : '';
$tab_eleves_moyennes = isset($_POST['f_eleves_moyennes']) ? explode('x', $_POST['f_eleves_moyennes']) : '';
$rubrique_id = isset($_POST['f_rubrique']) ? Clean::entier($_POST['f_rubrique']) : 0;
$periode_id = count($tab_periode_eleves) ? $tab_periode_eleves[0] : 0;
// On vérifie les paramètres principaux
if (!$periode_id || !$rubrique_id || count($tab_periode_eleves) < 2 || !count($tab_eleves_moyennes) || $_SESSION['USER_PROFIL_TYPE'] != 'professeur' || !$_SESSION['OFFICIEL']['BULLETIN_MOYENNE_SCORES']) {
    exit('Erreur avec les données transmises !');
}
// On passe en revue les données
unset($tab_periode_eleves[0]);
$tab_eleve_id = array_filter(Clean::map_entier($tab_periode_eleves), 'positif');
$appreciation = 'Moyenne figée reportée par ' . afficher_identite_initiale($_SESSION['USER_NOM'], FALSE, $_SESSION['USER_PRENOM'], TRUE, $_SESSION['USER_GENRE']);
$nb_reports = 0;
foreach ($tab_eleves_moyennes as $eleve_moyenne) {
    list($eleve_id, $moyenne) = explode('_', $eleve_moyenne);
    $eleve_id = (int) $eleve_id;
    $note = round($moyenne, 1);
    // $tab_eleve_id contient la liste des élèves dont il faut changer les notes ; ce peut n'être qu'une intersection groupe x classe
    // $tab_eleves_moyennes contient les moyennes de tous les élèves du groupe ou de la classe
    if (in_array($eleve_id, $tab_eleve_id)) {
        DB_STRUCTURE_OFFICIEL::DB_modifier_bilan_officiel_saisie('bulletin', $periode_id, $eleve_id, $rubrique_id, 0, 'eleve', $note, $appreciation);
        $nb_reports++;
    }
}
// On affiche le résultat
if (!$nb_reports) {
    exit('Erreur avec les données transmises !');
}
$s = $nb_reports > 1 ? 's' : '';
exit('Note' . $s . ' reportée' . $s . ' pour ' . $nb_reports . ' élève' . $s . '.');
Exemplo n.º 7
0
 function options_note($epreuve_obligatoire, $epreuve_note_chiffree, $epreuve_code_speciaux)
 {
     global $optgroup_notes_chiffrees, $tab_codes;
     $option_sans_objet = $epreuve_obligatoire ? '' : '<option value="">sans objet</option>';
     // Codes spéciaux
     $optgroup_codes_speciaux = '<optgroup label="Codes spéciaux">';
     $tab_code_speciaux = explode(',', $epreuve_code_speciaux);
     foreach ($tab_code_speciaux as $code_special) {
         $optgroup_codes_speciaux .= '<option value="' . $code_special . '">' . $tab_codes[$code_special] . '</option>';
     }
     $optgroup_codes_speciaux .= '</optgroup>';
     return !$epreuve_note_chiffree ? $option_sans_objet . $optgroup_codes_speciaux : $option_sans_objet . $optgroup_codes_speciaux . $optgroup_notes_chiffrees;
 }
 // Récupérer les moyennes de bulletins (on ne sait pas encore pour quelle matière c'est demandé, mais c'est le mode par défaut, et ce n'est pas dur à récupérer)
 $tab_moyennes_bulletin = array();
 $DB_TAB = DB_STRUCTURE_OFFICIEL::DB_recuperer_bilan_officiel_notes_eleve_periodes($eleve_id);
 foreach ($DB_TAB as $DB_ROW) {
     $note_affichee = $_SESSION['OFFICIEL']['BULLETIN_CONVERSION_SUR_20'] ? $DB_ROW['saisie_note'] : round($DB_ROW['saisie_note'] * 5) . '%';
     $tab_moyennes_bulletin[$DB_ROW['matiere_id']]['note'][$DB_ROW['periode_id']] = $DB_ROW['saisie_note'];
     $tab_moyennes_bulletin[$DB_ROW['matiere_id']]['txt'][$DB_ROW['periode_id']] = $note_affichee . ' <img alt="" src="./_img/bulle_aide.png" width="16" height="16" title="' . html($DB_ROW['periode_nom']) . '" />';
 }
 // Récupérer les noms des matières
 $DB_TAB = DB_STRUCTURE_COMMUN::DB_OPT_matieres_etabl();
 $tab_matieres_etabl = array();
 foreach ($DB_TAB as $DB_ROW) {
     $tab_matieres_etabl[$DB_ROW['valeur']] = html($DB_ROW['texte']);
 }
 // Paramètres requis par [noyau_items_releve.php] pour calculer une moyenne annuelle
 $releve_modele = 'matiere';
 $releve_individuel_format = 'eleve';
 $aff_etat_acquisition = 0;
unset($tab_periode_eleves[0]);
$tab_eleve_id = array_filter( Clean::map_entier($tab_periode_eleves) , 'positif' );
$appreciation = 'Moyenne figée reportée par '.afficher_identite_initiale($_SESSION['USER_NOM'],FALSE,$_SESSION['USER_PRENOM'],TRUE,$_SESSION['USER_GENRE']);
$nb_reports = 0;

foreach($tab_eleves_moyennes as $eleve_moyenne)
{
  list($eleve_id,$moyenne) = explode('_',$eleve_moyenne);
  $eleve_id = (int)$eleve_id;
  $note = round($moyenne,1);
  // $tab_eleve_id contient la liste des élèves dont il faut changer les notes ; ce peut n'être qu'une intersection groupe x classe
  // $tab_eleves_moyennes contient les moyennes de tous les élèves du groupe ou de la classe
  if(in_array($eleve_id,$tab_eleve_id))
  {
    DB_STRUCTURE_OFFICIEL::DB_modifier_bilan_officiel_saisie( 'bulletin' /*BILAN_TYPE*/ , $periode_id , $eleve_id , $rubrique_id , 0 /*prof_id*/ , 'eleve' , $note , $appreciation );
    $nb_reports++;
  }
}

// On affiche le résultat

if(!$nb_reports)
{
  exit('Erreur avec les données transmises !');
}
$s = ($nb_reports>1) ? 's' : '' ;
exit('Note'.$s.' reportée'.$s.' pour '.$nb_reports.' élève'.$s.'.');

?>
Exemplo n.º 9
0
function enregistrer_note($BILAN_TYPE, $periode_id, $eleve_id, $rubrique_id, $moyenne)
{
    $note = $_SESSION['OFFICIEL']['BULLETIN_CONVERSION_SUR_20'] ? round($moyenne, 1) : round($moyenne / 5, 1);
    $appreciation = 'Moyenne figée reportée par ' . afficher_identite_initiale($_SESSION['USER_NOM'], FALSE, $_SESSION['USER_PRENOM'], TRUE, $_SESSION['USER_GENRE']);
    DB_STRUCTURE_OFFICIEL::DB_modifier_bilan_officiel_saisie($BILAN_TYPE, $periode_id, $eleve_id, $rubrique_id, 0, 'eleve', $note, $appreciation);
    return array($note, $appreciation);
}
Exemplo n.º 10
0
$fichier_copie_nom = 'officiel_'.$bilan_type.'_archive_'.$eleve_id.'_'.$periode_id.'_'.fabriquer_fin_nom_fichier__date_et_alea().'.pdf' ;
copy($fichier_archive,CHEMIN_DOSSIER_EXPORT.$fichier_copie_nom);

// Enregistrement de l'accès
if( in_array( $_SESSION['USER_PROFIL_TYPE'] , array('eleve','parent') ) )
{
  // Connexion à la base de données adaptée (à ce stade, plus besoin de vérif, il s'agit d'une install bien en place...).
  if(HEBERGEUR_INSTALLATION=='multi-structures')
  {
    $fichier_mysql_config = 'serveur_sacoche_structure_'.$_SESSION['BASE'];
    $fichier_class_config = 'class.DB.config.sacoche_structure';
  }
  elseif(HEBERGEUR_INSTALLATION=='mono-structure')
  {
    $fichier_mysql_config = 'serveur_sacoche_structure';
    $fichier_class_config = 'class.DB.config.sacoche_structure';
  }
  // Chargement du fichier de connexion à la BDD
  require(CHEMIN_DOSSIER_MYSQL.$fichier_mysql_config.'.php');
  require(CHEMIN_DOSSIER_INCLUDE.$fichier_class_config.'.php');
  // Et enfin la requête
  DB_STRUCTURE_OFFICIEL::DB_modifier_bilan_officiel_fichier_date( $eleve_id , $bilan_type , $periode_id , 'consultation_'.$_SESSION['USER_PROFIL_TYPE'] );
}

// Redirection du navigateur
header('Status: 302 Found', TRUE, 302);
header('Location: '.URL_DIR_EXPORT.$fichier_copie_nom);
exit();
?>
Exemplo n.º 11
0
                     $tab_donnees_csv[$rubrique_id][$eleve_id]['appreciation'] = array('val' => mb_substr($appreciation, 0, $longueur_maxi), 'mode' => 'insert');
                 }
             }
         }
     }
 }
 if (!count($tab_donnees_csv)) {
     exit('Erreur : aucune saisie trouvée dans le fichier transmis !');
 }
 // On compare avec ce qui est enregistré dans la base pour distinguer s'il s'agit d'UPDATE, d'INSERT, ou si cela n'a pas changé.
 // Cette partie de code est inspirée de [code_officiel_archiver.php]
 $liste_eleve_id = implode(',', array_keys($tab_eleve_id));
 if ($BILAN_TYPE == 'bulletin') {
     $DB_TAB = array_merge(DB_STRUCTURE_OFFICIEL::DB_recuperer_bilan_officiel_saisies_classe($periode_id, $classe_id, $_SESSION['USER_ID'], FALSE, FALSE), DB_STRUCTURE_OFFICIEL::DB_recuperer_bilan_officiel_saisies_eleves($BILAN_TYPE, $periode_id, $liste_eleve_id, $_SESSION['USER_ID'], TRUE, FALSE, FALSE));
 } else {
     $DB_TAB = DB_STRUCTURE_OFFICIEL::DB_recuperer_bilan_officiel_saisies_eleves($BILAN_TYPE, $periode_id, $liste_eleve_id, $_SESSION['USER_ID'], TRUE, FALSE, FALSE);
 }
 // Les appréciations
 foreach ($DB_TAB as $key => $DB_ROW) {
     if ($DB_ROW['prof_id']) {
         if (isset($tab_donnees_csv[$DB_ROW['rubrique_id']][$DB_ROW['eleve_id']]['appreciation'])) {
             $appreciation = $tab_donnees_csv[$DB_ROW['rubrique_id']][$DB_ROW['eleve_id']]['appreciation']['val'];
             $tab_donnees_csv[$DB_ROW['rubrique_id']][$DB_ROW['eleve_id']]['appreciation']['mode'] = $appreciation == $DB_ROW['saisie_appreciation'] ? 'idem' : 'update';
         }
         unset($DB_TAB[$key]);
     }
 }
 // Les notes
 if ($with_note) {
     foreach ($DB_TAB as $key => $DB_ROW) {
         if (isset($tab_donnees_csv[$DB_ROW['rubrique_id']][$DB_ROW['eleve_id']]['moyenne'])) {
Exemplo n.º 12
0
            // 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";
    }
}
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Cas 6/6 imprimer_donnees_eleves_recapitulatif : Récapitulatif annuel des moyennes et appréciations par élève
// ////////////////////////////////////////////////////////////////////////////////////////////////////
if ($action == 'imprimer_donnees_eleves_recapitulatif') {
    // Rechercher et mémoriser les données enregistrées
    $tab_saisies = array();
    // [eleve_id][rubrique_id] => array(note[periode],appreciation[periode],professeur[id])
    $tab_periodes = array();
    $tab_rubriques = array();
    $DB_TAB = DB_STRUCTURE_OFFICIEL::DB_recuperer_bilan_officiel_saisies_eleves($BILAN_TYPE, 0, $liste_eleve_id, 0, TRUE, TRUE, FALSE);
    foreach ($DB_TAB as $DB_ROW) {
        if ($DB_ROW['rubrique_id']) {
            if ($DB_ROW['prof_id']) {
                $tab_saisies[$DB_ROW['eleve_id']][$DB_ROW['rubrique_id']]['appreciation'][$DB_ROW['periode_ordre']] = suppression_sauts_de_ligne($DB_ROW['saisie_appreciation']);
                $tab_saisies[$DB_ROW['eleve_id']][$DB_ROW['rubrique_id']]['professeur'][$DB_ROW['prof_id']] = afficher_identite_initiale($DB_ROW['user_nom'], FALSE, $DB_ROW['user_prenom'], TRUE, $DB_ROW['user_genre']);
            } else {
                if ($DB_ROW['saisie_note'] !== NULL && !in_array($DB_ROW['rubrique_id'], $tab_moyenne_exception_matieres)) {
                    $tab_saisies[$DB_ROW['eleve_id']][$DB_ROW['rubrique_id']]['note'][$DB_ROW['periode_ordre']] = (double) $DB_ROW['saisie_note'];
                }
            }
            $tab_periodes[$DB_ROW['periode_ordre']] = $DB_ROW['periode_nom'];
            $tab_rubriques[$DB_ROW['rubrique_id']] = $DB_ROW['rubrique_nom'];
        }
    }
    // Calcul des moyennes annuelles et de classe
Exemplo n.º 13
0
 $tab_eleve_id = array();
 if($_SESSION['USER_PROFIL_TYPE']=='eleve')
 {
   $tab_eleve_id[] = $_SESSION['USER_ID'];
 }
 else
 {
   foreach($_SESSION['OPT_PARENT_ENFANTS'] as $tab)
   {
     $tab_eleve_id[] = $tab['valeur'];
   }
 }
 $tab_eleves = ($_SESSION['USER_PROFIL_TYPE']=='eleve') ? array(0=>array('valeur'=>$_SESSION['USER_ID'])) : $_SESSION['OPT_PARENT_ENFANTS'] ;
 $nb_eleves = count($tab_eleve_id);
 // lister les bilans officiels archivés de l'année courante
 $DB_TAB = DB_STRUCTURE_OFFICIEL::DB_lister_bilan_officiel_fichiers( '' /*BILAN_TYPE*/ , 0 /*periode_id*/ , $tab_eleve_id , TRUE /*with_periode_nom*/ , $_SESSION['USER_PROFIL_TYPE'] /*only_profil_non_vu*/ );
 foreach($DB_TAB as $DB_ROW)
 {
   if(test_user_droit_specifique($_SESSION['DROIT_'.$tab_types[$DB_ROW['officiel_type']]['droit'].'_VOIR_ARCHIVE']))
   {
     if(is_file(CHEMIN_DOSSIER_OFFICIEL.$_SESSION['BASE'].DS.fabriquer_nom_fichier_bilan_officiel( $DB_ROW['user_id'] , $DB_ROW['officiel_type'] , $DB_ROW['periode_id'] )))
     {
       $text_eleve_nom  = ($nb_eleves>1) ? html($_SESSION['OPT_PARENT_ENFANTS'][array_search($DB_ROW['user_id'],$tab_eleve_id)]['texte']).' || ' : '' ;
       $tab_accueil['officiel']['nombre'] += 1;
       $tab_accueil['officiel']['contenu'].= '<li>'.$text_eleve_nom.'<a href="./index.php?page=officiel_voir_archive">'.$tab_types[$DB_ROW['officiel_type']]['titre'].' || '.html($DB_ROW['periode_nom']).'</a></li>';
     }
   }
 }
 if($tab_accueil['officiel']['nombre'])
 {
   $tab_accueil['officiel']['contenu'] = '<div class="b"><TG> '.$tab_accueil['officiel']['masque'].'</div>'.'<ul class="puce p">'.$tab_accueil['officiel']['contenu'].'</ul>';
Exemplo n.º 14
0
$affichage_assiduite = ($_SESSION['OFFICIEL'][$tab_types[$BILAN_TYPE]['droit'].'_ASSIDUITE']) ? TRUE : FALSE ;

if( $affichage_assiduite && $eleve_id )
{
  $DB_ROW = DB_STRUCTURE_OFFICIEL::DB_recuperer_officiel_assiduite( $periode_id , $eleve_id );
  $tab_assiduite[$eleve_id] = (empty($DB_ROW)) ? array( 'absence' => NULL , 'absence_nj' => NULL , 'retard' => NULL , 'retard_nj' => NULL ) : array( 'absence' => $DB_ROW['assiduite_absence'] , 'absence_nj' => $DB_ROW['assiduite_absence_nj'] , 'retard' => $DB_ROW['assiduite_retard'] , 'retard_nj' => $DB_ROW['assiduite_retard_nj'] ) ;
}

// Récupérer les professeurs principaux

$affichage_prof_principal = ($_SESSION['OFFICIEL'][$tab_types[$BILAN_TYPE]['droit'].'_PROF_PRINCIPAL']) ? TRUE : FALSE ;

if( $affichage_prof_principal )
{
  $DB_TAB = DB_STRUCTURE_OFFICIEL::DB_lister_profs_principaux($classe_id);
  if(empty($DB_TAB))
  {
    $texte_prof_principal = 'Professeur principal : sans objet.';
  }
  else if(count($DB_TAB)==1)
  {
    $texte_prof_principal = 'Professeur principal : '.afficher_identite_initiale($DB_TAB[0]['user_nom'],FALSE,$DB_TAB[0]['user_prenom'],TRUE,$DB_TAB[0]['user_genre']);
  }
  else
  {
    $tab_pp = array();
    foreach($DB_TAB as $DB_ROW)
    {
      $tab_pp[] = afficher_identite_initiale($DB_ROW['user_nom'],FALSE,$DB_ROW['user_prenom'],TRUE,$DB_ROW['user_genre']);
    }
Exemplo n.º 15
0
			$tab_eleve_id_tmp = array();
			$DB_TAB = DB_STRUCTURE_COMMUN::DB_lister_users_regroupement( 'eleve' , 1 /*statut*/ , 'classe' , $classe_id );
			foreach($DB_TAB as $DB_ROW)
			{
				$tab_eleve_id_tmp[] = $DB_ROW['user_id'];
			}
			$liste_eleve_id = implode(',',$tab_eleve_id_tmp);
		}
		calculer_et_enregistrer_moyennes_eleves_bulletin( $periode_id , $classe_id , $liste_eleve_id , '' /*liste_matiere_id*/ , $_SESSION['OFFICIEL']['BULLETIN_MOYENNE_CLASSE'] , $_SESSION['OFFICIEL']['BULLETIN_MOYENNE_GENERALE'] );
	}
}

// Récupérer les saisies déjà effectuées pour le bilan officiel concerné

$tab_saisie = array();	// [eleve_id][rubrique_id][prof_id] => array(prof_info,appreciation,note,info);
$DB_TAB = DB_STRUCTURE_OFFICIEL::DB_recuperer_bilan_officiel_saisies( $BILAN_TYPE , $periode_id , $eleve_id , 0 /*prof_id*/ );
foreach($DB_TAB as $DB_ROW)
{
	$tab_saisie[$DB_ROW['eleve_id']][$DB_ROW['rubrique_id']][$DB_ROW['prof_id']] = array( 'prof_info'=>$DB_ROW['prof_info'] , 'appreciation'=>$DB_ROW['saisie_appreciation'] , 'note'=>$DB_ROW['saisie_note'] );
}

//	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-
// Initialisation de variables supplémentaires
// INCLUSION DU CODE COMMUN À PLUSIEURS PAGES
//	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-

$make_officiel = TRUE;
$make_action   = 'consulter';
$make_html     = ( ($BILAN_TYPE=='bulletin') && ($mode=='graphique') ) ? FALSE : TRUE ;
$make_pdf      = FALSE;
$make_graph    = ( ($BILAN_TYPE=='bulletin') && ($mode=='graphique') ) ? TRUE : FALSE ;
Exemplo n.º 16
0
  {
    $tab_pp = array();
    foreach($DB_TAB as $DB_ROW)
    {
      $tab_pp[] = afficher_identite_initiale($DB_ROW['user_nom'],FALSE,$DB_ROW['user_prenom'],TRUE,$DB_ROW['user_genre']);
    }
    $texte_prof_principal = 'Professeurs principaux : '.implode(' ; ',$tab_pp);
  }
}

// Récupérer les noms et coordonnées des responsables, ou simplement l'info de savoir si leurs adresses sont différentes

$tab_destinataires = array();  // [eleve_id][i] => array(...) | 'archive' | NULL ;
$tab_civilite = array( 'I'=>'' , 'M'=>'M.' , 'F'=>'Mme' );
$pays_majoritaire = DB_STRUCTURE_OFFICIEL::DB_recuperer_pays_majoritaire();
$DB_TAB = ( ($_SESSION['OFFICIEL']['INFOS_RESPONSABLES']!='non') || ($_SESSION['OFFICIEL']['NOMBRE_EXEMPLAIRES']=='deux_si_besoin') ) ? DB_STRUCTURE_OFFICIEL::DB_lister_adresses_parents_for_enfants($liste_eleve_id) : array() ;
foreach($tab_eleve_id as $eleve_id)
{
  if( (isset($DB_TAB[$eleve_id][0]['adresse_pays_nom'])) && ($DB_TAB[$eleve_id][0]['adresse_pays_nom']==$pays_majoritaire) ) {$DB_TAB[$eleve_id][0]['adresse_pays_nom']='';}
  if( (isset($DB_TAB[$eleve_id][1]['adresse_pays_nom'])) && ($DB_TAB[$eleve_id][1]['adresse_pays_nom']==$pays_majoritaire) ) {$DB_TAB[$eleve_id][1]['adresse_pays_nom']='';}
  $tab_coords_resp1 = (isset($DB_TAB[$eleve_id][0])) ? array_filter(array($tab_civilite[$DB_TAB[$eleve_id][0]['user_genre']].' '.$DB_TAB[$eleve_id][0]['user_nom'].' '.$DB_TAB[$eleve_id][0]['user_prenom'],$DB_TAB[$eleve_id][0]['adresse_ligne1'],$DB_TAB[$eleve_id][0]['adresse_ligne2'],$DB_TAB[$eleve_id][0]['adresse_ligne3'],$DB_TAB[$eleve_id][0]['adresse_ligne4'],$DB_TAB[$eleve_id][0]['adresse_postal_code'].' '.$DB_TAB[$eleve_id][0]['adresse_postal_libelle'],$DB_TAB[$eleve_id][0]['adresse_pays_nom'])) : NULL ;
  $tab_coords_resp2 = (isset($DB_TAB[$eleve_id][1])) ? array_filter(array($tab_civilite[$DB_TAB[$eleve_id][1]['user_genre']].' '.$DB_TAB[$eleve_id][1]['user_nom'].' '.$DB_TAB[$eleve_id][1]['user_prenom'],$DB_TAB[$eleve_id][1]['adresse_ligne1'],$DB_TAB[$eleve_id][1]['adresse_ligne2'],$DB_TAB[$eleve_id][1]['adresse_ligne3'],$DB_TAB[$eleve_id][1]['adresse_ligne4'],$DB_TAB[$eleve_id][1]['adresse_postal_code'].' '.$DB_TAB[$eleve_id][1]['adresse_postal_libelle'],$DB_TAB[$eleve_id][1]['adresse_pays_nom'])) : NULL ;
  // La copie du bilan qui sera 'archivée' jusqu'à la fin de l'année scolaire.
  $tab_destinataires[$eleve_id][0] = 'archive' ;
  // Tirage pour le 1er responsable
  $tab_destinataires[$eleve_id][1] = ($_SESSION['OFFICIEL']['INFOS_RESPONSABLES']=='non') ? NULL : $tab_coords_resp1 ;
  // Tirage pour le 2e responsable
  if( ( ($_SESSION['OFFICIEL']['NOMBRE_EXEMPLAIRES']=='deux_de_force') && ($tab_coords_resp2!=NULL) ) || ( ($_SESSION['OFFICIEL']['NOMBRE_EXEMPLAIRES']=='deux_si_besoin') && ($tab_coords_resp2!=NULL) && ( ($tab_coords_resp1==NULL) || (array_slice($tab_coords_resp2,1)!=array_slice($tab_coords_resp1,1)) ) ) )
  {
    $tab_destinataires[$eleve_id][2] = ($_SESSION['OFFICIEL']['INFOS_RESPONSABLES']=='non') ? NULL : $tab_coords_resp2 ;
  }
Exemplo n.º 17
0
    $tab_tbody[$_SESSION['USER_ID']][0] = '';
} else {
    if (!$_SESSION['NB_ENFANTS']) {
        echo '<p class="danger">' . $_SESSION['OPT_PARENT_ENFANTS'] . '</p>' . NL;
        return;
        // Ne pas exécuter la suite de ce fichier inclus.
    }
    foreach ($_SESSION['OPT_PARENT_ENFANTS'] as $tab) {
        $tab_eleve_id[] = $tab['valeur'];
        $tab_tbody[$tab['valeur']][0] = '<th>' . html($tab['texte']) . '</th>';
    }
}
// marqueur mis en session pour vérifier que c'est bien cet utilisateur qui veut voir (et à donc le droit de voir) le fichier, car il n'y a pas d'autre vérification de droit ensuite
$_SESSION['tmp_droit_voir_archive'] = array();
// lister les bilans officiels archivés de l'année courante
$DB_TAB = DB_STRUCTURE_OFFICIEL::DB_lister_bilan_officiel_fichiers('', 0, $tab_eleve_id);
foreach ($DB_TAB as $DB_ROW) {
    if (test_user_droit_specifique($_SESSION['DROIT_' . $tab_types[$DB_ROW['officiel_type']]['droit'] . '_VOIR_ARCHIVE'])) {
        if (is_file(CHEMIN_DOSSIER_OFFICIEL . $_SESSION['BASE'] . DS . fabriquer_nom_fichier_bilan_officiel($DB_ROW['user_id'], $DB_ROW['officiel_type'], $DB_ROW['periode_id']))) {
            $_SESSION['tmp_droit_voir_archive'][$DB_ROW['user_id'] . $DB_ROW['officiel_type']] = TRUE;
            // marqueur mis en session pour vérifier que c'est bien cet utilisateur qui veut voir (et à donc le droit de voir) le fichier, car il n'y a pas d'autre vérification de droit ensuite
            $tab_tbody[$DB_ROW['user_id']][$DB_ROW['periode_id']][] = '<a href="releve_pdf.php?fichier=' . $DB_ROW['user_id'] . '_' . $DB_ROW['officiel_type'] . '_' . $DB_ROW['periode_id'] . '" target="_blank">' . $tab_types[$DB_ROW['officiel_type']]['titre'] . '</a>';
        }
    }
}
// autre boucle pour les fiches brevet (ce n'est pas la même table)
if (test_user_droit_specifique($_SESSION['DROIT_' . $tab_types['brevet']['droit'] . '_VOIR_ARCHIVE'])) {
    $bilan_type = 'brevet';
    $DB_TAB = DB_STRUCTURE_BREVET::DB_lister_brevet_fichiers(implode(',', $tab_eleve_id));
    foreach ($DB_TAB as $user_id => $tab) {
        if (is_file(CHEMIN_DOSSIER_OFFICIEL . $_SESSION['BASE'] . DS . fabriquer_nom_fichier_bilan_officiel($user_id, $bilan_type, $annee_session_brevet))) {