Skip to content
Extraits de code Groupes Projets
Valider e30b28cb rédigé par esj's avatar esj
Parcourir les fichiers

nouveau filtre agenda_affiche permettant la différenciation de couleur et...

nouveau filtre agenda_affiche permettant la différenciation de couleur et améliorant la lisibilité des filtres de calendriers
parent ae8307bb
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
<BOUCLE_jour(ARTICLES)
{agenda date, jour, #ENV{annee}, #ENV{mois}, #ENV{jour}}>[
(#DATE|agenda_memo{#DESCRIPTIF, #TITRE, #URL_ARTICLE, 'calendrier-couleur1'})
]</BOUCLE_jour>
[(#DATE|agenda_memo{'', '', '', 'calendrier-couleur1', 'jour'})]
</B_jour>
<:aucun_article:>
<//B_jour>
\ No newline at end of file
{agenda date, jour, #ENV{annee}, #ENV{mois}, #ENV{jour}}{par date}
>[(#DATE|agenda_memo{#DESCRIPTIF, #TITRE, #URL_ARTICLE,
[(#COMPTEUR_BOUCLE|
alterner{'calendrier-couleur1', 'calendrier-couleur3'})]})]</BOUCLE_jour>[(#TOTAL_BOUCLE|
agenda_affiche{'jour', 'calendrier-couleur1', 'calendrier-couleur3'}
)][(#TOTAL_BOUCLE|
choixsivide{<:aucun_article:>,''})]<//B_jour>
\ No newline at end of file
<BOUCLE_mois(ARTICLES)
{agenda date, mois, #ENV{annee}, #ENV{mois}}>[
(#DATE|agenda_memo{#DESCRIPTIF, #TITRE, #URL_ARTICLE, 'calendrier-couleur3'})
]</BOUCLE_mois>
[(#DATE|agenda_memo{'', '', '','calendrier-couleur3', 'mois'})]
</B_mois>
<:aucun_article:>
<//B_mois>
\ No newline at end of file
{agenda date, mois, #ENV{annee}, #ENV{mois}}{par date}>[
(#DATE|agenda_memo{#DESCRIPTIF, #TITRE, #URL_ARTICLE,'calendrier-couleur5'})]</BOUCLE_mois>[(#TOTAL_BOUCLE|
agenda_affiche{'mois', 'calendrier-couleur5'}
)][(#TOTAL_BOUCLE|
choixsivide{<:aucun_article:>,''})]<//B_mois>
\ No newline at end of file
<BOUCLE_semaine(ARTICLES)
{agenda date, semaine, #ENV{annee}, #ENV{mois}, #ENV{jour}}>[
(#DATE|agenda_memo{#DESCRIPTIF, #TITRE, #URL_ARTICLE, 'calendrier-couleur2'})
]</BOUCLE_semaine>
[(#DATE|agenda_memo{'', '', '', 'calendrier-couleur2', 'semaine'})]
</B_semaine>
<:aucun_article:>
<//B_semaine>
{agenda date, semaine, #ENV{annee}, #ENV{mois}, #ENV{jour}}{par date}
>[(#DATE|agenda_memo{#DESCRIPTIF, #TITRE, #URL_ARTICLE,
[(#COMPTEUR_BOUCLE|
alterner{'calendrier-couleur2', 'calendrier-couleur4'})]})]</BOUCLE_semaine>[(#TOTAL_BOUCLE|
agenda_affiche{'semaine', 'calendrier-couleur2','calendrier-couleur4'}
)][(#TOTAL_BOUCLE|
choixsivide{<:aucun_article:>,''})]<//B_semaine>
......@@ -298,6 +298,7 @@ function http_calendrier_mois_sept($annee, $mois, $premier_jour, $dernier_jour,$
$total = '';
$ligne = '';
$today=date("Ymd");
for ($j=$premier_jour; $j<=$dernier_jour; $j++){
$nom = mktime(1,1,1,$mois,$j,$annee);
$jour = date("d",$nom);
......@@ -315,20 +316,18 @@ function http_calendrier_mois_sept($annee, $mois, $premier_jour, $dernier_jour,$
$ligne = $init = '';
}
if ($amj == date("Ymd")) {
if ($amj == $today) {
$couleur_lien = "red";
$couleur_fond = "white";
}
$evts = $evenements[$amj];
if ($evts) {
$res = '';
$res = '';
if ($evts = $evenements[$amj]) {
foreach ($evts as $evenement)
{
$res .= isset($evenement['DTSTART']) ?
http_calendrier_avec_heure($evenement, $amj) :
http_calendrier_sans_heure($evenement);
}
$evts = $res;
}
$ligne .= "\n\t\t<td\tclass='calendrier-td'
......@@ -338,7 +337,7 @@ function http_calendrier_mois_sept($annee, $mois, $premier_jour, $dernier_jour,$
" border-$spip_lang_left: 1px solid $couleur_claire;") .
"'>" .
http_calendrier_mois_clics($annee_en_cours, $mois_en_cours, $jour, $script, $ancre, $couleur_lien) .
$evts .
$res .
"\n\t</td>";
}
return $total . ($ligne ? "\n<tr>$ligne\n</tr>" : '');
......@@ -705,9 +704,9 @@ function http_calendrier_ics_grille($debut, $fin, $dimheure, $dimjour, $fontsize
for ($i = $debut; $i < $fin; $i++) {
for ($j=0; $j < $slice; $j++)
{
$gras = "calendrier-heure" . ($j ? "face" : "pile");
$total .= "\n<div class='$gras' style='$spip_lang_left: 0px; top: ".
$total .= "\n<div class='calendrier-heure" .
($j ? "face" : "pile") .
"' style='$spip_lang_left: 0px; top: ".
calendrier_top ("$i:".sprintf("%02d",floor(($j*60)/$slice)), $debut, $fin, $dimheure, $dimjour, $fontsize) .
"px;'>$i:" .
sprintf("%02d",floor(($j*60)/$slice)) .
......
......@@ -715,46 +715,63 @@ function agenda_connu($type)
return in_array($type, array('jour','mois','semaine','periode')) ? ' ' : '';
}
// A chaque appel de moins 5 arguments,cette fonction memorise un evenement
// decrit par une date, un descriptif, un titre et une URL.
// A l'appel avec 6 arguments, l'ensemble sera mis en page selon le type
// indique par le 6e argument et le style CSS indiquee par le 5e
// Ce 5e argument sert aussi d'index de memorisation
// pour avoir plusieurs calendriers dans une meme page sans interferences
// Cette fonction memorise dans un tableau indexe par son 5e arg
// un evenement decrit par les 4 autres (date, descriptif, titre, URL).
// Appellee avec une date nulle, elle renvoie le tableau construit.
// l'indexation par le 5e arg autorise plusieurs calendriers dans une page
function agenda_memo($date='', $descriptif='', $titre='', $url='', $cal='', $type='')
function agenda_memo($date=0 , $descriptif='', $titre='', $url='', $cal='')
{
static $agenda = array();
if (!$type)
{
$idate = date_ical($date);
$agenda[$cal][(date_anneemoisjour($date))][] = array(
if (!$date) return $agenda;
$idate = date_ical($date);
$cal = trim($cal); // func_get_args (filtre alterner) rajoute \n !!!!
$agenda[$cal][(date_anneemoisjour($date))][] = array(
'CATEGORIES' => $cal,
'DTSTART' => $idate,
'DTEND' => $idate,
'DESCRIPTION' => texte_script($descriptif),
'SUMMARY' => texte_script($titre),
'URL' => $url);
// signifier qu'il y a qqch
return " ";
} else {
if ($type != 'periode')
$evt = array('', $agenda[$cal]);
else
// toujours retourner vide pour qu'il ne se passe rien
return "";
}
// Cette fonction recoit un nombre d'evenements, un type de calendriers
// et une suite de noms N.
// Elle demande a la fonction la precedente son tableau
// et affiche selon le type les elements indexes par N dans ce tableau.
// Ces noms N sont aussi des classes CSS utilisees par http_calendrier_init
function agenda_affiche($i)
{
$args = func_get_args();
$nb = array_shift($args); // nombre d'evenements (on pourrait l'afficher)
if (!$nb) return "";
$type = array_shift($args);
$agenda = agenda_memo(0);
$evt = array();
foreach ($args as $k) {
if (is_array($agenda[$k]))
foreach($agenda[$k] as $d => $v) {
$evt[$d] = $evt[$d] ? (array_merge($evt[$d], $v)) : $v;
}
}
if ($type != 'periode')
$evt = array('', $evt);
else
{
$d = array_keys($agenda[$cal]);
$d = array_keys($evt);
$mindate = min($d);
$min = substr($mindate,6,2);
$max = $min + ((strtotime(max($d)) - strtotime($mindate)) / (3600 * 24));
if ($max < 31) $max = 0;
$evt = array('', $agenda[$cal], $min, $max);
$evt = array('', $evt, $min, $max);
$type = 'mois';
}
include('ecrire/inc_calendrier.php');
return http_calendrier_init('', $type, '', '', '', $evt);
}
}
//
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter