예제 #1
0
/**
 * Enregistrer les choix mémorisées d'un formulaire.
 * 
 * @param string $page
 * @return void
 */

 public static function save_choix($page)
{
	switch($page)
	{
		case 'cartouche' :
			global $orientation,$couleur,$legende,$marge_min,$cart_contenu,$cart_detail;
			$tab_choix_new = compact('orientation','couleur','legende','marge_min','cart_contenu','cart_detail');
			break;
		case 'grille_referentiel' :
			global $matiere_id,$niveau_id,$type_generique,$type_individuel,$type_synthese,$tableau_tri_objet,$tableau_tri_mode,$only_socle,$aff_coef,$aff_socle,$aff_lien,$cases_nb,$cases_largeur,$remplissage,$colonne_bilan,$colonne_vide,$orientation,$couleur,$legende,$marge_min;
			$tab_choix_new = compact('matiere_id','niveau_id','type_generique','type_individuel','type_synthese','only_socle','aff_coef','aff_socle','aff_lien','cases_nb','cases_largeur','remplissage','colonne_bilan','colonne_vide','orientation','couleur','legende','marge_min');
			break;
		case 'items_matiere' :
			global $matiere_id,$type_individuel,$type_synthese,$type_bulletin,$aff_bilan_MS,$aff_bilan_PA,$aff_conv_sur20,$tableau_tri_objet,$tableau_tri_mode,$retroactif,$only_socle,$aff_coef,$aff_socle,$aff_lien,$aff_domaine,$aff_theme,$cases_nb,$cases_largeur,$orientation,$couleur,$legende,$marge_min,$pages_nb;
			$tab_choix_new = compact('matiere_id','type_individuel','type_synthese','type_bulletin','aff_bilan_MS','aff_bilan_PA','aff_conv_sur20','tableau_tri_objet','tableau_tri_mode','retroactif','only_socle','aff_coef','aff_socle','aff_lien','aff_domaine','aff_theme','cases_nb','cases_largeur','orientation','couleur','legende','marge_min','pages_nb');
			break;
		case 'items_selection' :
			global $type_individuel,$type_synthese,$type_bulletin,$aff_bilan_MS,$aff_bilan_PA,$aff_conv_sur20,$tableau_tri_objet,$tableau_tri_mode,$with_coef,$retroactif,$aff_coef,$aff_socle,$aff_lien,$aff_domaine,$aff_theme,$cases_nb,$cases_largeur,$orientation,$couleur,$legende,$marge_min,$pages_nb;
			$tab_choix_new = compact('type_individuel','type_synthese','type_bulletin','aff_bilan_MS','aff_bilan_PA','aff_conv_sur20','tableau_tri_objet','tableau_tri_mode','with_coef','retroactif','aff_coef','aff_socle','aff_lien','aff_domaine','aff_theme','cases_nb','cases_largeur','orientation','couleur','legende','marge_min','pages_nb');
			break;
		case 'items_multimatiere' :
			global $aff_bilan_MS,$aff_bilan_PA,$aff_conv_sur20,$retroactif,$only_socle,$aff_coef,$aff_socle,$aff_lien,$aff_domaine,$aff_theme,$cases_nb,$cases_largeur,$orientation,$couleur,$legende,$marge_min,$pages_nb;
			$tab_choix_new = compact('aff_bilan_MS','aff_bilan_PA','aff_conv_sur20','retroactif','only_socle','aff_coef','aff_socle','aff_lien','aff_domaine','aff_theme','cases_nb','cases_largeur','orientation','couleur','legende','marge_min','pages_nb');
			break;
		case 'synthese_matiere' :
			global $matiere_id,$mode_synthese,$retroactif,$only_socle,$only_niveau,$aff_coef,$aff_socle,$aff_lien,$aff_start,$couleur,$legende,$marge_min;
			$tab_choix_new = compact('matiere_id','mode_synthese','retroactif','only_socle','only_niveau','aff_coef','aff_socle','aff_lien','aff_start','couleur','legende','marge_min');
			break;
		case 'synthese_multimatiere' :
			global $retroactif,$only_socle,$only_niveau,$aff_coef,$aff_socle,$aff_lien,$aff_start,$couleur,$legende,$marge_min;
			$tab_choix_new = compact('retroactif','only_socle','only_niveau','aff_coef','aff_socle','aff_lien','aff_start','couleur','legende','marge_min');
			break;
		case 'releve_socle' :
			global $palier_id,$only_presence,$aff_coef,$aff_socle,$aff_lien,$aff_start,$aff_socle_PA,$aff_socle_EV,$mode,$couleur,$legende,$marge_min;
			$tab_choix_new = compact('palier_id','only_presence','aff_coef','aff_socle','aff_lien','aff_start','aff_socle_PA','aff_socle_EV','mode','couleur','legende','marge_min');
		case 'synthese_socle' :
			global $palier_id,$type,$mode,$couleur,$legende,$marge_min;
			$tab_choix_new = compact('palier_id','type','mode','couleur','legende','marge_min');
			break;
		case 'matiere' :
			global $matiere_id;
			$tab_choix_new = compact('matiere_id');
			break;
		case 'palier' :
			global $palier_id;
			$tab_choix_new = compact('palier_id');
			break;
		case 'validation_socle_item' :
			global $palier_id,$mode;
			$tab_choix_new = compact('palier_id','mode');
			break;
		default :
			$tab_choix_new = array();
	}
	// Récupération du contenu du "cookie", surchargé avec les choix effectués
	Formulaire::load_choix_memo();
	Formulaire::$tab_choix = array_merge( Formulaire::$tab_choix , $tab_choix_new );
	/*
		Remarque : il y a un problème de serialize avec les type float : voir http://fr2.php.net/manual/fr/function.serialize.php#85988
		Dans ce cas il faut remplacer
		serialize(Formulaire::$tab_choix)
		par
		preg_replace( '/d:([0-9]+(\.[0-9]+)?([Ee][+-]?[0-9]+)?);/e', "'d:'.(round($1,9)).';'", serialize(Formulaire::$tab_choix) );
	*/
	Ecrire_Fichier(Formulaire::$fichier_cookie,serialize(Formulaire::$tab_choix));
}
예제 #2
0
		extract($tab);	// $eleve_id $eleve_nom $eleve_prenom $eleve_id_gepi
		// Si cet élève a été évalué...
		if(isset($tab_eval[$eleve_id]))
		{
			$note         = ($tab_moyenne_scores_eleve[$matiere_id][$eleve_id] !== false)     ? sprintf("%04.1f",$tab_moyenne_scores_eleve[$matiere_id][$eleve_id]/5)                                                           : '-' ;
			$appreciation = ($tab_pourcentage_acquis_eleve[$matiere_id][$eleve_id] !== false) ? $tab_pourcentage_acquis_eleve[$matiere_id][$eleve_id].'% d\'items acquis ('.$tab_infos_acquis_eleve[$matiere_id][$eleve_id].')' : '-' ;
			$bulletin_body     .= '<tr><th>'.html($eleve_nom.' '.$eleve_prenom).'</th><td>'.$note.'</td><td>'.$appreciation.'</td></tr>'."\r\n";
			$note         = str_replace('.',',',$note); // Pour GEPI je remplace le point décimal par une virgule sinon le tableur convertit en date...
			$tab_bulletin_csv_gepi['note_appreciation'] .= $eleve_id_gepi.';'.$note.';'.$appreciation."\r\n";
			$tab_bulletin_csv_gepi['note']              .= $eleve_id_gepi.';'.$note."\r\n";
			$tab_bulletin_csv_gepi['appreciation']      .= $eleve_id_gepi.';'.''   .';'.$appreciation."\r\n";
		}
	}
	$bulletin_head  = '<thead><tr><th>Elè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>'."\r\n";
	$bulletin_body  = '<tbody>'."\r\n".$bulletin_body.'</tbody>'."\r\n";
	$bulletin_foot  = '<tfoot><tr><th>Moyenne '.$info_ponderation_complete.' sur 20</th><th>'.sprintf("%04.1f",$moyenne_moyenne_scores/5).'</th><th>'.$moyenne_pourcentage_acquis.'% d\'items acquis</th></tr></tfoot>'."\r\n";
	$bulletin_html  = '<h1>Bilan disciplinaire</h1>';
	$bulletin_html .= '<h2>'.html($matiere_nom.' - '.$groupe_nom).'</h2>';
	$bulletin_html .= '<h2>Du '.$date_debut.' au '.$date_fin.$date_complement.'</h2>';
	$bulletin_html .= '<h2>Tableau de notes sur 20</h2>';
	$bulletin_html .= '<table id="export20" class="hsort">'."\r\n".$bulletin_head.$bulletin_foot.$bulletin_body.'</table>'."\r\n";
	$bulletin_html .= '<script type="text/javascript">$("#export20").tablesorter({ headers:{2:{sorter:false}} });</script>';
	// On enregistre la sortie HTML et CSV
	Ecrire_Fichier($dossier.str_replace('<REPLACE>','bulletin',$fichier_nom).'.html',$bulletin_html);
	foreach($tab_bulletin_csv_gepi as $format => $bulletin_csv_gepi_contenu)
	{
		Ecrire_Fichier($dossier.str_replace('<REPLACE>','bulletin_'.$format,$fichier_nom).'.csv',utf8_decode($bulletin_csv_gepi_contenu));
	}
}

