$valeur ) {
$headers_brut .= $nom . ': ' . $valeur . "\r\n";
}
return $headers_brut;
}
function get_EtudAbs_page($nip, $dept,$beg_date)
{
global $user_agent;
global $sco_user;
global $sco_pw;
global $sco_url;
$end_date=date("Y-m-d");
$donnees = array(
'format' => 'xml',
'code_nip' => $nip,
'__ac_name' => $sco_user,
'__ac_password' => $sco_pw,
'beg_date' => $beg_date,
'end_date' => $end_date);
// Création du contenu brut de la requête
$contenu = http_build_query( $donnees );
// Définition des headers
$headers = http_build_headers( array(
'Content-Type' => 'application/x-www-form-urlencoded',
'Content-Length' => strlen( $contenu) ) );
// Définition du contexte
$options = array( 'http' => array( 'user_agent' => $user_agent,
'method' => 'POST',
'content' => $contenu,
'header' => $headers ) );
// Création du contexte
$contexte = stream_context_create($options);
// Envoi du formulaire POST
$retour = file_get_contents( $sco_url . $dept . '/Scolarite/Absences/XMLgetAbsEtud', false, $contexte );
return ($retour);
}
function get_BilletAbs_list($nip, $dept)
{
global $user_agent;
global $sco_user;
global $sco_pw;
global $sco_url;
$donnees = array(
'format' => 'xml',
'code_nip' => $nip,
'__ac_name' => $sco_user,
'__ac_password' => $sco_pw,
);
// Création du contenu brut de la requête
$contenu = http_build_query( $donnees );
// Définition des headers
$headers = http_build_headers( array(
'Content-Type' => 'application/x-www-form-urlencoded',
'Content-Length' => strlen( $contenu) ) );
// Définition du contexte
$options = array( 'http' => array( 'user_agent' => $user_agent,
'method' => 'POST',
'content' => $contenu,
'header' => $headers ) );
// Création du contexte
$contexte = stream_context_create($options);
//echo $sco_url . $dept . '/Scolarite/Absences/XMLgetBilletsEtud'.
// Envoi du formulaire POST
$retour = file_get_contents( $sco_url . $dept . '/Scolarite/Absences/XMLgetBilletsEtud', false, $contexte );
return ($retour);
}
function Get_EtudAbs_billet($nip, $dept,$begin,$end,$description)
{
global $user_agent;
global $sco_user;
global $sco_pw;
global $sco_url;
$end_date=date("Y-m-d");
$justified="0";
$donnees = array(
'format' => 'xml',
'code_nip' => $nip,
'__ac_name' => $sco_user,
'__ac_password' => $sco_pw,
'description' =>$description,
'justified' =>$justified,
'begin' => $begin,
'end' => $end);
// Création du contenu brut de la requête
$contenu = http_build_query( $donnees );
// Définition des headers
$headers = http_build_headers( array(
'Content-Type' => 'application/x-www-form-urlencoded',
'Content-Length' => strlen( $contenu) ) );
// Définition du contexte
$options = array( 'http' => array( 'user_agent' => $user_agent,
'method' => 'POST',
'content' => $contenu,
'header' => $headers ) );
// Création du contexte
$contexte = stream_context_create($options);
// Envoi du formulaire POST
$retour = file_get_contents( $sco_url . $dept . '/Scolarite/Absences/AddBilletAbsence', false, $contexte );
return ($retour);
}
function get_EtudInfos_page($nip, $dept)
{
global $user_agent;
global $sco_user;
global $sco_pw;
global $sco_url;
$donnees = array(
'code_nip' => $nip,
'__ac_name' => $sco_user,
'__ac_password' => $sco_pw );
// Création du contenu brut de la requête
$contenu = http_build_query( $donnees );
// Définition des headers
$headers = http_build_headers( array(
'Content-Type' => 'application/x-www-form-urlencoded',
'Content-Length' => strlen( $contenu) ) );
// Définition du contexte
$options = array( 'http' => array( 'user_agent' => $user_agent,
'method' => 'POST',
'content' => $contenu,
'header' => $headers ) );
// Création du contexte
$contexte = stream_context_create($options);
// Envoi du formulaire POST
$retour = file_get_contents( $sco_url . $dept . '/Scolarite/Notes/XMLgetEtudInfos', false, $contexte );
return ($retour);
}
function get_bulletinetud_page($nip, $sem, $dept) {
global $user_agent;
global $sco_user;
global $sco_pw;
global $sco_url;
$donnees = array(
'format' => 'xml',
'code_nip' => $nip,
'formsemestre_id' => $sem,
'version' => 'selectedevals',
'__ac_name' => $sco_user,
'__ac_password' => $sco_pw );
// Création du contenu brut de la requête
$contenu = http_build_query( $donnees );
// Définition des headers
$headers = http_build_headers( array(
'Content-Type' => 'application/x-www-form-urlencoded',
'Content-Length' => strlen( $contenu) ) );
// Définition du contexte
$options = array( 'http' => array( 'user_agent' => $user_agent,
'method' => 'POST',
'content' => $contenu,
'header' => $headers ) );
// Création du contexte
$contexte = stream_context_create($options);
// Envoi du formulaire POST
$retour = file_get_contents( $sco_url . $dept . '/Scolarite/Notes/formsemestre_bulletinetud', false, $contexte );
return ($retour);
}
function get_semestre_info($sem, $dept)
{
global $user_agent;
global $sco_user;
global $sco_pw;
global $sco_url;
$donnees = array(
'formsemestre_id' => $sem,
'__ac_name' => $sco_user,
'__ac_password' => $sco_pw );
// Création du contenu brut de la requête
$contenu = http_build_query( $donnees );
// Définition des headers
$headers = http_build_headers( array(
'Content-Type' => 'application/x-www-form-urlencoded',
'Content-Length' => strlen( $contenu) ) );
// Définition du contexte
$options = array( 'http' => array( 'user_agent' => $user_agent,
'method' => 'POST',
'content' => $contenu,
'header' => $headers ) );
// Création du contexte
$contexte = stream_context_create($options);
// Envoi du formulaire POST
$retour = file_get_contents( $sco_url . $dept . '/Scolarite/Notes/XMLgetFormsemestres', false, $contexte );
return ($retour);
}
function get_all_semestres($xml_data)
{
$data = array();
$xml = simplexml_load_string($xml_data);
foreach ($xml->insemestre as $s) {
$sem = (array) $s['formsemestre_id'];
$data[] = $sem[0];
}
return $data;
}
function get_current_semestre($xml_data)
{
$xml = simplexml_load_string($xml_data);
foreach ($xml->insemestre as $s) {
if ($s['current'] == 1){
$sem = (array) $s['formsemestre_id'];
return ($sem[0]);}
else{$sem = "";
return ($sem);}
}
}
function print_semestres_list($sems, $dept, $sem)
{
echo 'Semestre :
Déconnexion
';
}
function print_semestre($xml_data, $sem, $dept, $show_moy=False)
{
global $etudid;
global $nip;
global $sco_user;
global $sco_pw;
global $sco_url;
$modules=array();
$codesmodules=array();
$i=0;
if($sem==""){echo '
Il n'y a pas de semestre courant
';} else{
$xml = simplexml_load_string($xml_data);
$etudid= $xml->etudiant['etudid'];
$retour = get_semestre_info($sem, $dept);
$xml2 = simplexml_load_string($retour);
$debut=date("Y-m-d",strtotime($xml2->formsemestre['dateord']));
$finsemestre=$xml2->formsemestre['date_fin_iso'];
$fin=strtotime($finsemestre)+3000000;
$day=strtotime(date("d-m-Y"));
$publie= $xml2->formsemestre['bul_hide_xml'];
// teste la publication et affiche un message si non publié
// $showmoy teste si on est avant date de fin du semestre
// si la date du jour dépasse de 45 jours la date de fin de semestre on affiche les moyennes
// sinon pas encore
$sexe=$xml->etudiant['sexe'];
$prenom=$xml->etudiant['prenom'];
$nom=$xml->etudiant['nom'];
$semestre=$xml2->formsemestre['titre_num'];
if ($publie=="0") {
if (!$show_moy) {
echo '
Les informations contenues dans ces tableaux sont
provisoires. L'état n'a pas valeur de bulletin de notes.';}
echo ' Il vous appartient de contacter vos enseignants
ou votre département en cas de désaccord.
';
if (!$show_moy or $fin>$day ){
foreach ($mod->evaluation as $eval) {
if (is_numeric(strval($eval->note['value']))) {
$note_eval=round((strval($eval->note['value']))/20*strval($eval['note_max_origin']),2);}
else{$note_eval=$eval->note['value'];}
echo '
';
$code=$xml->decision['code'];
// Affichage décision seulement aprés 45 jours de la fin du semestre
if ($show_moy and $fin<$day ) {
echo " ".convertir_utf8($xml->situation);
}
else{if($code!="" and $fin<$day){echo " ". convertir_utf8($xml->situation);}}
if (!$show_moy) {
echo '
Gestion des absences
Les régles de gestion peuvent actuellement dépendre des départements. La déclaration en ligne ne suffit pas.