/branches/v1.2-democrite/presentation/connexion.tpl.html |
---|
New file |
0,0 → 1,19 |
<form action="<?=$url;?>" method="post" name="login" id="login"> |
<fieldset> |
<legend>Identifiez vous</legend> |
<table id="connexion"> |
<caption>Identification</caption> |
<tr> |
<th>Courriel</th> |
<td><input name="username" type="text" /></td> |
</tr> |
<tr> |
<th>Mot de passe</th> |
<td><input name="password" type="password" /></td> |
</tr> |
<tr> |
<td colspan="2"><input name="btn_submit" value="OK" type="submit" /></td> |
</tr> |
</table> |
</fieldset> |
</form> |
/branches/v1.2-democrite/presentation/preferences.tpl.html |
---|
New file |
0,0 → 1,88 |
<?php if (isset($messages)) : ?> |
<?php foreach ($messages as $message) : ?> |
<p class="information"><?=$message;?></p> |
<?php endforeach; ?> |
<?php endif; ?> |
<?php if ($preferences) : ?> |
<div id="preferences"> |
<form class="centre" id="gestion_admin_pref" action="index.php?action=<?=GTT_ACTION_PREFERENCE_VALIDER;?>" name="gestion_admin_pref" method="post"> |
<input name="champ_nb_total_proj" value="<?=$nbre_projets;?>" type="hidden"/> |
<table id="preference"> |
<thead> |
<tr> |
<th> </th> |
<th>Nom</th> |
<th>Description</th> |
<th>Date début</th> |
<th>Date fin</th> |
<th>Durée prévue (j)</th> |
<th>Durée financée (j)</th> |
<th>Avancement (j)</th> |
<th>Avancement (%)</th> |
</tr> |
</thead> |
<tbody> |
<?php foreach ($preferences as $categorie => $projets):?> |
<tr class="categories"><th colspan="9"><?=$categorie;?></th></tr> |
<?php $ligne = "impair"; ?> |
<?php foreach ($projets as $projet):?> |
<tr class="<?=$ligne ; $ligne = ($ligne == "impair") ? "pair" : "impair" ;?>"> |
<td class="check"><input id="pr:<?=$projet['id'];?>" name="pr:<?=$projet['id'];?>" value="<?=$projet['valeur'];?>" type="checkbox" <?=$projet['coche']?'checked="checked"':'';?>/></td> |
<td class="pr_no"><?=$projet['no'];?></td> |
<td class="pr_de"><?=$projet['de'];?></td> |
<td class="pr_dade"><?=($projet['dade'] != '0000-00-00') ? $projet['dade'] : ' ' ;?></td> |
<td class="pr_dafi"><?=($projet['dafi'] != '0000-00-00') ? $projet['dafi'] : ' ' ;?></td> |
<td class="pr_dupr"><?=(!empty($projet['dupr'])) ? $projet['dupr'] : ' ' ;?></td> |
<td class="pr_dufi"><?=(!empty($projet['dufi'])) ? $projet['dufi'] : ' ' ;?></td> |
<!-- colonne "avancement en jours" --> |
<?php |
// calculs utiles pour la suite |
$pourcentageEffectue = 0; |
$pourcentageEnTrop = 0; |
$joursEnTrop = $projet['avc'] - $projet['dupr']; |
if ($projet['dupr'] > 0) { |
$pourcentageEffectue = round(($projet['avc'] / $projet['dupr']) * 100); |
$pourcentageEnTrop = round((($joursEnTrop) / $projet['dupr']) * 100); |
} |
?> |
<?php if ($projet['avc'] > ($projet['dupr'] * 1.15)): ?> |
<!-- on dépasse de 15%, alerte ! --> |
<td class="pr_av_j bg-alerte" title="<?= $joursEnTrop ?> jours ont été accordés au delà des prévisions"> |
<?php else: ?> |
<td class="pr_av_j"> |
<?php endif; ?> |
<?= $projet['avc'] ?> / <?= $projet['dupr'] ?> |
</td> |
<!-- colonne "avancement en %" --> |
<td class="pr_av" title="<?= $pourcentageEffectue ?>%"> |
<div class="barre-avancement-ext"> |
<div class="barre-avancement-int" style="width:<?= min(100, $pourcentageEffectue) ?>px;"> |
</div> |
</div> |
<!--<?php if (!empty($projet['av'])) : ?> |
<img height="10" |
width="<?=min(100, $projet['av']);?>" |
title="pipi <?=$projet['av'];?> %" |
src="presentation/images/pixels/avancement.png" |
style="cursor:help;padding-right:<?=(100 - $projet['av']);?>px;border:1px solid #DDD;" |
alt="<?=$projet['av'];?> %" /> |
<?php else : ?> |
<img height="10" |
width="100" |
style="cursor:help;border:1px solid #DDD;" |
src="presentation/images/pixels/vide.png" |
title="caca <?=$projet['av'];?> %" |
alt="0 %" /> |
<?php endif; ?>--> |
</td> |
</tr> |
<?php endforeach; ?> |
<?php endforeach; ?> |
</tbody> |
</table> |
<input class="btn_large" id="btn_valider_editer" name="btn_valider_editer" value="<?=$i18n_general_valider;?>" type="submit" /> |
</form> |
</div> |
<?php endif; ?> |
/branches/v1.2-democrite/presentation/menu.tpl.html |
---|
New file |
0,0 → 1,21 |
<h2>Menu</h2> |
<h3>Général</h3> |
<ul> |
<li><a href="index.php?action=gestion">Gestion de mon temps</a></li> |
<li><a href="index.php?action=preferences">Gestion de mes projets</a></li> |
</ul> |
<h3>Statistiques</h3> |
<ul> |
<li><a href="index.php?action=stat-tableau-global">Tableau général</a></li> |
<li><a href="index.php?action=stat-tableau-charge">Plan de charge</a></li> |
</ul> |
<?php if ($bool_admin) : ?> |
<h3>Administration</h3> |
<ul> |
<li><a href="index.php?action=admin-projet">Projets</a></li> |
<li><a href="index.php?action=admin-categorie" title="Modifier, supprimer et ajouter des catégories pour les projets">Categories des projets</a></li> |
<li><a href="index.php?action=admin-absence-motif">Motifs des absences</a></li> |
<li><a href="index.php?action=admin-utilisateur-statut">Statuts des utilisateurs</a></li> |
<li><a href="index.php?action=admin-utilisateur">Utilisateurs</a></li> |
</ul> |
<?php endif; ?> |
/branches/v1.2-democrite/presentation/images/icones/lien_externe.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/branches/v1.2-democrite/presentation/images/icones/lien_externe.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/branches/v1.2-democrite/presentation/images/pixels/avancement.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/branches/v1.2-democrite/presentation/images/pixels/avancement.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/branches/v1.2-democrite/presentation/images/pixels/vide.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/branches/v1.2-democrite/presentation/images/pixels/vide.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/branches/v1.2-democrite/presentation/images/favicones/gtt.ico |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/branches/v1.2-democrite/presentation/images/favicones/gtt.ico |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/branches/v1.2-democrite/presentation/images/favicones/gtt.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/branches/v1.2-democrite/presentation/images/favicones/gtt.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/branches/v1.2-democrite/presentation/identite.tpl.html |
---|
New file |
0,0 → 1,19 |
<div id="identite"> |
<h2>Votre identité</h2> |
<dl class="ajout_2_points"> |
<dt>Prénom</dt> |
<dd><?=$prenom;?></dd> |
<dt>Nom</dt> |
<dd><?=$nom;?></dd> |
<dt title="Vous devez travailler le nombre d'heure indiqué par jour (pour un temps plein)">Temps travail</dt> |
<dd><?=$tps_w;?> h. par j.</dd> |
<!-- Nous ne l'affichons pas tant que nous ne le gérons pas mieux et automatiquement |
<dt title="Nombre de congés payés vous restant à prendre">CP restants</dt> |
<dd><?=$cp;?> h. (≈ <?=$cp_j;?> j.)</dd> |
--> |
<dt title="Nombre d'heures supplémentaires accumulées">Heures sup.</dt> |
<dd><?=$rtt;?> h. (≈ <?=$rtt_j;?> j.)</dd> |
</dl> |
<p><a href="index.php?action=identification_deconnexion">Déconnexion</a></p> |
<hr/> |
</div> |
/branches/v1.2-democrite/presentation/admin_absence_motif.tpl.html |
---|
New file |
0,0 → 1,50 |
<?php if (isset($messages)) : ?> |
<?php foreach ($messages as $message) : ?> |
<p class="information"><?=$message;?></p> |
<?php endforeach; ?> |
<?php endif; ?> |
<?php if (isset($motifs)) : ?> |
<form id="admin_absence_motif_editer" class="editer" name="admin_absence_motif_editer" action="index.php?action=admin-absence-motif_editer" method="post"> |
<fieldset> |
<legend>Éditer un motif d'absence</legend> |
<ul> |
<li> |
<label for="amsu_id">Motif d'absence :</label> |
<select id="amsu_id" name="amsu_id"> |
<?php foreach ($motifs as $motif) : ?> |
<option value="<?=$motif['id'];?>"><?=$motif['libelle'];?></option> |
<?php endforeach; ?> |
</select> |
</li> |
<li><input id="btn_absence_motif_supprimer" name="btn_absence_motif_supprimer" value="Supprimer" type="submit" onclick="javascript:return confirm('Êtes vous sûr de vouloir supprimer ce motif d\'abscence ?');"/></li> |
<li><input id="btn_absence_motif_modifier" name="btn_absence_motif_modifier" value="Modifier" type="submit" /></li> |
</ul> |
</fieldset> |
</form> |
<?php endif; ?> |
<form id="admin_absence_motif_ajouter" name="admin_absence_motif_ajouter" action="<?=$form_url;?>" method="post"> |
<fieldset> |
<legend><?=$form_legend;?></legend> |
<ul> |
<li> |
<label for="amaj_libelle">Libellé :</label> |
<input size="30" id="amaj_libelle" name="amaj_libelle" type="text" value="<?=$AbsenceMotif->getLibelle();?>"/> |
<span class="symbole_obligatoire">*</span> |
</li> |
<li> |
<label for="amaj_mark_cp_diminuer">Diminue le nombre de congés payés :</label> |
<input id="amaj_mark_cp_diminuer" name="amaj_mark_cp_diminuer" type="checkbox" value="1" <?=($AbsenceMotif->getMarkCpDiminuer())?'checked="checked"':'';?>/> |
</li> |
<li> |
<label for="amaj_mark_hs_diminuer">Diminue le nombre d'heures suplémentaires :</label> |
<input id="amaj_mark_hs_diminuer" name="amaj_mark_hs_diminuer" type="checkbox" value="1" <?=($AbsenceMotif->getMarkHsDiminuer())?'checked="checked"':'';?>/> |
</li> |
<li> |
<input name="amaj_id_absence_motif" type="hidden" value="<?=$AbsenceMotif->getIdAbsenceMotif();?>"/> |
<input id="<?=$form_bouton_id;?>" name="<?=$form_bouton_id;?>" value="<?=$form_bouton_value;?>" type="submit" /> |
<input id="btn_utilisateur_annuler" name="btn_utilisateur_annuler" value="Annuler" type="submit" /> |
</li> |
<li><span class="symbole_obligatoire">*</span> =champs obligatoires</li> |
</ul> |
</fieldset> |
</form> |
/branches/v1.2-democrite/presentation/gestion.tpl.html |
---|
New file |
0,0 → 1,83 |
<div id="info"> |
<p id="info_aujourdhui">Aujourd'hui, nous sommes le <a href="<?=$jc_url;?>"><?=$jc['jour'];?> <?=$jc['mois_nom'];?> <?=$jc['annee'];?></a></p> |
<p id="info_semaine">Semaine du <a href="<?=$jc_url;?>"><?=$sjc_1['jour'];?> <?=$sjc_1['mois'];?> <?=$sjc_1['annee'];?> au <?=$sjc_7['jour'];?> <?=$sjc_7['mois'];?> <?=$sjc_7['annee'];?></a></p> |
</div> |
<div id="calendrier_gestion" class="calendrier"> |
<?php if ($bool_projets) : ?> |
<form class="centre" id="gestion" name="gestion" action="<?=$url_gestion_valider;?>" method="post"> |
<table id="tab_gestion"> |
<caption> |
<a href="<?=$url_semaine_precedente;?>"><<</a> |
<?=$sj_1['jour'];?> <?=$sj_1['mois'];?> <?=$sj_1['annee'];?> au <?=$sj_7['jour'];?> <?=$sj_7['mois'];?> <?=$sj_7['annee'];?> |
<a href="<?=$url_semaine_suivante;?>">>></a> |
</caption> |
<thead> |
<tr> |
<th>Projets</th> |
<?php foreach ($elements[$s] as $jour) : ?> |
<th class="<?=$jour['class'];?>"> |
<?=$jour['jour_nom'];?> <?=$jour['jour'];?> |
</th> |
<?php endforeach; ?> |
</tr> |
</thead> |
<tbody> |
<?php if ($bool_projets) : ?> |
<?php foreach ($preferences as $categorie => $projets):?> |
<tr> |
<td class="categorie"><?=$categorie;?></td> |
<?php foreach ($elements[$s] as $num => $jour) : ?> |
<td class="categorie_total pr" data-num-jour="<?=$num;?>"><?=$categorie_totaux[$categorie][$num];?></td> |
<?php endforeach; ?> |
</tr> |
<?php foreach ($projets as $projet):?> |
<tr> |
<td class="projet" title="<?=$projet['desc'];?>"><?=$projet['nom'];?></td> |
<?php foreach ($elements[$s] as $num => $jour) : ?> |
<td class="<?=$jour['class'];?>"> |
<input id="pr:<?=$projet['id'];?>:<?=$num;?>" class="pr" name="pr:<?=$projet['id'];?>:<?=$num;?>" |
value="<?=$projet['date'][$num];?>" type="text" data-num-jour="<?=$num;?>"/> |
</td> |
<?php endforeach; ?> |
</tr> |
<?php endforeach; ?> |
<?php endforeach; ?> |
<?php endif;?> |
<tr> |
<td class="categorie">Journées d'absences</td> |
<?php foreach ($elements[$s] as $num => $jour) : ?> |
<td class="categorie_total"><?=$ab_total[$num];?></td> |
<?php endforeach; ?> |
</tr> |
<?php foreach ($ab as $ab_id => $tab_ab_jours) : ?> |
<tr> |
<td class="absence_titre"><?=$ab_libelle[$ab_id];?></td> |
<?php foreach ($elements[$s] as $num => $jour) : ?> |
<td class="ab <?=$jour['class'];?>"> |
<?php if ($tab_ab_jours[$num]['duree_defaut'] != 0) : ?> |
<input id="ab:<?=$ab_id;?>:<?=$num;?>" class="ab" name="ab:<?=$num;?>" |
value="<?=$ab_id;?>:<?=($tab_ab_jours[$num]['duree'] != '') ? $tab_ab_jours[$num]['duree'] : $tab_ab_jours[$num]['duree_defaut'];?>" type="checkbox" |
<?=(!empty($tab_ab_jours[$num]['duree'])) ? 'checked="checked"' : '' ?> |
data-num-jour="<?=$num;?>" |
data-ab-id="<?=$ab_id;?>" |
data-duree-defaut="<?=$tab_ab_jours[$num]['duree_defaut'];?>"/> |
<?php endif; ?> |
</td> |
<?php endforeach; ?> |
</tr> |
<?php endforeach; ?> |
<tr> |
<td class="totaux_titre">Totaux journée</td> |
<?php foreach ($elements[$s] as $num => $jour) : ?> |
<td class="totaux"><?=$totaux[$num];?></td> |
<?php endforeach; ?> |
</tr> |
</tbody> |
</table> |
<input class="btn_large" id="btn_valider" name="btn_valider" value="<?=$i18n_general_valider;?>" type="submit" /> |
</form> |
<?php else : ?> |
<p class="information">Veuillez sélectionner des projets via le menu "Gestion de mes projets".</p> |
<?php endif;?> |
</div> |
/branches/v1.2-democrite/presentation/stat_tableau_charge.tpl.csv |
---|
New file |
0,0 → 1,22 |
<?php if (isset($projets) || isset($absences)) : ?> |
Projets <?php foreach ($elements as $jour) : ?><?=$jour['jour_nom']?> <?=$jour['jour']?> <?php endforeach; ?>Total |
<?php if (isset($projets)) : ?> |
Travail <?php foreach ($elements as $jour) : ?><?=(!empty($jour['travail'])) ? $jour['travail'] : ' ';?> <?php endforeach; ?><?=$total_w;?> |
<?php foreach ($projets as $categorie => $pr):?> |
<?=$categorie;?> [<?=$categories[$categorie]['abreviation'];?>] <?php foreach ($elements as $jour_id => $jour) : ?><?=(isset($categories[$categorie][$jour_id])) ? $categories[$categorie][$jour_id] : ' ';?> <?php endforeach; ?><?=$categories[$categorie]['total'];?> |
<?php foreach ($pr as $id => $projet):?> |
<?=$projet['nom'];?> <?php foreach ($elements as $jour_id => $jour) : ?><?=(isset($projet['duree'][$jour_id])) ? $projet['duree'][$jour_id] : ' ';?> <?php endforeach; ?><?=(isset($projet['total'])) ? $projet['total'] : ' ';?> |
<?php endforeach; ?><?php endforeach; ?><?php endif; ?> |
<?php if (isset($absences)) : ?> |
Absences <?php foreach ($elements as $jour) : ?><?=(!empty($jour['absence'])) ? $jour['absence'] : ' ';?> <?php endforeach; ?><?=$total_a;?> |
<?php foreach ($absences as $ab_id => $absence) : ?> |
<?=$absence['nom'];?> <?php foreach ($elements as $jour_id => $jour) : ?><?= (isset($ab[$ab_id][$jour_id])) ? $ab[$ab_id][$jour_id] : ' ';?> <?php endforeach; ?><?=(!empty($absence['total'])) ? $absence['total'] : '' ;?> |
<?php endforeach; ?><?php endif; ?> |
Total <?php foreach ($elements as $jour) : ?><?=(!empty($jour['w_et_a'])) ? $jour['w_et_a'] : ' ';?> <?php endforeach; ?><?=$total;?> |
<?php endif; ?> |
/branches/v1.2-democrite/presentation/admin_categorie.tpl.html |
---|
New file |
0,0 → 1,43 |
<?php if (isset($message)) : ?> |
<p class="information"><?=$message;?></p> |
<?php endif; ?> |
<?php if ($categories) : ?> |
<form id="admin_categorie_editer" class="editer" name="admin_categorie_editer" action="index.php?action=admin-categorie_editer" method="post"> |
<fieldset> |
<legend>Éditer une catégorie</legend> |
<ul> |
<li> |
<label for="casu_id">Catégorie :</label> |
<select id="casu_id" name="casu_id"> |
<?php foreach ($categories as $categorie) : ?> |
<option value="<?=$categorie['id'];?>"><?=$categorie['libelle'];?></option> |
<?php endforeach; ?> |
</select> |
</li> |
<li><input id="btn_categorie_modifier" name="btn_categorie_modifier" value="Modifier" type="submit" /></li> |
<li><input id="btn_categorie_supprimer" name="btn_categorie_supprimer" value="Supprimer" type="submit" onclick="javascript:return confirm('Êtes vous sûr de vouloir supprimer cette catégorie ?');" /></li> |
</ul> |
</fieldset> |
</form> |
<?php endif; ?> |
<form id="admin_categorie_ajouter" name="admin_categorie_ajouter" action="<?=$form_url;?>" method="post"> |
<fieldset> |
<legend><?=$form_legend;?></legend> |
<ul> |
<li> |
<label for="caaj_libelle">Libelle :</label> |
<input size="30" id="caaj_libelle" name="caaj_libelle" type="text" value="<?=$ProjetCategorie->getLibelle();?>"/> |
<span class="symbole_obligatoire">*</span> |
</li> |
<li> |
<label for="caaj_abreviation">Abréviation :</label> |
<input size="25" maxlength="25" id="caaj_abreviation" name="caaj_abreviation" type="text" value="<?=$ProjetCategorie->getAbreviation();?>"/> |
</li> |
<li> |
<input name="caaj_id_categorie" type="hidden" value="<?=$ProjetCategorie->getIdCategorie();?>"/> |
<input id="<?=$form_bouton_id;?>" name="<?=$form_bouton_id;?>" value="<?=$form_bouton_value;?>" type="submit" /> |
<input id="btn_categorie_annuler" name="btn_categorie_annuler" value="Annuler" type="submit" /> |
<li><span class="symbole_obligatoire">*</span> =champs obligatoires</li> |
</ul> |
</fieldset> |
</form> |
/branches/v1.2-democrite/presentation/admin_projet.tpl.html |
---|
New file |
0,0 → 1,78 |
<?php if (isset($messages)) : ?> |
<?php foreach ($messages as $message) : ?> |
<p class="information"><?=$message;?></p> |
<?php endforeach; ?> |
<?php endif; ?> |
<?php if ($projets) : ?> |
<form id="admin_projet_editer" class="editer" name="admin_projet_editer" action="index.php?action=admin-projet_editer" method="post"> |
<fieldset> |
<legend>Éditer un projet</legend> |
<ul> |
<li> |
<label for="prsu_id">Projet :</label> |
<select id="prsu_id" name="prsu_id"> |
<?php foreach ($projets as $projet) : ?> |
<option value="<?=$projet['id'];?>"><?=$projet['nom'];?></option> |
<?php endforeach; ?> |
</select> |
</li> |
<li><input id="btn_projet_modifier" name="btn_projet_modifier" value="Modifier" type="submit" /></li> |
<li><input id="btn_projet_supprimer" name="btn_projet_supprimer" value="Supprimer" type="submit" onclick="javascript:return confirm('Êtes vous sûr de vouloir supprimer ce projet ?');" /></li> |
</ul> |
</fieldset> |
</form> |
<?php endif; ?> |
<form id="admin_projet_ajouter" name="admin_projet_ajouter" action="<?=$form_url;?>" method="post"> |
<fieldset> |
<legend><?=$form_legend;?></legend> |
<ul> |
<li> |
<label for="praj_nom">Nom du projet :</label> |
<input size="30" id="praj_nom" name="praj_nom" type="text" value="<?=$Projet->getNom();?>"/> |
<span class="symbole_obligatoire">*</span> |
</li> |
<li> |
<label for="praj_ce_categorie">Catégorie :</label> |
<?php if ($categories) : ?> |
<select id="praj_ce_categorie" name="praj_ce_categorie"> |
<?php foreach ($categories as $Categorie) : ?> |
<option value="<?=$Categorie->getIdCategorie();?>" <?=(isset($CategorieDefaut) && $CategorieDefaut->getIdCategorie() == $Categorie->getIdCategorie()) ? 'selected="selected"' : '';?>><?=$Categorie->getLibelle();?></option> |
<?php endforeach; ?> |
</select> |
<?php else : ?> |
<input size="30" id="praj_ce_categorie" name="praj_ce_categorie" type="text" disabled="disabled" value="Veuillez définir des catégories..."/> |
<?php endif; ?> |
</li> |
<li> |
<label for="praj_description">Description :</label> |
<textarea rows="10" cols="50" id="praj_description" name="praj_description"><?=$Projet->getDescription();?></textarea> |
</li> |
<li> |
<label for="praj_date_debut">Date de début :</label> |
<input size="30" id="praj_date_debut" name="praj_date_debut" type="text" value="<?=$Projet->getDateDebut();?>"/> |
</li> |
<li> |
<label for="praj_date_fin">Date de fin :</label> |
<input size="30" id="praj_date_fin" name="praj_date_fin" type="text" value="<?=$Projet->getDateFin();?>"/> |
</li> |
<li> |
<label for="praj_duree_prevue">Durée prévue (en jour) :</label> |
<input size="30" id="praj_duree_prevue" name="praj_duree_prevue" type="text" value="<?=$Projet->getDureePrevue();?>"/> |
</li> |
<li> |
<label for="praj_duree_finance">Durée financée (en jour) :</label> |
<input size="30" id="praj_duree_finance" name="praj_duree_finance" type="text" value="<?=$Projet->getDureeFinance();?>"/> |
</li> |
<!--<li> |
<label for="praj_avancement">Avancement (en %) :</label> |
<input size="10" id="praj_avancement" name="praj_avancement" type="text" value="<?=$Projet->getAvancement();?>"/> |
</li>--> |
<li> |
<input name="praj_id_projet" type="hidden" value="<?=$Projet->getIdProjet();?>"/> |
<input id="<?=$form_bouton_id;?>" name="<?=$form_bouton_id;?>" value="<?=$form_bouton_value;?>" type="submit" /> |
<input id="btn_projet_annuler" name="btn_projet_annuler" value="Annuler" type="submit" /> |
<li><span class="symbole_obligatoire">*</span> =champs obligatoires</li> |
</ul> |
</fieldset> |
</form> |
/branches/v1.2-democrite/presentation/stat_tableau_global.tpl.csv |
---|
New file |
0,0 → 1,19 |
<?php if ($categories || $absences) : ?>Projets <?php foreach ($utilisateurs as $utilisateur) : ?><?=$utilisateur['prenom_nom']?> <?php endforeach; ?>Total |
Travail <?php foreach ($utilisateurs as $utilisateur) : ?><?=(isset($utilisateur['total_w'])) ? $utilisateur['total_w'] : ' ';?> <?php endforeach; ?><?=$total_projets;?> |
<?php foreach ($categories as $idc => $categorie):?> |
<?=$categorie['nom'];?> [<?=$categorie['abreviation'];?>] <?php foreach ($utilisateurs as $utilisateur) : ?><?=(isset($utilisateur['projets'][$idc]['total'])) ? $utilisateur['projets'][$idc]['total'] : ' ';?> <?php endforeach; ?><?=$categorie['total'];?> |
<?php foreach ($categorie['projets'] as $idp => $projet):?><?=$projet['nom'];?> <?php foreach ($utilisateurs as $utilisateur) : ?><?=(isset($utilisateur['projets'][$idc][$idp])) ? $utilisateur['projets'][$idc][$idp]['duree'] : ' ';?> <?php endforeach; ?><?=$projet['total'];?> |
<?php endforeach; ?><?php endforeach; ?><?php endif; ?> |
<?php if ($absences) : ?> |
Absences <?php foreach ($utilisateurs as $utilisateur) : ?><?=$utilisateur['total_a'];?> <?php endforeach; ?><?=$total_absences;?> |
<?php foreach ($absences as $ida => $absence) : ?> |
<?=$absence['nom'];?> <?php foreach ($utilisateurs as $utilisateur) : ?><?= (isset($utilisateur['ab'][$ida])) ? $utilisateur['ab'][$ida] : ' ';?> <?php endforeach; ?><?= (isset($absence['total'])) ? $absence['total'] : ' ';?> |
<?php endforeach; ?> |
<?php endif; ?> |
Total <?php foreach ($utilisateurs as $utilisateur) : ?> |
<?=(isset($utilisateur['total'])) ? $utilisateur['total'] : ' ';?> <?php endforeach; ?><?=$total_absences_projets;?> |
/branches/v1.2-democrite/presentation/principal.tpl.html |
---|
New file |
0,0 → 1,53 |
<!DOCTYPE html> |
<html lang="fr"> |
<head> |
<title><?=$titre;?></title> |
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> |
<!-- Feuille de styles --> |
<style type="text/css" media="screen"><!-- @import "presentation/styles/disposition.css"; --></style> |
<style type="text/css" media="print"><!-- @import "presentation/styles/impression.css"; --></style> |
<link rel="stylesheet" type="text/css" href="presentation/styles/emeraude/emeraude.css" media="screen" title="Émeraude" /> |
<!-- Icone de la page --> |
<link rel="shortcut icon" type="image/x-icon" href="presentation/images/favicones/gtt.ico" /> |
<link rel="icon" type="image/png" href="presentation/images/favicones/gtt.png" /> |
<!-- Fichiers Javascript--> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/1.9.1/jquery-1.9.1.min.js"></script> |
<script type="text/javascript" src="presentation/scripts/commun.js"></script> |
</head> |
<body> |
<div id="zone_conteneur"> |
<div id="zone_entete"> |
<h1 id="titre_principal"><?=$titre;?></h1> |
<div id="zone_accessibilite"> |
<a href="#zone_menu">Aller aux menus</a> |
<a href="#zone_contenu">Aller au texte</a> |
</div> |
</div> |
<div id="zone_tronc"> |
<div id="zone_gauche"> |
<div id="zone_calendrier"><?=$zone_calendrier;?></div> |
<div id="zone_identification"><?=$zone_identification;?></div> |
</div> |
<div id="zone_centre"> |
<div id="zone_contenu"><?=$zone_contenu;?></div> |
</div> |
<div id="zone_droite"> |
<div id="zone_menu"><?=$zone_menu;?></div> |
</div> |
</div> |
<div id="zone_pied"> |
<div id="zone_erreur"> |
<?php if (GTT_DEBOGAGE) : ?> |
<?=$GLOBALS['_GTT_']['erreur']->retournerErreur();?> |
<p><strong>Temps total d'exexution des requêtes SQL :</strong> <?=$GLOBALS['_GTT_']['chrono']->getTempsSql();?> s.</p> |
<?php endif; ?> |
</div> |
<p>Merci, de signalez <a href="http://suivi.tela-botanica.org/index.php?project=19&do=index" class="ext">les bogues et améliorations pour cette application</a>.</p> |
</div> |
</div> |
</body> |
</html> |
/branches/v1.2-democrite/presentation/stat_tableau_charge.tpl.html |
---|
New file |
0,0 → 1,96 |
<div id="navigation"> |
<p>Navigation : <a href="<?=$url_mois_precedent;?>"><<</a> <?=$mois['mois'];?> <?=$mois['annee'];?> <a href="<?=$url_mois_suivant;?>">>></a></p> |
<?php if ($etre_admin) : ?> |
<form id="form_utilisateur" name="form_utilisateur" action="<?=$form_url;?>" method="get"> |
<input type="hidden" name="action" value="<?=$form_param['action'];?>"/> |
<input type="hidden" name="annee" value="<?=$form_param['annee'];?>"/> |
<input type="hidden" name="mois" value="<?=$form_param['mois'];?>"/> |
<label for="uid">Utilisateur :</label> |
<select id="uid" name="uid" onchange="javascript:this.form.submit();"> |
<?php foreach ($utilisateurs as $id => $utilisateur) : ?> |
<option value="<?php echo $id; ?>" <?php echo ($utilisateur['courant']) ? 'selected="selected"' : ''; ?>><?php echo $utilisateur['nom']; ?></option> |
<?php endforeach; ?> |
</select> |
<input type="submit" name="btn_envoyer_utilisateur" value="OK"/> |
</form> |
<?php endif; ?> |
</div> |
<div id="export"> |
<p><a href="<?=$url_mois_courant;?>&format=csv">Affichage au format CSV</a> - <a href="<?=$url_mois_courant;?>&format=csv&sortie=csvt">Export au format CSV</a></p> |
</div> |
<?php if (isset($projets) || isset($absences)) : ?> |
<table id="tab_tps_w_mensuel_salarie" summary="Tableau du temps de travail mensuel par salarié."> |
<caption>Plan de charge - <?=$mois['mois'];?> <?=$mois['annee'];?> - <?=$utilisateur_courant;?></caption> |
<thead> |
<tr> |
<th>Projets</th> |
<?php foreach ($elements as $jour) : ?> |
<th class="<?=$jour['class']?>"><?=$jour['jour_nom']?> <?=$jour['jour']?></th> |
<?php endforeach; ?> |
<th>Total</th> |
</tr> |
</thead> |
<tbody> |
<?php if (isset($projets)) : ?> |
<?php $ligne = "impair"; ?> |
<tr class="total"> |
<th>Travail</th> |
<?php foreach ($elements as $jour) : ?> |
<td><?=(!empty($jour['travail'])) ? $jour['travail'] : " ";?></td> |
<?php endforeach; ?> |
<td class="total"><?=$total_w;?></td> |
</tr> |
<?php foreach ($projets as $categorie => $pr):?> |
<tr class="categories <?=$ligne ; $ligne = ($ligne == "impair") ? "pair" : "impair" ;?>"> |
<th class="entete categories_titre"><?=$categorie;?> [<?=$categories[$categorie]['abreviation'];?>]</th> |
<?php foreach ($elements as $jour_id => $jour) : ?> |
<td class="categories_total"><?=(isset($categories[$categorie][$jour_id])) ? $categories[$categorie][$jour_id] : " ";?></td> |
<?php endforeach; ?> |
<td class="total"><?=$categories[$categorie]['total'];?></td> |
</tr> |
<?php foreach ($pr as $id => $projet):?> |
<tr class="projets <?=$ligne ; $ligne = ($ligne == "impair") ? "pair" : "impair" ;?>"> |
<th id="pr:<?=$id;?>" class="entete projet_nom" title="<?=$projet['desc'];?>"><?=$projet['nom'];?></th> |
<?php foreach ($elements as $jour_id => $jour) : ?> |
<td class="projet"><?=(isset($projet['duree'][$jour_id])) ? $projet['duree'][$jour_id] : " ";?></td> |
<?php endforeach; ?> |
<td class="total"><?=(isset($projet['total'])) ? $projet['total'] : " ";?></td> |
</tr> |
<?php endforeach; ?> |
<?php endforeach; ?> |
<?php endif; ?> |
<?php if (isset($absences)) : ?> |
<tr class="total"> |
<th class="entete absences_titre">Absences</th> |
<?php foreach ($elements as $jour) : ?> |
<td><?=(!empty($jour['absence'])) ? $jour['absence'] : " ";?></td> |
<?php endforeach; ?> |
<td class="total"><?=$total_a;?></td> |
</tr> |
<?php $ligne = "impair"; ?> |
<?php foreach ($absences as $ab_id => $absence) : ?> |
<tr class="<?=$ligne ; $ligne = ($ligne == "impair") ? "pair" : "impair" ;?>"> |
<th id="ab:<?=$ab_id;?>" class="entete absence_nom"><?=$absence['nom'];?></th> |
<?php foreach ($elements as $jour_id => $jour) : ?> |
<td><?= (isset($ab[$ab_id][$jour_id])) ? $ab[$ab_id][$jour_id] : " ";?></td> |
<?php endforeach; ?> |
<td class="total"><?=(!empty($absence['total'])) ? $absence['total'] : ' ' ;?></td> |
</tr> |
<?php endforeach; ?> |
<?php endif; ?> |
<tr class="total"> |
<th>Total</th> |
<?php foreach ($elements as $jour) : ?> |
<td><?=(!empty($jour['w_et_a'])) ? $jour['w_et_a'] : " ";?></td> |
<?php endforeach; ?> |
<td class="total"><?=$total;?></td> |
</tr> |
</tbody> |
</table> |
<?php endif; ?> |
<?php if (isset($messages)) : ?> |
<?php foreach ($messages as $message) : ?> |
<p class="information"><?=$message;?></p> |
<?php endforeach; ?> |
<?php endif; ?> |
/branches/v1.2-democrite/presentation/styles/emeraude/emeraude.css |
---|
New file |
0,0 → 1,235 |
/* |
Design by Free CSS Templates |
http://www.freecsstemplates.org |
Released for free under a Creative Commons Attribution 2.5 License |
Contributor for GTT : Jean-Pascal MILCENT <jpm@tela-botanica.org> |
*/ |
/* Basic */ |
* { |
margin:0em; |
padding:0em;} |
body { |
font-family:"trebuchet ms", sans-serif; |
color:#555555; |
font-size:0.8em;} |
a{ |
color: #669911;} |
/* Presentation des listes de definitions */ |
dl {width:100%;} |
dt { |
float:left; |
font-weight: bold; |
line-height:1.1em; |
text-align:top left; |
margin-right:0.3em;} |
dd { |
width:auto; |
margin-left:0; |
line-height:1.1em; |
margin:0.5em 0;} |
/* Presentation des formulaires */ |
form.editer{ |
padding:0 0 1em 0;} |
form ul li{ |
list-style-type:none;} |
form label{ |
font-weight:bold;} |
legend{ |
font-size:1.1em; |
font-weight:bold; |
text-transform:uppercase; |
color: #5D5F53;} |
/* Présentation générale des tableaux */ |
table{ |
border:1px dotted black; |
width:100%;} |
thead th{ |
background-color:#486300; |
color:white;} |
tbody th{ |
text-align:left !important; |
width:20%;} |
td{text-align:center;} |
tr.pair{background-color: #F1F2E7;} |
caption{margin-top:1em;} |
/* Présentation d'icones*/ |
a.ext:after { |
content: " "url(../../images/icones/lien_externe.png);} |
/*Présentation des bulles d'aide */ |
*[title]:after {content:" "url(images/help_view_16x16.gif);} |
/* Zone entête */ |
#zone_entete{ |
background-image: url('images/a2.gif'); |
background-position: bottom left; |
padding-left: 40px; |
padding-top: 45px;} |
#zone_entete h1{ |
text-transform:uppercase; |
font-size:1.6em; |
color:white;} |
#zone_entete a{ |
position: relative; |
top:-0.3em; |
color:#E8EFC2; |
font-weight:normal; |
font-size:1.1em; |
text-transform:lowercase;} |
/* Zone menu */ |
#zone_menu h3{ |
margin:0.5em 0 0 0;} |
#zone_menu li{ |
font-size: 1.1em; |
font-weight: bold; |
text-decoration: none; |
margin-right: 0em;} |
#zone_menu li a{ |
display:block; |
font-size: 0.8em; |
font-weight: bold; |
color: #5D5F53; |
text-decoration: none; |
margin-right: 1em;} |
#zone_menu li a:hover{ |
background-color: #6B7E09; |
color:white;} |
/* Zone tronc */ |
#zone_tronc{ |
padding: 0 15px 1em 15px; |
line-height: 1.6em; |
background: url('images/a4.gif') repeat-x top left;} |
#zone_tronc h2,#zone_tronc h3{ |
text-transform:uppercase;} |
/* Zone gauche */ |
#zone_gauche{ |
padding: 0 1.5em 1.5em 0.5em;} |
#zone_gauche h2, #zone_gauche h3{ |
color: #5D5F53; |
border-bottom: dotted 1px #ECEEDF; |
margin-bottom:0;} |
#zone_gauche hr{margin-bottom: 0.5em;} |
/* Zone centre */ |
#zone_centre{ |
padding: 0;} |
#zone_centre h2,h3,h4,h5,h6{ |
margin-bottom:1em; |
text-transform:uppercase;} |
#zone_centre p{ |
margin-bottom: 1.5em;} |
#zone_centre ul{ |
margin-bottom: 1.5em; |
padding-left: 1em;} |
/* Zone droite */ |
#zone_droite h3, #zone_droite h3{ |
background: url('images/a1.gif') no-repeat; |
width: 185px; |
height: 27px; |
font-size: 1.0em; |
font-weight: bold; |
padding-left: 15px; |
padding-top: 5px; |
color: #5D5F53;} |
/* Zone pied */ |
#zone_pied{ |
background: url('images/a4.gif') repeat-x top left; |
border-top: solid 1px #D0D4BB; |
padding: 2.0em 3.5em 3.0em 3.5em; |
font-size: 0.8em;} |
/*------------------------------------------*/ |
/*Spécial Appli GTT*/ |
#info,.information{ |
background-image: url('images/a3.gif'); |
background-repeat: repeat-x; |
background-position: bottom left; |
padding: 0.5em;} |
/* Presentation des informations */ |
.information{ |
text-align:center; |
font-weight:bold; |
border:2px solid red;} |
/*Formulaires*/ |
.symbole_obligatoire{ |
font-size:1em; |
font-weight:bold; |
color:red;} |
/*Liste de définition*/ |
.ajout_2_points dt:after {content:" : ";} |
.ajout_2_points dt[title]:after {content:" "url(images/help_view_16x16.gif)" : ";} |
/* Le calendrier */ |
.calendrier { |
font-family:verdana, arial, helvetica, sans-serif; |
font-size:0.9em;} |
.calendrier table {background-color: silver;} |
.calendrier table td {text-align: center;} |
.calendrier caption {font-weight: bold;} |
.categorie,.totaux_titre { |
font-size:1.6em; |
text-align:left !important; |
padding:1px; |
margin:0 0.2em;} |
.projet, .absence_titre { |
font-weight:bold; |
width:350px; |
text-align:left !important; |
padding-left:30px;} |
.utilisateur{ |
width:75px; |
text-align:center; |
background:white;} |
.jour_courrant { |
color:#BB0000; |
background-color:yellow; |
border:2px outset #74C054;} |
.jour_ferie { |
background-color:red; |
border-width:2px outset #74C054;} |
.jour_we { |
color:black; |
background-color: #F1F2E7; |
border-width:2px outset #74C054;} |
.jour_vide { |
color:white; |
background-color: grey;} |
/* Tableau identification */ |
#connexion{border:0;} |
#connexion td{ |
width:50%;} |
/* Tableau stats*/ |
tbody td.total{ |
width:5%;} |
tr.categories,tr.absences{ |
background-image: url('images/a2.gif');} |
tr.total, tr.total th{ |
color:white; |
font-weight:white; |
background-color:#B30000;} |
#tab_tps_w_mensuel_salarie{ |
width:100%;} |
.entete{width:250px;} |
#navigation{text-align:center;} |
#navigation p{margin:0;} |
#form_utilisateur label{ |
display:inline; |
float:none; |
min-width:0; |
font-weight:normal;} |
#preferences .pr_no { |
font-weight:bold; |
width:30%; |
text-align:left; |
padding-left:5px;} |
#preferences .pr_de { |
font-size:0.8em; |
text-align:left;} |
table#ut_tdt{width:50%;} |
/branches/v1.2-democrite/presentation/styles/emeraude/license.txt |
---|
New file |
0,0 → 1,243 |
Creative Commons </> |
Creative Commons Legal Code |
*Attribution 2.5* |
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE |
LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN |
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION |
ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE |
INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM |
ITS USE. |
/License/ |
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE |
COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY |
COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS |
AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. |
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE |
TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE |
RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS |
AND CONDITIONS. |
*1. Definitions* |
1. *"Collective Work"* means a work, such as a periodical issue, |
anthology or encyclopedia, in which the Work in its entirety in |
unmodified form, along with a number of other contributions, |
constituting separate and independent works in themselves, are |
assembled into a collective whole. A work that constitutes a |
Collective Work will not be considered a Derivative Work (as |
defined below) for the purposes of this License. |
2. *"Derivative Work"* means a work based upon the Work or upon the |
Work and other pre-existing works, such as a translation, musical |
arrangement, dramatization, fictionalization, motion picture |
version, sound recording, art reproduction, abridgment, |
condensation, or any other form in which the Work may be recast, |
transformed, or adapted, except that a work that constitutes a |
Collective Work will not be considered a Derivative Work for the |
purpose of this License. For the avoidance of doubt, where the |
Work is a musical composition or sound recording, the |
synchronization of the Work in timed-relation with a moving image |
("synching") will be considered a Derivative Work for the purpose |
of this License. |
3. *"Licensor"* means the individual or entity that offers the Work |
under the terms of this License. |
4. *"Original Author"* means the individual or entity who created the |
Work. |
5. *"Work"* means the copyrightable work of authorship offered under |
the terms of this License. |
6. *"You"* means an individual or entity exercising rights under this |
License who has not previously violated the terms of this License |
with respect to the Work, or who has received express permission |
from the Licensor to exercise rights under this License despite a |
previous violation. |
*2. Fair Use Rights.* Nothing in this license is intended to reduce, |
limit, or restrict any rights arising from fair use, first sale or other |
limitations on the exclusive rights of the copyright owner under |
copyright law or other applicable laws. |
*3. License Grant.* Subject to the terms and conditions of this License, |
Licensor hereby grants You a worldwide, royalty-free, non-exclusive, |
perpetual (for the duration of the applicable copyright) license to |
exercise the rights in the Work as stated below: |
1. to reproduce the Work, to incorporate the Work into one or more |
Collective Works, and to reproduce the Work as incorporated in the |
Collective Works; |
2. to create and reproduce Derivative Works; |
3. to distribute copies or phonorecords of, display publicly, perform |
publicly, and perform publicly by means of a digital audio |
transmission the Work including as incorporated in Collective Works; |
4. to distribute copies or phonorecords of, display publicly, perform |
publicly, and perform publicly by means of a digital audio |
transmission Derivative Works. |
5. |
For the avoidance of doubt, where the work is a musical composition: |
1. *Performance Royalties Under Blanket Licenses*. Licensor |
waives the exclusive right to collect, whether individually |
or via a performance rights society (e.g. ASCAP, BMI, |
SESAC), royalties for the public performance or public |
digital performance (e.g. webcast) of the Work. |
2. *Mechanical Rights and Statutory Royalties*. Licensor waives |
the exclusive right to collect, whether individually or via |
a music rights agency or designated agent (e.g. Harry Fox |
Agency), royalties for any phonorecord You create from the |
Work ("cover version") and distribute, subject to the |
compulsory license created by 17 USC Section 115 of the US |
Copyright Act (or the equivalent in other jurisdictions). |
6. *Webcasting Rights and Statutory Royalties*. For the avoidance of |
doubt, where the Work is a sound recording, Licensor waives the |
exclusive right to collect, whether individually or via a |
performance-rights society (e.g. SoundExchange), royalties for the |
public digital performance (e.g. webcast) of the Work, subject to |
the compulsory license created by 17 USC Section 114 of the US |
Copyright Act (or the equivalent in other jurisdictions). |
The above rights may be exercised in all media and formats whether now |
known or hereafter devised. The above rights include the right to make |
such modifications as are technically necessary to exercise the rights |
in other media and formats. All rights not expressly granted by Licensor |
are hereby reserved. |
*4. Restrictions.*The license granted in Section 3 above is expressly |
made subject to and limited by the following restrictions: |
1. You may distribute, publicly display, publicly perform, or |
publicly digitally perform the Work only under the terms of this |
License, and You must include a copy of, or the Uniform Resource |
Identifier for, this License with every copy or phonorecord of the |
Work You distribute, publicly display, publicly perform, or |
publicly digitally perform. You may not offer or impose any terms |
on the Work that alter or restrict the terms of this License or |
the recipients' exercise of the rights granted hereunder. You may |
not sublicense the Work. You must keep intact all notices that |
refer to this License and to the disclaimer of warranties. You may |
not distribute, publicly display, publicly perform, or publicly |
digitally perform the Work with any technological measures that |
control access or use of the Work in a manner inconsistent with |
the terms of this License Agreement. The above applies to the Work |
as incorporated in a Collective Work, but this does not require |
the Collective Work apart from the Work itself to be made subject |
to the terms of this License. If You create a Collective Work, |
upon notice from any Licensor You must, to the extent practicable, |
remove from the Collective Work any credit as required by clause |
4(b), as requested. If You create a Derivative Work, upon notice |
from any Licensor You must, to the extent practicable, remove from |
the Derivative Work any credit as required by clause 4(b), as |
requested. |
2. If you distribute, publicly display, publicly perform, or publicly |
digitally perform the Work or any Derivative Works or Collective |
Works, You must keep intact all copyright notices for the Work and |
provide, reasonable to the medium or means You are utilizing: (i) |
the name of the Original Author (or pseudonym, if applicable) if |
supplied, and/or (ii) if the Original Author and/or Licensor |
designate another party or parties (e.g. a sponsor institute, |
publishing entity, journal) for attribution in Licensor's |
copyright notice, terms of service or by other reasonable means, |
the name of such party or parties; the title of the Work if |
supplied; to the extent reasonably practicable, the Uniform |
Resource Identifier, if any, that Licensor specifies to be |
associated with the Work, unless such URI does not refer to the |
copyright notice or licensing information for the Work; and in the |
case of a Derivative Work, a credit identifying the use of the |
Work in the Derivative Work (e.g., "French translation of the Work |
by Original Author," or "Screenplay based on original Work by |
Original Author"). Such credit may be implemented in any |
reasonable manner; provided, however, that in the case of a |
Derivative Work or Collective Work, at a minimum such credit will |
appear where any other comparable authorship credit appears and in |
a manner at least as prominent as such other comparable authorship |
credit. |
*5. Representations, Warranties and Disclaimer* |
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR |
OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY |
KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, |
INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, |
FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF |
LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, |
WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE |
EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. |
*6. Limitation on Liability.* EXCEPT TO THE EXTENT REQUIRED BY |
APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL |
THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY |
DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF |
LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. |
*7. Termination* |
1. This License and the rights granted hereunder will terminate |
automatically upon any breach by You of the terms of this License. |
Individuals or entities who have received Derivative Works or |
Collective Works from You under this License, however, will not |
have their licenses terminated provided such individuals or |
entities remain in full compliance with those licenses. Sections |
1, 2, 5, 6, 7, and 8 will survive any termination of this License. |
2. Subject to the above terms and conditions, the license granted |
here is perpetual (for the duration of the applicable copyright in |
the Work). Notwithstanding the above, Licensor reserves the right |
to release the Work under different license terms or to stop |
distributing the Work at any time; provided, however that any such |
election will not serve to withdraw this License (or any other |
license that has been, or is required to be, granted under the |
terms of this License), and this License will continue in full |
force and effect unless terminated as stated above. |
*8. Miscellaneous* |
1. Each time You distribute or publicly digitally perform the Work or |
a Collective Work, the Licensor offers to the recipient a license |
to the Work on the same terms and conditions as the license |
granted to You under this License. |
2. Each time You distribute or publicly digitally perform a |
Derivative Work, Licensor offers to the recipient a license to the |
original Work on the same terms and conditions as the license |
granted to You under this License. |
3. If any provision of this License is invalid or unenforceable under |
applicable law, it shall not affect the validity or enforceability |
of the remainder of the terms of this License, and without further |
action by the parties to this agreement, such provision shall be |
reformed to the minimum extent necessary to make such provision |
valid and enforceable. |
4. No term or provision of this License shall be deemed waived and no |
breach consented to unless such waiver or consent shall be in |
writing and signed by the party to be charged with such waiver or |
consent. |
5. This License constitutes the entire agreement between the parties |
with respect to the Work licensed here. There are no |
understandings, agreements or representations with respect to the |
Work not specified here. Licensor shall not be bound by any |
additional provisions that may appear in any communication from |
You. This License may not be modified without the mutual written |
agreement of the Licensor and You. |
Creative Commons is not a party to this License, and makes no warranty |
whatsoever in connection with the Work. Creative Commons will not be |
liable to You or any party on any legal theory for any damages |
whatsoever, including without limitation any general, special, |
incidental or consequential damages arising in connection to this |
license. Notwithstanding the foregoing two (2) sentences, if Creative |
Commons has expressly identified itself as the Licensor hereunder, it |
shall have all rights and obligations of Licensor. |
Except for the limited purpose of indicating to the public that the Work |
is licensed under the CCPL, neither party will use the trademark |
"Creative Commons" or any related trademark or logo of Creative Commons |
without the prior written consent of Creative Commons. Any permitted use |
will be in compliance with Creative Commons' then-current trademark |
usage guidelines, as may be published on its website or otherwise made |
available upon request from time to time. |
Creative Commons may be contacted at http://creativecommons.org/ |
<http://creativecommons.org>. |
« Back to Commons Deed <./> |
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
/branches/v1.2-democrite/presentation/styles/emeraude/images/a2.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/branches/v1.2-democrite/presentation/styles/emeraude/images/a2.gif |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/branches/v1.2-democrite/presentation/styles/emeraude/images/a3.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/branches/v1.2-democrite/presentation/styles/emeraude/images/a3.gif |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/branches/v1.2-democrite/presentation/styles/emeraude/images/a4.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/branches/v1.2-democrite/presentation/styles/emeraude/images/a4.gif |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/branches/v1.2-democrite/presentation/styles/emeraude/images/a5.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/branches/v1.2-democrite/presentation/styles/emeraude/images/a5.gif |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/branches/v1.2-democrite/presentation/styles/emeraude/images/help_view_16x16.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/branches/v1.2-democrite/presentation/styles/emeraude/images/help_view_16x16.gif |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/branches/v1.2-democrite/presentation/styles/emeraude/images/a1.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/branches/v1.2-democrite/presentation/styles/emeraude/images/a1.gif |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/branches/v1.2-democrite/presentation/styles/disposition.css |
---|
New file |
0,0 → 1,98 |
@CHARSET "ISO-8859-1"; |
/* GTT VERSION 4 */ |
/* Modif des balises */ |
body,h1,h2,p{ |
margin:0; |
padding:0;} |
legend{margin:0 0 0 1em;} |
form {width:100%;} |
label{ |
display:block; |
float:left; |
padding-right:5px; |
min-width:150px;} |
/* Disposition des �l�ments sur la page */ |
#zone_entete { |
height:75px;} |
#zone_conteneur { |
position: absolute; |
min-width:1200px; |
width:100%;} |
#zone_tronc { |
position:relative; |
padding:5px;} |
#zone_gauche { |
position:absolute; |
left:0; |
top:5px; |
width:200px; |
height:100%;} |
#zone_centre { |
position:relative; |
margin:0 200px; |
padding:0; |
min-height:500px; |
min-width:750px; |
overflow:auto;} |
#zone_droite { |
position:absolute; |
right:0; |
top:5px; |
width:205px; |
height:100%;} |
#zone_pied { |
margin-top:10px; |
height:100%;} |
/* Autres zones mineures*/ |
#zone_accessibilite { |
float:right;} |
#zone_menu{ |
padding:0 0 0 5px;} |
/* D�tails */ |
#gestion input {width:80px;} |
#gestion #btn_valider,.btn_large{ |
width:50%; |
height:50px; |
margin:5px auto;} |
form.centre{ |
text-align:center;} |
#calendrier_gestion table{ |
width:100%; |
clear:both;} |
#connexion input[type=submit]{width:100%} |
#info{margin:0; |
padding:0;} |
#info_aujourdhui{ |
float:left; |
margin:0;} |
#info_semaine{text-align:right;} |
/*Formulaires*/ |
.editer li{ |
display:block; |
float:left; |
margin:0 0 0 5px} |
/* codes couleurs */ |
.bg-alerte { |
background-color: #F3B04E; |
} |
/* barre d'avancement */ |
.barre-avancement-ext { |
display: inline-block; |
height: 10px; |
width: 100px; |
border: solid #ddd 1px; |
background-color: white; |
text-align: left; |
} |
.barre-avancement-int { |
height: 10px; |
background-color: #409F40; |
} |
/branches/v1.2-democrite/presentation/styles/impression.css |
---|
New file |
0,0 → 1,10 |
#zone_droite, #zone_erreur,#navigation,#zone_accessibilite {display:none;} |
#zone_gauche{page-break-after: always;} |
table{ |
border: medium solid grey; |
border-collapse: collapse; |
margin:0} |
td,th{border:thin solid grey;} |
th{border-bottom: medium solid grey;} |
td,th{text-align:center;} |
.entete{text-align:left;} |
/branches/v1.2-democrite/presentation/admin_utilisateur.tpl.html |
---|
New file |
0,0 → 1,141 |
<?php if (isset($messages)) : ?> |
<?php foreach ($messages as $message) : ?> |
<p class="information"><?=$message;?></p> |
<?php endforeach; ?> |
<?php endif; ?> |
<form id="admin_utilisateur_editer" class="editer" name="admin_utilisateur_editer" action="index.php?action=admin-utilisateur_editer" method="post"> |
<fieldset> |
<legend>Éditer un utilisateur</legend> |
<ul> |
<li> |
<label for="utsu_id">Utilisateur :</label> |
<select id="utsu_id" name="utsu_id"> |
<?php foreach ($utilisateurs as $utilisateur) : ?> |
<option value="<?=$utilisateur['id'];?>"><?=$utilisateur['libelle'];?></option> |
<?php endforeach; ?> |
</select> |
</li> |
<li><input id="btn_utilisateur_supprimer" name="btn_utilisateur_supprimer" value="Supprimer" type="submit" onclick="javascript:return confirm('Êtes vous sûr de vouloir supprimer cet utilisateur ?');" /></li> |
<li><input id="btn_utilisateur_modifier" name="btn_utilisateur_modifier" value="Modifier" type="submit" /></li> |
</ul> |
</fieldset> |
</form> |
<form id="admin_utilisateur_ajouter" name="admin_utilisateur_ajouter" action="<?=$form_url;?>" method="post"> |
<fieldset> |
<legend><?=$form_legend;?></legend> |
<ul> |
<li> |
<label for="ut_nom">Nom :</label> |
<input size="50" name="ut_nom" type="text" value="<?=$Utilisateur->getNom();?>"/><span class="symbole_obligatoire">*</span> |
</li> |
<li> |
<label for="ut_prenom">Prenom :</label> |
<input size="50" name="ut_prenom" type="text" value="<?=$Utilisateur->getPrenom();?>"/><span class="symbole_obligatoire">*</span> |
</li> |
<li> |
<label for="ut_adresse">Adresse :</label> |
<input size="75" name="ut_adresse" type="text" value="<?=$Utilisateur->getAdresse();?>"/> |
</li> |
<li> |
<label for="ut_ville">Ville :</label> |
<input size="50" name="ut_ville" type="text" value="<?=$Utilisateur->getVille();?>"/> |
</li> |
<li> |
<label for="ut_code_postal">Code postal :</label> |
<input size="5" name="ut_code_postal" type="text" value="<?=$Utilisateur->getCodePostal();?>"/> |
</li> |
<li> |
<label for="ut_telephone">Téléphone :</label> |
<input size="10" name="ut_telephone" type="text" value="<?=$Utilisateur->getTelephone();?>"/> |
</li> |
<li> |
<label for="ut_email">Courriel :</label> |
<input size="50" name="ut_email" type="text" value="<?=$Utilisateur->getEmail();?>"/><span class="symbole_obligatoire">*</span> |
</li> |
<?php if ($mode == 'M') : ?> |
<li> |
<fieldset> |
<legend>Mot de passe</legend> |
<strong>Si vous ne voulez pas modifier le mot de passe :</strong> laisser vide les champs "Mot de passe" et "Confirmer mot de passe". |
<ul> |
<?php endif; ?> |
<li> |
<label for="ut_mot_de_passe">Mot de passe :</label> |
<input size="20" name="ut_mot_de_passe" type="password"/><span class="symbole_obligatoire">*</span></li> |
<li> |
<label for="ut_mot_de_passe_confirmation">Confirmer mot de passe :</label> |
<input size="20" name="ut_mot_de_passe_confirmation" type="password"/><span class="symbole_obligatoire">*</span> |
</li> |
<?php if ($mode == 'M') : ?> |
</ul> |
</fieldset> |
</li> |
<?php endif; ?> |
<li> |
<label for="ut_statut">Statut :</label> |
<select id="ut_statut" name="ut_statut"> |
<?php foreach ($utilisateur_statuts as $statut) : ?> |
<option value="<?=$statut['id'];?>"><?=$statut['libelle'];?></option> |
<?php endforeach; ?> |
</select> |
</li> |
<li> |
<label for="ut_conges_payes">Congés payés initiaux (en heure) :</label> |
<input size="3" name="ut_conges_payes" type="text" value="<?=$Utilisateur->getCongesPayes();?>"/> |
</li> |
<li> |
<label for="ut_temps_de_travail_jour">Temps journalier de travail :</label> |
<input size="3" name="ut_temps_de_travail_jour" type="text" value="<?=$Utilisateur->getTempsDeTravailJour();?>"/> |
</li> |
<li> |
<label for="ut_temps_de_travail_mois">Temps de travail mensuel fixe :</label> |
<input size="3" name="ut_temps_de_travail_mois" type="text" value="<?=$Utilisateur->getTempsDeTravailMois();?>"/> |
</li> |
<li> |
<label for="ut_tdt">Temps de travail hebdomadaire :</label> |
<table id="ut_tdt"> |
<thead> |
<tr> |
<th>Lundi</th> |
<th>Mardi</th> |
<th>Mercredi</th> |
<th>Jeudi</th> |
<th>Vendredi</th> |
<th>Samedi</th> |
<th>Dimanche</th> |
</tr> |
</thead> |
<tbody> |
<tr> |
<td><input size="3" name="ut_tdt_lundi" type="text" value="<?=$Utilisateur->getTdtLundi();?>"/></td> |
<td><input size="3" name="ut_tdt_mardi" type="text" value="<?=$Utilisateur->getTdtMardi();?>"/></td> |
<td><input size="3" name="ut_tdt_mercredi" type="text" value="<?=$Utilisateur->getTdtMercredi();?>"/></td> |
<td><input size="3" name="ut_tdt_jeudi" type="text" value="<?=$Utilisateur->getTdtJeudi();?>"/></td> |
<td><input size="3" name="ut_tdt_vendredi" type="text" value="<?=$Utilisateur->getTdtVendredi();?>"/></td> |
<td><input size="3" name="ut_tdt_samedi" type="text" value="<?=$Utilisateur->getTdtSamedi();?>"/></td> |
<td><input size="3" name="ut_tdt_dimanche" type="text" value="<?=$Utilisateur->getTdtDimanche();?>"/></td> |
</tr> |
</tbody> |
</table> |
</li> |
<li> |
<label for="ut_quota_heures_sup">Heures supplémentaires initiales :</label> |
<input size="3" name="ut_quota_heures_supp" type="text" value="<?=$Utilisateur->getQuotaHeuresSupp();?>"/> |
</li> |
<li> |
<label for="ut_mark_admin">Administrateur :</label> |
<input id="ut_mark_admin" name="ut_mark_admin" type="checkbox" value="1" <?=($bool_mark_admin)?'checked="checked"':'';?>/> |
</li> |
<li> |
<label for="ut_mark_recapitulatif">Cet utilisateur ne doit pas apparaître dans les divers récapitulatif :</label> |
<input id="ut_mark_recapitulatif" name="ut_mark_recapitulatif" type="checkbox" value="1" <?=($bool_mark_recapitulatif)?'checked="checked"':'';?>/> |
</li> |
<li> |
<input name="ut_id_utilisateur" type="hidden" value="<?=$Utilisateur->getIdUtilisateur();?>"/> |
<input id="<?=$form_bouton_id;?>" name="<?=$form_bouton_id;?>" value="<?=$form_bouton_value;?>" type="submit" /> |
<input id="btn_utilisateur_annuler" name="btn_utilisateur_annuler" value="Annuler" type="submit" /> |
</li> |
<li><span class="symbole_obligatoire">*</span> =champs obligatoires</li> |
</ul> |
</fieldset> |
</form> |
/branches/v1.2-democrite/presentation/calendrier_mini.tpl.html |
---|
New file |
0,0 → 1,30 |
<div id="calendrier_mini" class="calendrier"> |
<h2>Calendrier</h2> |
<table> |
<caption><a href="<?=$url_mois_precedent;?>"><<</a> <?=$mois['mois'];?> |
<?=$mois['annee'];?> <a href="<?=$url_mois_suivant;?>">>></a></caption> |
<thead> |
<tr> |
<th>Lun</th> |
<th>Mar</th> |
<th>Mer</th> |
<th>Jeu</th> |
<th>Ven</th> |
<th>Sam</th> |
<th>Dim</th> |
</tr> |
</thead> |
<tbody> |
<?php foreach ($elements as $semaine) : ?> |
<tr> |
<?php foreach ($semaine as $jour) : ?> |
<td class="<?=$jour['class'];?>"> <? if ($jour['class'] == 'jour_vide') :?> |
<?=$jour['jour'];?> <? else :?> <a href="<?=$jour['url'];?>"><?=$jour['jour'];?></a> |
<? endif;?></td> |
<?php endforeach; ?> |
</tr> |
<?php endforeach; ?> |
</tbody> |
</table> |
<hr/> |
</div> |
/branches/v1.2-democrite/presentation/admin_utilisateur_statut.tpl.html |
---|
New file |
0,0 → 1,34 |
<?php if (isset($message)) : ?> |
<p class="information"><?=$message;?></p> |
<?php endif; ?> |
<form id="admin_us_supprimer" class="editer" name="admin_us_supprimer" action="index.php?action=admin-utilisateur-statut_valider-supprimer" method="post"> |
<fieldset> |
<legend>Supprimer un statut d'utilisateur</legend> |
<ul> |
<li> |
<label for="ussu_id">Statut d'utilisateur :</label> |
<select id="ussu_id" name="ussu_id"> |
<?php foreach ($statuts as $statut) : ?> |
<option value="<?=$statut['id'];?>"><?=$statut['libelle'];?></option> |
<?php endforeach; ?> |
</select> |
</li> |
<li><input id="btn_us_supprimer" name="btn_us_supprimer" value="Supprimer" type="submit" onclick="javascript:return confirm('Êtes vous sûr de vouloir supprimer cet statut d\'utilisateur ?');" /></li> |
</ul> |
</fieldset> |
</form> |
<form id="admin_us_ajouter" name="admin_us_ajouter" action="index.php?action=admin-utilisateur-statut_valider-ajouter" method="post"> |
<fieldset> |
<legend>Ajouter un statut d'utilisateur</legend> |
<ul> |
<li> |
<label for="usaj_libelle">Libelle :</label> |
<input size="30" id="usaj_libelle" name="usaj_libelle" type="text" /> |
<span class="symbole_obligatoire">*</span> |
</li> |
<li> |
<input size="5" id="btn_us_ajouter" name="btn_us_ajouter" value="Ajouter" type="submit" /></li> |
<li><span class="symbole_obligatoire">*</span> =champs obligatoires</li> |
</ul> |
</fieldset> |
</form> |
/branches/v1.2-democrite/presentation/scripts/commun.js |
---|
New file |
0,0 → 1,78 |
// Fonction déclanchant l'ouverture d'une fenêtre externe pour les liens possédant la classe "ext" |
function ouvrirLienExterne() { |
var liens = document.getElementsByTagName('a'); |
// On récupère tous les liens (<a>) du document dans une variable (un array), ici liens. |
// Une boucle qui parcourt le tableau (array) liens du début à la fin. |
for (var i = 0 ; i < liens.length ; ++i) { |
// Si les liens ont un nom de class égal à lien_ext, alors on agit. |
if (liens[i].className == 'ext') { |
liens[i].title = liens[i].title + 'S\'ouvre dans une nouvelle fenêtre'; |
// Au clique de la souris. |
liens[i].onclick = function() { |
window.open(this.href); |
return false; // On ouvre une nouvelle page ayant pour URL le href du lien cliqué et on inhibe le lien réel. |
}; |
} |
} |
} |
function caseACocherUnique() { |
$('input.ab').on('click', function(){ |
var id = $(this).attr('id'), |
name = $(this).attr('name'), |
numJour = $(this).attr('data-num-jour'), |
abId = $(this).attr('data-ab-id'), |
dureeDefaut = $(this).attr('data-duree-defaut'), |
checked = $(this).is(':checked'); |
if (checked) { |
$(this).val(abId + ':' + dureeDefaut); |
} else { |
$(this).val(abId + ':0'); |
} |
// Nous forçons une seul case cochable |
$('input.ab[name="'+name+'"]:checked').each(function() { |
if ($(this).attr('id') != id) { |
$(this).removeAttr('checked'); |
} |
}); |
// Mise à zéro des projets du jour |
$('input.pr[data-num-jour="'+numJour+'"]').each(function() { |
if (checked) { |
if ($(this).attr('value') != '') { |
$(this).attr('value', 0); |
} |
$(this).attr('disabled', 'disabled'); |
} else { |
$(this).removeAttr('disabled'); |
} |
}); |
// Mise à zéro des catégories du jour |
$('td.categorie_total.pr[data-num-jour="'+numJour+'"]').each(function() { |
if (checked) { |
$(this).text(''); |
} else { |
$(this).removeAttr('disabled'); |
} |
}); |
}); |
$('form#gestion').bind('submit', function() { |
$(this).find(':input').removeAttr('disabled'); |
}); |
// Nous rendons par défaut les champs projets inactifs pour chaque jour d'abscence |
$('input.ab:checked').each(function() { |
var numJour = $(this).attr('data-num-jour'); |
$('input.pr[data-num-jour="'+numJour+'"]').each(function() { |
$(this).attr('disabled', 'disabled'); |
}); |
}); |
} |
$(document).ready(function() { |
ouvrirLienExterne(); |
caseACocherUnique(); |
}); |
/branches/v1.2-democrite/presentation/stat_tableau_global.tpl.html |
---|
New file |
0,0 → 1,81 |
<div id="navigation"> |
<p>Navigation : <a href="<?=$url_mois_precedent;?>"><<</a> <?=$mois['mois'];?> <?=$mois['annee'];?> <a href="<?=$url_mois_suivant;?>">>></a></p> |
</div> |
<div id="export"> |
<p><a href="<?=$url_mois_courant;?>&format=csv">Affichage au format CSV</a> - <a href="<?=$url_mois_courant;?>&format=csv&sortie=csvt">Export au format CSV</a></p> |
</div> |
<?php if ($categories || $absences) : ?> |
<table id="tab_tps_w_mensuel_salarie" summary="Tableau du temps de travail mensuel par salarié."> |
<caption>Tableaux global - <?=$mois['mois'];?> <?=$mois['annee'];?></caption> |
<thead> |
<tr> |
<th>Projets</th> |
<?php foreach ($utilisateurs as $utilisateur) : ?> |
<th><?=$utilisateur['prenom_nom']?></th> |
<?php endforeach; ?> |
<th>Total</th> |
</tr> |
</thead> |
<tbody> |
<?php $ligne = "impair"; ?> |
<?php if ($categories) : ?> |
<tr class="total"> |
<th>Travail</th> |
<?php foreach ($utilisateurs as $utilisateur) : ?> |
<td><?=(isset($utilisateur['total_w'])) ? $utilisateur['total_w'] : " ";?></td> |
<?php endforeach; ?> |
<td class="total"><?=$total_projets;?></td> |
</tr> |
<?php foreach ($categories as $idc => $categorie):?> |
<tr class="categories"> |
<th class="categories_titre"><?=$categorie['nom'];?> [<?=$categorie['abreviation'];?>]</th> |
<?php foreach ($utilisateurs as $utilisateur) : ?> |
<td class="categories_total"><?=(isset($utilisateur['projets'][$idc]['total'])) ? $utilisateur['projets'][$idc]['total'] : " ";?></td> |
<?php endforeach; ?> |
<td class="total"><?=$categorie['total'];?></td> |
</tr> |
<?php foreach ($categorie['projets'] as $idp => $projet):?> |
<tr class="utilisateur <?=$ligne ; $ligne = ($ligne == "impair") ? "pair" : "impair" ;?>"> |
<th id="pr:<?=$idp;?>" title="<?=$projet['desc'];?>"><?=$projet['nom'];?></th> |
<?php foreach ($utilisateurs as $utilisateur) : ?> |
<td class="projet"><?=(isset($utilisateur['projets'][$idc][$idp])) ? $utilisateur['projets'][$idc][$idp]['duree'] : " ";?></td> |
<?php endforeach; ?> |
<td class="total"><?=$projet['total'];?></td> |
</tr> |
<?php endforeach; ?> |
<?php endforeach; ?> |
<?php endif; ?> |
<?php if ($absences) : ?> |
<tr class="total"> |
<th class="absences_titre">Absences</th> |
<?php foreach ($utilisateurs as $utilisateur) : ?> |
<td><?=$utilisateur['total_a'];?></td> |
<?php endforeach; ?> |
<td class="total"><?=$total_absences;?></td> |
</tr> |
<?php foreach ($absences as $ida => $absence) : ?> |
<tr class="utilisateur <?=$ligne ; $ligne = ($ligne == "impair") ? "pair" : "impair" ;?>"> |
<th id="ab:<?=$ida;?>" class="absence_nom"><?=$absence['nom'];?></th> |
<?php foreach ($utilisateurs as $utilisateur) : ?> |
<td class="absence"><?= (isset($utilisateur['ab'][$ida])) ? $utilisateur['ab'][$ida] : " ";?></td> |
<?php endforeach; ?> |
<td class="total"><?= (isset($absence['total'])) ? $absence['total'] : " ";?></td> |
</tr> |
<?php endforeach; ?> |
<?php endif; ?> |
<tr class="total"> |
<th>Total</th> |
<?php foreach ($utilisateurs as $utilisateur) : ?> |
<td><?=(isset($utilisateur['total'])) ? $utilisateur['total'] : " ";?></td> |
<?php endforeach; ?> |
<td class="total"><?=$total_absences_projets;?></td> |
</tr> |
</tbody> |
</table> |
<?php endif; ?> |
<?php if (isset($messages)) : ?> |
<?php foreach ($messages as $message) : ?> |
<p class="information"><?=$message;?></p> |
<?php endforeach; ?> |
<?php endif; ?> |