?>
예제 #3
0
	if($uai)
	{
		// Vérifier que le n°UAI est disponible
		if( DB_WEBMESTRE_tester_structure_UAI($uai) )
		{
			exit('Erreur : numéro UAI déjà utilisé !');
		}
	}
	// Insérer l'enregistrement dans la base du webmestre
	// Créer le fichier de connexion de la base de données de la structure
	// Créer la base de données de la structure
	// Créer un utilisateur pour la base de données de la structure et lui attribuer ses droits
	$base_id = DB_WEBMESTRE_ajouter_structure($base_id=0,$geo_id,$uai,$localisation,$denomination,$contact_nom,$contact_prenom,$contact_courriel);
	// Créer un dossier pour accueillir les vignettes verticales avec l'identité des élèves
	Creer_Dossier('./__tmp/badge/'.$base_id);
	Ecrire_Fichier('./__tmp/badge/'.$base_id.'/index.htm','Circulez, il n\'y a rien à voir par ici !');
	// Lancer les requêtes pour créer et remplir les tables
	charger_parametres_mysql_supplementaires($base_id);
	DB_STRUCTURE_creer_remplir_tables_structure('./_sql/structure/');
	// Il est arrivé que la fonction DB_STRUCTURE_modifier_parametres() retourne une erreur disant que la table n'existe pas.
	// Comme si les requêtes de DB_STRUCTURE_creer_remplir_tables_structure() étaient en cache, et pas encore toutes passées (parcequ'au final, quand on va voir la base, toutes les tables sont bien là).
	// Est-ce que c'est possible au vu du fonctionnement de la classe de connexion ? Et, bien sûr, y a-t-il quelque chose à faire pour éviter ce problème ?
	// En attendant une réponse de SebR, j'ai mis ce sleep(1)... sans trop savoir si cela pouvait aider...
	@sleep(1);
	// Personnaliser certains paramètres de la structure
	$tab_parametres = array();
	$tab_parametres['version_base'] = VERSION_BASE;
	$tab_parametres['uai']          = $uai;
	$tab_parametres['denomination'] = $denomination;
	DB_STRUCTURE_modifier_parametres($tab_parametres);
	// Insérer le compte administrateur dans la base de cette structure
