Changeset 66208 in spip-zone


Ignore:
Timestamp:
Sep 25, 2012, 8:11:26 AM (7 years ago)
Author:
cedric@…
Message:

L'agenda public est configurable :

  • titre et descriptif de la page agenda
  • affichage d'un evenement : sur une page evenement, ou sur la page de l'article lie (modifie le comportement de la balise #URL_EVENEMENT)
  • insertion ou non des CSS par defaut du plugin ; peut etre forcé par le squelette via define('_AGENDA_INSERT_HEAD_CSS',true|false);
Location:
_plugins_/agenda/trunk
Files:
1 added
9 edited
1 copied

Legend:

Unmodified
Added
Removed
  • _plugins_/agenda/trunk/agenda_pipelines.php

    r66151 r66208  
    99
    1010if (!defined("_ECRIRE_INC_VERSION")) return;
     11
     12/**
     13 * Inserer la CSS de l'agenda si config cochee
     14 * forcee par define('_AGENDA_INSERT_HEAD_CSS',false|true) par le squelette si besoin
     15 *
     16 * @param $flux
     17 * @return mixed
     18 */
     19function agenda_insert_head_css($flux){
     20        if (!defined('_AGENDA_INSERT_HEAD_CSS') OR !_AGENDA_INSERT_HEAD_CSS){
     21                include_spip("inc/config");
     22                $cfg = (defined('_AGENDA_INSERT_HEAD_CSS')?_AGENDA_INSERT_HEAD_CSS:lire_config("agenda/insert_head_css"));
     23                if ($cfg){
     24                        $flux['data'] .= '<link rel="stylesheet" href="'.find_in_path("css/spip.agenda.css").'" />';
     25                }
     26        }
     27        return $flux;
     28}
    1129
    1230/**
  • _plugins_/agenda/trunk/lang/agenda_fr.php

    r63070 r66208  
    131131        'telecharger_toutes' => 'Toutes les réponses',
    132132        'telecharger_toutes_tous_evenements' => 'Toutes les réponses aux inscriptions',
    133         'texte_agenda' => 'AGENDA',
     133        'texte_agenda' => 'Agenda',
    134134        'texte_evenement_statut' => 'Cet événement est :',
    135         'texte_logo_objet' => 'LOGO DE L\'EVENEMENT',
     135        'texte_logo_objet' => 'Logo de l\'événement',
    136136        'titre_cadre_ajouter_evenement' => 'Ajouter un événement',
    137137        'titre_cadre_modifier_evenement' => 'Modifier un événement',
  • _plugins_/agenda/trunk/lang/configureragenda_fr.php

    r66017 r66208  
    66$GLOBALS[$GLOBALS['idx_lang']] = array(
    77
    8         // A
    9         'absence_prise_en_compte' => 'Votre absence est enregistrée',
    10         'activite_editoriale' => 'Activité Éditoriale',
    11         'afficher_calendrier' => 'Afficher le calendrier',
    12         'agenda' => 'Agenda',
    13         'ajouter_repetition' => 'Ajouter des répétitions',
    14         'ajouter_un_evenement' => 'ajouter un événement à cet article',
    15         'annee_precedente' => 'année précédente',
    16         'annee_suivante' => 'année suivante',
    17         'aucun_evenement' => 'aucun événement',
    18         'aucun_inscrit' => 'Aucun inscrit',
    19         'aucune_rubrique_mode_agenda' => 'Par défaut, toutes les rubriques permettent d\'utiliser les événements. Si vous activez le mode agenda sur une ou plusieurs rubriques, la gestion des événements sera limitée a sa branche.',
    208
    21         // B
    22         'bouton_annuler' => 'Annuler',
    23         'bouton_supprimer' => 'Supprimer',
    24 
    25         // C
    26         'confirm_suppression_inscription' => 'Voulez-vous vraiment supprimer cette inscription ?',
    27         'confirm_suppression_inscription_toutes' => 'Voulez-vous vraiment supprimer toutes les inscriptions ?',
    28         'connexion_necessaire_pour_inscription' => 'Merci de vous connecter pour pouvoir vous inscrire à cet événement.',
    29         'creer_evenement' => 'Créer un événement',
    30 
    31         // E
    32         'erreur_article_interdit' => 'Vous n\'avez pas le droit d\'associer cet événement à cet article',
    33         'erreur_article_manquant' => 'Vous devez indiquer un article',
    34         'erreur_date' => 'Cette date est incorrecte',
    35         'erreur_date_avant_apres' => 'Indiquez une date de fin après la date de début !',
    36         'erreur_date_corrigee' => 'La date a été corrigée',
    37         'erreur_heure' => 'Cette heure est incorrecte',
    38         'erreur_heure_corrigee' => 'L\'heure a été corrigée',
    39         'evenement_adresse' => 'Adresse',
    40         'evenement_article' => 'Associé à l\'article',
    41         'evenement_autres_occurences' => 'Autres occurences :',
    42         'evenement_date' => 'Date',
    43         'evenement_date_a' => 'à ',
    44         'evenement_date_a_immediat' => 'à ',
    45         'evenement_date_au' => 'Au ',
    46         'evenement_date_de' => 'De ',
    47         'evenement_date_debut' => 'Date de début',
    48         'evenement_date_du' => 'Du ',
    49         'evenement_date_fin' => 'Date de fin',
    50         'evenement_date_inscription' => 'Date d\'inscription',
    51         'evenement_descriptif' => 'Descriptif',
    52         'evenement_horaire' => 'Toute la journée',
    53         'evenement_lieu' => 'Lieu',
    54         'evenement_repetitions' => 'Répétitions',
    55         'evenement_titre' => 'Titre',
    56         'evenements' => 'Événements',
    57         'evenements_a_venir' => 'À venir',
    58         'evenements_depuis_debut' => 'Depuis le début',
    59 
    60         // F
    61         'fermer' => 'fermer',
    62 
    63         // I
    64         'icone_creer_evenement' => 'Créer un nouvel événement',
    65         'icone_modifier_evenement' => 'Modifier l\'événement',
    66         'indiquez_votre_choix' => 'Indiquez votre choix',
    67         'info_1_place' => '1 place',
    68         'info_aucun_evenement' => 'Aucun événement',
    69         'info_evenement' => 'Événement',
    70         'info_evenement_poubelle' => 'Événement supprimé',
    71         'info_evenement_propose' => 'Événement proposé',
    72         'info_evenement_publie' => 'Événement publié',
    73         'info_evenements' => 'Événements',
    74         'info_inscription' => 'Inscription en ligne :',
    75         'info_lieu' => 'Lieu :',
    76         'info_nb_inscrits' => '@nb@ inscrits',
    77         'info_nb_places' => '@nb@ places',
    78         'info_nombre_evenements' => '@nb@ événements',
    79         'info_nouvel_evenement' => 'Nouvel événement',
    80         'info_reponse_inscription_non' => 'non',
    81         'info_reponse_inscription_nsp' => '?',
    82         'info_reponse_inscription_oui' => 'oui',
    83         'info_reponse_inscriptions' => 'Réponse',
    84         'info_reponses_inscriptions' => 'Réponses :',
    85         'info_un_evenement' => '1 événement',
    86         'info_un_inscrit' => 'Un inscrit',
    87         'inscrits' => 'Inscriptions',
    88 
    89         // L
    90         'label_inscription' => 'Inscription en ligne',
    91         'label_places' => 'Limiter le nombre de places',
    92         'label_reponse_jyparticipe' => 'J\'y serai',
    93         'label_reponse_jyparticipe_pas' => 'Je n\'y vais pas',
    94         'label_reponse_jyparticipe_peutetre' => 'J\'y serai peut-être',
    95         'label_vous_inscrire' => 'Votre participation',
    96         'lien_desinscrire' => 'Supprimer',
    97         'lien_desinscrire_tous' => 'Supprimer toutes les inscriptions',
    98         'lien_retirer_evenement' => 'Supprimer',
    99         'liste_inscrits' => 'Liste des inscriptions',
    100 
    101         // M
    102         'mois_precedent' => 'mois précédent',
    103         'mois_suivant' => 'mois suivant',
    104 
    105         // N
    106         'nb_repetitions' => '@nb@ répétitions',
    107 
    108         // P
    109         'participation_incertaine_prise_en_compte' => 'Votre participation éventuelle est enregistrée',
    110         'participation_prise_en_compte' => 'Votre participation est enregistrée',
    111         'probleme_technique' => 'Un problème technique est survenu. Reessayez plus tard.',
    112 
    113         // R
    114         'repetition' => 'Répétition',
    115         'repetition_de' => 'Répétition de',
    116         'retour_evenement' => 'Retour à l\'événement',
    117         'rubrique_activer_agenda' => 'Activer le mode agenda',
    118         'rubrique_dans_une_rubrique_mode_agenda' => 'Cette rubrique permet d\'utiliser les événements car elle est dans une rubrique dont le mode agenda a été activé',
    119         'rubrique_desactiver_agenda' => 'Désactiver le mode agenda',
    120         'rubrique_liste_evenements_de' => 'Événements de la rubrique',
    121         'rubrique_mode_agenda' => 'Le mode agenda est activé pour cette rubrique et sa branche',
    122         'rubrique_sans_gestion_evenement' => 'Le mode agenda n\'est pas activé pour cette rubrique',
    123         'rubriques' => 'Rubriques Agenda',
    124 
    125         // S
    126         'sans_titre' => '(sans titre)',
    127 
    128         // T
    129         'telecharger' => 'Télécharger (csv)',
    130         'telecharger_oui' => 'Seulement les réponses positives',
    131         'telecharger_toutes' => 'Toutes les réponses',
    132         'telecharger_toutes_tous_evenements' => 'Toutes les réponses aux inscriptions',
    133         'texte_agenda' => 'AGENDA',
    134         'texte_evenement_statut' => 'Cet événement est :',
    135         'texte_logo_objet' => 'LOGO DE L\'EVENEMENT',
    136         'titre_cadre_ajouter_evenement' => 'Ajouter un événement',
    137         'titre_cadre_modifier_evenement' => 'Modifier un événement',
    138         'titre_sur_l_agenda' => 'Sur l\'agenda',
    139         'toutes_rubriques' => 'Toutes',
    140 
    141         // U
    142         'une_repetition' => '1 répétition',
    143 
    144         // V
    145         'voir_evenements_rubrique' => 'Voir les événements de la rubrique'
     9        'titre_configuration' => 'Affichage de l\'Agenda',
     10        'label_titre' => 'Titre de la page',
     11        'label_descriptif' => 'Descriptif',
     12        'label_insert_head_css_1' => 'Insérer automatiquement les styles par défaut de l\'agenda',
     13        'label_url_evenement' => 'Affichage d\'un événement',
     14        'label_url_evenement_article' => 'sur la page de l\'article associé',
     15        'label_url_evenement_evenement' => 'sur une page dédiée pour chaque événement',
    14616);
    14717
  • _plugins_/agenda/trunk/paquet.xml

    r66151 r66208  
    2929        <pipeline nom="declarer_tables_auxiliaires" inclure="base/agenda_evenements.php" />
    3030        <pipeline nom="declarer_tables_objets_sql" inclure="base/agenda_evenements.php" />
     31
    3132        <pipeline nom="affiche_milieu" inclure="agenda_pipelines.php" />
     33        <pipeline nom="compositions_declarer_heritage"  inclure="agenda_pipelines.php" />
     34        <pipeline nom="insert_head_css" inclure="agenda_pipelines.php" />
    3235        <pipeline nom="optimiser_base_disparus" inclure="agenda_pipelines.php" />
     36        <pipeline nom="post_edition" inclure="agenda_pipelines.php" />
    3337        <pipeline nom="quete_calendrier_prive" inclure="agenda_pipelines.php" />
    34         <pipeline nom="post_edition" inclure="agenda_pipelines.php" />
    35         <pipeline nom="compositions_declarer_heritage"  inclure="agenda_pipelines.php" />
    3638
    3739        <utilise nom="Fulltext" compatibilite="[0.2;[" />
  • _plugins_/agenda/trunk/prive/objets/infos/evenement.html

    r54002 r66208  
    1515                <li class="item"><a href="[(#ID_ARTICLE|generer_url_entite{article})]">#TITRE</a></li>
    1616        </ul>
    17         <BOUCLE_publie(ARTICLES){id_article}>
     17</BOUCLE_has>
     18
     19<BOUCLE_epublie(EVENEMENTS){id_evenement}>
     20        [(#VAL{redirect}
     21                |generer_url_action{type=evenement&id=#ID_EVENEMENT}
     22                |parametre_url{var_mode,calcul}
     23                |icone_horizontale{<:icone_voir_en_ligne:>,racine})]
     24</BOUCLE_epublie>
     25        [(#AUTORISER{previsualiser,evenement,#ID_EVENEMENT,'',#ARRAY{statut,#STATUT}})
    1826                [(#VAL{redirect}
    19                         |generer_url_action{type=article&id=#ID_ARTICLE}
    20                         |parametre_url{var_mode,calcul}
    21                         |icone_horizontale{<:icone_voir_en_ligne:>,racine})]
    22         </BOUCLE_publie>
    23                 [(#AUTORISER{previsualiser,article,#ID_ARTICLE,'',#ARRAY{statut,#STATUT}})
    24                         [(#VAL{redirect}
    25                                 |generer_url_action{type=article&id=#ID_ARTICLE}
    26                                 |parametre_url{var_mode,preview}
    27                                 |icone_horizontale{<:previsualiser:>,preview})]
    28                 ]
    29         <//B_publie>
    30 </BOUCLE_has>
    31         <BOUCLE_epublie(EVENEMENTS){id_evenement}>
    32                 [(#VAL{redirect}
    33                         |generer_url_action{type=evenement&id=#ID_EVENEMENT}
    34                         |parametre_url{var_mode,calcul}
    35                         |icone_horizontale{<:icone_voir_en_ligne:>,racine})]
    36         </BOUCLE_epublie>
    37                 [(#AUTORISER{previsualiser,evenement,#ID_EVENEMENT,'',#ARRAY{statut,#STATUT}})
    38                         [(#VAL{redirect}
    39                                 |generer_url_action{type=evenement&id=#ID_ARTICLE}
    40                                 |parametre_url{var_mode,preview}
    41                                 |icone_horizontale{<:previsualiser:>,preview})]
    42                 ]
    43         <//B_epublie>
    44 <//B_has>
     27                        |generer_url_action{type=evenement&id=#ID_ARTICLE}
     28                        |parametre_url{var_mode,preview}
     29                        |icone_horizontale{<:previsualiser:>,preview})]
     30        ]
     31<//B_epublie>
    4532</div>
    4633</BOUCLE_art>
  • _plugins_/agenda/trunk/prive/squelettes/contenu/configurer_agenda.html

    r66032 r66208  
    11[(#AUTORISER{configurer_agenda}|sinon_interdire_acces)]
    22<h1 class="grostitre"><:agenda:agenda:></h1>
     3<div class="ajax">#FORMULAIRE_CONFIGURER_AGENDA</div>
    34<div class="ajax">#FORMULAIRE_MIGRER_AGENDA</div>
  • _plugins_/agenda/trunk/public/agenda.php

    r66030 r66208  
    99
    1010if (!defined("_ECRIRE_INC_VERSION")) return;
     11
     12/**
     13 * #URL_EVENEMENT envoie sur la page de l'evenement
     14 * ou sur la page de l'article avec un &id_evenement=xxx
     15 * selon la configuration de l'agenda
     16 *
     17 * @param object $p
     18 * @return object
     19 */
     20function balise_URL_EVENEMENT_dist($p) {
     21
     22        include_spip("inc/config");
     23        include_spip("balise/url_");
     24
     25        if (lire_config("agenda/url_evenement",'evenement')!=='article'){
     26                $code = generer_generer_url('evenement', $p);
     27        }
     28        else {
     29                $_ide = interprete_argument_balise(1,$p);
     30                if (!$_ide)
     31                        $_ide = champ_sql('id_evenement', $p);
     32                $_ida = "generer_info_entite($_ide,'evenement','id_article')";
     33
     34                $code = generer_generer_url_arg('article', $p, $_ida);
     35                $code = "parametre_url($code,'id_evenement',$_ide,'&')";
     36        }
     37
     38        $code = champ_sql('url_evenement', $p, $code);
     39        $p->code = $code;
     40        if (!$p->etoile)
     41                $p->code = "vider_url($code)";
     42        $p->interdire_scripts = false;
     43
     44        return $p;
     45}
     46
    1147
    1248/**
  • _plugins_/agenda/trunk/squelettes/calendrier_mini_event.json.html

    r66192 r66208  
    77        {id_evenement_source?}
    88        {', '}>
    9 [(#ARRAY{id,#ID_EVENEMENT,title,[(#TITRE|html2unicode|unicode2charset|textebrut)],allDay,[(#HORAIRE|=={oui}|non)],start,#DATE_DEBUT,end,#DATE_FIN,url,#URL_ARTICLE{#ID_ARTICLE},className,calendrier-couleur6,description,[(#DESCRIPTIF|html2unicode|unicode2charset)]}|json_encode)]</BOUCLE_ev>]
     9[(#ARRAY{
     10id,#ID_EVENEMENT,
     11title,[(#TITRE|html2unicode|unicode2charset|textebrut)],
     12allDay,[(#HORAIRE|=={oui}|non)],
     13start,#DATE_DEBUT,
     14end,#DATE_FIN,
     15url,#URL_EVENEMENT*,
     16className,calendrier-couleur6,
     17description,[(#DESCRIPTIF|html2unicode|unicode2charset)]
     18}|json_encode)]</BOUCLE_ev>]
  • _plugins_/agenda/trunk/squelettes/content/agenda.html

    r66127 r66208  
    66
    77]
    8 <h1>[(#CONFIG{agenda/titre, <:agenda:agenda:>}|entites_html)]</h1>
     8<h1>[(#CONFIG{agenda/titre}|sinon{<:agenda:titre_sur_l_agenda:>}|entites_html)]</h1>
    99[<div class="description">(#CONFIG{agenda/descriptif}|propre)</div>]
    1010
     
    5151                )</span>]
    5252</p>
    53 
    54 </div>
  • _plugins_/agenda/trunk/squelettes/content/evenement.html

    r66127 r66208  
     1[(#CONFIG{agenda/url_evenement,evenement}|=={article}|non|sinon_interdire_acces{#URL_EVENEMENT*,301})]
    12<BOUCLE_ev(EVENEMENTS){id_evenement}>
    23<div class="evenement one">
Note: See TracChangeset for help on using the changeset viewer.