189 lines
12 KiB
HTML
189 lines
12 KiB
HTML
{{if $vue != "liste"}}
|
||
<div class="card">
|
||
<h2 style="background:hsl({{$selected_calendar_couleur}},100%,50%)">Calendrier ({{$selected_calendar_name}})</h2>
|
||
{{if $vue == "mois"}}
|
||
<div class="nav-mois">
|
||
<a href="{{$_url}}?vue=mois&an={{$an_prec}}&mois={{$mois_prec}}">←</a>
|
||
<span>{{$nom_mois}}</span>
|
||
<a href="{{$_url}}?vue=mois&an={{$an_suiv}}&mois={{$mois_suiv}}">→</a>
|
||
</div>
|
||
{{else}}
|
||
<div class="nav-mois">
|
||
{{if $semaine_sel <= 1}}
|
||
<a href="{{$_url}}?vue=semaine&an={{$an_prec}}&mois={{$mois_prec}}&semaine_sel={{$total_rows_prec}}">←</a>
|
||
{{else}}
|
||
<a href="{{$_url}}?vue=semaine&an={{$an}}&mois={{$mois}}&semaine_sel={{"%d-1"|math:$semaine_sel}}">←</a>
|
||
{{/if}}
|
||
<span>Semaine du {{$nom_mois}}</span>
|
||
{{if $semaine_sel >= $total_rows}}
|
||
<a href="{{$_url}}?vue=semaine&an={{$an_suiv}}&mois={{$mois_suiv}}&semaine_sel=1">→</a>
|
||
{{else}}
|
||
<a href="{{$_url}}?vue=semaine&an={{$an}}&mois={{$mois}}&semaine_sel={{"%d+1"|math:$semaine_sel}}">→</a>
|
||
{{/if}}
|
||
</div>
|
||
{{/if}}
|
||
<div class="scroll-cal">
|
||
<table class="calendrier">
|
||
<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>
|
||
<tr>
|
||
{{#foreach count=42 key="i"}}
|
||
{{:assign var="i" value="1+%d"|math:$i}}
|
||
{{:assign var="cellules." value=$i}}
|
||
{{/foreach}}
|
||
{{*
|
||
{{:assign var="cellules." value=1}}{{:assign var="cellules." value=2}}{{:assign var="cellules." value=3}}{{:assign var="cellules." value=4}}{{:assign var="cellules." value=5}}{{:assign var="cellules." value=6}}{{:assign var="cellules." value=7}}{{:assign var="cellules." value=8}}{{:assign var="cellules." value=9}}{{:assign var="cellules." value=10}}
|
||
{{:assign var="cellules." value=11}}{{:assign var="cellules." value=12}}{{:assign var="cellules." value=13}}{{:assign var="cellules." value=14}}{{:assign var="cellules." value=15}}{{:assign var="cellules." value=16}}{{:assign var="cellules." value=17}}{{:assign var="cellules." value=18}}{{:assign var="cellules." value=19}}{{:assign var="cellules." value=20}}
|
||
{{:assign var="cellules." value=21}}{{:assign var="cellules." value=22}}{{:assign var="cellules." value=23}}{{:assign var="cellules." value=24}}{{:assign var="cellules." value=25}}{{:assign var="cellules." value=26}}{{:assign var="cellules." value=27}}{{:assign var="cellules." value=28}}{{:assign var="cellules." value=29}}{{:assign var="cellules." value=30}}
|
||
{{:assign var="cellules." value=31}}{{:assign var="cellules." value=32}}{{:assign var="cellules." value=33}}{{:assign var="cellules." value=34}}{{:assign var="cellules." value=35}}{{:assign var="cellules." value=36}}{{:assign var="cellules." value=37}}{{:assign var="cellules." value=38}}{{:assign var="cellules." value=39}}{{:assign var="cellules." value=40}}
|
||
{{:assign var="cellules." value=41}}{{:assign var="cellules." value=42}}
|
||
*}}
|
||
{{#foreach from=$cellules item="n"}}
|
||
{{:assign var="rangee_n" value="floor((%d-1)/7)+1"|math:$n}}
|
||
{{if $vue == "mois" || $rangee_n == $semaine_sel}}
|
||
{{:assign var="jour_num" value="%d-%d"|math:$n:$decalage}}
|
||
{{if $jour_num >= 1 && $jour_num <= $nb_jours}}
|
||
{{:assign var="date_cellule" value="%04d-%02d-%02d"|args:$an:$mois:$jour_num}}
|
||
{{:assign var="dow_cellule" value=$date_cellule|date:"N"}}
|
||
{{:assign var="occurrence_mois" value="floor((%d-1)/7)+1"|math:$jour_num}}
|
||
{{:assign var="est_derniere_occurrence" value=false}}
|
||
{{if "%d+7"|math:$jour_num > $nb_jours}}{{:assign var="est_derniere_occurrence" value=true}}{{/if}}
|
||
{{:assign var="evts_ce_jour" from="events_par_jour.%s"|args:$date_cellule}}
|
||
{{:assign var="badges_jour" value=""}}
|
||
{{#foreach from=$perms_data item="pd"}}
|
||
{{if $pd.jour == $dow_cellule}}
|
||
{{if $pd.date_debut == "" || $date_cellule >= $pd.date_debut}}
|
||
{{if $pd.date_fin == "" || $date_cellule <= $pd.date_fin}}
|
||
{{:assign var="est_exclue" value=false}}
|
||
{{#foreach from=$pd.exceptions item="ex"}}
|
||
{{if $ex == $date_cellule}}{{:assign var="est_exclue" value=true}}{{/if}}
|
||
{{/foreach}}
|
||
{{if !$est_exclue}}
|
||
{{:assign var="afficher_badge" value=false}}
|
||
{{if $pd.type_recurrence == "mensuel"}}
|
||
{{if $pd.semaine_du_mois == -1 && $est_derniere_occurrence}}{{:assign var="afficher_badge" value=true}}{{/if}}
|
||
{{if $pd.semaine_du_mois == $occurrence_mois}}{{:assign var="afficher_badge" value=true}}{{/if}}
|
||
{{elseif $pd.type_recurrence == "quinzaine"}}
|
||
{{if $pd.date_debut != ""}}
|
||
{{:assign var="ref_sem_q" value=$pd.date_debut|date:"W"|intval}}
|
||
{{:assign var="cell_sem_q" value=$date_cellule|date:"W"|intval}}
|
||
{{:assign var="diff_sem_q" value="(%d-%d) %% 2"|math:$cell_sem_q:$ref_sem_q}}
|
||
{{if $diff_sem_q == 0}}{{:assign var="afficher_badge" value=true}}{{/if}}
|
||
{{/if}}
|
||
{{else}}
|
||
{{:assign var="afficher_badge" value=true}}
|
||
{{/if}}
|
||
{{if $afficher_badge}}
|
||
{{:assign var="cle_b" value="%s_a_perm%s"|args:$pd.debut:$pd.id}}
|
||
{{:assign var="badges_jour.%s.type"|args:$cle_b value="perm"}}
|
||
{{:assign var="badges_jour.%s.debut"|args:$cle_b value=$pd.debut}}
|
||
{{:assign var="badges_jour.%s.fin"|args:$cle_b value=$pd.fin}}
|
||
{{:assign var="badges_jour.%s.label"|args:$cle_b value=$pd.label}}
|
||
{{:assign var="badges_jour.%s.couleur"|args:$cle_b value=$pd.couleur|or:'#4c7a2e'}}
|
||
{{:assign var="badges_jour.%s.pid"|args:$cle_b value=$pd.id}}
|
||
{{:assign var="badges_jour.%s.lieu"|args:$cle_b value=$pd.lieu}}
|
||
{{:assign var="badges_jour.%s.description"|args:$cle_b value=$pd.description}}
|
||
{{/if}}
|
||
{{/if}}
|
||
{{/if}}
|
||
{{/if}}
|
||
{{/if}}
|
||
{{/foreach}}
|
||
{{if $evts_ce_jour}}
|
||
{{#foreach from=$evts_ce_jour item="ev"}}
|
||
{{:assign var="cle_b" value="%s_b_evt%s"|args:$ev.debut:$ev.id}}
|
||
{{:assign var="badges_jour.%s.type"|args:$cle_b value="evt"}}
|
||
{{:assign var="badges_jour.%s.id"|args:$cle_b value=$ev.id}}
|
||
{{:assign var="badges_jour.%s.debut"|args:$cle_b value=$ev.debut}}
|
||
{{:assign var="badges_jour.%s.fin"|args:$cle_b value=$ev.fin}}
|
||
{{:assign var="badges_jour.%s.label"|args:$cle_b value=$ev.titre}}
|
||
{{:assign var="badges_jour.%s.couleur"|args:$cle_b value=$ev.couleur|or:'#8c3a1e'}}
|
||
{{:assign var="badges_jour.%s.lieu"|args:$cle_b value=$ev.lieu}}
|
||
{{:assign var="badges_jour.%s.description"|args:$cle_b value=$ev.description}}
|
||
{{:assign var="badges_jour.%s.lien"|args:$cle_b value=$ev.lien}}
|
||
{{:assign var="badges_jour.%s.lien1_label"|args:$cle_b value=$ev.lien1_label}}
|
||
{{:assign var="badges_jour.%s.lien1_url"|args:$cle_b value=$ev.lien1_url}}
|
||
{{:assign var="badges_jour.%s.lien2_label"|args:$cle_b value=$ev.lien2_label}}
|
||
{{:assign var="badges_jour.%s.lien2_url"|args:$cle_b value=$ev.lien2_url}}
|
||
{{:assign var="badges_jour.%s.lien3_label"|args:$cle_b value=$ev.lien3_label}}
|
||
{{:assign var="badges_jour.%s.lien3_url"|args:$cle_b value=$ev.lien3_url}}
|
||
{{/foreach}}
|
||
{{/if}}
|
||
{{if $badges_jour}}
|
||
{{:assign var="badges_tries" value=$badges_jour|ksort|values}}
|
||
{{else}}
|
||
{{:assign var="badges_tries" value=""}}
|
||
{{/if}}
|
||
|
||
<td{{if $date_cellule == $aujourdhui}} class="today"{{/if}}>
|
||
<div class="num">{{$jour_num}}</div>
|
||
{{#foreach from=$badges_tries item="bj"}}
|
||
{{if $bj.type == "perm"}}
|
||
<div class="perm-badge" style="background:{{$bj.couleur}};">
|
||
<div class="badge-content" onclick="ouvrirDetailEvt(this);" data-titre="{{$bj.label}}" data-horaire="{{if $bj.debut}}{{$bj.debut}}{{if $bj.fin}}–{{$bj.fin}}{{/if}}{{/if}}" data-lieu="{{$bj.lieu}}" data-description="{{$bj.description}}" data-lien1-label="" data-lien1-url="" data-lien2-label="" data-lien2-url="" data-lien3-label="" data-lien3-url="">
|
||
{{if $bj.debut}}{{$bj.debut}}{{if $bj.fin}}–{{$bj.fin}}{{/if}} — {{/if}}{{$bj.label}}{{if $bj.lieu}}<br /><a class="lieu-lien" href="https://www.openstreetmap.org/search?query={{$bj.lieu|url_encode}}" target="_blank" rel="noopener" onclick="event.stopPropagation();">📍 {{$bj.lieu}}</a>{{/if}}
|
||
{{if $bj.description}}<div class="evt-desc-apercu">{{$bj.description}}</div>{{/if}}
|
||
</div>
|
||
{{if $est_admin}}
|
||
<span class="badge-actions">
|
||
<a class="badge-edit" href="index.html?edit_perm={{$bj.pid}}#form-perm" title="Modifier" onclick="event.stopPropagation();">✎</a>
|
||
<form method="post" action="" class="mini-form" onclick="event.stopPropagation();">
|
||
{{:input type="hidden" name="perm_id" default=$bj.pid }}
|
||
{{:input type="hidden" name="date_exclue" default=$date_cellule }}
|
||
{{:input type="hidden" name="retour_an" default=$an }}
|
||
{{:input type="hidden" name="retour_mois" default=$mois }}
|
||
{{:button type="submit" name="suppr_occurrence" class="mini-x" shape="delete" title="Supprimer seulement ce jour" value=$bj.pid}}
|
||
{{*
|
||
<input type="hidden" name="perm_id" value="{{$bj.pid}}" />
|
||
<input type="hidden" name="date_exclue" value="{{$date_cellule}}" />
|
||
<input type="hidden" name="retour_an" value="{{$an}}" />
|
||
<input type="hidden" name="retour_mois" value="{{$mois}}" />
|
||
<button type="submit" name="suppr_occurrence" value="1" class="mini-x" title="Supprimer seulement ce jour">✕</button>
|
||
*}}
|
||
</form>
|
||
</span>
|
||
{{/if}}
|
||
</div>
|
||
{{else}}
|
||
{{* background: hsl(var(--first-color), 50%, 90%);
|
||
background: linear-gradient(200deg, hsl(var(--first-color), 50%, 90%) 5%, hsl(var(--second-color), 30%, 90%) 30%);
|
||
*}}
|
||
<div class="evt-badge" style="background:hsl({{$bj.couleur}},100%,50%);">
|
||
<div class="badge-content" onclick="ouvrirDetailEvt(this);" data-titre="{{$bj.label}}" data-horaire="{{if $bj.debut}}{{$bj.debut}}{{if $bj.fin}}–{{$bj.fin}}{{/if}}{{/if}}" data-lieu="{{$bj.lieu}}" data-description="{{$bj.description}}" data-lien="{{$bj.lien}}" data-lien1-label="{{$bj.lien1_label}}" data-lien1-url="{{$bj.lien1_url}}" data-lien2-label="{{$bj.lien2_label}}" data-lien2-url="{{$bj.lien2_url}}" data-lien3-label="{{$bj.lien3_label}}" data-lien3-url="{{$bj.lien3_url}}">
|
||
{{if $bj.debut}}{{$bj.debut}}{{if $bj.fin}}–{{$bj.fin}}{{/if}} — {{/if}}{{$bj.label}}{{if $bj.lieu}}<br /><a class="lieu-lien" href="https://www.openstreetmap.org/search?query={{$bj.lieu|url_encode}}" target="_blank" rel="noopener" onclick="event.stopPropagation();">📍 {{$bj.lieu}}</a>{{/if}}
|
||
{{if $bj.description}}<div class="evt-desc-apercu">{{$bj.description}}</div>{{/if}}
|
||
</div>
|
||
{{if $est_admin}}
|
||
<span class="badge-actions">
|
||
<a class="badge-edit" href="index.html?edit_event={{$bj.id}}&an={{$an}}&mois={{$mois}}#form-event" title="Modifier" onclick="event.stopPropagation();">✎</a>
|
||
<form method="post" action="" class="mini-form" onclick="event.stopPropagation();">
|
||
{{:input type="hidden" name="retour_an" default=$an }}
|
||
{{:input type="hidden" name="retour_mois" default=$mois }}
|
||
{{:button type="submit" name="suppr_event" class="mini-x" shape="delete" title="Supprimer" value=$bj.id}}
|
||
{{*
|
||
<input type="hidden" name="retour_an" value="{{$an}}" />
|
||
<input type="hidden" name="retour_mois" value="{{$mois}}" />
|
||
<button type="submit" name="suppr_event" value="{{$bj.id}}" class="mini-x" title="Supprimer">✕</button>
|
||
*}}
|
||
</form>
|
||
</span>
|
||
{{/if}}
|
||
</div>
|
||
{{/if}}
|
||
{{/foreach}}
|
||
</td>
|
||
{{else}}
|
||
<td class="vide"></td>
|
||
|
||
{{/if}}
|
||
{{/if}}
|
||
{{if $vue == "mois" && "%d %% 7"|math:$n == 0 && $n != 42}}</tr><tr>{{/if}}
|
||
{{/foreach}}
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
{{/if}} |