예제 #4
0
	$tab_bad[] =  '1A'; $tab_bon[] = '1 acquise ;';
	$tab_bad[] =   'A'; $tab_bon[] = ' acquises ;';
	// pour str_replace($tab_bad,$tab_bon,$tab_infos_acquis_eleve[$matiere_id][$eleve_id])
	*/
	$bulletin_body = '';
	$bulletin_csv_gepi = 'GEPI_IDENTIFIANT;NOTE;APPRECIATION'."\r\n";	// Ajout du préfixe 'GEPI_' pour éviter un bug avec M$ Excel « SYLK : Format de fichier non valide » (http://support.microsoft.com/kb/323626/fr)
	// Pour chaque élève...
	foreach($tab_eleve as $tab)
	{
		extract($tab);	// $eleve_id $eleve_nom $eleve_prenom $eleve_id_gepi
		$note         = ($tab_moyenne_scores_eleve[$matiere_id][$eleve_id] !== false)          ? sprintf("%04.1f",$tab_moyenne_scores_eleve[$matiere_id][$eleve_id]/5)                                                                             : '-' ;
		$appreciation = ($tab_pourcentage_acquis_eleve[$matiere_id][$eleve_id] !== false) ? $tab_pourcentage_acquis_eleve[$matiere_id][$eleve_id].'% d\'items acquis ('.$tab_infos_acquis_eleve[$matiere_id][$eleve_id].')' : '-' ;
		$bulletin_body     .= '<tr><th>'.html($eleve_nom.' '.$eleve_prenom).'</th><td>'.$note.'</td><td>'.$appreciation.'</td></tr>'."\r\n";
		// Pour gépi je remplace le point décimal par une virgule sinon le tableur convertit en date...
		$bulletin_csv_gepi .= $eleve_id_gepi.';'.str_replace('.',',',$note).';'.$appreciation."\r\n";
	}
	$bulletin_head  = '<thead><tr><th>Elève</th><th>Moyenne pondérée sur 20<br />(des scores d\'acquisitions)</th><th>Élément d\'appréciation<br />(pourcentage d\'items acquis)</th></tr></thead>'."\r\n";
	$bulletin_body  = '<tbody>'."\r\n".$bulletin_body.'</tbody>'."\r\n";
	$bulletin_foot  = '<tfoot><tr><th>Moyenne sur 20</th><th>'.sprintf("%04.1f",$moyenne_moyenne_scores/5).'</th><th>'.$moyenne_pourcentage_acquis.'% d\'items acquis</th></tr></tfoot>'."\r\n";
	$bulletin_html  = '<h1>Bilan disciplinaire</h1>';
	$bulletin_html .= '<h2>'.html($matiere_nom.' - '.$groupe_nom).'</h2>';
	$bulletin_html .= '<h2>Du '.$date_debut.' au '.$date_fin.$date_complement.'</h2>';
	$bulletin_html .= '<h2>Tableau de notes sur 20</h2>';
	$bulletin_html .= '<table id="export20">'."\r\n".$bulletin_head.$bulletin_foot.$bulletin_body.'</table>'."\r\n";
	$bulletin_html .= '<script type="text/javascript">$("#export20").tablesorter({ headers:{2:{sorter:false}} });</script>';
	// On enregistre la sortie HTML et CSV
	Ecrire_Fichier($dossier.$fichier_lien.'_bulletin.html',$bulletin_html);
	Ecrire_Fichier($dossier.$fichier_lien.'_bulletin.csv',utf8_decode($bulletin_csv_gepi));
}

