Compare commits

...

8 Commits
master ... v3

  1. 5
      agenda_pipelines.php
  2. 8
      formulaires/participer_evenement.php
  3. 4
      paquet.xml
  4. 8
      prive/objets/liste/evenements.html
  5. 4
      prive/squelettes/inclure/agenda-filtre-statut.html
  6. 2
      prive/style_prive_plugin_agenda.html
  7. 6
      saisies/evenements.html

5
agenda_pipelines.php

@ -113,7 +113,7 @@ function agenda_optimiser_base_disparus($flux) {
}
// Evenements a la poubelle
sql_delete('spip_evenements', "statut='poubelle' AND maj < ".$flux['args']['date']);
sql_delete('spip_evenements', "statut='poubelle' AND maj < ".sql_quote($flux['args']['date']));
// Effacer les inscriptions à des evenement inexistants
@ -123,8 +123,7 @@ function agenda_optimiser_base_disparus($flux) {
'evenements.id_evenement IS NULL'
);
while ($row = sql_fetch($res)) {
var_dump($row);
sql_delete('spip_evenements_participants','id_evenement='.$row['id_evenement']);
sql_delete('spip_evenements_participants','id_evenement='.intval($row['id_evenement']));
}
include_spip('action/editer_liens');

8
formulaires/participer_evenement.php

