Esempio n. 1
0
	// Capture des mouvements de la souris et affichage des cadres d'info
	// Remonté pour éviter/limiter des erreurs JavaScript lors du chargement...
	//echo "<script type='text/javascript' src='cadre_info.js'></script>\n";
	// On utilise maintenant /lib/position.js




	//==========================================================
	//        Dispositif de restriction des accès aux appréciations pour les comptes responsables/eleves
	unset($tab_acces_app);
	$tab_acces_app=array();

	if(($_SESSION['statut']=='eleve')||($_SESSION['statut']=='responsable')) {
		$tab_acces_app=acces_appreciations(1, $nb_periode, $id_classe, $_SESSION['statut']);
	}
	else {
		// Pas de limitations d'accès pour les autres statuts.
		for($i=1;$i<=$nb_periode;$i++) {
			$tab_acces_app[$i]="y";
		}
	}
	//==========================================================




	if(isset($_POST['type_graphe'])) {

		//echo "\$_POST['type_graphe']=".$_POST['type_graphe']."<br />\n";
Esempio n. 2
0
	//=================================
	// 20121118
	if(($_SESSION['statut']!='eleve')&&($_SESSION['statut']!='responsable')&&
	((getSettingAOui('GepiAccesBulletinSimpleParent'))||
	(getSettingAOui('GepiAccesGraphParent'))||
	(getSettingAOui('GepiAccesBulletinSimpleEleve'))||
	(getSettingAOui('GepiAccesGraphEleve')))) {
		echo "<p><em>Note&nbsp;:</em> ";

		$date_du_jour=strftime("%d/%m/%Y");
		// Si les parents ont accès aux bulletins ou graphes,... on va afficher un témoin
		$tab_acces_app_classe=array();
		// L'accès est donné à la même date pour parents et responsables.
		// On teste seulement pour les parents
		$date_ouverture_acces_app_classe=array();
		$tab_acces_app_classe[$id_classe]=acces_appreciations(1, $nb_periode-1, $id_classe, 'responsable');

		$acces_app_ele_resp=getSettingValue('acces_app_ele_resp');
		if($acces_app_ele_resp=='manuel') {
			$msg_acces_app_ele_resp="Les appréciations seront visibles après une intervention manuelle d'un compte de statut 'scolarité'.";
		}
		elseif($acces_app_ele_resp=='date') {
			$chaine_date_ouverture_acces_app_classe="";
			for($loop=0;$loop<count($date_ouverture_acces_app_classe);$loop++) {
				if($loop>0) {
					$chaine_date_ouverture_acces_app_classe.=", ";
				}
				$chaine_date_ouverture_acces_app_classe.=$date_ouverture_acces_app_classe[$loop];
			}
			if($chaine_date_ouverture_acces_app_classe=="") {$chaine_date_ouverture_acces_app_classe="Aucune date n'est encore précisée.
		Peut-être devriez-vous en poser la question à l'administration de l'établissement.";}
function bulletin_classe($tab_moy, $total, $periode1, $periode2, $nom_periode, $gepiYear, $id_classe, $test_coef, $affiche_categories, $couleur_lignes = NULL)
{
    global $nb_notes, $nombre_eleves, $type_etablissement, $type_etablissement2;
    global $affiche_colonne_moy_classe;
    //$affiche_colonne_moy_classe="n";
    // 20121209
    global $avec_moy_min_max_classe;
    //global $avec_rapport_effectif;
    $avec_rapport_effectif = "y";
    $alt = 1;
    // données requises :
    //- $total : nombre total d'élèves
    //- $periode1 : numéro de la première période à afficher
    //- $periode2 : numéro de la dernière période à afficher
    //- $nom_periode : tableau des noms de période
    //- $gepiYear : année
    //- $id_classe : identifiant de la classe.
    //====================
    $affiche_coef = sql_query1("SELECT display_coef FROM classes WHERE id='" . $id_classe . "'");
    //echo "\$affiche_coef=$affiche_coef<br />\n";
    //====================
    //=========================
    // AJOUT: boireaus 20080316
    //global $tab_moy_gen;
    //global $tab_moy_cat_classe;
    global $display_moy_gen;
    //=========================
    global $affiche_deux_moy_gen;
    global $bull_simp_larg_tab, $bull_simp_larg_col1, $bull_simp_larg_col2, $bull_simp_larg_col3, $bull_simp_larg_col4;
    //echo "\$affiche_categories=$affiche_categories<br />";
    if (!getSettingValue("bull_intitule_app")) {
        $bull_intitule_app = "Appréciations/Conseils";
    } else {
        $bull_intitule_app = getSettingValue("bull_intitule_app");
    }
    $nb_periodes = $periode2 - $periode1 + 1;
    //============================
    // Liste des profs principaux:
    $data_profsuivi = mysqli_query($GLOBALS["mysqli"], "SELECT DISTINCT u.login FROM utilisateurs u, j_eleves_professeurs j WHERE (j.professeur = u.login AND j.id_classe='{$id_classe}') ");
    $current_profsuivi_login = array();
    if (mysqli_num_rows($data_profsuivi) > 0) {
        while ($lig_profsuivi = mysqli_fetch_object($data_profsuivi)) {
            $current_profsuivi_login[] = $lig_profsuivi->login;
        }
    }
    //============================
    unset($tab_acces_app);
    $tab_acces_app = array();
    $tab_acces_app = acces_appreciations($periode1, $periode2, $id_classe);
    $call_classe = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM classes WHERE id='{$id_classe}'");
    $classe = old_mysql_result($call_classe, 0, "classe");
    //-------------------------------
    // On affiche l'en-tête : Les données de la classe
    //-------------------------------
    echo "<span class='bull_simpl'><span class='bold'>Classe de {$classe}</span>";
    echo ", année scolaire {$gepiYear}<br />\n";
    if ($periode1 < $periode2) {
        echo "Résultats de : ";
        $nb = $periode1;
        while ($nb < $periode2 + 1) {
            echo $nom_periode[$nb];
            if ($nb < $periode2) {
                echo " - ";
            }
            $nb++;
        }
        echo ".</span>";
    } else {
        $temp = my_strtolower($nom_periode[$periode1]);
        echo "Résultats du {$temp}.</span>";
    }
    //
    //-------------------------------
    // Fin de l'en-tête
    //echo "\$test_coef=$test_coef<br />";
    // On initialise le tableau :
    $bull_simp_larg_tab_defaut = 680;
    $bull_simp_larg_col1_defaut = 120;
    $bull_simp_larg_col2_defaut = 38;
    $bull_simp_larg_col3_defaut = 38;
    $bull_simp_larg_col4_defaut = 20;
    $larg_tab = $bull_simp_larg_tab_defaut;
    $larg_col1 = $bull_simp_larg_col1_defaut;
    $larg_col2 = $bull_simp_larg_col3_defaut;
    $larg_col3 = $bull_simp_larg_col3_defaut;
    $larg_col4 = $bull_simp_larg_col4_defaut;
    if (preg_match("/^[0-9]{1,}\$/", $bull_simp_larg_tab)) {
        $larg_tab = $bull_simp_larg_tab;
    }
    if (preg_match("/^[0-9]{1,}\$/", $bull_simp_larg_col1)) {
        $larg_col1 = $bull_simp_larg_col1;
    }
    if (preg_match("/^[0-9]{1,}\$/", $bull_simp_larg_col2)) {
        $larg_col2 = $bull_simp_larg_col2;
    }
    if (preg_match("/^[0-9]{1,}\$/", $bull_simp_larg_col3)) {
        $larg_col3 = $bull_simp_larg_col3;
    }
    if (preg_match("/^[0-9]{1,}\$/", $bull_simp_larg_col4)) {
        $larg_col4 = $bull_simp_larg_col4;
    }
    if ($bull_simp_larg_tab < $bull_simp_larg_col1 + $bull_simp_larg_col2 + $bull_simp_larg_col3 + $bull_simp_larg_col4) {
        $larg_tab = $bull_simp_larg_tab_defaut;
        $larg_col1 = $bull_simp_larg_col1_defaut;
        $larg_col2 = $bull_simp_larg_col2_defaut;
        $larg_col3 = $bull_simp_larg_col3_defaut;
        $larg_col4 = $bull_simp_larg_col4_defaut;
    }
    $larg_col5 = $larg_tab - $larg_col1 - $larg_col2 - $larg_col3 - $larg_col4;
    //echo "<table width=$larg_tab border=1 cellspacing=1 cellpadding=1>\n";
    echo "<table width='{$larg_tab}' class='boireaus' cellspacing='1' cellpadding='1' summary=''>\n";
    echo "<tr><td width=\"{$larg_col1}\" class='bull_simpl'>{$total} élèves";
    echo "</td>\n";
    //====================
    if ($affiche_coef == 'y') {
        if ($test_coef != 0) {
            echo "<td width=\"{$larg_col2}\" align=\"center\"><p class='bull_simpl'>Coef.</p></td>\n";
        }
    }
    //====================
    if ($avec_rapport_effectif == "y") {
        echo "<td width=\"{$larg_col2}\" align=\"center\" class='bull_simpl'>Effectif</td>\n";
    }
    if ($affiche_colonne_moy_classe != 'n') {
        echo "<td width=\"{$larg_col2}\" align=\"center\" class='bull_simpl'>Classe</td>\n";
    }
    echo "<td width=\"{$larg_col5}\" class='bull_simpl'>{$bull_intitule_app}</td></tr>\n";
    // Récupération des noms de categories
    $get_cat = mysqli_query($GLOBALS["mysqli"], "SELECT id FROM matieres_categories");
    $categories = array();
    while ($row = mysqli_fetch_array($get_cat, MYSQLI_ASSOC)) {
        $categories[] = $row["id"];
    }
    $cat_names = array();
    foreach ($categories as $cat_id) {
        $cat_names[$cat_id] = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT nom_complet FROM matieres_categories WHERE id = '" . $cat_id . "'"), 0);
    }
    // Nombre de groupes sur la classe
    $nombre_groupes = count($tab_moy['current_group']);
    $prev_cat_id = null;
    //while ($j < $nombre_groupes) {
    for ($j = 0; $j < $nombre_groupes; $j++) {
        $inser_ligne = 'no';
        // On récupère le groupe depuis $tab_moy
        $current_group = $tab_moy['current_group'][$j];
        $ligne_groupe_visible = "y";
        if ($_SESSION['statut'] == 'eleve') {
            $sql = "SELECT 1=1 FROM j_eleves_groupes WHERE id_groupe='" . $current_group['id'] . "' AND login='******'login'] . "';";
            $test_grp = mysqli_query($GLOBALS["mysqli"], $sql);
            if (mysqli_num_rows($test_grp) == 0) {
                $ligne_groupe_visible = "n";
            }
        } elseif ($_SESSION['statut'] == 'responsable') {
            $sql = "SELECT 1=1 FROM j_eleves_groupes WHERE id_groupe='" . $current_group['id'] . "' AND login IN (SELECT e.login FROM eleves e, resp_pers rp, responsables2 r WHERE e.ele_id=r.ele_id AND rp.pers_id=r.pers_id AND (r.resp_legal='1' OR r.resp_legal='2') AND rp.login='******'login'] . "');";
            //echo "$sql<br />";
            $test_grp = mysqli_query($GLOBALS["mysqli"], $sql);
            if (mysqli_num_rows($test_grp) == 0) {
                $ligne_groupe_visible = "n";
            }
        }
        if ($ligne_groupe_visible == 'y') {
            // Coefficient pour le groupe
            $current_coef = $current_group["classes"]["classes"][$id_classe]["coef"];
            $current_matiere_professeur_login = $current_group["profs"]["list"];
            //$current_matiere_nom_complet = $current_group["matiere"]["nom_complet"];
            if (getSettingValue('bul_rel_nom_matieres') == 'nom_groupe') {
                $current_matiere_nom_complet = $current_group["name"];
            } elseif (getSettingValue('bul_rel_nom_matieres') == 'description_groupe') {
                $current_matiere_nom_complet = $current_group["description"];
            } else {
                $current_matiere_nom_complet = $current_group["matiere"]["nom_complet"];
            }
            //echo "\$current_matiere_nom_complet=$current_matiere_nom_complet<br />\n";
            $nb = $periode1;
            while ($nb < $periode2 + 1) {
                $current_classe_matiere_moyenne[$nb] = $tab_moy['periodes'][$nb]['current_classe_matiere_moyenne'][$j];
                // 20121209
                $moy_min_classe_grp[$nb] = $tab_moy['periodes'][$nb]['moy_min_classe_grp'][$j];
                $moy_max_classe_grp[$nb] = $tab_moy['periodes'][$nb]['moy_max_classe_grp'][$j];
                // On teste si des notes de une ou plusieurs boites du carnet de notes doivent être affichées
                $test_cn = mysqli_query($GLOBALS["mysqli"], "select c.nom_court, c.id from cn_cahier_notes cn, cn_conteneurs c\n\t\t\twhere (cn.periode = '{$nb}' and cn.id_groupe='" . $current_group["id"] . "' and cn.id_cahier_notes = c.id_racine and c.id_racine!=c.id and c.display_bulletin = 1) ");
                $nb_ligne_cn[$nb] = mysqli_num_rows($test_cn);
                $n = 0;
                while ($n < $nb_ligne_cn[$nb]) {
                    $cn_id[$nb][$n] = old_mysql_result($test_cn, $n, 'id');
                    $cn_nom[$nb][$n] = old_mysql_result($test_cn, $n, 'nom_court');
                    $n++;
                }
                //echo "\$nb=$nb<br />\n";
                $nb++;
            }
            $nb = $periode1;
            while ($nb < $periode2 + 1) {
                $current_grp_appreciation_query = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM matieres_appreciations_grp WHERE (id_groupe='" . $current_group["id"] . "' AND periode='{$nb}')");
                $current_grp_appreciation[$nb] = @old_mysql_result($current_grp_appreciation_query, 0, "appreciation");
                //echo "\$current_grp_appreciation[$nb]=$current_grp_appreciation[$nb]<br />\n";
                $nb++;
            }
            if ($affiche_categories) {
                // On regarde si on change de catégorie de matière
                if ($current_group["classes"]["classes"][$id_classe]["categorie_id"] != $prev_cat_id) {
                    $prev_cat_id = $current_group["classes"]["classes"][$id_classe]["categorie_id"];
                    // On est dans une nouvelle catégorie
                    // On récupère les infos nécessaires, et on affiche une ligne
                    // On détermine le nombre de colonnes pour le colspan
                    //$nb_total_cols = 4;
                    if ($affiche_colonne_moy_classe != 'n') {
                        $nb_total_cols = 2;
                    } else {
                        $nb_total_cols = 3;
                    }
                    //====================
                    if ($affiche_coef == 'y') {
                        if ($test_coef != 0) {
                            $nb_total_cols++;
                        }
                    }
                    //====================
                    if ($avec_rapport_effectif == 'y') {
                        $nb_total_cols++;
                    }
                    //====================
                    // On regarde s'il faut afficher la moyenne de l'élève pour cette catégorie
                    $affiche_cat_moyenne_query = mysqli_query($GLOBALS["mysqli"], "SELECT affiche_moyenne FROM j_matieres_categories_classes WHERE (classe_id = '" . $id_classe . "' and categorie_id = '" . $prev_cat_id . "')");
                    if (mysqli_num_rows($affiche_cat_moyenne_query) == "0") {
                        $affiche_cat_moyenne = false;
                    } else {
                        $affiche_cat_moyenne = old_mysql_result($affiche_cat_moyenne_query, 0);
                    }
                    // On a toutes les infos. On affiche !
                    echo "<tr>\n";
                    echo "<td colspan='" . $nb_total_cols . "'>\n";
                    echo "<p style='padding: 0; margin:0; font-size: 10px;'>" . $cat_names[$prev_cat_id] . "</p></td>\n";
                    echo "</tr>\n";
                }
            }
            //echo "<tr>\n";
            if ($couleur_lignes == 'y') {
                $alt = $alt * -1;
                echo "<tr class='lig{$alt}'>\n";
                $alt2 = $alt;
            } else {
                echo "<tr>\n";
            }
            echo "<td ";
            if ($nb_periodes > 1) {
                echo " rowspan= " . $nb_periodes;
            }
            //echo" width=\"$larg_col1\" class='bull_simpl'><b>$current_matiere_nom_complet</b>";
            echo " width=\"{$larg_col1}\" class='bull_simpl'><b>" . htmlspecialchars($current_matiere_nom_complet) . "</b>";
            $k = 0;
            while ($k < count($current_matiere_professeur_login)) {
                echo "<br /><i>" . affiche_utilisateur($current_matiere_professeur_login[$k], $id_classe) . "</i>";
                $k++;
            }
            echo "</td>\n";
            //====================
            if ($affiche_coef == 'y') {
                if ($test_coef != 0) {
                    $print_coef = number_format($current_coef, 1, ',', ' ');
                    echo "<td width=\"{$larg_col2}\"";
                    if ($nb_periodes > 1) {
                        echo " rowspan= " . $nb_periodes;
                    }
                    echo " align=\"center\"><p class='bull_simpl'>" . $print_coef . "</p></td>\n";
                }
            }
            //====================
            $nb = $periode1;
            $print_tr = 'no';
            while ($nb < $periode2 + 1) {
                if ($print_tr == 'yes') {
                    //echo "<tr style='border-width: 5px;'>\n";
                    if ($couleur_lignes == 'y') {
                        $alt2 = $alt2 * -1;
                        echo "<tr class='lig{$alt2}' style='border-width: 5px;'>\n";
                    } else {
                        echo "<tr>\n";
                    }
                }
                //=========================
                if ($nb == $periode1) {
                    if ($nb == $periode2) {
                        $style_bordure_cell = "border: 1px solid black";
                    } else {
                        $style_bordure_cell = "border: 1px solid black; border-bottom: 1px dashed black";
                    }
                } elseif ($nb == $periode2) {
                    $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black;";
                } else {
                    $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black; border-bottom: 1px dashed black;";
                }
                //=========================
                if ($avec_rapport_effectif == "y") {
                    //$sql="SELECT 1=1 FROM j_eleves_classes jec,
                    $sql = "SELECT DISTINCT jeg.login FROM j_eleves_classes jec,\n\t\t\t\t\t\t\t\t\tj_eleves_groupes jeg,\n\t\t\t\t\t\t\t\t\tj_groupes_classes jgc\n\t\t\t\t\t\t\t\tWHERE jec.id_classe='{$id_classe}' AND\n\t\t\t\t\t\t\t\t\t\tjec.periode='{$nb}' AND\n\t\t\t\t\t\t\t\t\t\tjec.periode=jeg.periode AND\n\t\t\t\t\t\t\t\t\t\tjec.login=jeg.login AND\n\t\t\t\t\t\t\t\t\t\tjeg.id_groupe=jgc.id_groupe AND\n\t\t\t\t\t\t\t\t\t\tjeg.id_groupe='" . $current_group["id"] . "';";
                    //$sql0=$sql;
                    $res_effectif = mysqli_query($GLOBALS["mysqli"], $sql);
                    $effectif_grp_classe = mysqli_num_rows($res_effectif);
                    $sql = "SELECT 1=1 FROM j_eleves_groupes jeg\n\t\t\t\t\t\t\t\tWHERE jeg.periode='{$nb}' AND\n\t\t\t\t\t\t\t\t\t\tjeg.id_groupe='" . $current_group["id"] . "';";
                    $res_effectif_tot = mysqli_query($GLOBALS["mysqli"], $sql);
                    $effectif_grp_total = mysqli_num_rows($res_effectif_tot);
                    echo "<td width=\"{$larg_col2}\" align=\"center\" class='bull_simpl' style='{$style_bordure_cell}'>";
                    //echo "$sql0<br /><br />";
                    //echo "$sql<br /><br />";
                    if ($effectif_grp_classe == $effectif_grp_total) {
                        echo $effectif_grp_classe . '&nbsp;él.';
                    } else {
                        echo "{$effectif_grp_classe}&nbsp;él. /{$effectif_grp_total}";
                    }
                    echo "</td>\n";
                }
                if ($affiche_colonne_moy_classe != 'n') {
                    echo "<td width=\"{$larg_col2}\" align=\"center\" class='bull_simpl' style='{$style_bordure_cell}'>\n";
                    // 20121209
                    //$note=number_format($current_classe_matiere_moyenne[$nb],1, ',', ' ');
                    $note = nf($current_classe_matiere_moyenne[$nb]);
                    if ($note != "0,0") {
                        if ($avec_moy_min_max_classe == 'y') {
                            echo "<span title=\"Moyenne minimale sur l'enseignement\">" . nf($moy_min_classe_grp[$nb]) . "</span> ";
                        }
                        echo "<span style='font-weight:bold' title=\"Moyenne du groupe sur l'enseignement\">" . $note . "</span>";
                        if ($avec_moy_min_max_classe == 'y') {
                            echo " <span title=\"Moyenne maximale sur l'enseignement\">" . nf($moy_max_classe_grp[$nb]) . "</span>";
                        }
                    } else {
                        echo "-";
                    }
                    echo "</td>\n";
                }
                // Affichage des cases appréciations
                echo "<td width=\"{$larg_col5}\" class='bull_simpl' style='text-align:left; {$style_bordure_cell}'>\n";
                //if ($current_grp_appreciation[$nb]) {
                if ($current_grp_appreciation[$nb] && $tab_acces_app[$nb] == "y") {
                    if ($current_grp_appreciation[$nb] == "-1") {
                        echo "<span class='noprint'>-</span>\n";
                    } else {
                        if (strstr($current_grp_appreciation[$nb], ">") || strstr($current_grp_appreciation[$nb], "<")) {
                            echo "{$current_grp_appreciation[$nb]}";
                        } else {
                            echo nl2br($current_grp_appreciation[$nb]);
                        }
                    }
                    //======================================
                } else {
                    echo " -";
                }
                echo "</td></tr>\n";
                $print_tr = 'yes';
                $nb++;
            }
        }
    }
    // Affichage des moyennes générales
    if ($display_moy_gen == "y") {
        if ($test_coef != 0) {
            echo "<tr>\n<td";
            if ($nb_periodes > 1) {
                echo " rowspan=" . $nb_periodes;
            }
            echo ">\n<p class='bull_simpl'><b>Moyenne générale</b></p>\n</td>\n";
            //====================
            if ($affiche_coef == 'y') {
                echo "<td";
                if ($nb_periodes > 1) {
                    echo " rowspan=" . $nb_periodes;
                }
                echo " align=\"center\">-</td>\n";
            }
            //====================
            $nb = $periode1;
            $print_tr = 'no';
            while ($nb < $periode2 + 1) {
                //=============================
                //if($nb==$periode1){echo "<tr>\n";}
                if ($print_tr == 'yes') {
                    echo "<tr style='border-width: 5px;'>\n";
                }
                //=============================
                //=========================
                if ($nb == $periode1) {
                    if ($nb == $periode2) {
                        $style_bordure_cell = "border: 1px solid black";
                    } else {
                        $style_bordure_cell = "border: 1px solid black; border-bottom: 1px dashed black";
                    }
                } elseif ($nb == $periode2) {
                    $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black;";
                } else {
                    $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black; border-bottom: 1px dashed black;";
                }
                //=========================
                if ($avec_rapport_effectif == "y") {
                    $sql = "SELECT 1=1 FROM j_eleves_classes WHERE periode='{$nb}' AND id_classe='{$id_classe}';";
                    $res_eff_classe = mysqli_query($GLOBALS["mysqli"], $sql);
                    echo "<td class='bull_simpl' align=\"center\" style='{$style_bordure_cell}'>\n";
                    //echo "$sql<br />";
                    echo mysqli_num_rows($res_eff_classe) . ' él.';
                    echo "</td>\n";
                }
                if ($affiche_colonne_moy_classe != 'n') {
                    echo "<td class='bull_simpl' align=\"center\" style='{$style_bordure_cell}'>\n";
                    /*
                    if ($total_points_classe[$nb] != 0) {
                    	//$moy_classe=number_format($total_points_classe[$nb]/$total_coef[$nb],1, ',', ' ');
                    	//=========================
                    	// MODIF: boireaus 20080316
                    	//$moy_classe=number_format($total_points_classe[$nb]/$total_coef_classe[$nb],1, ',', ' ');
                    	$moy_classe=$tab_moy_gen[$nb];
                    	//=========================
                    } else {
                    	$moy_classe = '-';
                    }
                    */
                    // 20121209
                    if ($avec_moy_min_max_classe == 'y') {
                        echo "<span title=\"Moyenne générale minimale\">" . nf($tab_moy['periodes'][$nb]['moy_min_classe'], 2) . "</span> ";
                    }
                    echo "<span style='font-weight:bold' title=\"Moyenne des moyennes générales de la classe\">" . nf($tab_moy['periodes'][$nb]['moy_generale_classe'], 2) . "</span>";
                    if ($avec_moy_min_max_classe == 'y') {
                        echo " <span title=\"Moyenne générale maximale\">" . nf($tab_moy['periodes'][$nb]['moy_max_classe'], 2) . "</span>";
                    }
                    if ($affiche_deux_moy_gen == 1) {
                        echo "<br />\n";
                        echo "<i>";
                        /*
                        if($avec_moy_min_max_classe=='y') {
                        	echo "<span title=\"Moyenne générale minimale avec tous les coefficients à 1\">".nf($tab_moy['periodes'][$nb]['moy_min_classe1'],2)."</span> ";
                        }
                        */
                        echo "<span style='font-weight:bold' title=\"Moyenne des moyennes générales de la classe avec tous les coefficients à 1\">" . nf($tab_moy['periodes'][$nb]['moy_generale_classe1']) . "</span>";
                        /*
                        if($avec_moy_min_max_classe=='y') {
                        	echo " <span title=\"Moyenne générale maximale avec tous les coefficients à 1\">".nf($tab_moy['periodes'][$nb]['moy_max_classe1'],2)."</span>";
                        }
                        */
                        echo "</i>\n";
                    }
                    echo "</td>\n";
                }
                /*
                echo "<td class='bull_simpl' align=\"center\">\n";
                if ($total_points_eleve[$nb] != '0') {
                	//$moy_eleve=number_format($total_points_eleve[$nb]/$total_coef[$nb],1, ',', ' ');
                	$moy_eleve=number_format($total_points_eleve[$nb]/$total_coef_eleve[$nb],1, ',', ' ');
                } else {
                	$moy_eleve = '-';
                }
                echo "<b>".$moy_eleve."</b>\n</td>\n";
                if ($affiche_rang == 'y')  {
                	$rang = sql_query1("select rang from j_eleves_classes where (
                	periode = '".$nb."' and
                	id_classe = '".$id_classe."' and
                	login = '******' )
                	");
                	if (($rang == 0) or ($rang == -1)) $rang = "-"; else  $rang .="/".$nombre_eleves;
                		echo "<td class='bull_simpl' align=\"center\">".$rang."</td>\n";
                }
                */
                if ($affiche_categories) {
                    echo "<td class='bull_simpl' style='text-align:left; {$style_bordure_cell}'>\n";
                    foreach ($categories as $cat_id) {
                        // MODIF: boireaus 20070627 ajout du test et utilisation de $total_cat_coef_eleve, $total_cat_coef_classe
                        // Tester si cette catégorie doit avoir sa moyenne affichée
                        $affiche_cat_moyenne_query = mysqli_query($GLOBALS["mysqli"], "SELECT affiche_moyenne FROM j_matieres_categories_classes WHERE (classe_id = '" . $id_classe . "' and categorie_id = '" . $cat_id . "')");
                        if (mysqli_num_rows($affiche_cat_moyenne_query) == "0") {
                            $affiche_cat_moyenne = false;
                        } else {
                            $affiche_cat_moyenne = old_mysql_result($affiche_cat_moyenne_query, 0);
                        }
                        if ($affiche_cat_moyenne) {
                            /*
                            //if ($total_cat_coef[$nb][$cat_id] != "0") {
                            //if ($total_cat_coef_eleve[$nb][$cat_id] != "0") {
                            	//$moy_eleve=number_format($total_cat_eleve[$nb][$cat_id]/$total_cat_coef[$nb][$cat_id],1, ',', ' ');
                            	//$moy_classe=number_format($total_cat_classe[$nb][$cat_id]/$total_cat_coef[$nb][$cat_id],1, ',', ' ');
                            	//$moy_eleve=number_format($total_cat_eleve[$nb][$cat_id]/$total_cat_coef_eleve[$nb][$cat_id],1, ',', ' ');
                            	//echo "\$total_cat_coef_classe[$nb][$cat_id]=".$total_cat_coef_classe[$nb][$cat_id]."<br />";
                            	if ($total_cat_coef_classe[$nb][$cat_id] != "0") {
                            		$moy_classe=number_format($total_cat_classe[$nb][$cat_id]/$total_cat_coef_classe[$nb][$cat_id],1, ',', ' ');
                            	}
                            	else{
                            		$moy_classe="-";
                            	}
                            
                            	//echo $cat_names[$cat_id] . " - <b>$moy_eleve</b> (classe : " . $moy_classe . ")<br/>\n";
                            	echo $cat_names[$cat_id] . " - <b>$moy_classe</b><br />\n";
                            //}
                            */
                            $moy_classe = "-";
                            $loop_i = 0;
                            while ($loop_i < count($tab_moy['periodes'][$nb]['current_eleve_login'])) {
                                if (isset($tab_moy['periodes'][$nb]['moy_cat_classe'][$loop_i][$cat_id])) {
                                    $moy_classe = $tab_moy['periodes'][$nb]['moy_cat_classe'][$loop_i][$cat_id];
                                    break;
                                }
                                $loop_i++;
                            }
                            echo $cat_names[$cat_id] . " - <b>" . nf($moy_classe, 2) . "</b><br/>\n";
                        }
                    }
                    echo "</td>\n</tr>\n";
                } else {
                    echo "<td class='bull_simpl' style='text-align:left; {$style_bordure_cell}'>-</td>\n</tr>\n";
                }
                $nb++;
                $print_tr = 'yes';
            }
        }
    }
    echo "</table>\n";
    /*
    // Les absences
    
    echo "<table width=$larg_tab border=1 cellspacing=1 cellpadding=1>\n";
    $nb=$periode1;
    while ($nb < $periode2+1) {
    	$current_eleve_absences_query = mysql_query("SELECT * FROM absences WHERE (login='******' AND periode='$nb')");
    	$eleve_abs[$nb] = @old_mysql_result($current_eleve_absences_query, 0, "nb_absences");
    	$eleve_abs_nj[$nb] = @old_mysql_result($current_eleve_absences_query, 0, "non_justifie");
    	$eleve_retards[$nb] = @old_mysql_result($current_eleve_absences_query, 0, "nb_retards");
    	$current_eleve_appreciation_absences = @old_mysql_result($current_eleve_absences_query, 0, "appreciation");
    	if (($eleve_abs[$nb] != '') and ($eleve_abs_nj[$nb] != '')) {
    		$eleve_abs_j[$nb] = $eleve_abs[$nb]-$eleve_abs_nj[$nb];
    	} else {
    		$eleve_abs_j[$nb] = "?";
    	}
    	$eleve_app_abs[$nb] = @old_mysql_result($current_eleve_absences_query, 0, "appreciation");
    	if ($eleve_abs_nj[$nb] == '') { $eleve_abs_nj[$nb] = "?"; }
    	if ($eleve_retards[$nb] == '') { $eleve_retards[$nb] = "?"; }
    	echo "<tr>\n<td valign=top class='bull_simpl'>$nom_periode[$nb]</td>\n";
    	echo "<td valign=top class='bull_simpl'>\n";
    	if ($eleve_abs_j[$nb] == "1") {
    		echo "Absences justifiées : une demi-journée";
    	} else if ($eleve_abs_j[$nb] != "0") {
    		echo "Absences justifiées : $eleve_abs_j[$nb] demi-journées";
    	} else {
    		echo "Aucune absence justifiée";
    	}
    	echo "</td>\n";
    	echo "<td valign=top class='bull_simpl'>\n";
    	if ($eleve_abs_nj[$nb] == '1') {
    		echo "Absences non justifiées : une demi-journée";
    	} else if ($eleve_abs_nj[$nb] != '0') {
    		echo "Absences non justifiées : $eleve_abs_nj[$nb] demi-journées";
    	} else {
    		echo "Aucune absence non justifiée";
    	}
    	echo "</td>\n";
    	echo "<td valign=top class='bull_simpl'>Nb. de retards : $eleve_retards[$nb]</td>\n</tr>\n";
    	//Ajout Eric
    	if ($current_eleve_appreciation_absences != "") {
    	echo "<tr>\n";
    	echo "<td valign=top class='bull_simpl'>&nbsp;</td>\n";
    	echo "<td valign=top class='bull_simpl' colspan=\"3\">";
    	echo " Observation(s) : $current_eleve_appreciation_absences</td>\n</tr>\n";
    	}
    
    	$nb++;
    }
    echo "</table>\n";
    */
    // Maintenant, on met l'avis du conseil de classe :
    echo "<span class='bull_simpl'><b>Avis du conseil de classe </b> ";
    $gepi_prof_suivi = ucfirst(retourne_denomination_pp($id_classe));
    /*
    if ($current_eleve_profsuivi_login) {
    	echo "<b>(".ucfirst(getSettingValue("gepi_prof_suivi"))." : <i>".affiche_utilisateur($current_eleve_profsuivi_login,$id_classe)."</i>)</b>";
    }
    */
    if (empty($current_profsuivi_login)) {
        //echo "Pas de $gepi_prof_suivi désigné.";
        //echo "(-)";
        echo "";
    } else {
        echo "<b>({$gepi_prof_suivi} <i>";
        for ($loop = 0; $loop < count($current_profsuivi_login); $loop++) {
            if ($loop > 0) {
                echo ", ";
            }
            echo affiche_utilisateur($current_profsuivi_login[$loop], $id_classe);
        }
        echo "</i></b>)";
    }
    echo " :</span>\n";
    $larg_col1b = $larg_tab - $larg_col1;
    echo "<table width=\"{$larg_tab}\" class='boireaus' cellspacing='1' cellpadding='1' summary=''>\n";
    $nb = $periode1;
    while ($nb < $periode2 + 1) {
        $sql = "SELECT * FROM synthese_app_classe WHERE (id_classe='{$id_classe}' AND periode='{$nb}');";
        //echo "$sql<br />";
        $res_current_synthese = mysqli_query($GLOBALS["mysqli"], $sql);
        $current_synthese[$nb] = @old_mysql_result($res_current_synthese, 0, "synthese");
        if ($current_synthese[$nb] == '') {
            $current_synthese[$nb] = ' -';
        }
        //=========================
        if ($nb == $periode1) {
            if ($nb == $periode2) {
                $style_bordure_cell = "border: 1px solid black";
            } else {
                $style_bordure_cell = "border: 1px solid black; border-bottom: 1px dashed black";
            }
        } elseif ($nb == $periode2) {
            $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black;";
        } else {
            $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black; border-bottom: 1px dashed black;";
        }
        //=========================
        echo "<tr>\n<td valign=\"top\" width =\"{$larg_col1}\" class='bull_simpl' style='{$style_bordure_cell}'>{$nom_periode[$nb]}</td>\n";
        echo "<td valign=\"top\" width = \"{$larg_col1b}\" class='bull_simpl' style='text-align:left; {$style_bordure_cell}'>";
        if ($tab_acces_app[$nb] == "y") {
            echo nl2br($current_synthese[$nb]);
        }
        echo "</td>\n";
        //=====================
        echo "</tr>\n";
        //=====================
        $nb++;
    }
    echo "</table>\n";
}
Esempio n. 4
0
	<div id="debug_fixe" style="position: fixed; bottom: 20%; right: 5%;"></div>

	</form>
	<?php 
    if ($acces_impression_bulletin) {
        echo "<p style='margin-bottom:1em;'><a href='../bulletin/bull_index.php?mode_bulletin=" . $type_bulletin_par_defaut . $chaine_intercaler_releve_notes . "&type_bulletin=-1&choix_periode_num=fait&valide_select_eleves=y&tab_selection_ele_0_0[0]=" . $current_eleve_login . "&tab_id_classe[0]=" . $id_classe . "&tab_periode_num[0]=" . $periode_num . "' target='_blank' title=\"Voir/imprimer le bulletin " . casse_mot($type_bulletin_par_defaut, "maj") . " de la période " . $periode_num . ".\n\nSi vous avez modifié l'avis du conseil de classe, il faut enregistrer avant de suivre ce lien.\"><img src='../images/icons/print.png' class='icone16' alt='Imprimer' /> Imprimer le bulletin de période " . $periode_num . " pour cet élève</a>.</p>";
    }
    if (getSettingAOui('GepiAccesBulletinSimpleParent') || getSettingAOui('GepiAccesGraphParent') || getSettingAOui('GepiAccesBulletinSimpleEleve') || getSettingAOui('GepiAccesGraphEleve')) {
        $date_du_jour = strftime("%d/%m/%Y");
        // Si les parents ont accès aux bulletins ou graphes,... on va afficher un témoin
        $tab_acces_app_classe = array();
        // L'accès est donné à la même date pour parents et responsables.
        // On teste seulement pour les parents
        $date_ouverture_acces_app_classe = array();
        $tab_acces_app_classe[$id_classe] = acces_appreciations($periode_num, $periode_num, $id_classe, 'responsable');
        $acces_app_ele_resp = getSettingValue('acces_app_ele_resp');
        if ($acces_app_ele_resp == 'manuel') {
            $msg_acces_app_ele_resp = "Les appréciations seront visibles après une intervention manuelle d'un compte de statut 'scolarité'.";
        } elseif ($acces_app_ele_resp == 'date') {
            $chaine_date_ouverture_acces_app_classe = "";
            for ($loop = 0; $loop < count($date_ouverture_acces_app_classe); $loop++) {
                if ($loop > 0) {
                    $chaine_date_ouverture_acces_app_classe .= ", ";
                }
                $chaine_date_ouverture_acces_app_classe .= $date_ouverture_acces_app_classe[$loop];
            }
            if ($chaine_date_ouverture_acces_app_classe == "") {
                $chaine_date_ouverture_acces_app_classe = "Aucune date n'est encore précisée.\n\t\t\tPeut-être devriez-vous en poser la question à l'administration de l'établissement.";
            }
            $msg_acces_app_ele_resp = "Les appréciations seront visibles soit à une date donnée (" . $chaine_date_ouverture_acces_app_classe . ").";
Esempio n. 5
0
/*
if($_SESSION['statut']=="secours") {
	$acces_bull_simp='y';
}
*/
//=================================
//=================================
// 20121118
$date_du_jour = strftime("%d/%m/%Y");
// Si les parents ont accès aux bulletins ou graphes,... on va afficher un témoin
$tab_acces_app_classe = array();
foreach ($current_group["classes"]["list"] as $key => $value) {
    // L'accès est donné à la même date pour parents et responsables.
    // On teste seulement pour les parents
    $date_ouverture_acces_app_classe = array();
    $tab_acces_app_classe[$value] = acces_appreciations(1, count($current_group["periodes"]), $value, 'responsable');
}
$acces_app_ele_resp = getSettingValue('acces_app_ele_resp');
if ($acces_app_ele_resp == 'manuel') {
    $msg_acces_app_ele_resp = "Les appréciations seront visibles après une intervention manuelle d'un compte de statut 'scolarité'.";
} elseif ($acces_app_ele_resp == 'date') {
    $chaine_date_ouverture_acces_app_classe = "";
    for ($loop = 0; $loop < count($date_ouverture_acces_app_classe); $loop++) {
        if ($loop > 0) {
            $chaine_date_ouverture_acces_app_classe .= ", ";
        }
        $chaine_date_ouverture_acces_app_classe .= $date_ouverture_acces_app_classe[$loop];
    }
    if ($chaine_date_ouverture_acces_app_classe == "") {
        $chaine_date_ouverture_acces_app_classe = "Aucune date n'est encore précisée.\nPeut-être devriez-vous en poser la question à l'administration de l'établissement.";
    }
Esempio n. 6
0
function affiche_aid_simple($affiche_rang, $test_coef, $indice_aid, $aid_id, $current_eleve_login, $periode1, $periode2, $id_classe, $style_bulletin, $affiche_coef)
{
    global $affiche_colonne_moy_classe;
    unset($tab_acces_app);
    $tab_acces_app = array();
    $tab_acces_app = acces_appreciations($periode1, $periode2, $id_classe);
    $nb_periodes = $periode2 - $periode1 + 1;
    $call_data = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM aid_config WHERE indice_aid = '{$indice_aid}'");
    $AID_NOM = @old_mysql_result($call_data, 0, "nom");
    $note_max = @old_mysql_result($call_data, 0, "note_max");
    $type_note = @old_mysql_result($call_data, 0, "type_note");
    $display_begin = @old_mysql_result($call_data, 0, "display_begin");
    $display_end = @old_mysql_result($call_data, 0, "display_end");
    $bull_simplifie = @old_mysql_result($call_data, 0, "bull_simplifie");
    // On vérifie que cette AID soit autorisée à l'affichage dans le bulletin simplifié
    if ($bull_simplifie == "n") {
        return "";
    }
    $aid_nom_query = mysqli_query($GLOBALS["mysqli"], "SELECT nom FROM aid WHERE (id='{$aid_id}' and indice_aid='{$indice_aid}')");
    $aid_nom = @old_mysql_result($aid_nom_query, 0, "nom");
    //------
    // On regarde maintenant quels sont les profs responsables de cette AID
    $aid_prof_resp_query = mysqli_query($GLOBALS["mysqli"], "SELECT id_utilisateur FROM j_aid_utilisateurs WHERE (id_aid='{$aid_id}' and indice_aid='{$indice_aid}')");
    $nb_lig = mysqli_num_rows($aid_prof_resp_query);
    $n = '0';
    while ($n < $nb_lig) {
        $aid_prof_resp_login[$n] = old_mysql_result($aid_prof_resp_query, $n, "id_utilisateur");
        $n++;
    }
    //------
    // On appelle l'appréciation de l'élève, et sa note le cas échéant
    //------
    $nb = $periode1;
    while ($nb < $periode2 + 1) {
        //=========================
        // AJOUT: boireaus 20080317
        if ($nb == $periode1) {
            if ($nb == $periode2) {
                $style_bordure_cell = "border: 1px solid black";
            } else {
                $style_bordure_cell = "border: 1px solid black; border-bottom: 1px dashed black";
            }
        } elseif ($nb == $periode2) {
            $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black;";
        } else {
            $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black; border-bottom: 1px dashed black;";
        }
        //=========================
        $current_eleve_aid_appreciation_query = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM aid_appreciations WHERE (login='******' AND periode='{$nb}' and id_aid='{$aid_id}' and indice_aid='{$indice_aid}')");
        $eleve_aid_app[$nb] = @old_mysql_result($current_eleve_aid_appreciation_query, 0, "appreciation");
        if ($eleve_aid_app[$nb] == '') {
            $eleve_aid_app[$nb] = ' -';
        }
        $periode_query = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM periodes WHERE id_classe = '{$id_classe}'");
        $periode_max = mysqli_num_rows($periode_query);
        $last_periode_aid = min($periode_max, $display_end);
        if ($type_note == 'every' or $type_note == 'last' and $nb == $last_periode_aid) {
            $current_eleve_aid_note[$nb] = @old_mysql_result($current_eleve_aid_appreciation_query, 0, "note");
            $current_eleve_aid_statut[$nb] = @old_mysql_result($current_eleve_aid_appreciation_query, 0, "statut");
            if ($note_max != 20) {
                $eleve_aid_app[$nb] = "(note sur " . $note_max . ") " . $eleve_aid_app[$nb];
            }
            if ($current_eleve_aid_note[$nb] != '') {
                $current_eleve_aid_note[$nb] = number_format($current_eleve_aid_note[$nb], 1, ',', ' ');
            }
            $aid_note_min_query = mysqli_query($GLOBALS["mysqli"], "SELECT MIN(note) note_min FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '{$id_classe}' and a.statut='' and a.periode = '{$nb}' and j.periode='{$nb}' and a.indice_aid='{$indice_aid}')");
            $aid_note_min[$nb] = @old_mysql_result($aid_note_min_query, 0, "note_min");
            if ($aid_note_min[$nb] == '') {
                $aid_note_min[$nb] = '-';
            }
            $aid_note_max_query = mysqli_query($GLOBALS["mysqli"], "SELECT MAX(note) note_max FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '{$id_classe}' and a.statut='' and a.periode = '{$nb}' and j.periode='{$nb}' and a.indice_aid='{$indice_aid}')");
            $aid_note_max[$nb] = @old_mysql_result($aid_note_max_query, 0, "note_max");
            if ($aid_note_max[$nb] == '') {
                $aid_note_max[$nb] = '-';
            }
            $aid_note_moyenne_query = mysqli_query($GLOBALS["mysqli"], "SELECT round(avg(note),1) moyenne FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '{$id_classe}' and a.statut='' and a.periode = '{$nb}' and j.periode='{$nb}' and a.indice_aid='{$indice_aid}')");
            $aid_note_moyenne[$nb] = @old_mysql_result($aid_note_moyenne_query, 0, "moyenne");
            if ($aid_note_moyenne[$nb] == '') {
                $aid_note_moyenne[$nb] = '-';
            } else {
                $aid_note_moyenne[$nb] = number_format($aid_note_moyenne[$nb], 1, ',', ' ');
            }
        } else {
            $current_eleve_aid_statut[$nb] = '-';
            $current_eleve_aid_note[$nb] = '-';
            $aid_note_min[$nb] = '-';
            $aid_note_max[$nb] = '-';
            $aid_note_moyenne[$nb] = '-';
        }
        $nb++;
    }
    //------
    // On affiche l'appréciation aid :
    //------
    echo "<tr><td ";
    if ($nb_periodes > 1) {
        echo " rowspan= " . $nb_periodes;
    }
    echo " class='{$style_bulletin}' style='{$style_bordure_cell}'><b>{$AID_NOM} : {$aid_nom}</b><br /><i>";
    $n = '0';
    while ($n < $nb_lig) {
        echo affiche_utilisateur($aid_prof_resp_login[$n], $id_classe) . "<br />";
        $n++;
    }
    echo "</i></td>";
    if ($affiche_coef == 'y') {
        if ($test_coef != 0) {
            echo "<td ";
            if ($nb_periodes > 1) {
                echo " rowspan= " . $nb_periodes;
            }
            echo " align=\"center\" style='{$style_bordure_cell}'><p class='" . $style_bulletin . "'>-</p></td>";
        }
    }
    $nb = $periode1;
    $print_tr = 'no';
    while ($nb < $periode2 + 1) {
        if ($print_tr == 'yes') {
            echo "<tr>";
        }
        if ($affiche_colonne_moy_classe != 'n') {
            echo "<td align=\"center\" class='{$style_bulletin}' style='{$style_bordure_cell}'>{$aid_note_moyenne[$nb]}</td>";
        }
        echo "<td align=\"center\" class='{$style_bulletin}' style='{$style_bordure_cell}'><b>";
        // L'élève fait-il partie de la classe pour la période considérée ?
        $test_eleve_app = sql_query1("select count(login) from j_eleves_classes where login='******' and id_classe='" . $id_classe . "' and periode='" . $nb . "'");
        if ($test_eleve_app != 0) {
            if ($current_eleve_aid_statut[$nb] == '') {
                if ($current_eleve_aid_note[$nb] != '') {
                    echo $current_eleve_aid_note[$nb];
                } else {
                    echo "-";
                }
            } else {
                if ($current_eleve_aid_statut[$nb] != 'other') {
                    echo "{$current_eleve_aid_statut[$nb]}";
                } else {
                    echo "-";
                }
            }
        } else {
            echo "-";
        }
        echo "</b></td>";
        if ($affiche_rang == 'y') {
            echo "<td align=\"center\" class='" . $style_bulletin . "' style='{$style_bordure_cell}'>-</td>";
        }
        if ($test_eleve_app != 0) {
            if ($eleve_aid_app[$nb] == '' or $tab_acces_app[$nb] != "y") {
                $eleve_aid_app[$nb] = ' -';
            }
            echo "<td class='{$style_bulletin}' style='text-align:left; {$style_bordure_cell}'>{$eleve_aid_app[$nb]}</td></tr>";
        } else {
            echo "<td class='{$style_bulletin}' style='{$style_bordure_cell}'>-</td></tr>";
        }
        $print_tr = 'yes';
        $nb++;
    }
    //------
}