?>
예제 #5
0
파일: index2.php 프로젝트: rhertzog/lcs
	if(is_file($fichier_mysql_config))
	{
		require_once($fichier_mysql_config);
		// DEBUT A compter du 02/08/2010, déplacement du port dans le fichier créé à l'installation. [à retirer dans quelques mois]
		if(!defined('SACOCHE_'.$PATCH.'_BD_PORT'))
		{
			$tab_fichier = scandir($CHEMIN_MYSQL);
			$bad = array( "define('SACOCHE_STRUCTURE_BD_NAME" , "define('SACOCHE_WEBMESTRE_BD_NAME" );
			$bon = array( "define('SACOCHE_STRUCTURE_BD_PORT','3306');	// Port de connexion\r\ndefine('SACOCHE_STRUCTURE_BD_NAME" , "define('SACOCHE_WEBMESTRE_BD_PORT','3306');	// Port de connexion\r\ndefine('SACOCHE_WEBMESTRE_BD_NAME" );
			foreach($tab_fichier as $fichier)
			{
				if( ($fichier!='.') && ($fichier!='..') )
				{
					$fichier_contenu = file_get_contents($CHEMIN_MYSQL.'/'.$fichier);
					$fichier_contenu = str_replace($bad,$bon,$fichier_contenu);
					Ecrire_Fichier($CHEMIN_MYSQL.'/'.$fichier,$fichier_contenu);
				}
			}
			define('SACOCHE_'.$PATCH.'_BD_PORT','3306');	// Port de connexion
		}
		// FIN A compter du 02/08/2010, déplacement du port dans le fichier créé à l'installation. [à retirer dans quelques mois]
		require_once($fichier_class_config);
	}
	elseif($PAGE!='public_installation')
	{
		affich_message_exit($titre='Paramètres BDD manquants',$contenu='Paramètres de connexion à la base de données manquants.<br /><a href="./index.php?page=public_installation">Procédure d\'installation du site SACoche.</a>');
	}
	// DEBUT A compter du 05/12/2010, ajout de paramètres dans le fichier de constantes pour paramétrer cURL. [à retirer dans quelques mois]
	if(!defined('SERVEUR_PROXY_USED') && function_exists('enregistrer_informations_session'))
	{
		fabriquer_fichier_hebergeur_info( array('SERVEUR_PROXY_USED'=>'','SERVEUR_PROXY_NAME'=>'','SERVEUR_PROXY_PORT'=>'','SERVEUR_PROXY_TYPE'=>'','SERVEUR_PROXY_AUTH_USED'=>'','SERVEUR_PROXY_AUTH_METHOD'=>'','SERVEUR_PROXY_AUTH_USER'=>'','SERVEUR_PROXY_AUTH_PASS'=>'') );
예제 #6
0
								}
								$releve_html .= '</tr>'."\r\n";
							}
						}
					}
				}
			}
		}
		$releve_html .= '</table><p />';
	}

	// Chemins d'enregistrement
	$dossier      = './__tmp/export/';
	$fichier_lien = 'grille_niveau_etabl'.$_SESSION['BASE'].'_user'.$_SESSION['USER_ID'].'_'.time();
	// On enregistre les sorties HTML et PDF
	Ecrire_Fichier($dossier.$fichier_lien.'.html',$releve_html);
	$releve_pdf->Output($dossier.$fichier_lien.'.pdf','F');
	// Affichage du résultat
	if($_SESSION['USER_PROFIL']=='eleve')
	{
		echo'<ul class="puce">';
		echo'<li><label class="alerte"><a class="lien_ext" href="'.$dossier.$fichier_lien.'.pdf">Téléchargez au format PDF le fichier généré avec la grille de compétences (selon les options choisies).</a></label></li>';
		echo'</ul><p />';
		echo $releve_html;
	}
	else
	{
		echo'<ul class="puce">';
		echo'<li><a class="lien_ext" href="./releve-html.php?fichier='.$fichier_lien.'">Grille au format HTML (bulles d\'information, liens...).</a></li>';
		echo'<li><a class="lien_ext" href="'.$dossier.$fichier_lien.'.pdf">Grille au format PDF (imprimable).</a></li>';
		echo'</ul><p />';
예제 #7
0
function deleteBOM($file)
{
	$fcontenu = file_get_contents($file);
	if (substr($fcontenu,0,3) == "\xEF\xBB\xBF")	// Ne pas utiliser mb_substr() sinon ça ne fonctionne pas
	{
		Ecrire_Fichier($file, substr($fcontenu,3));	// Ne pas utiliser mb_substr() sinon ça ne fonctionne pas
	}
}
예제 #8
0
			$releve_HTML .= '<table class="bilan" style="width:900px;margin-bottom:0"><tbody>';
			$releve_HTML .= '<tr><th style="width:540px">'.html($tab_matiere[$matiere_id]).'</th>'.affich_barre_synthese_html($width=360,$tab_infos_matiere['total'],$total).'</tr>';
			$releve_HTML .= '</tbody></table>'; // Utilisation de 2 tableaux sinon bugs constatés lors de l'affichage des détails...
			$releve_HTML .= '<table class="bilan" style="width:900px;margin-top:0"><tbody>';
			//  On passe en revue les synthèses...
			unset($tab_infos_matiere['total']);
			foreach($tab_infos_matiere as $synthese_ref => $tab_infos_synthese)
			{
				$tab_infos_synthese = array_filter($tab_infos_synthese,'non_zero'); // Retirer les valeurs nulles
				$total = array_sum($tab_infos_synthese) ; // La somme ne peut être nulle (sinon la matière ne se serait pas affichée)
				$releve_PDF->bilan_synthese_ligne_synthese($tab_synthese[$synthese_ref],$tab_infos_synthese,$total);
				$releve_HTML .= '<tr>'.affich_barre_synthese_html($width=180,$tab_infos_synthese,$total).'<td style="width:720px">';
				$releve_HTML .= '<a href="#" id="to_'.$synthese_ref.'_'.$eleve_id.'"><img src="./_img/toggle_plus.gif" alt="" title="Voir / masquer le détail des items associés." class="toggle" /></a> ';
				$releve_HTML .= html($tab_synthese[$synthese_ref]);
				$releve_HTML .= '<div id="'.$synthese_ref.'_'.$eleve_id.'" class="hide">'.implode('<br />',$tab_infos_detail_synthese[$eleve_id][$synthese_ref]).'</div>';
				$releve_HTML .= '</td></tr>';
			}
			$releve_HTML .= '</tbody></table>';
		}
		if($legende=='oui')
		{
			$releve_PDF->bilan_synthese_legende($format);
			$releve_HTML .= affich_legende_html($note_Lomer=FALSE,$etat_bilan=TRUE);
		}
	}
}
// On enregistre les sorties HTML et PDF
Ecrire_Fichier($dossier.$fichier_nom.'.html',$releve_HTML);
$releve_PDF->Output($dossier.$fichier_nom.'.pdf','F');

