Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

util:emploi_du_temps_profs.1 [2017/07/22 11:53] (Version actuelle)
Ligne 1: Ligne 1:
 +~~NOCACHE~~
 +
 +<php>
 +//<?
 +define('XML_FILEPATH', './statique/adherents/public/');
 +// define('XML_FILENAME', '2011-2012_adherents.xml');
 +// define('XML_FILENAME', '2012-2013_adherents.xml');
 +// define('XML_FILENAME', '2013-2014_adherents.xml');
 +define('XML_FILENAME', '2014-2015_adherents.xml');
 +
 +
 +
 +include_once(dirname(__FILE__) . '/../../statique/util/lib-xml-xsl/lib-xml-xsl.inc.php');  // procXSLstr_dom
 +// include_once(dirname(__FILE__) . '/../../statique/util/dyna/uniq_adherents_xslt.php');    
 +include_once(dirname(__FILE__) . '/../../statique/util/dyna/req_arr_adherents_xslt.php');  // xsl_str__liste_prof() - xsl_str__liste_attribute(...) - xsl_str__liste_element(...)
 +include_once(dirname(__FILE__) . '/../../statique/util/dyna/abstract_adherents_xslt.php'); // xsl_str__abstract()
 +
 +// call it by http://localhost/doku.php?id=util:emploi_du_temps_profs
 +
 +
 +///////////////////////////////////////////////////////////////////////////////////////////////////
 +//!
 +//! add_to_emploi_du_temps($id_adh, $prenom, $nom, $formule, $type, $musique, $niveau, $date, $heure, $duree, $salle);
 +//! 
 +function  xsl_str__emploi_du_temps($professeur)
 +{
 +$xsl_str = <<<'EOT'
 +<?xml version="1.0" encoding="ISO-8859-1"?>
 +<!DOCTYPE xsl:stylesheet SYSTEM "../util/lib-xml-xsl/xsl-html.dtd">
 +
 +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 +<xsl:output method="text" 
 +            indent="no" 
 +            encoding="ISO-8859-1" 
 +            omit-xml-declaration = "yes" /> 
 +
 +<xsl:preserve-space elements="no" />  
 +
 +<xsl:template match="/">
 + 
 +<xsl:for-each select="adherents/adherent[valide='y']">
 +
 +     <xsl:sort select="concat(@nom, @prenom)"
 +                order='ascending'
 +                data-type='text' />
 +
 +        <!-- id_adh doit &ecirc;tre renseign&eacute; -->
 +        <xsl:for-each select="current()[@id_adh!='']">
 +            <!-- Sauvegarde de la variable id_adh de l'adh&eacute;rent -->
 +            <xsl:variable name="id_adh"><xsl:value-of select="@id_adh" /></xsl:variable>
 +            <xsl:variable name="prenom"><xsl:value-of select="@prenom" /></xsl:variable>
 +            <xsl:variable name="nom"><xsl:value-of select="@nom" /></xsl:variable>
 +                <xsl:for-each select="activites/activite[@professeur='%%professeur%%']">
 +                    <xsl:variable name="formule"><xsl:value-of select="@formule" /></xsl:variable>
 +                    <xsl:variable name="type"><xsl:value-of select="@type" /></xsl:variable>
 +                    <xsl:variable name="musique"><xsl:value-of select="@musique" /></xsl:variable>
 +                    <xsl:variable name="niveau"><xsl:value-of select="@niveau" /></xsl:variable>
 +                        <xsl:for-each select="creneau">
 +                            <!-- add_to_emploi_du_temps(&$horaire, $id_adh, $prenom, $nom, $formule, $type, $musique, $niveau, $date, $heure, $duree, $salle); -->
 +                            <![CDATA[   add_to_emploi_du_temps($horaire, "]]>
 +                            <xsl:copy-of select="$id_adh" /><![CDATA[", "]]>
 +                            <xsl:copy-of select="$prenom" /><![CDATA[", "]]>
 +                            <xsl:copy-of select="$nom" /><![CDATA[", "]]>
 +                            <xsl:value-of select="$formule" /><![CDATA[", "]]>
 +                            <xsl:value-of select="$type" /><![CDATA[", "]]>
 +                            <xsl:value-of select="$musique" /><![CDATA[", "]]>
 +                            <xsl:value-of select="$niveau" /><![CDATA[", "]]>
 +                            <xsl:value-of select="@date" /><![CDATA[", "]]>
 +                            <xsl:value-of select="@heure" /><![CDATA[", "]]>
 +                            <xsl:value-of select="@duree" /><![CDATA[", "]]>
 +                            <xsl:value-of select="@salle" /><![CDATA[");
 +]]>
 +                        </xsl:for-each>
 +                </xsl:for-each>
 +
 +        </xsl:for-each>
 +        
 +</xsl:for-each>
 +</xsl:template>
 +
 +</xsl:stylesheet>
 +EOT;
 +
 +return str_replace('%%professeur%%', $professeur, $xsl_str);
 +}
 +
 + 
 +function add_to_emploi_du_temps(&$horaire, $id_adh, $prenom, $nom, $formule, $type, $musique, $niveau, $date, $heure, $duree, $salle)
 +{
 +    if (   isset($horaire)
 +        && isset($id_adh)
 +        && isset($prenom)
 +        && isset($nom)
 +        && isset($formule)
 +        && isset($type)
 +        && isset($musique)
 +        && isset($niveau)
 +        && isset($date)
 +        && isset($heure)
 +        && isset($duree)
 +        && isset($salle) )
 +    {
 +        if (   (strlen($id_adh) > 0)
 +            && (strlen($date) > 0)
 +            && (strlen($heure) > 0) )
 +            {
 +                $creneau = $heure;
 +                $heure = heure_depuis_creneau($creneau);
 +                $duree = duree_depuis_creneau($creneau);
 +                $date = ucfirst( strtolower($date) );
 +                //
 +                $label = $prenom . ' ' . $nom; //  . ' (' . $date . ')';
 +                
 +                // S'il n'y a pas déjà un libellé
 +                if (!isset($horaire[$date][$heure])) // ['label']
 +                    $horaire[$date][$heure]    = array('duree' => $duree, 'label' => $label);
 +            }
 +    }
 +}
 +
 +
 +include_once(dirname(__FILE__) . '/../../statique/util/emploi-du-temps.php'); // emploi_du_temps()
 +
 +
 +{
 +    // string urlencode ( string $str )
 +    $xmldom = loadXML_dom(XML_FILEPATH . XML_FILENAME, 'adherents');
 +
 +    $commande = procXSLstr_dom($xmldom, xsl_str__emploi_du_temps('Christophe')); 
 +//  $commande = procXSLstr_dom($xmldom, xsl_str__emploi_du_temps('Julien A'));
 +    //
 +    $horaire = array();
 +    eval($commande);
 +    //
 +   // Pour trouver la min hour from et la max hour upto + 1 : On balaye horaire
 +   $hmin = 24;
 +   $hmax =  0;
 +   get_hmin_hmax_from($horaire, $hmin, $hmax);
 +   cree_creneaux_vides_emploi_du_temps($horaire, '&nbsp;', $hmin, $hmax, 7, 5);  // 7 = samedi aussi         //    $libellé : '&nbsp;' -> '/'
 +   emploi_du_temps($horaire, $hmin, $hmax, 7, 5); // 10 -> 5
 +
 +//    add_to_emploi_du_temps($horaire, "207", "Martin", "RIBAUT", "Pack FM", "Cours", "Guitare classique", "", "vendredi", "16:30-17:00", "30", "A Jany 3");
 +
 +</php>
 +
  
    Driven by DokuWiki Recent changes RSS feed        
 
 
Nous vous rappelons que vous disposez d'un droit d'accès, de modification, de rectification et de suppression des données qui vous concernent. Pour exercer ce droit, adressez-vous au webmaster .