@ -21,7 +21,7 @@ function formulaires_participer_evenement_charger_dist($id_evenement, $mode = ''
'reponse' => _request('reponse'),
);
// si pas d'evenement ou d'inscription, on echoue silencieusement
if (!$row = sql_fetsel('inscription,places', 'spip_evenements', 'id_evenement='.intval($id_evenement).' AND date_fin>NOW()')
if (!$row = sql_fetsel('inscription,places', 'spip_evenements', 'id_evenement='.intval($id_evenement).' AND date_fin>'.sql_quote(date('Y-m-d H:i:s')))
or !$row['inscription']) {
return false;
}
@ -122,15 +122,15 @@ function formulaires_participer_evenement_traiter_dist($id_evenement) {
'id_auteur='.intval($GLOBALS['visiteur_session']['id_auteur'])
)
)) {
sql_updateq('spip_evenements_participants', array('reponse' => $reponse, 'date' => 'NOW()'), 'id_evenement_participant='.intval($id_evenement_participant));
sql_updateq('spip_evenements_participants', array('reponse' => $reponse, 'date' => date('Y-m-d H:i:s')), 'id_evenement_participant='.intval($id_evenement_participant));
// nouvelle réponse
} else {
$id_evenement_participant = sql_insertq('spip_evenements_participants', array('id_evenement' => $id_evenement, 'id_auteur' => $GLOBALS['visiteur_session']['id_auteur'], 'reponse' => $reponse, 'date'=>'NOW()'));
$id_evenement_participant = sql_insertq('spip_evenements_participants', array('id_evenement' => $id_evenement, 'id_auteur' => $GLOBALS['visiteur_session']['id_auteur'], 'reponse' => $reponse, 'date' => date('Y-m-d H:i:s')));
}
// 2) Visiteur anonyme : nouvelle réponse
} else {
$editable = false;
$id_evenement_participant = sql_insertq('spip_evenements_participants', array('id_evenement' => $id_evenement, 'nom' => $nom, 'email' => $email,'reponse' => $reponse, 'date' => 'NOW()'));
$id_evenement_participant = sql_insertq('spip_evenements_participants', array('id_evenement' => $id_evenement, 'nom' => $nom, 'email' => $email,'reponse' => $reponse, 'date' => date('Y-m-d H:i:s')));
}
if ($reponse == 'oui') {
$message = _T('agenda:participation_prise_en_compte');

4
paquet.xml

@ -1,9 +1,9 @@
<paquet
prefix="agenda"
categorie="date"
version="3.39.1"
version="3.39.5"
etat="stable"
compatibilite="[3.0.0;3.2.*]"
compatibilite="[3.2.0;3.3.*]"
logo="prive/themes/spip/images/evenement-32.png"
schema="0.28.0"
documentation="https://contrib.spip.net/article2858"

8
prive/objets/liste/evenements.html

@ -13,7 +13,7 @@
<thead>
<tr class='first_row'>
<th class='statut' scope='col'>[(#TRI{statut,<span title="<:lien_trier_statut|attribut_html:>">#</span>,ajax})]</th>
<th class='date' scope='col'>[(#TRI{date_debut,<:date:>,ajax})]</th>
<th class='date' scope='col'>[(#TRI{date_debut,<:date:>,ajax})] [(#TRI{'<',⬆,ajax})] [(#TRI{'>',⬇,ajax})]</th>
<th class='article secondaire' scope='col'></th>
<th class='titre principale' scope='col'>[(#TRI{titre,<:info_titre:>,ajax})]</th>
<th class='lieu secondaire' scope='col'><:agenda:evenement_lieu:></th>
@ -22,10 +22,10 @@
</tr>
</thead>
<tbody>
<BOUCLE_liste_evt(EVENEMENTS){id_evenement?}{id_article?}{id_rubrique?}{id_mot?}{id_evenement_source?}{where?}{statut?}{recherche?}{tri #ENV{par,date_debut},#GET{defaut_tri}}{pagination #ENV{nb,15}}>
<BOUCLE_liste_evt(EVENEMENTS){id_evenement?}{id_article?}{id_rubrique?}{id_mot?}{id_evenement_source?}{where?}{statut?}{recherche?}{tri #ENV{par,date_debut},#GET{defaut_tri},session_evenements}{pagination #ENV{nb,15}}>
<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#EXPOSE)][(#ID_EVENEMENT_SOURCE|oui)repetition]">
<td class='statut'>[(#STATUT|puce_statut{evenement,#ID_EVENEMENT})]</td>
<td class='date'>[(#DATE_DEBUT|affdate_jourcourt|unique{liste_evt})]</td>
<td class='date[ (#DATE_DEBUT|affdate{'Y-m-d'}|unique{liste_evt}|?{first-of,same-as})]'>[(#DATE_DEBUT|affdate_jourcourt)]</td>
<td class='article secondaire'>[<a (#ID_ARTICLE|oui) href="[(#ID_ARTICLE|generer_url_entite{article})]" title="[(#INFO_TITRE{article,#ID_ARTICLE}|attribut_html)]">[(#CHEMIN_IMAGE{article-16.png}|balise_img{#INFO_TITRE{article,#ID_ARTICLE}})]</a>]</td>
<td class='titre principale'><a href="[(#ID_EVENEMENT|generer_url_entite{evenement})]" title="<:info_numero_abbreviation|attribut_html:> #ID_EVENEMENT">[(#RANG). ]#TITRE</a>
<p class="date">[(#DATE_DEBUT|affdate_debut_fin{#DATE_FIN,#HORAIRE})]</p>
@ -45,7 +45,7 @@
</BOUCLE_liste_evt>
</tbody>
</table>
[<p class='pagination'>(#PAGINATION{prive})</p>]
[<p class='pagination'>(#PAGINATION{prive,self=#SELF|parametre_url{date_debut,''}})</p>]
[(#GET{has_places}|non)<style type="text/css">.liste-objets.evenements th.place,.liste-objets.evenements td.place {display: none}</style> ]
</div>
</B_liste_evt>[

4
prive/squelettes/inclure/agenda-filtre-statut.html

@ -1,4 +1,4 @@
<BOUCLE_totalevents(EVENEMENTS){id_evenement?}{id_article?}{id_rubrique?}{id_mot?}{id_evenement_source?}{where?}{statut==.*}{10,1}>
<BOUCLE_totalevents(EVENEMENTS){id_evenement?}{id_article?}{id_rubrique?}{id_mot?}{id_evenement_source?}{where?}{statut==.*}{10,1}> </BOUCLE_totalevents>
<div class="onglets_simple">
<ul class="onglets-statut-agenda">
<li>[(#SELF|parametre_url{statut,''}|lien_ou_expose{<:agenda:info_evenements_tout:>,#ENV{statut}|non})]</li>
@ -9,4 +9,4 @@
</ul>
<div class="nettoyeur"></div>
</div>
</BOUCLE_totalevents>
</B_totalevents>

2
prive/style_prive_plugin_agenda.html

@ -39,6 +39,8 @@ li.item .repetitions li {display:inline;margin:0;padding:0;}
.liste-items.evenements .actions {text-align:right;font-size:0.9em;margin:5px 0 0;}
.liste-objets.evenements p.date {margin-bottom: 0;}
.liste-objets.evenements .date.first-of {color:#000;}
.liste-objets.evenements .date.same-as {color:#ccc;}
.liste-objets.evenements .on td,.liste-objets.evenements .on th {background-color: [#(#ENV{claire}|couleur_eclaircir{0.75})]}
.liste-objets.evenements tr.repetition {filter:alpha(opacity=70); -moz-opacity:0.7; opacity: 0.7;}
.liste-objets.evenements .repetition .id a {display: block;}

6
saisies/evenements.html

@ -10,6 +10,8 @@
[(#VAL{"-1,0"}|setenv{branche})]
]
#SET{evenements_liste_attente,#LISTE}
#SET{date_debut_max_fixe,#ENV{date_debut_max_fixe}|vider_date|sinon{9999-12-31 23:59:59}}
#SET{date_debut_min_fixe,#ENV{date_debut_min_fixe}|vider_date|sinon{0000-01-01 00:00:00}}
<BOUCLE_evenements(EVENEMENTS)
{par date_debut}
{id_evenement ?IN #ENV{id_evenement}|explode{","}}
@ -19,8 +21,8 @@
{id_mot ?IN #ENV{id_mot}}
{age_debut <= #ENV{date_debut_min_mobile,-999999999999}|mult{-1}}
{age_debut >= #ENV{date_debut_max_mobile,+999999999999}|mult{-1}}
{date_debut >= #ENV{date_debut_min_fixe,0000-01-01 00:00:00}}
{date_debut <= #ENV{date_debut_max_fixe,9999-12-31 23:59:59}}
{date_debut >= #GET{date_debut_min_fixe}}
{date_debut <= #GET{date_debut_max_fixe}}
{inscription ?IN #ENV{inscription}|substr{5,1}}
>
[(#REM) Le mult -1 permet d'avoir une numérotation logique dans le constructeur : nombre négatif pour le passé, positif pour le futur)]

Loading…
Cancel
Save