?>
예제 #9
0
/**
 * Sauver un cookie avec des options de mise en page pdf
 * 
 * @param string $page
 * @return void
 */

 function save_cookie_select($page)
{
	switch($page)
	{
		case 'cartouche' :
			global $orientation,$couleur,$legende,$marge_min,$cart_contenu,$cart_detail;
			$tab_cookie = compact('orientation','couleur','legende','marge_min','cart_contenu','cart_detail');
			break;
		case 'grille_referentiel' :
			global $orientation,$couleur,$legende,$marge_min,$cases_nb,$cases_largeur,$colonne_vide;
			$tab_cookie = compact('orientation','couleur','legende','marge_min','cases_nb','cases_largeur','colonne_vide');
			break;
		case 'matiere' :
			global $matiere_id;
			$tab_cookie = compact('matiere_id');
			break;
		case 'palier' :
			global $palier_id;
			$tab_cookie = compact('palier_id');
			break;
		case 'releve_synthese' :
			global $couleur,$legende;
			$tab_cookie = compact('couleur','legende');
			break;
		case 'releve_items' :
			global $orientation,$couleur,$legende,$marge_min,$cases_nb,$cases_largeur;
			$tab_cookie = compact('orientation','couleur','legende','marge_min','cases_nb','cases_largeur');
			break;
	}
	// Si le dossier n'existe pas, on le créé (possible car au début tous les Cookies des établissements étaient dans un même dossier commun).
	$dossier_nom = './__tmp/cookie/'.$_SESSION['BASE'];
	if(!is_dir($dossier_nom))
	{
		Creer_Dossier($dossier_nom);
		Ecrire_Fichier($dossier_nom.'/index.htm','Circulez, il n\'y a rien à voir par ici !');
	}
	/*
		Remarque : il y a un problème de serialize avec les type float : voir http://fr2.php.net/manual/fr/function.serialize.php#85988
		Dans ce cas il faut remplacer
		serialize($tab_cookie)
		par
		preg_replace( '/d:([0-9]+(\.[0-9]+)?([Ee][+-]?[0-9]+)?);/e', "'d:'.(round($1,9)).';'", serialize($tab_cookie) );
	*/
	$filename = $dossier_nom.'/user'.$_SESSION['USER_ID'].'_'.$page.'.txt';
	Ecrire_Fichier($filename,serialize($tab_cookie));
}