Changeset 29309 in spip-zone


Ignore:
Timestamp:
Jun 21, 2009, 1:40:59 AM (11 years ago)
Author:
prigent.yohann@…
Message:

Passage de l'agenda en SPIP sans PHP dans les squelettes. Pour cela : * J'ai pris modele sur l'agenda mais qui ne convient pas du tout à SoyezCreateurs? car il n'affiche pas les événements en début et fin de période ni les bon title. * Il a donc fallu que je fasse un fichier soyezcreateurs_fonctions contenant tout ce dont avait besoin l'agenda pour fonctionner comme l'ancien de SoyezCreateurs?. * L'appel de l'agenda maintenant se fait sur un simple {{ [(#ENV{date}|sc_agenda_mini)] }} où #ENV{date} est la date en cours transmis par SPIP. * L'interface de l'agenda reste la même, seul l'affichage public change en évitant de forker les fonctions de l'agenda_2_0_0 en créant les propres filtres spécifiques à SoyezCreateurs?.

Location:
_squelettes_/soyezcreateurs_net/plugins_2.0/plugins/__soyezcreateurs
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/soyezcreateurs_net/plugins_2.0/plugins/__soyezcreateurs/noisettes/agenda/miniagenda.html

    r27451 r29309  
    11#CACHE{3600}
    2 <?php
    3 $months = array('', '<:date_mois_1:>', '<:date_mois_2:>', '<:date_mois_3:>', '<:date_mois_4:>', '<:date_mois_5:>', '<:date_mois_6:>', '<:date_mois_7:>', '<:date_mois_8:>', '<:date_mois_9:>', '<:date_mois_10:>', '<:date_mois_11:>', '<:date_mois_12:>');
    4 $days = array('<:pyrat:date_j_1:>', '<:pyrat:date_j_2:>', '<:pyrat:date_j_3:>', '<:pyrat:date_j_4:>', '<:pyrat:date_j_5:>', '<:pyrat:date_j_6:>', '<:pyrat:date_j_7:>');
    5 $days_long = array('<:date_jour_1:>', '<:date_jour_2:>', '<:date_jour_3:>', '<:date_jour_4:>', '<:date_jour_5:>', '<:date_jour_6:>', '<:date_jour_7:>');
    6 
    7 $M = intval(date('m', time()));
    8 $Y = intval(date('Y', time()));
    9 $events = array();
    10 ?>
    112<B_agenda>
    123<div class="miniagenda">
    13 <BOUCLE_agenda(RUBRIQUES)
    14         {titre_mot=Agenda}
    15         {racine}
    16 >
    17         <?php
    18         $events = array();
    19         $eventstitle = array();
    20         $eventscolor = array();
    21         <BOUCLE_evenements(EVENEMENTS)
    22                 {branche}
    23                 {date_debut>(#ENV{date}|affdate{'Y-m-01'}|DateAdd{-6})}{date_debut<(#ENV{date}|affdate{'Y-m-01'}|DateAdd{35})}
    24                 {par date_debut}
    25                 {statut=publie}
    26         >
    27         $date = ereg_replace("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", "\\1\\2\\3", '#DATE_DEBUT');
    28         if ($date > date("Ymd", mktime(0, 0, 0, $M, -7, $Y)) && $date < date("Ymd", mktime(0, 0, 0, $M + 1, 7, $Y))) {
    29                 <BOUCLE_EvenementArticle(ARTICLES)
    30                         {id_article}
    31                 >
    32                         if (!isset($events[$date])) { $events[$date] = array(); }
    33                         $events[$date][] = '#URL_ARTICLE';
    34                         if (!isset($eventstitle[$date])) { $eventstitle[$date] = array(); }
    35                         $eventstitle[$date][] = '[(#TITRE|attribut_html|texte_script)][&nbsp;: (#_evenements:TITRE|=={#TITRE}|?{'',[(#_evenements:TITRE|attribut_html|texte_script)]})] - [(#_evenements:DATE_DEBUT|afficher_les_dates{#_evenements:DATE_FIN,#_evenements:HORAIRE,0,0,0,0})]';
    36                         if (!isset($eventscolor[$date])) { $eventscolor[$date] = array(); }
    37                         $eventscolor[$date][] = '<BOUCLE_CouleurRub(MOTS)
    38                                 {id_rubrique}
    39                                 {type=_CouleurRubrique}
    40                                 > style="background-color:#[(#TEXTE)];"</BOUCLE_CouleurRub>';
    41                 </BOUCLE_EvenementArticle>
    42         }
    43         </BOUCLE_evenements>
    44         ?>
    45 <h2[ title="(#DESCRIPTIF|attribut_html)"]>[(#TITRE)]</h2>
    46 <div class="fond">
    47 <table class="agenda" summary="[(#DESCRIPTIF|sinon{<:pyrat:agenda_summary:>}|attribut_html)]">
    48 <caption>
    49         <a href="spip.php?page=agenda&amp;id_rubrique=#ID_RUBRIQUE" title="<:pyrat:voirdetailmois:> [(#ENV{date}|nom_mois)]">[(#ENV{date}|nom_mois)]</a> <img src="#CHEMIN{images/1.gif}" alt="" width="1" height="1" />&nbsp;<a href="[(#URL_RUBRIQUE|parametre_url{calendrier,1})]" title="<:pyrat:voirdetailannee:> [(#ENV{date}|annee)]">[(#ENV{date}|annee)]</a>
    50 </caption>
    51 <tr>
    52         <?php
    53         for($i = 1; $i < 8; $i++) {
    54                 echo '<th class="agendahead" scope="col"><abbr title="'.$days_long[$i%7].'">'.$days[$i%7].'</abbr></th>';
    55         }
    56         $TempD = 1;
    57         $Time = mktime(0, 0, 0, $M, 1, $Y);
    58         if(date('w', mktime(0, 0, 0, $M, 1, $Y)) != 1) {
    59                 echo '</tr><tr>';
    60                 $tmp = '';
    61                 while(date('w', $Time) != 1) {
    62                         $TempD--;
    63                 $Time =  mktime(0, 0, 0, $M, $TempD, $Y);
    64                         if (isset($events[date('Ymd', $Time)])) {
    65                                 if (count($events[date('Ymd', $Time)]) == 1) {
    66                                   $case = '<td class="agendanotthismonth event">';
    67                                   $case .= '<a'.$eventscolor[date('Ymd', $Time)][0].' href="'.$events[date('Ymd', $Time)][0].'" title="'.$eventstitle[date('Ymd', $Time)][0].'">'.date('j', $Time).'</a>';
    68                                 } else {
    69                                   $case = '<td class="agendanotthismonth events">';
    70                                   $case .= '<a href="spip.php?page=agenda&amp;id_rubrique=#ID_RUBRIQUE" title="[(#TITRE|attribut_html) (<:agenda:voir_evenements_rubrique|attribut_html:>)]">'.date('j', $Time).'</a>';
    71                                 }
    72                         } else {
    73                                 $case = '<td class="agendanotthismonth">';
    74                                 $case .= date('j', $Time);
    75                         }
    76                         $tmp = $case.'</td>'.$tmp;
    77                 }
    78                 echo $tmp;
    79         }
    80         $TempD = 1;
    81         $Time = mktime(0, 0, 0, $M, 1, $Y);
    82         while((date('m', $Time) == $M) || (date('w', $Time) != 1)) {
    83                 if(date('w', $Time) == 1) {
    84                         echo '</tr><tr>';
    85                 }
    86                 if (isset($events[date('Ymd', $Time)])) {
    87                                 if (count($events[date('Ymd', $Time)]) == 1) {
    88                                   echo '<td class="agenda'.(date('m', $Time) != $M ? 'not' : '').'this'.(date('Ymd', $Time) == date('Ymd') ? 'day' : 'month').' event">';
    89                                   echo '<a'.$eventscolor[date('Ymd', $Time)][0].' href="'.$events[date('Ymd', $Time)][0].'" title="'.$eventstitle[date('Ymd', $Time)][0].'">'.date('j', $Time).'</a>';
    90                                 } else {
    91                                   echo '<td class="agenda'.(date('m', $Time) != $M ? 'not' : '').'this'.(date('Ymd', $Time) == date('Ymd') ? 'day' : 'month').' events">';
    92                                   echo '<a href="spip.php?page=agenda&amp;id_rubrique=#ID_RUBRIQUE" title="[(#TITRE|attribut_html) (<:agenda:voir_evenements_rubrique|attribut_html:>)]">'.date('j', $Time).'</a>';
    93                                 }
    94                 } else  {
    95                         echo '<td class="agenda'.(date('m', $Time) != $M ? 'not' : '').'this'.(date('Ymd', $Time) == date('Ymd') ? 'day' : 'month').'">';
    96                         echo date('j', $Time);
    97                 }
    98                 echo '</td>';
    99                 $TempD++;
    100                 $Time =  mktime(0, 0, 0, $M, $TempD, $Y);
    101         }
    102         ?>
    103 </tr>
    104 </table>
    105 <div class="agendaderniersajouts">
    106         <B_AgendaDerniersAjouts>
    107         <ul>
    108         <BOUCLE_AgendaDerniersAjouts(EVENEMENTS)
    109                 {branche}
    110                 {par date_debut}
    111                 {0,(#CONFIG{soyezcreateurs/nombres_agenda,5})}
    112                 {date_fin>=(#ENV{date}|affdate{'Y-m-d'})}
    113                 {statut=publie}
    114         >
    115         <li><BOUCLE_DernierEvenementArticle(ARTICLES)
    116                 {id_article}
    117                 ><a href="#URL_ARTICLE#evenement#ID_EVENEMENT"[ title="(#_DernierEvenementArticle:TITRE|!={#_AgendaDerniersAjouts:TITRE}|?{[(#TITRE|attribut_html)][&nbsp;: (#_AgendaDerniersAjouts:TITRE|attribut_html)] - [(#_AgendaDerniersAjouts:DATE_DEBUT|afficher_les_dates{#_AgendaDerniersAjouts:DATE_FIN,#_AgendaDerniersAjouts:HORAIRE,0,0,0,0})],[(#TITRE|attribut_html)] - [(#_AgendaDerniersAjouts:DATE_DEBUT|afficher_les_dates{#_AgendaDerniersAjouts:DATE_FIN,#_AgendaDerniersAjouts:HORAIRE,0,0,0,0})]})"]></BOUCLE_DernierEvenementArticle>#TITRE</a></li>
    118         </BOUCLE_AgendaDerniersAjouts>
    119         </ul>
    120         </B_AgendaDerniersAjouts>
     4        <BOUCLE_agenda(RUBRIQUES){titre_mot=Agenda}{racine}>
     5        [<h2[ title="(#DESCRIPTIF|attribut_html)"]>(#TITRE)</h2>]
     6        <table class="agenda" summary="<:icone_calendrier:>">
     7                <caption>
     8                        [<a href="[(#URL_PAGE{agenda}|parametre_url{'id_rubrique', #ID_RUBRIQUE})]"[ title="<:pyrat:voirdetailmois:> (#ENV{date}|nom_mois)"]>
     9                                (#ENV{date}|nom_mois)
     10                        </a>]
     11                        <img src="#CHEMIN{images/1.gif}" alt="" width="1" height="1" />&nbsp;
     12                        [<a href="[(#URL_RUBRIQUE|parametre_url{calendrier,1})]"[ title="<:pyrat:voirdetailannee:> (#ENV{date}|annee)"]>
     13                                (#ENV{date}|annee)
     14                        </a>]
     15                </caption>
     16                <thead>
     17                        <tr>
     18                                <th class="agendahead" scope="col"><abbr title="<:date_jour_2:>"><:date_jour_2|spip_substr{0,1}|strtoupper:></abbr></th>
     19                                <th class="agendahead" scope="col"><abbr title="<:date_jour_3:>"><:date_jour_3|spip_substr{0,1}|strtoupper:></abbr></th>
     20                                <th class="agendahead" scope="col"><abbr title="<:date_jour_4:>"><:date_jour_4|spip_substr{0,1}|strtoupper:></abbr></th>
     21                                <th class="agendahead" scope="col"><abbr title="<:date_jour_5:>"><:date_jour_5|spip_substr{0,1}|strtoupper:></abbr></th>
     22                                <th class="agendahead" scope="col"><abbr title="<:date_jour_6:>"><:date_jour_6|spip_substr{0,1}|strtoupper:></abbr></th>
     23                                <th class="agendahead" scope="col"><abbr title="<:date_jour_7:>"><:date_jour_7|spip_substr{0,1}|strtoupper:></abbr></th>
     24                                <th class="agendahead" scope="col"><abbr title="<:date_jour_1:>"><:date_jour_1|spip_substr{0,1}|strtoupper:></abbr></th>
     25                        </tr>
     26                </thead>
     27                <tbody>
     28                        <BOUCLE_evenement(EVENEMENTS){branche}
     29                        {date_debut > (#ENV{date}|affdate{'Y-m-01'}|DateAdd{-6})}
     30                        {date_debut < (#ENV{date}|affdate{'Y-m-01'}|DateAdd{35})}
     31                        {par date_debut}{statut=publie}>
     32                                [(#DATE_DEBUT|sc_Agenda_memo_full{#DATE_FIN,[(#TITRE|addslashes)],
     33                                #DESCRIPTIF,#LIEU,
     34                                #ID_ARTICLE})]
     35                        </BOUCLE_evenement>
     36                        [(#ENV{date}|sc_agenda_mini)]
     37                </tbody>
     38        </table>
     39        <div class="agendaderniersajouts">
     40                <B_AgendaDerniersAjouts>
     41                <ul>
     42                <BOUCLE_AgendaDerniersAjouts(EVENEMENTS){branche}{par date_debut}{0,(#CONFIG{soyezcreateurs/nombres_agenda,5})}
     43                {date_fin>=(#ENV{date}|affdate{'Y-m-d'})}{statut=publie}>
     44                <li>
     45                <BOUCLE_DernierEvenementArticle(ARTICLES){id_article}>
     46                        [<a href="(#URL_ARTICLE|ancre_url{'#evenement'#ID_EVENEMENT})"[ title="(#_DernierEvenementArticle:TITRE|!={#_AgendaDerniersAjouts:TITRE}|?{[(#TITRE|attribut_html)][&nbsp;: (#_AgendaDerniersAjouts:TITRE|attribut_html)] - [(#_AgendaDerniersAjouts:DATE_DEBUT|afficher_les_dates{#_AgendaDerniersAjouts:DATE_FIN,#_AgendaDerniersAjouts:HORAIRE,0,0,0,0})],[(#TITRE|attribut_html)] - [(#_AgendaDerniersAjouts:DATE_DEBUT|afficher_les_dates{#_AgendaDerniersAjouts:DATE_FIN,#_AgendaDerniersAjouts:HORAIRE,0,0,0,0})]})"]>]
     47                                #_AgendaDerniersAjouts:TITRE
     48                        </a>
     49                </BOUCLE_DernierEvenementArticle>
     50                </li>
     51                </BOUCLE_AgendaDerniersAjouts>
     52                </ul>
     53                </B_AgendaDerniersAjouts>
    12154        </div>
    12255</div>
    12356<div class="centrer_div">
    124 <a href="[(#URL_PAGE{backendagenda}|parametre_url{id_rubrique,#ID_SECTEUR})]"><img src="#CHEMIN{images/fairytale_date_rss_24.png}" alt="<:pyrat:syndiquer_agenda:>&nbsp;: [(#TITRE|attribut_html)]" title="<:pyrat:syndiquer_agenda:>&nbsp;: [(#TITRE|attribut_html)]" width="52" height="24" /></a>
     57<a href="[(#URL_PAGE{backendagenda}|parametre_url{id_rubrique,#ID_SECTEUR})]">
     58        <img src="#CHEMIN{images/fairytale_date_rss_24.png}" alt="<:pyrat:syndiquer_agenda:>&nbsp;: [(#TITRE|attribut_html)]" title="<:pyrat:syndiquer_agenda:>&nbsp;: [(#TITRE|attribut_html)]" width="52" height="24" />
     59</a>
    12560</div>
    12661</BOUCLE_agenda>
  • _squelettes_/soyezcreateurs_net/plugins_2.0/plugins/__soyezcreateurs/plugin.xml

    r29285 r29309  
    3232       
    3333        <options>soyezcreateurs_options.php</options>
    34 
     34        <fonctions>soyezcreateurs_fonctions.php</fonctions>
    3535        <necessite id='SPIP' version='[2.0.0;]' />
    3636        <necessite id="Fonctions_images" version="[0.4;]" />
  • _squelettes_/soyezcreateurs_net/plugins_2.0/plugins/__soyezcreateurs/stylessoyezcreateurs.css.html

    r28728 r29309  
    323323table.agenda td a, table.agenda td a:link, table.agenda td a:visited, table.agenda td a:active { display: block; background:[ #(#GET{c_menu_a_bk}|couleur_inverserluminosite{90})] url(/#CHEMIN{images/coinagenda.gif}) top right no-repeat; color: [ #(#GET{c_menu_a_bk}|couleur_inverserluminosite{20,true})]; font-weight: bold; text-decoration: none; }
    324324table.agenda td a:hover { background-color:[ #(#GET{c_menu_a_bk}|couleur_inverserluminosite{20,true})]; color:[ #(#GET{c_menu_a_bk}|couleur_inverserluminosite{90})]; font-weight: bold; }
    325 table.agenda td.agendathisday, table.agenda td.agendathismonth, table.agenda td.agendanotthismonth { width:14% !important; background-color:[ #(#GET{c_menu_a_bk}|couleur_inverserluminosite{90})]; border: 2px solid[ #(#GET{c_menu_a_bk}|couleur_inverserluminosite{90})]; color:[ #(#GET{c_menu_a}|couleur_inverserluminosite{90})]; }
    326 table.agenda td.agendathismonth { background-color:[ #(#GET{c_menu_a_bk}|couleur_inverserluminosite{20})]; border-width: 1px; color:[ #(#GET{c_menu_a_bk}|couleur_inverserluminosite{80})]; }
    327 table.agenda td.agendanotthismonth { background-color: [ #(#GET{c_menu_a_bk}|couleur_foncerluminosite|couleur_inverserluminosite{80})]; border-width: 1px; color: [ #(#GET{c_menu_a}|couleur_foncerluminosite|couleur_inverserluminosite{80})]; }
     325table.agenda td.today, table.agenda td.libre, table.agenda td.horsperiode { width:14% !important; background-color:[ #(#GET{c_menu_a_bk}|couleur_inverserluminosite{90})]; border: 2px solid[ #(#GET{c_menu_a_bk}|couleur_inverserluminosite{90})]; color:[ #(#GET{c_menu_a}|couleur_inverserluminosite{90})]; }
     326table.agenda td.libre { background-color:[ #(#GET{c_menu_a_bk}|couleur_inverserluminosite{20})]; border-width: 1px; color:[ #(#GET{c_menu_a_bk}|couleur_inverserluminosite{80})]; }
     327table.agenda td.horsperiode { background-color: [ #(#GET{c_menu_a_bk}|couleur_foncerluminosite|couleur_inverserluminosite{80})]; border-width: 1px; color: [ #(#GET{c_menu_a}|couleur_foncerluminosite|couleur_inverserluminosite{80})]; }
    328328.agendahead { width:14% !important; padding: 1px 1em; background-color:[ #(#GET{c_menu_a_bk}|couleur_inverserluminosite{30})]; border: 1px solid[ #(#GET{c_menu_a_bk}|couleur_inverserluminosite{20,true})]; color:[ #(#GET{c_menu_a_bk}|couleur_inverserluminosite{20,true})]; font-size: 1.1em; }
    329329/* jour avec événement */
Note: See TracChangeset for help on using the changeset viewer.