Changeset 96183 in spip-zone


Ignore:
Timestamp:
Mar 24, 2016, 11:04:08 AM (3 years ago)
Author:
abelass@…
Message:

tabs au lieu d'espaces

Location:
_plugins_/reservation_evenement/trunk
Files:
30 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/reservation_evenement/trunk/base/reservation_evenement.php

    r95027 r96183  
    99 * @package    SPIP\Promotions\Pipelines
    1010 */
    11 
    12 if (!defined('_ECRIRE_INC_VERSION'))
    13   return;
     11if (! defined ( '_ECRIRE_INC_VERSION' ))
     12        return;
    1413
    1514/**
     
    1716 *
    1817 * @pipeline declarer_tables_interfaces
     18 *
    1919 * @param array $interfaces
    20  *     Déclarations d'interface pour le compilateur
    21  * @return array
    22  *     Déclarations d'interface pour le compilateur
     20 *              Déclarations d'interface pour le compilateur
     21 * @return array Déclarations d'interface pour le compilateur
    2322 */
    2423function reservation_evenement_declarer_tables_interfaces($interfaces) {
    25 
    26   $interfaces['table_des_tables']['reservations'] = 'reservations';
    27   $interfaces['table_des_tables']['reservations_details'] = 'reservations_details';
    28 
    29   return $interfaces;
     24        $interfaces ['table_des_tables'] ['reservations'] = 'reservations';
     25        $interfaces ['table_des_tables'] ['reservations_details'] = 'reservations_details';
     26       
     27        return $interfaces;
    3028}
    3129
     
    3432 *
    3533 * @pipeline declarer_tables_objets_sql
     34 *
    3635 * @param array $tables
    37  *     Description des tables
    38  * @return array
    39  *     Description complétée des tables
     36 *              Description des tables
     37 * @return array Description complétée des tables
    4038 */
    4139function reservation_evenement_declarer_tables_objets_sql($tables) {
    42 
    43   $tables['spip_reservations'] = array(
    44     'type' => 'reservation',
    45     'principale' => "oui",
    46     'field' => array(
    47       "id_reservation" => "bigint(21) NOT NULL",
    48       "id_reservation_source" => "bigint(21) NOT NULL",
    49       "id_auteur" => "bigint(21) NOT NULL DEFAULT '0'",
    50       "reference" => "varchar(255) NOT NULL DEFAULT ''",
    51       "date_paiement" => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
    52       "type_paiement" => "varchar(50) NOT NULL DEFAULT ''",
    53       "nom" => "varchar(255) NOT NULL DEFAULT ''",
    54       "email" => "varchar(255) NOT NULL DEFAULT ''",
    55       "type_lien" => "varchar(25) NOT NULL DEFAULT ''",
    56       "origine_lien" => "varchar(25) NOT NULL DEFAULT ''",
    57       "maj" => "timestamp",
    58       "donnees_auteur" => "text NOT NULL DEFAULT ''",
    59       "date" => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
    60       "statut" => "varchar(20)  DEFAULT '0' NOT NULL",
    61       "lang" => "varchar(10)  DEFAULT '' NOT NULL",
    62       "maj" => "TIMESTAMP"
    63     ),
    64     'key' => array(
    65       "PRIMARY KEY" => "id_reservation",
    66       "KEY statut" => "statut,id_auteur,lang,id_reservation_source",
    67     ),
    68     'titre' => "reference AS titre, '' AS lang",
    69     'date' => "date",
    70     'champs_editables' => array(
    71       'id_reservation_source',
    72       'id_auteur',
    73       'date_paiement',
    74       'nom',
    75       'email',
    76       'type_lien',
    77       'origine_lien',
    78       'donnees_auteur',
    79       'reference',
    80       'lang'
    81     ),
    82     'champs_versionnes' => array(
    83       'id_auteur',
    84       'date_paiement',
    85       'nom',
    86       'email',
    87       'donnees_auteur',
    88       'reference'
    89     ),
    90     'rechercher_champs' => array(
    91       "reference" => 8,
    92       "id_reservation" => 8,
    93       "email" => 8,
    94       "nom" => 8,     
    95     ),
    96     'tables_jointures' => array(
    97       'id_reservation',
    98       'id_auteur'
    99     ),
    100     'statut_textes_instituer' => array(
    101       'attente' => 'reservation:texte_statut_attente',
    102       'attente_paiement' => 'reservation:texte_statut_attente_paiement',
    103       'accepte_part' => 'reservation:texte_statut_accepte_part',     
    104       'accepte' => 'reservation:texte_statut_accepte',
    105       'cloture' => 'reservation:texte_statut_cloture',
    106       'encours' => 'reservation:texte_statut_encours',
    107       'refuse' => 'reservation:texte_statut_refuse',
    108       'poubelle' => 'reservation:texte_statut_poubelle',
    109     ),
    110     'statut_images' => array(
    111       'attente' => 'puce-reservation-attente-16.png',
    112       'attente_paiement' => 'puce-reservation-attente_paiement-16.png',
    113       'accepte' => 'puce-reservation-accepte-16.png',
    114       'accepte_part' => 'puce-reservation-accepte_part-16.png',
    115       'cloture' => 'puce-reservation-cloture-16.png',
    116       'encours' => 'puce-reservation-encours-16.png',
    117       'refuse' => 'puce-reservation-refuse-16.png',
    118       'poubelle' => 'puce-reservation-poubelle-16.png',
    119     ),
    120     'statut' => array( array(
    121         'champ' => 'statut',
    122         'publie' => 'accepte,cloture,accepte_part',
    123         'previsu' => 'accepte,attente,attente_paiement,accepte_part',
    124         'post_date' => 'date',
    125         'exception' => array(
    126           'statut',
    127           'tout'
    128         )
    129       )),
    130     'texte_changer_statut' => 'reservation:texte_changer_statut_reservation',
    131   );
    132 
    133   $tables['spip_reservations_details'] = array(
    134     'type' => 'reservations_detail',
    135     'principale' => "oui",
    136     'table_objet_surnoms' => array('reservationsdetail'), // table_objet('reservations_detail') => 'reservations_details'
    137     'field' => array(
    138       "id_reservations_detail" => "bigint(21) NOT NULL",
    139       "id_reservation" => "bigint(21) NOT NULL DEFAULT '0'",
    140       "id_evenement" => "bigint(21) NOT NULL DEFAULT '0'",
    141       "descriptif" => "text NOT NULL",
    142       "quantite" => "int(11) NOT NULL DEFAULT '1'",
    143       "prix_ht" => "float NOT NULL DEFAULT '0'",
    144       "prix" => "float NOT NULL DEFAULT '0'",
    145       "devise" => "varchar(3)  DEFAULT '' NOT NULL",
    146       "taxe" => "decimal(4,3) NOT NULL DEFAULT '0.000'",
    147       "statut" => "varchar(20)  DEFAULT '0' NOT NULL",
    148       "maj" => "TIMESTAMP"
    149     ),
    150     'key' => array(
    151       "PRIMARY KEY" => "id_reservations_detail",
    152       "KEY statut" => "statut,id_reservation,id_evenement",
    153     ),
    154     'titre' => "descriptif AS titre, '' AS lang",
    155     #'date' => "",
    156     'champs_editables' => array(
    157       'id_reservation',
    158       'id_evenement',
    159       'descriptif',
    160       'quantite',
    161       'prix_ht',
    162       'prix',
    163       'taxe',
    164       'devise',
    165       'id_prix_objet'
    166     ),
    167     'champs_versionnes' => array(
    168         'descriptif',
    169         'quantite',
    170         'prix_ht',
    171         'prix',
    172         'taxe',
    173         'devise',
    174         'id_prix_objet',
    175     ),
    176     'rechercher_champs' => array(
    177       "descriptif" => 8,
    178     ),
    179     'tables_jointures' => array(
    180       'id_evenement',
    181       'id_reservation'
    182     ),
    183     'statut_textes_instituer' => array(
    184       'attente' => 'reservation:texte_statut_attente',
    185       'attente_paiement' => 'reservation:texte_statut_attente_paiement',
    186       'accepte_part' => 'reservation:texte_statut_accepte_part',
    187       'accepte' => 'reservation:texte_statut_accepte',
    188       'cloture' => 'reservation:texte_statut_cloture',
    189       'refuse' => 'reservation:texte_statut_refuse',
    190       'poubelle' => 'reservation:texte_statut_poubelle',
    191     ),
    192     'statut_images' => array(
    193       'attente' => 'puce-reservation-attente-16.png',
    194       'attente_paiement' => 'puce-reservation-attente_paiement-16.png',
    195       'accepte_part' => 'puce-reservation-accepte_part-16.png',     
    196       'accepte' => 'puce-reservation-accepte-16.png',
    197 
    198       'cloture' => 'puce-reservation-cloture-16.png',
    199       'refuse' => 'puce-reservation-refuse-16.png',
    200       'poubelle' => 'puce-reservation-poubelle-16.png',
    201     ),
    202     'statut' => array( array(
    203         'champ' => 'statut',
    204         'publie' => 'accepte,cloture,accepte_part',
    205         'previsu' => 'accepte,attente,attente_paiement,accepte_part',
    206         'post_date' => 'date',
    207         'exception' => array(
    208           'statut',
    209           'tout'
    210         )
    211       )),
    212     'texte_changer_statut' => 'reservations_detail:texte_changer_statut_reservations_detail',
    213   );
    214 
    215   //Ajouter le champ action_cloture dans le tables articles et evenements
    216 
    217   $tables['spip_articles']['champs_editable'][] = "action_cloture";
    218   $tables['spip_evenements']['champs_editable'][] = "action_cloture";
    219 
    220   return $tables;
    221 
     40        $tables ['spip_reservations'] = array (
     41                        'type' => 'reservation',
     42                        'principale' => "oui",
     43                        'field' => array (
     44                                        "id_reservation" => "bigint(21) NOT NULL",
     45                                        "id_reservation_source" => "bigint(21) NOT NULL",
     46                                        "id_auteur" => "bigint(21) NOT NULL DEFAULT '0'",
     47                                        "reference" => "varchar(255) NOT NULL DEFAULT ''",
     48                                        "date_paiement" => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
     49                                        "type_paiement" => "varchar(50) NOT NULL DEFAULT ''",
     50                                        "nom" => "varchar(255) NOT NULL DEFAULT ''",
     51                                        "email" => "varchar(255) NOT NULL DEFAULT ''",
     52                                        "type_lien" => "varchar(25) NOT NULL DEFAULT ''",
     53                                        "origine_lien" => "varchar(25) NOT NULL DEFAULT ''",
     54                                        "maj" => "timestamp",
     55                                        "donnees_auteur" => "text NOT NULL DEFAULT ''",
     56                                        "date" => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
     57                                        "statut" => "varchar(20)  DEFAULT '0' NOT NULL",
     58                                        "lang" => "varchar(10)  DEFAULT '' NOT NULL",
     59                                        "maj" => "TIMESTAMP"
     60                        ),
     61                        'key' => array (
     62                                        "PRIMARY KEY" => "id_reservation",
     63                                        "KEY statut" => "statut,id_auteur,lang,id_reservation_source"
     64                        ),
     65                        'titre' => "reference AS titre, '' AS lang",
     66                        'date' => "date",
     67                        'champs_editables' => array (
     68                                        'id_reservation_source',
     69                                        'id_auteur',
     70                                        'date_paiement',
     71                                        'nom',
     72                                        'email',
     73                                        'type_lien',
     74                                        'origine_lien',
     75                                        'donnees_auteur',
     76                                        'reference',
     77                                        'lang'
     78                        ),
     79                        'champs_versionnes' => array (
     80                                        'id_auteur',
     81                                        'date_paiement',
     82                                        'nom',
     83                                        'email',
     84                                        'donnees_auteur',
     85                                        'reference'
     86                        ),
     87                        'rechercher_champs' => array (
     88                                        "reference" => 8,
     89                                        "id_reservation" => 8,
     90                                        "email" => 8,
     91                                        "nom" => 8
     92                        ),
     93                        'tables_jointures' => array (
     94                                        'id_reservation',
     95                                        'id_auteur'
     96                        ),
     97                        'statut_textes_instituer' => array (
     98                                        'attente' => 'reservation:texte_statut_attente',
     99                                        'attente_paiement' => 'reservation:texte_statut_attente_paiement',
     100                                        'accepte_part' => 'reservation:texte_statut_accepte_part',
     101                                        'accepte' => 'reservation:texte_statut_accepte',
     102                                        'cloture' => 'reservation:texte_statut_cloture',
     103                                        'encours' => 'reservation:texte_statut_encours',
     104                                        'refuse' => 'reservation:texte_statut_refuse',
     105                                        'poubelle' => 'reservation:texte_statut_poubelle'
     106                        ),
     107                        'statut_images' => array (
     108                                        'attente' => 'puce-reservation-attente-16.png',
     109                                        'attente_paiement' => 'puce-reservation-attente_paiement-16.png',
     110                                        'accepte' => 'puce-reservation-accepte-16.png',
     111                                        'accepte_part' => 'puce-reservation-accepte_part-16.png',
     112                                        'cloture' => 'puce-reservation-cloture-16.png',
     113                                        'encours' => 'puce-reservation-encours-16.png',
     114                                        'refuse' => 'puce-reservation-refuse-16.png',
     115                                        'poubelle' => 'puce-reservation-poubelle-16.png'
     116                        ),
     117                        'statut' => array (
     118                                        array (
     119                                                        'champ' => 'statut',
     120                                                        'publie' => 'accepte,cloture,accepte_part',
     121                                                        'previsu' => 'accepte,attente,attente_paiement,accepte_part',
     122                                                        'post_date' => 'date',
     123                                                        'exception' => array (
     124                                                                        'statut',
     125                                                                        'tout'
     126                                                        )
     127                                        )
     128                        ),
     129                        'texte_changer_statut' => 'reservation:texte_changer_statut_reservation'
     130        );
     131       
     132        $tables ['spip_reservations_details'] = array (
     133                        'type' => 'reservations_detail',
     134                        'principale' => "oui",
     135                        'table_objet_surnoms' => array (
     136                                        'reservationsdetail'
     137                        ), // table_objet('reservations_detail') => 'reservations_details'
     138                        'field' => array (
     139                                        "id_reservations_detail" => "bigint(21) NOT NULL",
     140                                        "id_reservation" => "bigint(21) NOT NULL DEFAULT '0'",
     141                                        "id_evenement" => "bigint(21) NOT NULL DEFAULT '0'",
     142                                        "descriptif" => "text NOT NULL",
     143                                        "quantite" => "int(11) NOT NULL DEFAULT '1'",
     144                                        "prix_ht" => "float NOT NULL DEFAULT '0'",
     145                                        "prix" => "float NOT NULL DEFAULT '0'",
     146                                        "devise" => "varchar(3)  DEFAULT '' NOT NULL",
     147                                        "taxe" => "decimal(4,3) NOT NULL DEFAULT '0.000'",
     148                                        "statut" => "varchar(20)  DEFAULT '0' NOT NULL",
     149                                        "maj" => "TIMESTAMP"
     150                        ),
     151                        'key' => array (
     152                                        "PRIMARY KEY" => "id_reservations_detail",
     153                                        "KEY statut" => "statut,id_reservation,id_evenement"
     154                        ),
     155                        'titre' => "descriptif AS titre, '' AS lang",
     156                        // 'date' => "",
     157                        'champs_editables' => array (
     158                                        'id_reservation',
     159                                        'id_evenement',
     160                                        'descriptif',
     161                                        'quantite',
     162                                        'prix_ht',
     163                                        'prix',
     164                                        'taxe',
     165                                        'devise',
     166                                        'id_prix_objet'
     167                        ),
     168                        'champs_versionnes' => array (
     169                                        'descriptif',
     170                                        'quantite',
     171                                        'prix_ht',
     172                                        'prix',
     173                                        'taxe',
     174                                        'devise',
     175                                        'id_prix_objet'
     176                        ),
     177                        'rechercher_champs' => array (
     178                                        "descriptif" => 8
     179                        ),
     180                        'tables_jointures' => array (
     181                                        'id_evenement',
     182                                        'id_reservation'
     183                        ),
     184                        'statut_textes_instituer' => array (
     185                                        'attente' => 'reservation:texte_statut_attente',
     186                                        'attente_paiement' => 'reservation:texte_statut_attente_paiement',
     187                                        'accepte_part' => 'reservation:texte_statut_accepte_part',
     188                                        'accepte' => 'reservation:texte_statut_accepte',
     189                                        'cloture' => 'reservation:texte_statut_cloture',
     190                                        'refuse' => 'reservation:texte_statut_refuse',
     191                                        'poubelle' => 'reservation:texte_statut_poubelle'
     192                        ),
     193                        'statut_images' => array (
     194                                        'attente' => 'puce-reservation-attente-16.png',
     195                                        'attente_paiement' => 'puce-reservation-attente_paiement-16.png',
     196                                        'accepte_part' => 'puce-reservation-accepte_part-16.png',
     197                                        'accepte' => 'puce-reservation-accepte-16.png',
     198                                       
     199                                        'cloture' => 'puce-reservation-cloture-16.png',
     200                                        'refuse' => 'puce-reservation-refuse-16.png',
     201                                        'poubelle' => 'puce-reservation-poubelle-16.png'
     202                        ),
     203                        'statut' => array (
     204                                        array (
     205                                                        'champ' => 'statut',
     206                                                        'publie' => 'accepte,cloture,accepte_part',
     207                                                        'previsu' => 'accepte,attente,attente_paiement,accepte_part',
     208                                                        'post_date' => 'date',
     209                                                        'exception' => array (
     210                                                                        'statut',
     211                                                                        'tout'
     212                                                        )
     213                                        )
     214                        ),
     215                        'texte_changer_statut' => 'reservations_detail:texte_changer_statut_reservations_detail'
     216        );
     217       
     218        // Ajouter le champ action_cloture dans le tables articles et evenements
     219       
     220        $tables ['spip_articles'] ['champs_editable'] [] = "action_cloture";
     221        $tables ['spip_evenements'] ['champs_editable'] [] = "action_cloture";
     222       
     223        return $tables;
    222224}
    223 
    224225function reservation_evenement_declarer_tables_principales($tables_principales) {
    225 
    226   $tables_principales['spip_articles']['field']['action_cloture'] = "tinyint(1) NOT NULL";
    227   $tables_principales['spip_evenements']['field']['action_cloture'] = "tinyint(1) NOT NULL";
    228 
    229   return $tables_principales;
     226        $tables_principales ['spip_articles'] ['field'] ['action_cloture'] = "tinyint(1) NOT NULL";
     227        $tables_principales ['spip_evenements'] ['field'] ['action_cloture'] = "tinyint(1) NOT NULL";
     228       
     229        return $tables_principales;
    230230}
  • _plugins_/reservation_evenement/trunk/content/evenement.html

    r89847 r96183  
    11<BOUCLE_content(EVENEMENTS){id_evenement}>
    2 
    3   #SET{id_evenement_source,#ID_EVENEMENT_SOURCE}
    4   #SET{date_debut,#DATE_DEBUT}
    5   [(#ID_EVENEMENT_SOURCE|=={0}|oui) #SET{id_evenement_source,#ID_EVENEMENT}]
    6   [(#ID_EVENEMENT_SOURCE|!={0}|oui) #SET{date_debut,#INFO_DATE_DEBUT{evenement,#ID_EVENEMENT_SOURCE}}]
    7 
    8   #SET{date_fin,#DATE_FIN}
    9   <BOUCLE_evmt_lie(EVENEMENTS){id_evenement_source = #GET{id_evenement_source}}{! par date_fin}{0,1}>
    10     #SET{date_fin,#DATE_FIN}
    11   </BOUCLE_evmt_lie>
    12 
    13 <article class="entry evenement vevent id_#ID_EVENEMENT" id="evenement_#ID_EVENEMENT" itemscope itemtype="http://schema.org/Event">
    14     <header class="cartouche">
    15         [(#LOGO_EVENEMENT|image_reduire{200,200})]
    16         <h1><span class="#EDIT{titre}">#TITRE</span></h1>
    17                 <meta itemprop="startDate" content="[(#GET{date_debut}|date_iso)]" />
    18                 <meta itemprop="endDate" content="[(#GET{date_fin}|date_iso)]" />
    19                 [<p class="info-publi"><time><i class="icon-calendar"></i> (#GET{date_debut}|agenda_affdate_debut_fin{#GET{date_fin},#HORAIRE*,'hcal'})</time></p>]
    20     </header>
    21    #SET{intro,''}<BOUCLE_art(ARTICLES){id_article}>#SET{intro,#TEXTE}</BOUCLE_art>
    22         [(#SET{intro,[<div class="introduction #EDIT{descriptif}" itemprop="description">(#DESCRIPTIF|sinon{#GET{intro}})</div>]})]
    23 
    24 
    25   [<div class="main">
    26     (#GET{intro})
    27   </div>]
    28 
    29 <INCLURE{fond=inclure/evenement_details,
    30   id_objet=#GET{id_evenement_source},
    31   id_article,
    32   prix=#PRIX,
    33   lieu,
    34   places,
    35   adresse
    36   } />
    37 
    38 </article>
     2        #SET{id_evenement_source,#ID_EVENEMENT_SOURCE}
     3        #SET{date_debut,#DATE_DEBUT} [(#ID_EVENEMENT_SOURCE|=={0}|oui)
     4        #SET{id_evenement_source,#ID_EVENEMENT}]
     5        [(#ID_EVENEMENT_SOURCE|!={0}|oui)
     6        #SET{date_debut,#INFO_DATE_DEBUT{evenement,#ID_EVENEMENT_SOURCE}}]
     7       
     8        #SET{date_fin,#DATE_FIN}
     9        <BOUCLE_evmt_lie(EVENEMENTS){id_evenement_source=#GET{id_evenement_source}}{! pardate_fin}{0,1}>
     10                #SET{date_fin,#DATE_FIN}
     11        </BOUCLE_evmt_lie>
     12       
     13        <article class="entry evenement vevent id_#ID_EVENEMENT"
     14                id="evenement_#ID_EVENEMENT" itemscope
     15                itemtype="http://schema.org/Event">
     16                <header class="cartouche">
     17                        [(#LOGO_EVENEMENT|image_reduire{200,200})]
     18                        <h1>
     19                                <span class="#EDIT{titre}">#TITRE</span>
     20                        </h1>
     21                        <meta itemprop="startDate" content="[(#GET{date_debut}|date_iso)]" />
     22                        <meta itemprop="endDate" content="[(#GET{date_fin}|date_iso)]" />
     23                        [
     24                        <p class="info-publi">
     25                                <time>
     26                                        <i class="icon-calendar"></i>
     27                                        (#GET{date_debut}|agenda_affdate_debut_fin{#GET{date_fin},#HORAIRE*,'hcal'})
     28                                </time>
     29                        </p>
     30                        ]
     31                </header>
     32                #SET{intro,''}
     33                <BOUCLE_art(ARTICLES){id_article}>
     34                        #SET{intro,#TEXTE}
     35                </BOUCLE_art>
     36                [(#SET{intro,[
     37                <div class="introduction #EDIT{descriptif}" itemprop="description">
     38                        (#DESCRIPTIF|sinon{#GET{intro}})
     39                </div>]})]
     40                [<div class="main">(#GET{intro})</div>]
     41       
     42                <INCLURE {fond=inclure/evenement_details,
     43                        id_objet=#GET{id_evenement_source},
     44                        id_article,
     45                        prix=#PRIX,
     46                        lieu,
     47                        places,
     48                        adresse} />
     49        </article>
    3950</BOUCLE_content>
  • _plugins_/reservation_evenement/trunk/content/inscription.html

    r89872 r96183  
    11<article class="inscription">
    2     <header class="cartouche">
    3         <h1><:reservation:inscription:></h1>
    4     </header>
    5   <div class="main">
    6     <div class="ajax">
    7       #FORMULAIRE_RESERVATION{#ENV{id_evenement},#ENV{id_article},#ENV{retour}}
    8     </div>
    9   </div>
     2        <header class="cartouche">
     3                <h1>
     4                        <:reservation:inscription:>
     5                </h1>
     6        </header>
     7        <div class="main">
     8                <div class="ajax">
     9                        #FORMULAIRE_RESERVATION{#ENV{id_evenement}, #ENV{id_article}, #ENV{retour}}
     10                </div>
     11        </div>
    1012</article>
  • _plugins_/reservation_evenement/trunk/formulaires/editer_reservation.html

    r89790 r96183  
    7474
    7575        $("#champ_id_auteur")
    76           .change(function() {
     76                .change(function() {
    7777                        if($(this).find("option:selected").val() != "") {
    78                           hide_fieldset(".fieldset_donnees_auteur",800);
     78                                hide_fieldset(".fieldset_donnees_auteur",800);
    7979                        }
    8080                        else {
     
    8484                                });
    8585                        }
    86         });
     86                });
    8787
    8888</script>
  • _plugins_/reservation_evenement/trunk/formulaires/editer_reservation.php

    r89068 r96183  
    99 * @package     SPIP\Reservation_evenement\Formulaires
    1010 */
     11if (! defined ( '_ECRIRE_INC_VERSION' ))
     12        return;
    1113
    12 if (!defined('_ECRIRE_INC_VERSION')) return;
    13 
    14 include_spip('inc/actions');
    15 include_spip('inc/editer');
     14include_spip ( 'inc/actions' );
     15include_spip ( 'inc/editer' );
    1616
    1717/**
     
    1919 *
    2020 * @param int|string $id_reservation
    21  *     Identifiant du reservation. 'new' pour un nouveau reservation.
     21 *              Identifiant du reservation. 'new' pour un nouveau reservation.
    2222 * @param string $retour
    23  *     URL de redirection après le traitement
     23 *              URL de redirection après le traitement
    2424 * @param int $lier_trad
    25  *     Identifiant éventuel d'un reservation source d'une traduction
     25 *              Identifiant éventuel d'un reservation source d'une traduction
    2626 * @param string $config_fonc
    27  *     Nom de la fonction ajoutant des configurations particulières au formulaire
     27 *              Nom de la fonction ajoutant des configurations particulières au formulaire
    2828 * @param array $row
    29  *     Valeurs de la ligne SQL du reservation, si connu
     29 *              Valeurs de la ligne SQL du reservation, si connu
    3030 * @param string $hidden
    31  *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
    32  * @return string
    33  *     Hash du formulaire
     31 *              Contenu HTML ajouté en même temps que les champs cachés du formulaire.
     32 * @return string Hash du formulaire
    3433 */
    35 function formulaires_editer_reservation_identifier_dist($id_reservation='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
    36         return serialize(array(intval($id_reservation)));
     34function formulaires_editer_reservation_identifier_dist($id_reservation = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
     35        return serialize ( array (
     36                        intval ( $id_reservation )
     37        ) );
    3738}
    3839
     
    4344 *
    4445 * @uses formulaires_editer_objet_charger()
    45  *
     46 *     
    4647 * @param int|string $id_reservation
    47  *     Identifiant du reservation. 'new' pour un nouveau reservation.
     48 *              Identifiant du reservation. 'new' pour un nouveau reservation.
    4849 * @param string $retour
    49  *     URL de redirection après le traitement
     50 *              URL de redirection après le traitement
    5051 * @param int $lier_trad
    51  *     Identifiant éventuel d'un reservation source d'une traduction
     52 *              Identifiant éventuel d'un reservation source d'une traduction
    5253 * @param string $config_fonc
    53  *     Nom de la fonction ajoutant des configurations particulières au formulaire
     54 *              Nom de la fonction ajoutant des configurations particulières au formulaire
    5455 * @param array $row
    55  *     Valeurs de la ligne SQL du reservation, si connu
     56 *              Valeurs de la ligne SQL du reservation, si connu
    5657 * @param string $hidden
    57  *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
    58  * @return array
    59  *     Environnement du formulaire
     58 *              Contenu HTML ajouté en même temps que les champs cachés du formulaire.
     59 * @return array Environnement du formulaire
    6060 */
    61 function formulaires_editer_reservation_charger_dist($id_reservation='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
    62         $valeurs = formulaires_editer_objet_charger('reservation',$id_reservation,'',$lier_trad,$retour,$config_fonc,$row,$hidden);
    63         if(isset($valeurs['langue']))$valeurs['lang']=$valeurs['langue'];
    64         if(isset($valeurs['reference']) AND !$valeurs['reference']){
    65                 $fonction_reference = charger_fonction('reservation_reference', 'inc/');
    66                 $valeurs['reference']=$fonction_reference();   
     61function formulaires_editer_reservation_charger_dist($id_reservation = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
     62        $valeurs = formulaires_editer_objet_charger ( 'reservation', $id_reservation, '', $lier_trad, $retour, $config_fonc, $row, $hidden );
     63        if (isset ( $valeurs ['langue'] ))
     64                $valeurs ['lang'] = $valeurs ['langue'];
     65        if (isset ( $valeurs ['reference'] ) and ! $valeurs ['reference']) {
     66                $fonction_reference = charger_fonction ( 'reservation_reference', 'inc/' );
     67                $valeurs ['reference'] = $fonction_reference ();
    6768        }
    6869       
    69         $valeurs['quantite'] = _request('quantite')?_request('quantite') : 1;
    70    
    71     //les champs extras auteur
    72     include_spip('cextras_pipelines');
    73    
    74     if(function_exists('champs_extras_objet')){
    75         //Charger les définitions pour la création des formulaires
    76 
    77         $valeurs['champs_extras_auteurs']=champs_extras_objet(table_objet_sql('auteur'));
    78         foreach($valeurs['champs_extras_auteurs'] as $key =>$value){
    79                 $donnees_auteur = unserialize($valeurs['donnees_auteur']);
     70        $valeurs ['quantite'] = _request ( 'quantite' ) ? _request ( 'quantite' ) : 1;
     71       
     72        // les champs extras auteur
     73        include_spip ( 'cextras_pipelines' );
     74       
     75        if (function_exists ( 'champs_extras_objet' )) {
     76                // Charger les définitions pour la création des formulaires
     77               
     78                $valeurs ['champs_extras_auteurs'] = champs_extras_objet ( table_objet_sql ( 'auteur' ) );
     79                foreach ( $valeurs ['champs_extras_auteurs'] as $key => $value ) {
     80                        $donnees_auteur = unserialize ( $valeurs ['donnees_auteur'] );
    8081                       
    81             $valeurs[$value['options']['nom']]=isset($donnees_auteur[$value['options']['nom']])?$donnees_auteur[$value['options']['nom']]:$donnees_auteur[$value['options']['label']];
    82             $valeurs['champs_extras_auteurs'][$key]['options']['label']=extraire_multi($value['options']['label']);   
    83 
    84         }
    85     }
    86 
    87         $valeurs['_hidden'].='<input type="hidden" name="quantite" value="'.$valeurs['quantite'].'"/>'; 
    88                
     82                        $valeurs [$value ['options'] ['nom']] = isset ( $donnees_auteur [$value ['options'] ['nom']] ) ? $donnees_auteur [$value ['options'] ['nom']] : $donnees_auteur [$value ['options'] ['label']];
     83                        $valeurs ['champs_extras_auteurs'] [$key] ['options'] ['label'] = extraire_multi ( $value ['options'] ['label'] );
     84                }
     85        }
     86       
     87        $valeurs ['_hidden'] .= '<input type="hidden" name="quantite" value="' . $valeurs ['quantite'] . '"/>';
     88       
    8989        return $valeurs;
    9090}
     
    9696 *
    9797 * @uses formulaires_editer_objet_verifier()
    98  *
     98 *     
    9999 * @param int|string $id_reservation
    100  *     Identifiant du reservation. 'new' pour un nouveau reservation.
     100 *              Identifiant du reservation. 'new' pour un nouveau reservation.
    101101 * @param string $retour
    102  *     URL de redirection après le traitement
     102 *              URL de redirection après le traitement
    103103 * @param int $lier_trad
    104  *     Identifiant éventuel d'un reservation source d'une traduction
     104 *              Identifiant éventuel d'un reservation source d'une traduction
    105105 * @param string $config_fonc
    106  *     Nom de la fonction ajoutant des configurations particulières au formulaire
     106 *              Nom de la fonction ajoutant des configurations particulières au formulaire
    107107 * @param array $row
    108  *     Valeurs de la ligne SQL du reservation, si connu
     108 *              Valeurs de la ligne SQL du reservation, si connu
    109109 * @param string $hidden
    110  *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
    111  * @return array
    112  *     Tableau des erreurs
     110 *              Contenu HTML ajouté en même temps que les champs cachés du formulaire.
     111 * @return array Tableau des erreurs
    113112 */
    114 function formulaires_editer_reservation_verifier_dist($id_reservation='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
    115         $email=_request('email');
    116         $obligatoire=array('reference');
     113function formulaires_editer_reservation_verifier_dist($id_reservation = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
     114        $email = _request ( 'email' );
     115        $obligatoire = array (
     116                        'reference'
     117        );
    117118        $enregistrer_compte = TRUE;
    118         if(!_request('id_auteur') AND (_request('nom') OR $email)) {
    119             $obligatoire = Array_merge($obligatoire,array('nom','email'));
    120         $enregistrer_compte=FALSE;
    121     }
    122         else $obligatoire=array_merge($obligatoire,array('id_auteur'));
    123                
    124         $erreurs=formulaires_editer_objet_verifier('reservation',$id_reservation,$obligatoire);
    125         if ($email){
    126                 include_spip('inc/filtres');
     119        if (! _request ( 'id_auteur' ) and (_request ( 'nom' ) or $email)) {
     120                $obligatoire = Array_merge ( $obligatoire, array (
     121                                'nom',
     122                                'email'
     123                ) );
     124                $enregistrer_compte = FALSE;
     125        } else
     126                $obligatoire = array_merge ( $obligatoire, array (
     127                                'id_auteur'
     128                ) );
     129       
     130        $erreurs = formulaires_editer_objet_verifier ( 'reservation', $id_reservation, $obligatoire );
     131        if ($email) {
     132                include_spip ( 'inc/filtres' );
    127133                // un redacteur qui modifie son email n'a pas le droit de le vider si il y en avait un
    128                 if (!email_valide($email)){
    129                         $id_auteur_session=isset($GLOBALS['visiteur_session']['id_auteur'])?$GLOBALS['visiteur_session']['id_auteur']:'';
    130                         $erreurs['email'] = (($id_auteur==$id_auteur_session)?_T('form_email_non_valide'):_T('form_prop_indiquer_email'));
    131                 }
    132                 elseif(!$id_auteur){
    133                         if($email_utilise=sql_getfetsel('email','spip_auteurs','email='.sql_quote($email))) $erreurs['email']=_T('reservation:erreur_email_utilise');
     134                if (! email_valide ( $email )) {
     135                        $id_auteur_session = isset ( $GLOBALS ['visiteur_session'] ['id_auteur'] ) ? $GLOBALS ['visiteur_session'] ['id_auteur'] : '';
     136                        $erreurs ['email'] = (($id_auteur == $id_auteur_session) ? _T ( 'form_email_non_valide' ) : _T ( 'form_prop_indiquer_email' ));
     137                } elseif (! $id_auteur) {
     138                        if ($email_utilise = sql_getfetsel ( 'email', 'spip_auteurs', 'email=' . sql_quote ( $email ) ))
     139                                $erreurs ['email'] = _T ( 'reservation:erreur_email_utilise' );
    134140                }
    135141        }
    136142       
    137143        // verifier et changer en datetime sql la date envoyee
    138         $verifier = charger_fonction('verifier', 'inc');
     144        $verifier = charger_fonction ( 'verifier', 'inc' );
    139145        $champ = 'date_paiement';
    140146        $normaliser = null;
    141         if ($erreur = $verifier(_request($champ), 'date', array('normaliser'=>'datetime'), $normaliser)) {
    142                 $erreurs[$champ] = $erreur;
    143         // si une valeur de normalisation a ete transmis, la prendre.
    144         } elseif (!is_null($normaliser) and _request($champ)) {
    145                 set_request($champ, $normaliser);
     147        if ($erreur = $verifier ( _request ( $champ ), 'date', array (
     148                        'normaliser' => 'datetime'
     149        ), $normaliser )) {
     150                $erreurs [$champ] = $erreur;
     151                // si une valeur de normalisation a ete transmis, la prendre.
     152        } elseif (! is_null ( $normaliser ) and _request ( $champ )) {
     153                set_request ( $champ, $normaliser );
     154        } else
     155                set_request ( $champ, '0000-00-00 00:00:00' );
     156       
     157        if (! $enregistrer_compte) {
     158                // les champs extras auteur
     159                include_spip ( 'cextras_pipelines' );
     160               
     161                if (function_exists ( 'champs_extras_objet' )) {
     162                        include_spip ( 'inc/saisies' );
     163                        // Charger les définitions
     164                        $champs_extras_auteurs = champs_extras_objet ( table_objet_sql ( 'auteur' ) );
     165                        $erreurs = array_merge ( $erreurs, saisies_verifier ( $champs_extras_auteurs ) );
     166                }
    146167        }
    147         else set_request($champ,'0000-00-00 00:00:00');
    148    
    149     if(!$enregistrer_compte){
    150                 //les champs extras auteur
    151         include_spip('cextras_pipelines');
    152        
    153         if(function_exists('champs_extras_objet')){
    154             include_spip('inc/saisies');
    155             //Charger les définitions
    156             $champs_extras_auteurs=champs_extras_objet(table_objet_sql('auteur'));
    157             $erreurs = array_merge($erreurs, saisies_verifier($champs_extras_auteurs));
    158             }
    159     }
    160168        return $erreurs;
    161 
    162169}
    163170
     
    168175 *
    169176 * @uses formulaires_editer_objet_traiter()
    170  *
     177 *     
    171178 * @param int|string $id_reservation
    172  *     Identifiant du reservation. 'new' pour un nouveau reservation.
     179 *              Identifiant du reservation. 'new' pour un nouveau reservation.
    173180 * @param string $retour
    174  *     URL de redirection après le traitement
     181 *              URL de redirection après le traitement
    175182 * @param int $lier_trad
    176  *     Identifiant éventuel d'un reservation source d'une traduction
     183 *              Identifiant éventuel d'un reservation source d'une traduction
    177184 * @param string $config_fonc
    178  *     Nom de la fonction ajoutant des configurations particulières au formulaire
     185 *              Nom de la fonction ajoutant des configurations particulières au formulaire
    179186 * @param array $row
    180  *     Valeurs de la ligne SQL du reservation, si connu
     187 *              Valeurs de la ligne SQL du reservation, si connu
    181188 * @param string $hidden
    182  *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
    183  * @return array
    184  *     Retours des traitements
     189 *              Contenu HTML ajouté en même temps que les champs cachés du formulaire.
     190 * @return array Retours des traitements
    185191 */
    186 function formulaires_editer_reservation_traiter_dist($id_reservation='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
    187        
    188         return formulaires_editer_objet_traiter('reservation',$id_reservation,'',$lier_trad,$retour,$config_fonc,$row,$hidden);
     192function formulaires_editer_reservation_traiter_dist($id_reservation = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
     193        return formulaires_editer_objet_traiter ( 'reservation', $id_reservation, '', $lier_trad, $retour, $config_fonc, $row, $hidden );
    189194}
    190195
    191 
    192196?>
  • _plugins_/reservation_evenement/trunk/formulaires/editer_reservations_detail.html

    r78019 r96183  
    1 <div class='formulaire_spip formulaire_editer formulaire_#FORM formulaire_#FORM-#ENV{id_reservations_detail,nouveau}'>
    2         [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
    3         [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
    4 
    5         [(#ENV{editable})
    6         <form method='post' action='#ENV{action}'><div>
    7                 #ACTION_FORMULAIRE{#ENV{action}}
    8                 <input type='hidden' name='id_reservations_detail' value='#ENV{id_reservations_detail}' />
    9 
    10         <ul>
    11             <INCLURE{fond=formulaires/inc-editer_reservations_details_champs,env,ajax=champs_res_det}/>
    12         </ul>
    13 
    14                 [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
    15                 <!--extra-->
    16                 <p class="boutons"><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p>
    17         </div></form>
     1<div
     2        class='formulaire_spip formulaire_editer formulaire_#FORM formulaire_#FORM-#ENV{id_reservations_detail,nouveau}'>
     3        [
     4        <p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>
     5        ] [
     6        <p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>
     7        ] [(#ENV{editable})
     8        <form method='post' action='#ENV{action}'>
     9                <div>
     10                        #ACTION_FORMULAIRE{#ENV{action}} <input type='hidden'
     11                                name='id_reservations_detail' value='#ENV{id_reservations_detail}' />
     12                        <ul>
     13                                <INCLURE
     14                                        {fond=formulaires/inc-editer_reservations_details_champs,env,ajax=champs_res_det} />
     15                        </ul>
     16                        [(#REM) ajouter les saisies supplementaires : extra et autre, a cet
     17                        endroit ]
     18                        <!--extra-->
     19                        <p class="boutons">
     20                                <input type='submit' class='submit' value='<:bouton_enregistrer:>' />
     21                        </p>
     22                </div>
     23        </form>
    1824        ]
    1925</div>
  • _plugins_/reservation_evenement/trunk/formulaires/editer_reservations_detail.php

    r91639 r96183  
    99 * @package    SPIP\Res\Formulaires
    1010 */
     11if (! defined ( '_ECRIRE_INC_VERSION' ))
     12        return;
    1113
    12 if (!defined('_ECRIRE_INC_VERSION'))
    13   return;
    14 
    15 include_spip('inc/actions');
    16 include_spip('inc/editer');
     14include_spip ( 'inc/actions' );
     15include_spip ( 'inc/editer' );
    1716
    1817/**
     
    2019 *
    2120 * @param int|string $id_reservations_detail
    22  *     Identifiant du reservations_detail. 'new' pour un nouveau reservations_detail.
     21 *              Identifiant du reservations_detail. 'new' pour un nouveau reservations_detail.
    2322 * @param string $retour
    24  *     URL de redirection après le traitement
     23 *              URL de redirection après le traitement
    2524 * @param int $lier_trad
    26  *     Identifiant éventuel d'un reservations_detail source d'une traduction
     25 *              Identifiant éventuel d'un reservations_detail source d'une traduction
    2726 * @param string $config_fonc
    28  *     Nom de la fonction ajoutant des configurations particulières au formulaire
     27 *              Nom de la fonction ajoutant des configurations particulières au formulaire
    2928 * @param array $row
    30  *     Valeurs de la ligne SQL du reservations_detail, si connu
     29 *              Valeurs de la ligne SQL du reservations_detail, si connu
    3130 * @param string $hidden
    32  *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
    33  * @return string
    34  *     Hash du formulaire
     31 *              Contenu HTML ajouté en même temps que les champs cachés du formulaire.
     32 * @return string Hash du formulaire
    3533 */
    3634function formulaires_editer_reservations_detail_identifier_dist($id_reservations_detail = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
    37   return serialize(array(intval($id_reservations_detail)));
     35        return serialize ( array (
     36                        intval ( $id_reservations_detail )
     37        ) );
    3838}
    3939
     
    4444 *
    4545 * @uses formulaires_editer_objet_charger()
    46  *
     46 *     
    4747 * @param int|string $id_reservations_detail
    48  *     Identifiant du reservations_detail. 'new' pour un nouveau reservations_detail.
     48 *              Identifiant du reservations_detail. 'new' pour un nouveau reservations_detail.
    4949 * @param string $retour
    50  *     URL de redirection après le traitement
     50 *              URL de redirection après le traitement
    5151 * @param int $lier_trad
    52  *     Identifiant éventuel d'un reservations_detail source d'une traduction
     52 *              Identifiant éventuel d'un reservations_detail source d'une traduction
    5353 * @param string $config_fonc
    54  *     Nom de la fonction ajoutant des configurations particulières au formulaire
     54 *              Nom de la fonction ajoutant des configurations particulières au formulaire
    5555 * @param array $row
    56  *     Valeurs de la ligne SQL du reservations_detail, si connu
     56 *              Valeurs de la ligne SQL du reservations_detail, si connu
    5757 * @param string $hidden
    58  *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
    59  * @return array
    60  *     Environnement du formulaire
     58 *              Contenu HTML ajouté en même temps que les champs cachés du formulaire.
     59 * @return array Environnement du formulaire
    6160 */
    6261function formulaires_editer_reservations_detail_charger_dist($id_reservations_detail = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
    63   $date = date('Y-m-d G:i:s');
    64   $valeurs = formulaires_editer_objet_charger('reservations_detail', $id_reservations_detail, '', $lier_trad, $retour, $config_fonc, $row, $hidden);
    65  
    66   if (isset($valeurs['id_evenement']) AND $valeurs['id_evenement'] > 0)
    67     $valeurs['id_article'] = sql_getfetsel('id_article', 'spip_evenements', 'id_evenement=' . $valeurs['id_evenement']);
    68 
    69   $valeurs['id_reservation'] = _request('id_reservation') ? _request('id_reservation') : $valeurs['id_reservation'];
    70 
    71   $sql = sql_select('id_article', 'spip_evenements', 'date_fin > ' . sql_quote($date));
    72 
    73   $valeurs['articles'] = array();
    74   $valeurs['evenement_anterieurs'] = _request('evenement_anterieurs');
    75 
    76   if ($id_prix_objet = _request('id_prix_objet')) $valeurs['devise'] .= sql_getfetsel('code_devise', 'spip_prix_objets', 'id_prix_objet=' . $id_prix_objet);
    77 
    78   while ($data = sql_fetch($sql))
    79     $valeurs['articles'][] = $data['id_article'];
    80   return $valeurs;
     62        $date = date ( 'Y-m-d G:i:s' );
     63        $valeurs = formulaires_editer_objet_charger ( 'reservations_detail', $id_reservations_detail, '', $lier_trad, $retour, $config_fonc, $row, $hidden );
     64       
     65        if (isset ( $valeurs ['id_evenement'] ) and $valeurs ['id_evenement'] > 0)
     66                $valeurs ['id_article'] = sql_getfetsel ( 'id_article', 'spip_evenements', 'id_evenement=' . $valeurs ['id_evenement'] );
     67       
     68        $valeurs ['id_reservation'] = _request ( 'id_reservation' ) ? _request ( 'id_reservation' ) : $valeurs ['id_reservation'];
     69       
     70        $sql = sql_select ( 'id_article', 'spip_evenements', 'date_fin > ' . sql_quote ( $date ) );
     71       
     72        $valeurs ['articles'] = array ();
     73        $valeurs ['evenement_anterieurs'] = _request ( 'evenement_anterieurs' );
     74       
     75        if ($id_prix_objet = _request ( 'id_prix_objet' ))
     76                $valeurs ['devise'] .= sql_getfetsel ( 'code_devise', 'spip_prix_objets', 'id_prix_objet=' . $id_prix_objet );
     77       
     78        while ( $data = sql_fetch ( $sql ) )
     79                $valeurs ['articles'] [] = $data ['id_article'];
     80        return $valeurs;
    8181}
    8282
     
    8787 *
    8888 * @uses formulaires_editer_objet_verifier()
    89  *
     89 *     
    9090 * @param int|string $id_reservations_detail
    91  *     Identifiant du reservations_detail. 'new' pour un nouveau reservations_detail.
     91 *              Identifiant du reservations_detail. 'new' pour un nouveau reservations_detail.
    9292 * @param string $retour
    93  *     URL de redirection après le traitement
     93 *              URL de redirection après le traitement
    9494 * @param int $lier_trad
    95  *     Identifiant éventuel d'un reservations_detail source d'une traduction
     95 *              Identifiant éventuel d'un reservations_detail source d'une traduction
    9696 * @param string $config_fonc
    97  *     Nom de la fonction ajoutant des configurations particulières au formulaire
     97 *              Nom de la fonction ajoutant des configurations particulières au formulaire
    9898 * @param array $row
    99  *     Valeurs de la ligne SQL du reservations_detail, si connu
     99 *              Valeurs de la ligne SQL du reservations_detail, si connu
    100100 * @param string $hidden
    101  *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
    102  * @return array
    103  *     Tableau des erreurs
     101 *              Contenu HTML ajouté en même temps que les champs cachés du formulaire.
     102 * @return array Tableau des erreurs
    104103 */
    105104function formulaires_editer_reservations_detail_verifier_dist($id_reservations_detail = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
    106   $obligatoire = array(
    107     'id_evenement',
    108     'id_reservation'
    109   );
    110   if (test_plugin_actif('prix_objets'))
    111     $obligatoire = array_merge($obligatoire, array('id_prix_objet'));
    112 
    113   return formulaires_editer_objet_verifier('reservations_detail', $id_reservations_detail, $obligatoire);
     105        $obligatoire = array (
     106                'id_evenement',
     107                'id_reservation'
     108        );
     109        if (test_plugin_actif ( 'prix_objets' ))
     110                $obligatoire = array_merge ( $obligatoire, array (
     111                        'id_prix_objet'
     112                ) );
     113       
     114        return formulaires_editer_objet_verifier ( 'reservations_detail', $id_reservations_detail, $obligatoire );
    114115}
    115116
     
    120121 *
    121122 * @uses formulaires_editer_objet_traiter()
    122  *
     123 *     
    123124 * @param int|string $id_reservations_detail
    124  *     Identifiant du reservations_detail. 'new' pour un nouveau reservations_detail.
     125 *              Identifiant du reservations_detail. 'new' pour un nouveau reservations_detail.
    125126 * @param string $retour
    126  *     URL de redirection après le traitement
     127 *              URL de redirection après le traitement
    127128 * @param int $lier_trad
    128  *     Identifiant éventuel d'un reservations_detail source d'une traduction
     129 *              Identifiant éventuel d'un reservations_detail source d'une traduction
    129130 * @param string $config_fonc
    130  *     Nom de la fonction ajoutant des configurations particulières au formulaire
     131 *              Nom de la fonction ajoutant des configurations particulières au formulaire
    131132 * @param array $row
    132  *     Valeurs de la ligne SQL du reservations_detail, si connu
     133 *              Valeurs de la ligne SQL du reservations_detail, si connu
    133134 * @param string $hidden
    134  *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
    135  * @return array
    136  *     Retours des traitements
     135 *              Contenu HTML ajouté en même temps que les champs cachés du formulaire.
     136 * @return array Retours des traitements
    137137 */
    138138function formulaires_editer_reservations_detail_traiter_dist($id_reservations_detail = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
    139   return formulaires_editer_objet_traiter('reservations_detail', $id_reservations_detail, '', $lier_trad, $retour, $config_fonc, $row, $hidden);
     139        return formulaires_editer_objet_traiter ( 'reservations_detail', $id_reservations_detail, '', $lier_trad, $retour, $config_fonc, $row, $hidden );
    140140}
    141141?>
  • _plugins_/reservation_evenement/trunk/formulaires/inc-action_cloture.html

    r90551 r96183  
    33        label=<:reservation:label_action_cloture:>,
    44        datas=#ARRAY{1,<:item_oui:>,2,<:item_non:>},
    5         })]     
     5        })]
    66        ,
    77        <li><:reservation:evenement_cloture:></li>
  • _plugins_/reservation_evenement/trunk/formulaires/inc-editer_reservations_details_champs.html

    r91639 r96183  
    1 [(#SAISIE{reservations,id_reservation,obligatoire=oui,
    2 label=<:reservations_detail:label_reservation:>})]
     1[(#SAISIE{reservations,id_reservation,obligatoire=oui, label=
     2<:reservations_detail:label_reservation:>})]
    33
    44[(#SAISIE{articles_evenements,id_evenement,id_article=#ENV{articles},obligatoire=oui,evenement_anterieurs=#ENV{evenement_anterieurs},
    55label=<:agenda:info_evenement:>,class=chosen})]
    66
    7 [(#SAISIE{oui_non,evenement_anterieurs,
    8 label=<:reservations_detail:label_evenement_anterieurs:>})]
     7[(#SAISIE{oui_non,evenement_anterieurs, label=<:reservations_detail:label_evenement_anterieurs:>})]
    98
    10 [(#PLUGIN{prix_objets}|oui)
    11 [(#SAISIE{prix_objets, id_prix_objet, obligatoire=oui,
    12 option_intro=<:reservations_detail:choisir_prix:>,
    13 id_objet=#ENV{id_article},
    14 objet=article,
    15 label=<:reservations_detail:label_prix_objet:>})]
     9[(#PLUGIN{prix_objets}|oui)
     10        [(#SAISIE{prix_objets,
     11                id_prix_objet,
     12                obligatoire=oui,
     13                option_intro=<:reservations_detail:choisir_prix:>,
     14                id_objet=#ENV{id_article},
     15                objet=article,
     16                label=<:reservations_detail:label_prix_objet:>}
     17        )]
    1618]
     19[(#ENV{id_prix_objet}|oui)
     20        #SET{devise,#ENV{devise,#INFO_CODE_DEVISE{prix_objet,#ENV{id_prix_objet}}}}
     21        [(#SAISIE{hidden,devise,valeur=#GET{devise}})]
     22]
     23[(#SAISIE{input, prix_ht, label=<:reservations_detail:label_prix_ht:>})]
    1724
    18 [(#ENV{id_prix_objet}|oui)
    19   #SET{devise,#ENV{devise,#INFO_CODE_DEVISE{prix_objet,#ENV{id_prix_objet}}}}
    20   [(#SAISIE{hidden,devise,valeur=#GET{devise}})]
    21 ]
     25[(#PLUGIN{prix_objets}|oui) <script type="text/javascript">
     26        $(function() {
    2227
    23 [(#SAISIE{input, prix_ht,
    24 label=<:reservations_detail:label_prix_ht:>})]
     28                var id_reservation = $("select#champ_id_reservation").val();
     29                var id_article = '#ENV{id_article}';
     30                var id_evenement = '#ENV{id_evenement}';
     31                var id_prix_objet = '#ENV{id_prix_objet}';
     32                var prix_ht = '#ENV{prix_ht}';
     33                var evenement_anterieurs = '#ENV{evenement_anterieurs}';
    2534
    26 [(#PLUGIN{prix_objets}|oui)
    27 <script type="text/javascript">
    28   $(function() {
     35                $("#champ_id_evenement").change(function(event) {
     36                        $("option:selected", $(this)).each(function() {
     37                                var id_article = $(this).attr('data-id_article');
     38                                var id_evenement = $(this).attr('value');
     39                                ajaxReload('champs_res_det', {
     40                                        args : {
     41                                                id_reservation : id_reservation,
     42                                                id_article : id_article,
     43                                                id_evenement : id_evenement,
     44                                                id_prix_objet : id_prix_objet,
     45                                                prix_ht : prix_ht,
     46                                                evenement_anterieurs : evenement_anterieurs
     47                                        }
     48                                });
     49                        });
     50                });
     51                $("#champ_id_prix_objet").change(function(event) {
     52                        $("option:selected", $(this)).each(function() {
     53                                var prix_ht = $(this).attr('data-prix_ht');
     54                                var id_prix_objet = $(this).attr('value');
     55                                ajaxReload('champs_res_det', {
     56                                        args : {
     57                                                id_reservation : id_reservation,
     58                                                id_article : id_article,
     59                                                id_evenement : id_evenement,
     60                                                id_prix_objet : id_prix_objet,
     61                                                prix_ht : prix_ht,
     62                                                evenement_anterieurs : evenement_anterieurs
     63                                        }
     64                                });
     65                        });
     66                });
     67                $(".editer_evenement_anterieurs input").change(function(event) {
     68                        var evenement_anterieurs = $(this).attr('value');
     69                        ajaxReload('champs_res_det', {
     70                                args : {
     71                                        id_reservation : id_reservation,
     72                                        id_article : id_article,
     73                                        id_evenement : id_evenement,
     74                                        id_prix_objet : id_prix_objet,
     75                                        prix_ht : prix_ht,
     76                                        evenement_anterieurs : evenement_anterieurs
     77                                }
     78                        });
    2979
    30     var id_reservation = $("select#champ_id_reservation").val();
    31     var id_article = '#ENV{id_article}';
    32     var id_evenement = '#ENV{id_evenement}';
    33     var id_prix_objet = '#ENV{id_prix_objet}';
    34     var prix_ht = '#ENV{prix_ht}';
    35     var evenement_anterieurs = '#ENV{evenement_anterieurs}';
    36 
    37     $("#champ_id_evenement").change(function(event) {
    38       $("option:selected", $(this)).each(function() {
    39         var id_article = $(this).attr('data-id_article');
    40         var id_evenement = $(this).attr('value');
    41         ajaxReload('champs_res_det', {
    42           args : {
    43             id_reservation : id_reservation,
    44             id_article : id_article,
    45             id_evenement : id_evenement,
    46             id_prix_objet : id_prix_objet,
    47             prix_ht : prix_ht,
    48             evenement_anterieurs : evenement_anterieurs
    49           }
    50         });
    51       });
    52     });
    53     $("#champ_id_prix_objet").change(function(event) {
    54       $("option:selected", $(this)).each(function() {
    55         var prix_ht = $(this).attr('data-prix_ht');
    56         var id_prix_objet = $(this).attr('value');
    57         ajaxReload('champs_res_det', {
    58           args : {
    59             id_reservation : id_reservation,
    60             id_article : id_article,
    61             id_evenement : id_evenement,
    62             id_prix_objet : id_prix_objet,
    63             prix_ht : prix_ht,
    64             evenement_anterieurs : evenement_anterieurs
    65           }
    66         });
    67       });
    68     });
    69     $(".editer_evenement_anterieurs input").change(function(event) {
    70         var evenement_anterieurs = $(this).attr('value');
    71         ajaxReload('champs_res_det', {
    72           args : {
    73             id_reservation : id_reservation,
    74             id_article : id_article,
    75             id_evenement : id_evenement,
    76             id_prix_objet : id_prix_objet,
    77             prix_ht : prix_ht,
    78             evenement_anterieurs : evenement_anterieurs
    79           }
    80         });
    81 
    82     });
    83   });
    84 
    85 </script>
    86 ]
     80                });
     81        });
     82</script> ]
  • _plugins_/reservation_evenement/trunk/formulaires/inc-reservation_evenements.html

    r89847 r96183  
    11<B_art_or>
    22<li class='editer editer_id_evenement[ (#ENV**{erreurs}|table_valeur{id_evenement}|oui)erreur]'>
    3     [<div class='erreur_message'>(#ENV**{erreurs}|table_valeur{id_evenement})</div>]
    4 <BOUCLE_art_or(DATA){source tableau,#ENV{evenements}} {id_evenement_source = 0} {par date_debut}>
    5     #SET{prix,#VALEUR{prix}}
    6 [(#REM) Si le plugin prix objets est activé on regarde si il y a un prix attaché à l'évenement]
    7     #SET{prix2,''}
    8     <BOUCLE_prix(PRIX_OBJETS?){id_objet=#ID_EVENEMENT}{objet=evenement}{0,1}>
    9      #SET{prix2,#PRIX}
    10     </BOUCLE_prix>
    11         [(#REM) ou à l'article]
    12         <BOUCLE_prix_article(PRIX_OBJETS?){id_objet=#ID_ARTICLE}{objet=article}{0,1}>
    13         #SET{prix2,#PRIX}
    14         </BOUCLE_prix_article>
    15          [(#REM) Sinon, si l'événement ne contient pas de prix, on prend le prix du champs prix l'article]
    16             <BOUCLE_art(ARTICLES){id_article=#VALEUR{id_article}}{si #GET{prix}|=={0}|ou{#GET{prix}|=={0.00}}|oui}>
    17                 #SET{prix2,#PRIX}
    18             </BOUCLE_art>
    19                   [(#REM) sinon on prend le prix du champs prix de l'événement]
    20                    #SET{prix2,#GET{prix}}
    21             <//B_art>
    22          <//B_prix_article>
    23     <//B_prix>
    24     #SET{id_article,#ID_ARTICLE}
    25     [(#COMPTEUR_BOUCLE|!={1}|oui)</li><li class='editer editer_id_evenement[ (#ENV**{erreurs}|table_valeur{id_evenement}|oui)erreur]'>]
    26     <a href="#URL_EVENEMENT{#ID_EVENEMENT}">#TITRE</a>
    27     #SET{date_fin,#DATE_FIN}
    28     <BOUCLE_evenements_lies(EVENEMENTS) {id_evenement_source = #ID_EVENEMENT}{!par date_fin} {0,1}>
    29     #SET{date_fin,#DATE_FIN}
    30     </BOUCLE_evenements_lies>
    31         <strong>([(#DATE_DEBUT|affdate_debut_fin{#GET{date_fin},#HORAIRE})])</strong>
    32     [<div class="location" itemprop="location"><span class="lieu">(#LIEU)</span>[<br /><span class="adresse">(#ADRESSE|PtoBR)</span>]</div>]
    33         [(#PLACES|>{0}|oui)<INCLURE{fond=inclure/places_disponibles,id_evenement,places,statut=#VAL|statuts_complet}/>]
    34   <INCLURE{fond=formulaires/inc-reservation_evenements_champ,id_evenement, prix=#GET{prix2},evenements=#ENV{id_evenement}}/>
     3        [<div class='erreur_message'>(#ENV**{erreurs}|table_valeur{id_evenement})</div>]
     4<BOUCLE_art_or (DATA){source tableau,#ENV{evenements}} {id_evenement_source=0} {pardate_debut}>
     5        #SET{prix,#VALEUR{prix}}
     6        [(#REM) Si le plugin prix objets est activé on regarde si il y a un prix attaché à l'évenement]
     7        #SET{prix2,''}
     8                <BOUCLE_prix(PRIX_OBJETS?){id_objet=#ID_EVENEMENT}{objet=evenement}{0,1}>
     9                        #SET{prix2,#PRIX}
     10                </BOUCLE_prix>
     11                        [(#REM) ou à l'article]
     12                        <BOUCLE_prix_article(PRIX_OBJETS?){id_objet=#ID_ARTICLE}{objet=article}{0,1}>
     13                                #SET{prix2,#PRIX}
     14                                </BOUCLE_prix_article>
     15                                [(#REM) Sinon, si l'événement ne contient pas de prix, on prend le prix du champs prix l'article]
     16                                <BOUCLE_art(ARTICLES){id_article=#VALEUR{id_article}}{si #GET{prix}|=={0}|ou{#GET{prix}|=={0.00}}|oui}>
     17                                        #SET{prix2,#PRIX}
     18                                </BOUCLE_art>
     19                                        [(#REM) sinon on prend le prix du champs prix de l'événement] #SET{prix2,#GET{prix}}
     20                                <//B_art>
     21                        <//B_prix_article>
     22                <//B_prix>
     23                #SET{id_article,#ID_ARTICLE}
     24        [(#COMPTEUR_BOUCLE|!={1}|oui)
     25                </li>
     26                <li class='editer editer_id_evenement[ (#ENV**{erreurs}|table_valeur{id_evenement}|oui)erreur]'>
     27        ]
     28        <a href="#URL_EVENEMENT{#ID_EVENEMENT}">#TITRE</a>
     29        #SET{date_fin,#DATE_FIN}
     30        <BOUCLE_evenements_lies(EVENEMENTS) {id_evenement_source=#ID_EVENEMENT}{!pardate_fin} {0,1}>
     31                #SET{date_fin,#DATE_FIN}
     32        </BOUCLE_evenements_lies>
     33        <strong>([(#DATE_DEBUT|affdate_debut_fin{#GET{date_fin},#HORAIRE})])</strong>
     34        [<div class="location" itemprop="location">
     35                <span class="lieu">(#LIEU)</span>[<br />
     36                <span class="adresse">(#ADRESSE|PtoBR)</span>]
     37        </div>]
     38        [(#PLACES|>{0}|oui)
     39                <INCLURE{fond=inclure/places_disponibles,
     40                id_evenement,
     41                places,
     42                statut=#VAL|statuts_complet} />]
     43        <INCLURE{fond=formulaires/inc-reservation_evenements_champ,
     44                id_evenement,
     45                prix=#GET{prix2},evenements=#ENV{id_evenement}} />
    3546</BOUCLE_art_or>
    3647</li>
  • _plugins_/reservation_evenement/trunk/formulaires/inc-reservation_evenements_champ.html

    r92037 r96183  
    11<div class="choix">
    2     <label for="id_evenement_#ID_EVENEMENT">
    3         [(#ENV{prix}|>{0}|?{[(#ENV{prix})],<:reservation:label_inscription:>})]
    4   </label>
    5     <input type="checkbox" name="id_evenement[#ID_EVENEMENT]" class="checkbox evenement" id="id_evenement_#ID_EVENEMENT" value="#ID_EVENEMENT"[(#ID_EVENEMENT|in_array{#ENV{evenements,#ARRAY{}}}|oui) checked="checked"]/>
     2        <label for="id_evenement_#ID_EVENEMENT">
     3                [(#ENV{prix}|>{0}|?{[(#ENV{prix})],<:reservation:label_inscription:>})]
     4        </label>
     5        <input type="checkbox" name="id_evenement[#ID_EVENEMENT]" class="checkbox evenement" id="id_evenement_#ID_EVENEMENT" value="#ID_EVENEMENT"
     6                [(#ID_EVENEMENT|in_array{#ENV{evenements, #ARRAY{}}}|oui) checked="checked" ]/>
    67</div>
  • _plugins_/reservation_evenement/trunk/formulaires/inc-reservation_evenements_declinaisons.html

    r89832 r96183  
    11<B_art_or>
    22<li class='editer editer_id_evenement[ (#ENV**{erreurs}|table_valeur{id_evenement}|oui)erreur]'>
    3     [<div class='erreur_message'>(#ENV**{erreurs}|table_valeur{id_evenement})</div>]
    4     <BOUCLE_art_or(DATA){source tableau,#ENV{evenements}} {id_evenement_source = 0} {par date_debut}>
    5         [(#COMPTEUR_BOUCLE|!={1}|oui)</li><li class='editer editer_id_evenement[ (#ENV**{erreurs}|table_valeur{id_evenement}|oui)erreur]'>]
    6         <a href="#URL_EVENEMENT{#ID_EVENEMENT}">#TITRE</a>
    7         #SET{date_fin,#DATE_FIN}
    8         <BOUCLE_evenements_lies(EVENEMENTS) {id_evenement_source = #ID_EVENEMENT}{!par date_fin} {0,1}>
    9         #SET{date_fin,#DATE_FIN}
    10         </BOUCLE_evenements_lies>
    11         <strong>([(#DATE_DEBUT|affdate_debut_fin{#GET{date_fin},#HORAIRE})])</strong>
    12         #SET{titre,#TITRE}
    13          <B_prix>
    14                 <BOUCLE_prix(PRIX_OBJETS){id_objet=#ID_EVENEMENT}{objet=evenement}>
    15                   <INCLURE{fond=formulaires/inc-reservation_evenements_declinaisons_prix,id_evenement,id_declinaison,id_prix_objet,prix=#PRIX,id_objet_prix=#ENV{id_objet_prix}} />
    16                </BOUCLE_prix>
    17                 <BOUCLE_prix_art(PRIX_OBJETS){id_objet=#ID_ARTICLE}{objet=article}>
    18                     <INCLURE{fond=formulaires/inc-reservation_evenements_declinaisons_prix,id_evenement,id_declinaison,id_prix_objet,prix=#PRIX,id_objet_prix=#ENV{id_objet_prix}} />
    19                </BOUCLE_prix_art>
    20                <//B_prix>
    21     </BOUCLE_art_or>
    22  </li>
     3        [<div class='erreur_message'>(#ENV**{erreurs}|table_valeur{id_evenement})</div>]
     4<BOUCLE_art_or (DATA){source tableau,#ENV{evenements}} {id_evenement_source=0} {pardate_debut}>
     5        [(#COMPTEUR_BOUCLE|!={1}|oui)
     6                </li>
     7                <li class='editer editer_id_evenement[ (#ENV**{erreurs}|table_valeur{id_evenement}|oui)erreur]'>
     8        ]
     9        <a href="#URL_EVENEMENT{#ID_EVENEMENT}">#TITRE</a>
     10        #SET{date_fin,#DATE_FIN}
     11        <BOUCLE_evenements_lies(EVENEMENTS) {id_evenement_source=#ID_EVENEMENT}{!pardate_fin} {0,1}>
     12                #SET{date_fin,#DATE_FIN}
     13        </BOUCLE_evenements_lies>
     14        <strong>([(#DATE_DEBUT|affdate_debut_fin{#GET{date_fin},#HORAIRE})])</strong>
     15        #SET{titre,#TITRE}
     16        <B_prix>
     17        <BOUCLE_prix(PRIX_OBJETS){id_objet=#ID_EVENEMENT}{objet=evenement}>
     18                <INCLURE{fond=formulaires/inc-reservation_evenements_declinaisons_prix,
     19                        id_evenement,
     20                        id_declinaison,
     21                        id_prix_objet,
     22                        prix=#PRIX,
     23                        id_objet_prix=#ENV{id_objet_prix}} />
     24        </BOUCLE_prix>
     25                <BOUCLE_prix_art (PRIX_OBJETS){id_objet=#ID_ARTICLE}{objet=article}>
     26                        <INCLURE{fond=formulaires/inc-reservation_evenements_declinaisons_prix,id_evenement,
     27                                id_declinaison,
     28                                id_prix_objet,
     29                                prix=#PRIX,
     30                                id_objet_prix=#ENV{id_objet_prix}} />
     31                </BOUCLE_prix_art>
     32        <//B_prix>
     33</BOUCLE_art_or>
     34</li>
    2335</B_art_or>
    2436<!--extra_evenements-->
  • _plugins_/reservation_evenement/trunk/formulaires/inc-reservation_evenements_declinaisons_prix.html

    r89847 r96183  
    11#SET{prix,#ENV{prix}}
    22<B_decl>
    3     <div class="choix">
    4     <BOUCLE_decl(DECLINAISONS){id_declinaison}{statut ?}{par num titre,titre}>
    5        <input type="checkbox" name="id_objet_prix[#ID_EVENEMENT]" class="checkbox evenement declinaison" id="id_objet_prix[_(#ID_EVENEMENT)][_(#ID_PRIX_OBJET)]" value="#ID_PRIX_OBJET"[(#ID_PRIX_OBJET|in_array{#ENV{id_objet_prix}}|oui) checked="checked"]/>
    6        <label for="id_objet_prix[_(#ID_EVENEMENT)][_(#ID_PRIX_OBJET)]">#TITRE[ : <strong data-prix="#ID_PRIX_OBJET">(#GET{prix})</strong>]</label>
    7 
    8     </BOUCLE_decl>
    9     </div>
     3<div class="choix">
     4        <BOUCLE_decl (DECLINAISONS){id_declinaison}{statut ?}{par numtitre,titre}>
     5        <input type="checkbox" name="id_objet_prix[#ID_EVENEMENT]"
     6                class="checkbox evenement declinaison"
     7                id="id_objet_prix[_(#ID_EVENEMENT)][_(#ID_PRIX_OBJET)]"
     8                value="#ID_PRIX_OBJET"
     9                [(#ID_PRIX_OBJET|in_array{#ENV{id_objet_prix}}|oui) checked="checked" ]/>
     10        <label for="id_objet_prix[_(#ID_EVENEMENT)][_(#ID_PRIX_OBJET)]">#TITRE[
     11                : <strong data-prix="#ID_PRIX_OBJET">(#GET{prix})</strong>]
     12        </label>
     13        </BOUCLE_decl>
     14</div>
    1015</B_decl>
    11     <div class="choix">
    12       <input type="checkbox" name="id_objet_prix[#ID_EVENEMENT]" class="checkbox evenement declinaison" id="id_objet_prix[_(#ID_EVENEMENT)][_(#ID_PRIX_OBJET)]" value="#ID_PRIX_OBJET"[(#ID_PRIX_OBJET|in_array{#ENV{id_objet_prix}}|oui) checked="checked"]/>
    13       <label for="id_objet_prix[_(#ID_EVENEMENT)][_(#ID_PRIX_OBJET)]">
    14        [ <strong data-prix="#ID_PRIX_OBJET">(#GET{prix})</strong>]
    15       </label>
    16     </div>
     16<div class="choix">
     17        <input type="checkbox" name="id_objet_prix[#ID_EVENEMENT]"
     18                class="checkbox evenement declinaison"
     19                id="id_objet_prix[_(#ID_EVENEMENT)][_(#ID_PRIX_OBJET)]"
     20                value="#ID_PRIX_OBJET"
     21                [(#ID_PRIX_OBJET|in_array{#ENV{id_objet_prix}}|oui) checked="checked" ]/>
     22        <label for="id_objet_prix[_(#ID_EVENEMENT)][_(#ID_PRIX_OBJET)]">
     23                [ <strong data-prix="#ID_PRIX_OBJET">(#GET{prix})</strong>]
     24        </label>
     25</div>
    1726<//B_decl>
  • _plugins_/reservation_evenement/trunk/formulaires/reservation.html

    r90167 r96183  
    11<div class="formulaire_spip formulaire_#FORM formulaire_#FORM-#ENV{id,#ENV{id_evenement}}">
    2     [<div class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</div]
    3     [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV**{message_erreur})</p>]
    4 
    5     [(#ENV{editable})
    6     <form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
    7         [(#REM) declarer les hidden qui declencheront le service du formulaire
    8         parametre : url d'action ]
    9         #ACTION_FORMULAIRE{#ENV{action}}
    10         <fieldset><legend><:agenda:label_vous_inscrire:></legend>
    11       <ul class="evenements">
    12        [(#PLUGIN{declinaisons}|?{
    13              [(#INCLURE{fond=formulaires/inc-reservation_evenements_declinaisons,env})]
    14              ,
    15              [(#INCLURE{fond=formulaires/inc-reservation_evenements,env})]
    16          })]
    17       </ul>
    18       </fieldset>
    19       <fieldset>
    20           <legend><:form_forum_identifiants:></legend>
    21           <INCLURE{fond=formulaires/inc-reservation_connection,env}/>
    22       </fieldset>
    23       [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
    24       <!--extra-->
    25       <p class='boutons'><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p>
    26     </div></form>
    27   ]
     2        [<div class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</div]
     3        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV**{message_erreur})</p>]
     4        [(#ENV{editable})
     5        <form method='post' action='#ENV{action}' enctype='multipart/form-data'>
     6                <div>
     7                        [(#REM) declarer les hidden qui declencheront le service du
     8                        formulaire parametre : url d'action ]
     9                        #ACTION_FORMULAIRE{#ENV{action}}
     10                        <fieldset>
     11                                <legend>
     12                                        <:agenda:label_vous_inscrire:>
     13                                </legend>
     14                                <ul class="evenements">[(#PLUGIN{declinaisons}|?{
     15                                        [(#INCLURE{fond=formulaires/inc-reservation_evenements_declinaisons,env})]
     16                                        , [(#INCLURE{fond=formulaires/inc-reservation_evenements,env})] })]
     17                                </ul>
     18                        </fieldset>
     19                        <fieldset>
     20                                <legend>
     21                                        <:form_forum_identifiants:>
     22                                </legend>
     23                                <INCLURE {fond=formulaires/inc-reservation_connection,env} />
     24                        </fieldset>
     25                        [(#REM) ajouter les saisies supplementaires : extra et autre, a cet
     26                        endroit ]
     27                        <!--extra-->
     28                        <p class='boutons'>
     29                                <input type='submit' class='submit' value='<:bouton_enregistrer:>' />
     30                        </p>
     31                </div>
     32        </form>
     33        ]
    2834</div>
  • _plugins_/reservation_evenement/trunk/genie/reservation_evenement_cloture.php

    r88286 r96183  
    1717       
    1818        include_spip('action/editer_objet');
    19  
    20         //Sélection des détails de réservation d'événements passé  qui ont action_cloture activé
     19
     20        //Sélection des détails de réservation d'événements passé  qui ont action_cloture activé
    2121        $sql=sql_select(
    2222                'id_reservations_detail,spip_reservations_details.id_evenement,date_fin',
  • _plugins_/reservation_evenement/trunk/inc/donnees_reservations_details.php

    r95098 r96183  
    11<?php
    2 if (!defined('_ECRIRE_INC_VERSION'))
    3   return;
     2if (! defined ( '_ECRIRE_INC_VERSION' ))
     3        return;
     4function inc_donnees_reservations_details_dist($id_reservations_detail, $set) {
     5        if (count ( $set ) > 0) {
     6                include_spip ( 'inc/filtres' );
     7                $reservations_details = sql_fetsel ( '*', 'spip_reservations_details', 'id_reservations_detail=' . $id_reservations_detail );
     8               
     9                $id_evenement = isset ( $set ['id_evenement'] ) ? $set ['id_evenement'] : $reservations_details ['id_evenement'];
     10                // Les données de l'évènenement
     11               
     12                $evenement = sql_fetsel ( '*', 'spip_evenements', 'id_evenement=' . $id_evenement );
     13               
     14                $date_debut = $evenement ['date_debut'];
     15                if (! $date_fin = sql_getfetsel ( 'date_fin', 'spip_evenements', 'id_evenement_source=' . $id_evenement, '', 'date_debut DESC' ))
     16                        $date_fin = $evenement ['date_fin'];
     17                       
     18                        // On établit les dates
     19                if ($date_debut != $date_fin) {
     20                        if (affdate ( $date_debut, 'd-m-Y' ) == affdate ( $date_fin, 'd-m-Y' )) {
     21                                $date = affdate ( $date_debut, 'd/m/Y' ) . ',' . affdate ( $date_debut, 'G:i' ) . '-' . affdate ( $date_fin, 'G:i' );
     22                        } else {
     23                                $date = affdate ( $date_debut, 'd/m/Y' ) . '-' . affdate ( $date_fin, 'd/m/Y' ) . ', ' . affdate ( $date_debut, 'nom_jour' ) . ' ' . affdate ( $date_debut, 'G:i' ) . '-' . affdate ( $date_fin, 'G:i' );
     24                        }
     25                } else {
     26                        if (affdate ( $date_debut, 'G:i' ) == '0:00')
     27                                $date = affdate ( $date_debut, 'd/m/Y' );
     28                        else
     29                                $datte = affdate ( $date_debut, 'd/m/Y G:i' );
     30                }
     31               
     32                // Les descriptif
     33                $set ['descriptif'] = supprimer_numero ( $evenement ['titre'] ) . '  (' . $date . ')';
     34                if (intval ( $evenement ['places'] ))
     35                        $set ['places'] = $evenement ['places'];
     36               
     37                $set ['quantite'] = _request ( 'quantite' ) ? _request ( 'quantite' ) : 1;
     38                if (is_array ( $set ['quantite'] ) and isset ( $set ['quantite'] [$id_evenement] ))
     39                        $set ['quantite'] = ($set ['quantite'] [$id_evenement] > 0) ? $set ['quantite'] [$id_evenement] : 1;
     40               
     41                $quantite = $set ['quantite'];
     42               
     43                // Si le prix n'est pas fournit, on essaye de le trouver
     44               
     45                if (! isset ( $set ['prix'] ) and ! isset ( $set ['prix_ht'] )) {
     46                       
     47                        /* Existence d'un prix via le plugin Prix Objets http://plugins.spip.net/prix_objets.html */
     48                        if ($prix_objets = test_plugin_actif ( 'prix_objets' )) {
     49                                $fonction_prix = charger_fonction ( 'prix', 'inc/' );
     50                                $fonction_prix_ht = charger_fonction ( 'ht', 'inc/prix' );
     51                               
     52                                /* si le plugin déclinaison produit (http://plugins.spip.net/declinaisons.html) est active il peut y avoir plusieurs prix par évenement */
     53                                if (test_plugin_actif ( 'declinaisons' )) {
     54                                        $id_prix = isset ( $set ['id_prix_objet'] ) ? $set ['id_prix_objet'] : $reservations_details ['id_prix_objet'];
     55                                        $p = sql_fetsel ( 'prix_ht,id_prix_objet,id_declinaison,code_devise', 'spip_prix_objets', 'id_prix_objet=' . $id_prix );
     56                                       
     57                                        if ($p ['id_declinaison'] > 0)
     58                                                $set ['descriptif'] .= ' - ' . supprimer_numero ( sql_getfetsel ( 'titre', 'spip_declinaisons', 'id_declinaison=' . $p ['id_declinaison'] ) );
     59                                }                               
    460
    5 function inc_donnees_reservations_details_dist($id_reservations_detail, $set) {
     61                                // Sinon on cherche d'abord le prix attaché à l'évenement, puis à l'article de l'évenement
     62                                elseif (! $p = sql_fetsel ( 'prix_ht,id_prix_objet,code_devise', 'spip_prix_objets', 'objet="evenement" AND id_objet=' . $id_evenement ))
     63                                        $p = sql_fetsel ( 'prix_ht,id_prix_objet,code_devise', 'spip_prix_objets', 'objet="article" AND id_objet=' . $evenement ['id_article'] );
     64                                if (isset ( $p )) {
     65                                       
     66                                        $prix_ht = $quantite * $fonction_prix_ht ( 'prix_objet', $p ['id_prix_objet'] );
     67                                        $prix = $quantite * $fonction_prix ( 'prix_objet', $p ['id_prix_objet'] );
     68                                        if ($prix_ht)
     69                                                $taxe = round ( ($prix - $prix_ht) / $prix_ht, 3 );
     70                                        $set ['prix_ht'] = $prix_ht;
     71                                        $set ['taxe'] = $taxe;
     72                                        $set ['id_prix_objet'] = $p ['id_prix_objet'];
     73                                        // Si pas de devise fournit par le contexte, on prend celle de prix_objets
     74                                        if (! isset ( $set ['devise'] ))
     75                                                $set ['devise'] = $p ['code_devise'];
     76                                }
     77                        }                       
    678
    7   if (count($set) > 0) {
    8     include_spip('inc/filtres');
    9     $reservations_details = sql_fetsel('*', 'spip_reservations_details', 'id_reservations_detail=' . $id_reservations_detail);
    10 
    11     $id_evenement = isset($set['id_evenement']) ? $set['id_evenement'] : $reservations_details['id_evenement'];
    12     // Les données de l'évènenement
    13 
    14     $evenement = sql_fetsel('*', 'spip_evenements', 'id_evenement=' . $id_evenement);
    15 
    16     $date_debut = $evenement['date_debut'];
    17     if (!$date_fin = sql_getfetsel('date_fin', 'spip_evenements', 'id_evenement_source=' . $id_evenement, '', 'date_debut DESC'))
    18       $date_fin = $evenement['date_fin'];
    19 
    20     // On établit les dates
    21     if ($date_debut != $date_fin) {
    22       if (affdate($date_debut, 'd-m-Y') == affdate($date_fin, 'd-m-Y')) {
    23         $date = affdate($date_debut, 'd/m/Y') . ',' . affdate($date_debut, 'G:i') . '-' . affdate($date_fin, 'G:i');
    24       }
    25       else {
    26         $date = affdate($date_debut, 'd/m/Y') . '-' . affdate($date_fin, 'd/m/Y') . ', ' . affdate($date_debut, 'nom_jour') . ' ' . affdate($date_debut, 'G:i') . '-' . affdate($date_fin, 'G:i');
    27 
    28       }
    29     }
    30     else {
    31       if (affdate($date_debut, 'G:i') == '0:00')
    32         $date = affdate($date_debut, 'd/m/Y');
    33       else
    34         $datte = affdate($date_debut, 'd/m/Y G:i');
    35     }
    36 
    37     // Les descriptif
    38     $set['descriptif'] = supprimer_numero($evenement['titre']) . '  (' . $date . ')';
    39     if (intval($evenement['places']))
    40       $set['places'] = $evenement['places'];
    41 
    42     $set['quantite'] = _request('quantite') ? _request('quantite') : 1;
    43     if (is_array($set['quantite']) and isset($set['quantite'][$id_evenement]))
    44       $set['quantite'] = ($set['quantite'][$id_evenement] > 0) ? $set['quantite'][$id_evenement] : 1;
    45 
    46     $quantite = $set['quantite'];
    47 
    48     // Si le prix n'est pas fournit, on essaye de le trouver
    49 
    50     if (!isset($set['prix']) AND !isset($set['prix_ht'])) {
    51 
    52       /*Existence d'un prix via le plugin Prix  Objets http://plugins.spip.net/prix_objets.html */
    53       if ($prix_objets = test_plugin_actif('prix_objets')) {
    54         $fonction_prix = charger_fonction('prix', 'inc/');
    55         $fonction_prix_ht = charger_fonction('ht', 'inc/prix');
    56 
    57         /*si le plugin déclinaison produit (http://plugins.spip.net/declinaisons.html) est active il peut y avoir plusieurs prix par évenement*/
    58         if (test_plugin_actif('declinaisons')) {
    59           $id_prix = isset($set['id_prix_objet']) ? $set['id_prix_objet'] : $reservations_details['id_prix_objet'];
    60           $p = sql_fetsel('prix_ht,id_prix_objet,id_declinaison,code_devise', 'spip_prix_objets', 'id_prix_objet=' . $id_prix);
    61 
    62          if ($p['id_declinaison'] > 0)
    63             $set['descriptif'] .= ' - ' . supprimer_numero(sql_getfetsel('titre', 'spip_declinaisons', 'id_declinaison=' . $p['id_declinaison']));
    64         }
    65 
    66         //Sinon on cherche d'abord le prix attaché à l'évenement, puis à l'article de l'évenement
    67         elseif (!$p = sql_fetsel('prix_ht,id_prix_objet,code_devise', 'spip_prix_objets', 'objet="evenement" AND id_objet=' . $id_evenement))
    68           $p = sql_fetsel('prix_ht,id_prix_objet,code_devise', 'spip_prix_objets', 'objet="article" AND id_objet=' . $evenement['id_article']);
    69         if (isset($p)) {
    70 
    71           $prix_ht = $quantite * $fonction_prix_ht('prix_objet', $p['id_prix_objet']);
    72           $prix = $quantite * $fonction_prix('prix_objet', $p['id_prix_objet']);
    73           if ($prix_ht)
    74             $taxe = round(($prix - $prix_ht) / $prix_ht, 3);
    75           $set['prix_ht'] = $prix_ht;
    76           $set['taxe'] = $taxe;
    77           $set['id_prix_objet'] = $p['id_prix_objet'];
    78          // Si pas de devise fournit par le contexte, on prend celle de prix_objets
    79          if(!isset($set['devise'])) $set['devise'] = $p['code_devise'];
    80         }
    81       }
    82 
    83       /*Sinon si il y un prix attaché à l'évenement*/
    84       elseif (intval($evenement['prix']) OR intval($evenement['prix_ht']))
    85         $set = etablir_prix($id_evenement, 'evenement', $evenement, $set, $quantite);
    86       elseif ($article = sql_fetsel('*', 'spip_articles', 'id_article=' . $evenement['id_article']))
    87         $set = etablir_prix($evenement['id_article'], 'article', $article, $set, $quantite);
    88     }
    89   }
    90   return $set;
     79                        /* Sinon si il y un prix attaché à l'évenement */
     80                        elseif (intval ( $evenement ['prix'] ) or intval ( $evenement ['prix_ht'] ))
     81                                $set = etablir_prix ( $id_evenement, 'evenement', $evenement, $set, $quantite );
     82                        elseif ($article = sql_fetsel ( '*', 'spip_articles', 'id_article=' . $evenement ['id_article'] ))
     83                                $set = etablir_prix ( $evenement ['id_article'], 'article', $article, $set, $quantite );
     84                }
     85        }
     86        return $set;
    9187}
    92 
    9388function etablir_prix($id, $objet, $datas, $set, $quantite) {
    94   if ($fonction_prix = charger_fonction('prix', 'inc/', true)) {
    95     $prix = $fonction_prix($objet, $id);
    96   }
    97   else
    98     $prix = $datas['prix'];
    99 
    100   if ($fonction_prix_ht = charger_fonction('ht', 'inc/prix', true)) {
    101     $prix_ht = $fonction_prix_ht($objet, $id);
    102   }
    103   elseif (intval($datas['prix_ht']))
    104     $prix_ht = $datas['prix_ht'];
    105 
    106   if ($prix_ht) {
    107     $prix = $quantite * $prix;
    108     $prix_ht = $quantite * $prix_ht;
    109     if ($prix_ht > 0 ) {
    110         $taxe = round(($prix - $prix_ht) / $prix_ht, 3);
    111     }
    112     $set['prix_ht'] = $prix_ht;
    113     $set['taxe'] = $taxe;
    114   }
    115   else
    116     $set['prix'] = $quantite * $prix;
    117 
    118   return $set;
     89        if ($fonction_prix = charger_fonction ( 'prix', 'inc/', true )) {
     90                $prix = $fonction_prix ( $objet, $id );
     91        } else
     92                $prix = $datas ['prix'];
     93       
     94        if ($fonction_prix_ht = charger_fonction ( 'ht', 'inc/prix', true )) {
     95                $prix_ht = $fonction_prix_ht ( $objet, $id );
     96        } elseif (intval ( $datas ['prix_ht'] ))
     97                $prix_ht = $datas ['prix_ht'];
     98       
     99        if ($prix_ht) {
     100                $prix = $quantite * $prix;
     101                $prix_ht = $quantite * $prix_ht;
     102                if ($prix_ht > 0) {
     103                        $taxe = round ( ($prix - $prix_ht) / $prix_ht, 3 );
     104                }
     105                $set ['prix_ht'] = $prix_ht;
     106                $set ['taxe'] = $taxe;
     107        } else
     108                $set ['prix'] = $quantite * $prix;
     109       
     110        return $set;
    119111}
  • _plugins_/reservation_evenement/trunk/inc/reservation_enregistrer.php

    r92044 r96183  
    22
    33// Sécurité
    4 if (!defined('_ECRIRE_INC_VERSION'))
    5   return;
    6 
    7 //Enregistrement d'une réservation
     4if (! defined ( '_ECRIRE_INC_VERSION' ))
     5        return;
     6       
     7        // Enregistrement d'une réservation
    88function inc_reservation_enregistrer_dist($id = '', $id_article = '', $id_auteur = '', $champs_extras_auteurs = '') {
    9   include_spip('inc/config');
    10   include_spip('inc/session');
    11   $config = lire_config('reservation_evenement');
    12   $statut = $config['statut_defaut'] ? $config['statut_defaut'] : 'rien';
    13   if ($statut == 'rien') {
    14     $statut_defaut = charger_fonction('defaut', 'inc/statuts');
    15     $statut = $statut_defaut($statut);
    16   }
    17 
    18   //Créer la réservation
    19   $action = charger_fonction('editer_objet', 'action');
    20 
    21   // La référence
    22   $fonction_reference = charger_fonction('reservation_reference', 'inc/');
    23 
    24   set_request('statut', $statut);
    25   $reference = $fonction_reference($id_auteur);
    26   set_request('reference', $reference);
    27 
    28   if (_request('enregistrer')) {
    29     include_spip('actions/editer_auteur');
    30 
    31     if (!$id_auteur) {
    32       include_spip('inc/auth');
    33       $res = formulaires_editer_objet_traiter('auteur', 'new', '', '', $retour, $config_fonc, $row, $hidden);
    34       $id_auteur = $res['id_auteur'];
    35       sql_updateq('spip_auteurs', array('statut' => '6forum'), 'id_auteur=' . $id_auteur);
    36       $auteur = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . $id_auteur);
    37       auth_loger($auteur);
    38     }
    39   }
    40   elseif (intval($id_auteur)) {
    41     //les champs extras auteur
    42     include_spip('cextras_pipelines');
    43     $valeurs_extras = array();
    44 
    45     if (!is_array($champs_extras_auteurs) AND function_exists('champs_extras_objet')) {
    46       //Charger les définitions pour la création des formulaires
    47       $champs_extras_auteurs = champs_extras_objet(table_objet_sql('auteur'));
    48     }
    49 
    50     if (is_array($champs_extras_auteurs)) {
    51       foreach ($champs_extras_auteurs as $value) {
    52         $valeurs_extras[$value['options']['label']] = _request($value['options']['nom']);
    53       }
    54     }
    55     //mettre les valeurs dans la session pour garder les éventuelles modifications
    56     session_set('nom',_request('nom'));
    57     session_set('email',_request('email'));
    58    
    59     $valeurs = array_merge(array(
    60       'nom' => _request('nom'),
    61       'email' => _request('email')
    62     ), $valeurs_extras);
    63     sql_updateq('spip_auteurs', $valeurs, 'id_auteur=' . $id_auteur);
    64    
    65     //Enlever pour ne pas les enregistrer dans la réservation
    66     set_request('nom', '');
    67     set_request('email', '');
    68   }
    69  
    70   set_request('id_auteur',$id_auteur);
    71 
    72   $id_reservation = $action('new', 'reservation');
    73 
    74   // On ajoute l'id à la session
    75   $id_reservation = $id_reservation[0];
    76   if (!_request('id_reservation_source')) session_set('id_reservation', $id_reservation);
    77 
    78   $message = '<p>' . _T('reservation:reservation_enregistre') . '</p>';
    79   $message .= '<h3>' . _T('reservation:details_reservation') . '</h3>';
    80   $message .= recuperer_fond('inclure/reservation', array('id_reservation' => $id_reservation));
    81 
    82   //Ivalider les caches
    83   include_spip('inc/invalideur');
    84   suivre_invalideur("id='reservation/$id_reservation'");
    85   suivre_invalideur("id='reservations_detail/$id_reservations_detail'");
    86   return array(
    87     'message_ok' => $message,
    88     'editable' => false
    89   );
     9        include_spip ( 'inc/config' );
     10        include_spip ( 'inc/session' );
     11        $config = lire_config ( 'reservation_evenement' );
     12        $statut = $config ['statut_defaut'] ? $config ['statut_defaut'] : 'rien';
     13        if ($statut == 'rien') {
     14                $statut_defaut = charger_fonction ( 'defaut', 'inc/statuts' );
     15                $statut = $statut_defaut ( $statut );
     16        }
     17       
     18        // Créer la réservation
     19        $action = charger_fonction ( 'editer_objet', 'action' );
     20       
     21        // La référence
     22        $fonction_reference = charger_fonction ( 'reservation_reference', 'inc/' );
     23       
     24        set_request ( 'statut', $statut );
     25        $reference = $fonction_reference ( $id_auteur );
     26        set_request ( 'reference', $reference );
     27       
     28        if (_request ( 'enregistrer' )) {
     29                include_spip ( 'actions/editer_auteur' );
     30               
     31                if (! $id_auteur) {
     32                        include_spip ( 'inc/auth' );
     33                        $res = formulaires_editer_objet_traiter ( 'auteur', 'new', '', '', $retour, $config_fonc, $row, $hidden );
     34                        $id_auteur = $res ['id_auteur'];
     35                        sql_updateq ( 'spip_auteurs', array (
     36                                        'statut' => '6forum'
     37                        ), 'id_auteur=' . $id_auteur );
     38                        $auteur = sql_fetsel ( '*', 'spip_auteurs', 'id_auteur=' . $id_auteur );
     39                        auth_loger ( $auteur );
     40                }
     41        } elseif (intval ( $id_auteur )) {
     42                // les champs extras auteur
     43                include_spip ( 'cextras_pipelines' );
     44                $valeurs_extras = array ();
     45               
     46                if (! is_array ( $champs_extras_auteurs ) and function_exists ( 'champs_extras_objet' )) {
     47                        // Charger les définitions pour la création des formulaires
     48                        $champs_extras_auteurs = champs_extras_objet ( table_objet_sql ( 'auteur' ) );
     49                }
     50               
     51                if (is_array ( $champs_extras_auteurs )) {
     52                        foreach ( $champs_extras_auteurs as $value ) {
     53                                $valeurs_extras [$value ['options'] ['label']] = _request ( $value ['options'] ['nom'] );
     54                        }
     55                }
     56                // mettre les valeurs dans la session pour garder les éventuelles modifications
     57                session_set ( 'nom', _request ( 'nom' ) );
     58                session_set ( 'email', _request ( 'email' ) );
     59               
     60                $valeurs = array_merge ( array (
     61                                'nom' => _request ( 'nom' ),
     62                                'email' => _request ( 'email' )
     63                ), $valeurs_extras );
     64                sql_updateq ( 'spip_auteurs', $valeurs, 'id_auteur=' . $id_auteur );
     65               
     66                // Enlever pour ne pas les enregistrer dans la réservation
     67                set_request ( 'nom', '' );
     68                set_request ( 'email', '' );
     69        }
     70       
     71        set_request ( 'id_auteur', $id_auteur );
     72       
     73        $id_reservation = $action ( 'new', 'reservation' );
     74       
     75        // On ajoute l'id à la session
     76        $id_reservation = $id_reservation [0];
     77        if (! _request ( 'id_reservation_source' ))
     78                session_set ( 'id_reservation', $id_reservation );
     79       
     80        $message = '<p>' . _T ( 'reservation:reservation_enregistre' ) . '</p>';
     81        $message .= '<h3>' . _T ( 'reservation:details_reservation' ) . '</h3>';
     82        $message .= recuperer_fond ( 'inclure/reservation', array (
     83                        'id_reservation' => $id_reservation
     84        ) );
     85       
     86        // Ivalider les caches
     87        include_spip ( 'inc/invalideur' );
     88        suivre_invalideur ( "id='reservation/$id_reservation'" );
     89        suivre_invalideur ( "id='reservations_detail/$id_reservations_detail'" );
     90        return array (
     91                        'message_ok' => $message,
     92                        'editable' => false
     93        );
    9094}
  • _plugins_/reservation_evenement/trunk/inc/reservation_evenement_administrations.php

    r95096 r96183  
    1111
    1212// Sécurité
    13 if (!defined('_ECRIRE_INC_VERSION'))
    14   return;
     13if (! defined ( '_ECRIRE_INC_VERSION' ))
     14        return;
    1515
    1616/**
     
    2020 */
    2121function update_donnees_auteurs() {
    22 
    23         //les champs extras auteur
    24         include_spip('cextras_pipelines');
    25 
    26         //les remplacements
    27         if (function_exists('champs_extras_objet')) {
    28                 $label_nom = array();
    29                 $champs_extras_auteurs = champs_extras_objet(table_objet_sql('auteur'));
    30 
    31                 foreach ($champs_extras_auteurs as $value) {
    32                         $label_nom[$value['options']['label']] = $value['options']['nom'];
     22       
     23        // les champs extras auteur
     24        include_spip ( 'cextras_pipelines' );
     25       
     26        // les remplacements
     27        if (function_exists ( 'champs_extras_objet' )) {
     28                $label_nom = array ();
     29                $champs_extras_auteurs = champs_extras_objet ( table_objet_sql ( 'auteur' ) );
     30               
     31                foreach ( $champs_extras_auteurs as $value ) {
     32                        $label_nom [$value ['options'] ['label']] = $value ['options'] ['nom'];
    3333                }
    34 
    3534        }
    3635        // Rechercher les reservations avec des champs donnes_auteurs et remplace les index si nécessaire
    37         $sql = sql_select('id_reservation,donnees_auteur', 'spip_reservations', 'id_auteur = 0');
    38         while ($data = sql_fetch($sql)) {
    39 
    40                 $donnees_auteur = unserialize($data['donnees_auteur']);
     36        $sql = sql_select ( 'id_reservation,donnees_auteur', 'spip_reservations', 'id_auteur = 0' );
     37        while ( $data = sql_fetch ( $sql ) ) {
     38               
     39                $donnees_auteur = unserialize ( $data ['donnees_auteur'] );
    4140                $update = FALSE;
    42 
    43                 foreach ($label_nom as $label => $nom) {
    44                         if (isset($donnees_auteur[$label])) {
    45                                 $donnees_auteur[$nom] = $donnees_auteur[$label];
    46                                 unset($donnees_auteur[$label]);
     41               
     42                foreach ( $label_nom as $label => $nom ) {
     43                        if (isset ( $donnees_auteur [$label] )) {
     44                                $donnees_auteur [$nom] = $donnees_auteur [$label];
     45                                unset ( $donnees_auteur [$label] );
    4746                                $update = TRUE;
    4847                        }
    4948                }
    50 
     49               
    5150                if ($update) {
    52                         sql_updateq('spip_reservations', array('donnees_auteur' => serialize($donnees_auteur)), 'id_reservation=' . $data['id_reservation']);
     51                        sql_updateq ( 'spip_reservations', array (
     52                                        'donnees_auteur' => serialize ( $donnees_auteur )
     53                        ), 'id_reservation=' . $data ['id_reservation'] );
    5354                }
    54 
    5555        }
    56 
     56       
    5757        return;
    5858}
  • _plugins_/reservation_evenement/trunk/inclure/compteur_reservation_detail.html

    r89572 r96183  
    11[(#REM)affiche le détail par statut]
    22
    3 #SET{reservations,#INCLURE{fond=inclure/compteur_reservations,env,multiple=oui}|unserialize}
     3#SET{reservations,#INCLURE{fond=inclure/compteur_reservations, env, multiple=oui}|unserialize}
    44#SET{id_article,#ENV{id_article}}
    55[(#ENV{id_evenement}|oui)#SET{id_article,''}]
    66
    7 #SET{args,#ARRAY{id_evenement,#ENV{id_evenement},id_article,#GET{id_article},id_rubrique,#ENV{id_rubrique},statut2,#GET{reservations}|array_flip|implode{-}}}
     7#SET{args,#ARRAY{
     8                id_evenement,
     9                #ENV{id_evenement},
     10                id_article,
     11                #GET{id_article},
     12                id_rubrique,
     13                #ENV{id_rubrique},
     14                statut2,
     15                #GET{reservations}|array_flip|implode{-}
     16        }
     17}
    818<ul>
    9   <BOUCLE_res(DATA){source tableau,#GET{reservations}}>
    10     [(#REM)Si il y a des réservations]
    11     <li>
    12       [(#VALEUR|oui)
    13         [(#REM)la première ligne]
    14         [(#COMPTEUR_BOUCLE|=={1}|oui)
    15           [(#ENV*{titre,#VALEUR|singulier_ou_pluriel{reservation:info_1_reservation,reservation:info_nb_reservations}})]
    16         ]
    17         [(#COMPTEUR_BOUCLE|=={1}|non)
    18           [(#VALEUR)] [(#VAL{reservation:texte_statut_#CLE}|_T)]
    19           #SET{args,#ARRAY{
    20           id_evenement,#ENV{id_evenement},
    21           id_article,#GET{id_article},
    22           id_rubrique,#ENV{id_rubrique},
    23           statut,#CLE}}
    24         ]
    25         <div class="actions">
    26           <a href="[(#URL_ECRIRE{reservation_visualiser,[(#VAL{evenements_reservations}|param_low_sec{#GET{args}})]})]" title="<:previsualiser:>" onclick="if (jQuery.modalbox) {jQuery.modalbox('[(#URL_ECRIRE{reservation_visualiser,[(#VAL{evenements_reservations}|param_low_sec{#GET{args}})]}|parametre_url{var_zajax,contenu})]');return false;}">[(#CHEMIN_IMAGE{preview-16.png}|image_reduire{13})]</a>
    27           <a href="[(#URL_PAGE{transmettre,[(#VAL{evenements_reservations}|param_low_sec{#GET{args}, '', 'transmettre'})]}|parametre_url{reponse,oui})]" title="<:agenda:telecharger:>">[(#CHEMIN_IMAGE{telecharger-16.png}|image_reduire{13})]</a>
    28           [(#PIPELINE{reservation_compteur_action,
    29           [(#ARRAY{
    30             args,#GET{args},
    31             data,''
    32           })]})]
    33         </div>
    34 
    35         [(#COMPTEUR_BOUCLE|=={1}|oui)
    36           <div class="strong">
    37             <b><:par_auteur:> <:reservation:label_statut:></b>
    38           </div>
    39         ]
    40       ]
    41       [(#REM)Si il n'y pas de réservations]
    42       [(#VALEUR|non)<:reservation:info_aucun_reservation:>]
    43     </li>
    44 
    45     </BOUCLE_res>
     19        <BOUCLE_res (DATA){sourcetableau,#GET{reservations}}>
     20        [(#REM)Si il y a des réservations]
     21        <li>
     22                [(#VALEUR|oui) [(#REM)la première ligne]
     23                        [(#COMPTEUR_BOUCLE|=={1}|oui)
     24                        [(#ENV*{titre,#VALEUR|singulier_ou_pluriel{reservation:info_1_reservation,reservation:info_nb_reservations}})]
     25                        ] [(#COMPTEUR_BOUCLE|=={1}|non) [(#VALEUR)]
     26                        [(#VAL{reservation:texte_statut_#CLE}|_T)] #SET{args,#ARRAY{
     27                        id_evenement,#ENV{id_evenement}, id_article,#GET{id_article},
     28                        id_rubrique,#ENV{id_rubrique}, statut,#CLE}} ]
     29                        <div class="actions">
     30                                <a href="[(#URL_ECRIRE{reservation_visualiser,[(#VAL{evenements_reservations}|param_low_sec{#GET{args}})]})]"
     31                                        title="<:previsualiser:>"
     32                                        onclick="if (jQuery.modalbox) {jQuery.modalbox('[(#URL_ECRIRE{reservation_visualiser,[(#VAL{evenements_reservations}|param_low_sec{#GET{args}})]}|parametre_url{var_zajax,contenu})]');return false;}">[(#CHEMIN_IMAGE{preview-16.png}|image_reduire{13})]</a>
     33                                <a
     34                                        href="[(#URL_PAGE{transmettre,[(#VAL{evenements_reservations}|param_low_sec{#GET{args}, '', 'transmettre'})]}|parametre_url{reponse,oui})]"
     35                                        title="<:agenda:telecharger:>">[(#CHEMIN_IMAGE{telecharger-16.png}|image_reduire{13})]</a>
     36                                [(#PIPELINE{reservation_compteur_action, [(#ARRAY{args, #GET{args}, data, ''})]})]
     37                        </div>
     38                        [(#COMPTEUR_BOUCLE|=={1}|oui)
     39                        <div class="strong">
     40                                <b><:par_auteur:> <:reservation:label_statut:></b>
     41                        </div>]
     42                ]
     43                [(#REM)Si il n'y pas de réservations]
     44                [(#VALEUR|non)<:reservation:info_aucun_reservation:>]
     45        </li>
     46        </BOUCLE_res>
    4647</ul>
  • _plugins_/reservation_evenement/trunk/inclure/compteur_reservations.html

    r80717 r96183  
    1 #SET{reservations,#ARRAY}
    2 [(#ENV{multiple}|oui)#SET{totale,#ARRAY}]
     1#SET{reservations,#ARRAY} [(#ENV{multiple}|oui)#SET{totale,#ARRAY}]
    32
    4 #SET{objets,#VAL|lister_tables_objets_sql}
    5 #SET{id_evenement,#ARRAY}
     3#SET{objets,#VAL|lister_tables_objets_sql} #SET{id_evenement,#ARRAY}
    64<BOUCLE_art(EVENEMENTS){id_article?}{id_evenement?}{id_rubrique?}{tout}>
    7     #SET{id_evenement,#GET{id_evenement}|push{#ID_EVENEMENT}}
     5        #SET{id_evenement,#GET{id_evenement}|push{#ID_EVENEMENT}}
    86</BOUCLE_art>
    97
    10 <BOUCLE_status(DATA){source tableau,#GET{objets}|table_valeur{spip_reservations}|table_valeur{statut_textes_instituer}}{si #ENV{multiple}|oui}>
    11     #SET{#CLE,#ARRAY}
     8<BOUCLE_status (DATA){sourcetableau,#GET{objets}|table_valeur{spip_reservations}|table_valeur{statut_textes_instituer}}{si #ENV{multiple}|oui}>
     9        #SET{#CLE,#ARRAY}
    1210</BOUCLE_status>
    1311
    14 <BOUCLE_reservations(RESERVATIONS_DETAILS){id_evenement IN #GET{id_evenement}}{statut ?IN #ENV{statut}}>
    15     [(#ENV{multiple}|non)
    16      #SET{reservations,#GET{reservations}|push{#QUANTITE}}   
    17     ]
    18     [(#ENV{multiple}|oui)
    19         [(#SET{#STATUT,#GET{#STATUT}|push{#QUANTITE}})]
    20          #SET{totale,#GET{totale}|push{#QUANTITE}}
    21         [(#SET{reservations,#GET{reservations}|array_merge{#ARRAY{#STATUT,#GET{#STATUT}|array_sum}}}) ]       
    22     ]
     12<BOUCLE_reservations (RESERVATIONS_DETAILS){id_evenement IN #GET{id_evenement}}{statut ?IN #ENV{statut}}>
     13        [(#ENV{multiple}|non) #SET{reservations,#GET{reservations}|push{#QUANTITE}}]
     14        [(#ENV{multiple}|oui)
     15                [(#SET{#STATUT,#GET{#STATUT}|push{#QUANTITE}})]
     16                #SET{totale,#GET{totale}|push{#QUANTITE}}
     17                [(#SET{reservations, #GET{reservations}|array_merge{#ARRAY{#STATUT, #GET{#STATUT}|array_sum}}})]
     18        ]
    2319</BOUCLE_reservations>
    2420[(#ENV{multiple}|non)
    25     [(#GET{reservations}|array_sum)]
     21        [(#GET{reservations}|array_sum)]
    2622]
    2723[(#ENV{multiple}|oui)
    28     [(#GET{reservations}|array_merge{#ARRAY{totale,#GET{totale}|array_sum}}|array_reverse|serialize)]
     24        [(#GET{reservations}|array_merge{#ARRAY{totale,#GET{totale}|array_sum}}|array_reverse|serialize)]
    2925]
  • _plugins_/reservation_evenement/trunk/inclure/evenement_details.html

    r89951 r96183  
    11#SET{prix,''}
    2   <BOUCLE_prix(PRIX_OBJETS?){id_objet}{objet=evenement}{0,1}>
    3    #SET{prix,#PRIX}
    4   </BOUCLE_prix>
    5       [(#REM) ou à l'article]
    6       <BOUCLE_prix_article(PRIX_OBJETS?){id_objet=#ID_ARTICLE}{objet=article}{0,1}>
    7       #SET{prix,#PRIX}
    8       </BOUCLE_prix_article>
    9        [(#REM) Sinon, si l'événement ne contient pas de prix, on prend le prix du champs prix l'article]
    10           <BOUCLE_art_present(ARTICLES){id_article}{si #GET{prix}|>{0}|non}>
    11               #SET{prix,#PRIX}
    12           </BOUCLE_art_present>
    13                 [(#REM) sinon on prend le prix du champs prix de l'événement]
    14                  #SET{prix,#ENV{prix}}
    15           <//B_art_present>
    16        <//B_prix_article>
    17   <//B_prix>
     2<BOUCLE_prix (PRIX_OBJETS?){id_objet}{objet=evenement}{0,1}>
     3        #SET{prix,#PRIX}
     4</BOUCLE_prix>
     5[(#REM) ou à l'article]
     6<BOUCLE_prix_article(PRIX_OBJETS?){id_objet=#ID_ARTICLE}{objet=article}{0,1}>
     7                #SET{prix,#PRIX}
     8        </BOUCLE_prix_article>
     9                [(#REM) Sinon, si l'événement ne contient pas de prix, on prend le prix
     10                du champs prix l'article]
     11                <BOUCLE_art_present(ARTICLES){id_article}{si #GET{prix}|>{0}|non}>
     12                        #SET{prix,#PRIX}
     13                </BOUCLE_art_present>
     14                [(#REM) sinon on prend le prix du champs prix de l'événement]
     15                #SET{prix,#ENV{prix}}
     16                <//B_art_present>
     17        <//B_prix_article>
     18<//B_prix>
    1819
    1920[(#LIEU|ou{#ADRESSE}|ou{#GET{prix}}|ou{#PLACES|>{0}}|oui)
    2021<aside class="details well">
    21   [<div class="location" itemprop="location"><div class="lieu #EDIT{lieu}">
    22     <div><strong><:agenda:evenement_lieu:></strong></div>
    23     <div>(#LIEU)</div>
    24     [<div class="adresse #EDIT{adresse}">(#ADRESSE)</div>]</div>]
    25     [(#GET{prix}|>{0}|oui)<div class><:prix_objets:prix:> : #GET{prix}</div>]
    26     [(#PLACES|>{0}|oui)<INCLURE{fond=inclure/places_disponibles,id_evenement=#ID_OBJET,places,statut=#VAL|statuts_complet}/>]
    27     <a class="btn btn-small" title="<:reservation:inscrire:>" href="[(#URL_PAGE{inscription}|parametre_url{id_evenement,#ID_OBJET})]"><i class="icon-hand-right"></i> <:reservation:inscrire:></a>
    28 </aside]
     22        [<div class="location" itemprop="location">
     23                <div class="lieu #EDIT{lieu}">
     24                        <div>
     25                                <strong><:agenda:evenement_lieu:></strong>
     26                        </div>
     27                        <div>(#LIEU)</div>
     28                        [
     29                        <div class="adresse #EDIT{adresse}">(#ADRESSE)</div>
     30                        ]
     31                </div>
     32        </div>
     33        ]
     34        [(#GET{prix}|>{0}|oui)
     35                <div class>
     36                        <:prix_objets:prix:> : #GET{prix}
     37                </div>
     38        ]
     39        [(#PLACES|>{0}|oui)
     40                <INCLURE
     41                        {fond=inclure/places_disponibles,
     42                                id_evenement=#ID_OBJET,
     43                                places,
     44                                statut=#VAL|statuts_complet}/>
     45        ]
     46        <a class="btn btn-small" title="<:reservation:inscrire:>" href="[(#URL_PAGE{inscription}|parametre_url{id_evenement,#ID_OBJET})]">
     47                <i class="icon-hand-right"></i><:reservation:inscrire:>
     48        </a>
     49</aside>]
  • _plugins_/reservation_evenement/trunk/inclure/places_disponibles.html

    r88241 r96183  
    1 #SET{reservations,''}
    2 [(#REM)Toutes les résérvations]
    3 #SET{total,#INCLURE{fond=inclure/compteur_reservations,env}}
    4 
     1#SET{reservations,''} [(#REM)Toutes les résérvations]
     2#SET{total,#INCLURE{fond=inclure/compteur_reservations,env}}
    53[(#REM)Les disponibilités]
    64#SET{disponibles,#PLACES|moins{#GET{total}}}
    75
    86<div class="disponibles[ (#GET{disponibles}|=={1}|oui)imminent][ (#GET{disponibles}|<={0}|oui)complet]">
    9     [(#GET{disponibles}|>{0}|?{
    10                             <:reservation:places_disponibles:>[ (#GET{disponibles})]
    11                             ,
    12                             <:reservation:complet:>[ : (#GET{disponibles}|<{0}|?{[(#GET{disponibles}|replace{-,''})] <:reservation:texte_statut_attente:>,<:reservation:inscrire_liste_attente:>})]
    13                             })]
     7        [(#GET{disponibles}|>{0}|?{
     8                <:reservation:places_disponibles:>
     9                [(#GET{disponibles})] , <:reservation:complet:>[: (#GET{disponibles}|<{0}|?{[(#GET{disponibles}|replace{-,''})]<:reservation:texte_statut_attente:>,
     10                <:reservation:inscrire_liste_attente:>})]
     11        })]
    1412</div>
  • _plugins_/reservation_evenement/trunk/inclure/reservation.html

    r93053 r96183  
    11[(#REM) On peut donner soit un id_reservation, soit un tableau contenant la reservation]
    2 <BOUCLE_reservation(RESERVATIONS){id_reservation=#ID_RESERVATION}{tout}>
    3   [(#REM) Si on trouve une reservation on prend ça comme base ]
    4   #SET{details, #ARRAY}
    5   #SET{total,0}
    6   <BOUCLE_reservation_details(RESERVATIONS_DETAILS){id_reservation}{id_reservations_detail ?}{tout}>
    7   #SET{details,
    8     #GET{details}|push{
    9       #ARRAY{
    10         descriptif, #QUANTITE|>{1}|?{#QUANTITE &times;}|concat{#DESCRIPTIF*|supprimer_numero},
    11         quantite, #QUANTITE,
    12         prix, #PRIX*,
    13         statut,#STATUT
    14       }
    15     }}
    16 
    17     [(#SET{total,[(#GET{total}|plus{#PRIX*})]})]
    18   </BOUCLE_reservation_details>
    19     #SET{reservation, #ARRAY{details, #GET**{details}}}
     2<BOUCLE_reservation (RESERVATIONS){id_reservation=#ID_RESERVATION}{tout}>
     3        [(#REM) Si on trouve une reservation on prend ça comme base ]
     4        #SET{details, #ARRAY} #SET{total,0}
     5        <BOUCLE_reservation_details(RESERVATIONS_DETAILS){id_reservation}{id_reservations_detail ?}{tout}>
     6                #SET{details, #GET{details}|push{
     7                        #ARRAY{
     8                                descriptif,#QUANTITE|>{1}|?{#QUANTITE&times;}|concat{#DESCRIPTIF*|supprimer_numero},
     9                                quantite, #QUANTITE,
     10                                prix, #PRIX*,
     11                                statut,#STATUT
     12                                }
     13                        }
     14                }
     15                [(#SET{total,[(#GET{total}|plus{#PRIX*})]})]
     16        </BOUCLE_reservation_details>
     17        #SET{reservation,#ARRAY{
     18                details, #GET**{details}
     19                }
     20        }
    2021</BOUCLE_reservation>
    2122#SET{reservation,#ENV{reservation}}
    22 <//B_reservation>[
    23 (#REM) Affichage du detail dans une table si format html demande
    24 ]<BOUCLE_test(CONDITION){si #GET{reservation}|et{#GET{reservation}|is_array|oui}}>[
    25 (#REM) Version texte
     23<//B_reservation>
    2624
    27 ]<BOUCLE_test_format_texte(CONDITION){si #ENV{format_envoi}|=={plain}|oui}>[<BOUCLE_details_texte(POUR){tableau #GET{reservation}|table_valeur{details}}>[
    28 - (#VALEUR|table_valeur{descriptif}|trim|supprimer_tags)] : [(#VALEUR|table_valeur{prix}|appliquer_filtre{prix_formater,[(#VALEUR|table_valeur{prix})]})]</BOUCLE_details_texte>
    29 
    30 [<:prix:label_total_ttc:> : #GET{total}|appliquer_filtre{prix_formater})]
    31 
    32    </BOUCLE_test_format_texte>
    33 
    34       <table class="reservation" cellspacing="0">
    35          <thead>
    36             <tr>
    37                <th class="description"><:reservation:designation:></th>
    38                [(#GET{total}|floatval|>{0.00}|oui)<th class="montant"><:reservation:montant:></th>]
    39                <th class="statut"><:reservation:label_statut:></th>
    40             </tr>
    41          </thead>
    42          <tbody>
    43             <BOUCLE_details(POUR){tableau #GET{reservation}|table_valeur{details}}>
    44             <tr class="detail [(#VALEUR|table_valeur{quantite}|>{0}|?{avec_quantite,sans_quantite})]">
    45                <td class="description">[(#VALEUR|table_valeur{descriptif})]</td>
    46                [(#GET{total}|floatval|>{0.00}|oui)<td class="montant">[(#VALEUR|table_valeur{prix}|appliquer_filtre{prix_formater,[(#VALEUR|table_valeur{prix})]})]</td>]
    47                <td class="statut">
    48                    [(#VAL{reservation:texte_statut[_(#VALEUR{statut}|trim)]}|_T)]
    49                    </td>
    50             </tr>
    51             </BOUCLE_details>
    52          </tbody>
    53          [(#GET{total}|floatval|>{0.00}|oui)<tfoot>
    54             <tr class="total_ttc">
    55                <td class="descriptif">[(#PLUGIN{prix}|?{<:prix:label_total_ttc:>,<:reservation:total:>})]</td>
    56                <td class="montant">[(#GET{total}|appliquer_filtre{prix_formater,#GET{total}})]</td>
    57                <td> </td>
    58             </tr>
    59          </tfoot>]
    60       </table>
    61    <//B_test_format_texte>
     25[ (#REM) Affichage du detail dans une table si format html demande ]
     26<BOUCLE_test(CONDITION){si #GET{reservation}|et{#GET{reservation}|is_array|oui}}>
     27        [(#REM) Version texte ]
     28        <BOUCLE_test_format_texte(CONDITION){si #ENV{format_envoi}|=={plain}|oui}>
     29        [<BOUCLE_details_texte(POUR){tableau #GET{reservation}|table_valeur{details}}>[
     30        - (#VALEUR|table_valeur{descriptif}|trim|supprimer_tags)] :
     31        [(#VALEUR|table_valeur{prix}|appliquer_filtre{prix_formater,[(#VALEUR|table_valeur{prix})]})]
     32        </BOUCLE_details_texte>
     33       
     34        [<:prix:label_total_ttc:> : #GET{total}|appliquer_filtre{prix_formater})]
     35        </BOUCLE_test_format_texte>
     36                <table class="reservation" cellspacing="0">
     37                        <thead>
     38                                <tr>
     39                                        <th class="description"><:reservation:designation:></th>
     40                                        [(#GET{total}|floatval|>{0.00}|oui)
     41                                        <th class="montant"><:reservation:montant:></th>]
     42                                        <th class="statut"><:reservation:label_statut:></th>
     43                                </tr>
     44                        </thead>
     45                        <tbody>
     46                                <BOUCLE_details(POUR){tableau #GET{reservation}|table_valeur{details}}>
     47                                <tr class="detail [(#VALEUR|table_valeur{quantite}|>{0}|?{avec_quantite,sans_quantite})]">
     48                                        <td class="description">[(#VALEUR|table_valeur{descriptif})]</td>
     49                                        [(#GET{total}|floatval|>{0.00}|oui)
     50                                        <td class="montant">[(#VALEUR|table_valeur{prix}|appliquer_filtre{prix_formater,[(#VALEUR|table_valeur{prix})]})]</td>
     51                                        ]
     52                                        <td class="statut">
     53                                        [(#VAL{reservation:texte_statut[_(#VALEUR{statut}|trim)]}|_T)]</td>
     54                                </tr>
     55                                </BOUCLE_details>
     56                        </tbody>
     57                        [(#GET{total}|floatval|>{0.00}|oui)
     58                        <tfoot>
     59                                <tr class="total_ttc">
     60                                        <td class="descriptif">[(#PLUGIN{prix}|?{<:prix:label_total_ttc:>,<:reservation:total:>})]</td>
     61                                        <td class="montant">[(#GET{total}|appliquer_filtre{prix_formater,#GET{total}})]</td>
     62                                        <td></td>
     63                                </tr>
     64                        </tfoot>
     65                        ]
     66                </table>
     67        <//B_test_format_texte>
    6268</BOUCLE_test>
  • _plugins_/reservation_evenement/trunk/inclure/reservations.html

    r79416 r96183  
    33<B_evenements>
    44[(#BOITE_OUVRIR{
    5     [(#CHEMIN_IMAGE{reservation_evenement-32.png}|balise_img{'','cadre-icone'})]
     5        [(#CHEMIN_IMAGE{reservation_evenement-32.png}|balise_img{'','cadre-icone'})]
     6<h3>
     7        <:reservation_evenement:reservation_evenement_titre:>
     8</h3>
    69
    7     <h3><:reservation_evenement:reservation_evenement_titre:></h3>
    8    
    9     ,'simple personnel infos'})]   
    10        <BOUCLE_evenements(EVENEMENTS){id_rubrique ?}{id_article ?}{id_evenement ?}{inscription=1}{tout}>
    11        [(#ENV{id_evenement}|oui)#SET{titre,#TITRE}]
    12            <BOUCLE_article(ARTICLES){id_article=#ENV{id_article}}{unique}>
    13             #SET{titre,#TITRE}
    14            </BOUCLE_article>
    15            <BOUCLE_rubrique(RUBRIQUES){id_rubrique=#ENV{id_rubrique}}{unique}>
    16            #SET{titre,#TITRE}
    17           </BOUCLE_rubrique>
    18        </BOUCLE_evenements>
    19           [<h4>(#GET{titre})</h4>]     
    20      
    21     <INCLURE{fond=inclure/compteur_reservation_detail,env}/>
    22    
    23 #BOITE_FERMER     
     10,'simple personnel infos'
     11})]
     12<BOUCLE_evenements(EVENEMENTS){id_rubrique ?}{id_article ?}{id_evenement ?}{inscription=1}{tout}>
     13        [(#ENV{id_evenement}|oui)#SET{titre,#TITRE}]
     14        <BOUCLE_article (ARTICLES){id_article=#ENV{id_article}}{unique}> #SET{titre,#TITRE} </BOUCLE_article>
     15        <BOUCLE_rubrique(RUBRIQUES){id_rubrique=#ENV{id_rubrique}}{unique}> #SET{titre,#TITRE} </BOUCLE_rubrique>
     16</BOUCLE_evenements>
     17        [<h4>(#GET{titre})</h4>]
     18        <INCLURE {fond=inclure/compteur_reservation_detail,env} />
     19#BOITE_FERMER
    2420</B_evenements>
    2521
  • _plugins_/reservation_evenement/trunk/modeles/reservation.html

    r78019 r96183  
    11<div class="ajax">
    2     #FORMULAIRE_RESERVATION{#ENV{id_evenement},#ENV{id_article}}
     2        #FORMULAIRE_RESERVATION{#ENV{id_evenement},#ENV{id_article}}
    33</div>
  • _plugins_/reservation_evenement/trunk/notifications/contenu_reservation_mail.html

    r92038 r96183  
    44[(#SET{envoi_separe,#GET{config}|table_valeur{envoi_separe}})]
    55[(#GET{envoi_separe}|is_array|oui)
    6     [(#STATUT|in_array{#GET{envoi_separe}}|oui)#SET{statut,#STATUT}]
     6        [(#STATUT|in_array{#GET{envoi_separe}}|oui)#SET{statut,#STATUT}]
    77]
    88
     
    1212#SET{email,#EMAIL}
    1313<BOUCLE_contact(AUTEURS){id_auteur=#ID_AUTEUR}{si #ID_AUTEUR|!={0}|oui}{tout}>
    14     #SET{nom_client,#NOM}
    15     #SET{valeurs_extras,#ARRAY}
    16     #SET{email,#EMAIL}
    17     #SET{extras,#VAL|champs_extras_reservation}
    18     <BOUCLE_extras(DATA){source tableau, #GET{extras}}>
    19     #SET{valeurs_extras,#GET{valeurs_extras}|array_merge{#ARRAY{#VALEUR{options/label},#ID_AUTEUR|generer_info_entite{auteur,#VALEUR{options/nom}}}}}
    20     </BOUCLE_extras>
     14        #SET{nom_client,#NOM}
     15        #SET{valeurs_extras,#ARRAY}
     16        #SET{email,#EMAIL}
     17        #SET{extras,#VAL|champs_extras_reservation}
     18        <BOUCLE_extras(DATA){source tableau, #GET{extras}}>
     19                #SET{valeurs_extras,#GET{valeurs_extras}|array_merge{#ARRAY{#VALEUR{options/label},#ID_AUTEUR|generer_info_entite{auteur,#VALEUR{options/nom}}}}}
     20        </BOUCLE_extras>
    2121</BOUCLE_contact>
    2222#SET{extras,#GET{valeurs_extras}}
  • _plugins_/reservation_evenement/trunk/notifications/reservation_client.php

    r88695 r96183  
    11<?php
    2 if (!defined("_ECRIRE_INC_VERSION")) return;
    3 
    4 
    5 function notifications_reservation_client_dist($quoi,$id_reservation, $options) {
    6     include_spip('inc/config');
    7     $config = lire_config('reservation_evenement');
    8     $envoyer_mail = charger_fonction('envoyer_mail','inc');
    9    
    10     $options['id_reservation']=$id_reservation; 
    11     $options['qui']='client';     
    12     $subject=_T('reservation:votre_reservation_sur',array('nom'=>$GLOBALS['meta']['nom_site']));
    13 
    14     /*Chercher des chaines de langues spécifiques pour les différents statuts*/
    15     $lang=$options['lang'];
    16    
    17  
    18     $var_reservation = 'i18n_reservation_'.$lang;
    19     $chaine_statut='sujet_votre_reservation_'.$options['statut'];
     2if (! defined ( "_ECRIRE_INC_VERSION" ))
     3        return;
     4function notifications_reservation_client_dist($quoi, $id_reservation, $options) {
     5        include_spip ( 'inc/config' );
     6        $config = lire_config ( 'reservation_evenement' );
     7        $envoyer_mail = charger_fonction ( 'envoyer_mail', 'inc' );
    208       
    21 
    22     if(isset($GLOBALS[$var_reservation][$chaine_statut]))$subject=_T('reservation:'.$chaine_statut,array('nom'=>$GLOBALS['meta']['nom_site'])); 
    23 
    24     $email=$options['email'];
    25     $message=recuperer_fond('notifications/contenu_reservation_mail',$options);
    26      
    27     //
    28     // Envoyer les emails
    29     //
    30     //
    31     //
    32 
    33     $o=array('html'=>$message);
    34 
    35     $envoyer_mail($email,$subject,$o);
    36    
    37 
    38     // Si présent -  l'api de notifications_archive
    39     if ($archiver = charger_fonction('archiver_notification','inc',true)) {
    40             $envoi='reussi';
    41             if(!$envoyer_mail)$envoi='echec';
    42 
    43             $o=array(
    44                 'recipients'=>$email,                         
    45                 'sujet'=>$subject,
    46                 'texte'=>$message,
    47                 'html'=>'oui',
    48                 'id_objet'=>$id_reservation,
    49                 'objet'=>'reservation',
    50                 'envoi'=>$envoi,
    51                  'type'=>$quoi);           
    52            
    53         $archiver ($o);
    54     }   
     9        $options ['id_reservation'] = $id_reservation;
     10        $options ['qui'] = 'client';
     11        $subject = _T ( 'reservation:votre_reservation_sur', array (
     12                        'nom' => $GLOBALS ['meta'] ['nom_site']
     13        ) );
     14       
     15        /* Chercher des chaines de langues spécifiques pour les différents statuts */
     16        $lang = $options ['lang'];
     17       
     18        $var_reservation = 'i18n_reservation_' . $lang;
     19        $chaine_statut = 'sujet_votre_reservation_' . $options ['statut'];
     20       
     21        if (isset ( $GLOBALS [$var_reservation] [$chaine_statut] ))
     22                $subject = _T ( 'reservation:' . $chaine_statut, array (
     23                                'nom' => $GLOBALS ['meta'] ['nom_site']
     24                ) );
     25       
     26        $email = $options ['email'];
     27        $message = recuperer_fond ( 'notifications/contenu_reservation_mail', $options );
     28       
     29        // Envoyer les emails
     30       
     31        $o = array (
     32                        'html' => $message
     33        );
     34       
     35        $envoyer_mail ( $email, $subject, $o );
     36       
     37        // Si présent - l'api de notifications_archive
     38        if ($archiver = charger_fonction ( 'archiver_notification', 'inc', true )) {
     39                $envoi = 'reussi';
     40                if (! $envoyer_mail)
     41                        $envoi = 'echec';
     42               
     43                $o = array (
     44                                'recipients' => $email,
     45                                'sujet' => $subject,
     46                                'texte' => $message,
     47                                'html' => 'oui',
     48                                'id_objet' => $id_reservation,
     49                                'objet' => 'reservation',
     50                                'envoi' => $envoi,
     51                                'type' => $quoi
     52                );
     53               
     54                $archiver ( $o );
     55        }
    5556}
    56 
    57 ?>
  • _plugins_/reservation_evenement/trunk/notifications/reservation_vendeur.php

    r85276 r96183  
    6060
    6161}
    62 
    63 ?>
  • _plugins_/reservation_evenement/trunk/prive/objets/contenu/client.html

    r91366 r96183  
    11<BOUCLE_reservation(RESERVATIONS){id_reservation}{statut?}>
    2     <BOUCLE_auteur(AUTEURS){id_auteur}{tout}>
    3     [<div class="champ contenu_email[ (#EMAIL*|strlen|?{'',vide})]">
    4         <label><:reservation:label_email:></label>
    5         <span dir='#LANG_DIR' class='#EDIT{email} email'>(#EMAIL)</span>
    6     </div>]
    7    
    8         #SET{extras,#VAL|champs_extras_reservation}#SET{champs_extras,#ARRAY}
    9         <BOUCLE_extras(DATA){source tableau, #GET{extras}}>
    10         [<div class="champ contenu_#VALEUR{options/nom}">
    11             <label>[(#VALEUR{options/label}|chercher_label{#GET{extras}}|extraire_multi|_T)]</label>
    12             <span dir="#LANG_DIR" class="#CLE">(#ID_AUTEUR|generer_info_entite{auteur,#VALEUR{options/nom}})</span>
    13         </div>]   
    14         </BOUCLE_extras>
    15     </BOUCLE_auteur>
    16         [<div class="champ contenu_email[ (#EMAIL*|strlen|?{'',vide})]">
    17             <label><:reservation:label_email:></label>
    18             <span dir='#LANG_DIR' class='#EDIT{email} email'>(#EMAIL)</span>
    19         </div>]
    20      
    21             <BOUCLE_champs_extras(DATA){source tableau, #DONNEES_AUTEUR|unserialize}>
    22             [<div class="champ contenu_#CLE">
    23                 <label>[(#CLE|chercher_label|extraire_multi|_T)] :</label>
    24                 <span dir="#LANG_DIR" class="#CLE">(#VALEUR)</span>
    25             </div> ]   
    26             </BOUCLE_champs_extras>
    27     <//B_auteur>   
     2        <BOUCLE_auteur(AUTEURS){id_auteur}{tout}>
     3                [<div class="champ contenu_email[ (#EMAIL*|strlen|?{'',vide})]">
     4                <label><:reservation:label_email:></label>
     5                <span dir='#LANG_DIR' class='#EDIT{email} email'>(#EMAIL)</span>
     6        </div>]
     7                #SET{extras,#VAL|champs_extras_reservation}#SET{champs_extras,#ARRAY}
     8                <BOUCLE_extras (DATA){sourcetableau, #GET{extras}}>
     9                [<div class="champ contenu_#VALEUR{options/nom}">
     10                        <label>[(#VALEUR{options/label}|chercher_label{#GET{extras}}|extraire_multi|_T)]</label>
     11                        <span dir="#LANG_DIR" class="#CLE">(#ID_AUTEUR|generer_info_entite{auteur,#VALEUR{options/nom}})</span>
     12                </div>]
     13                </BOUCLE_extras>
     14        </BOUCLE_auteur>
     15                [<div class="champ contenu_email[ (#EMAIL*|strlen|?{'',vide})]">
     16                        <label><:reservation:label_email:></label>
     17                        <span dir='#LANG_DIR' class='#EDIT{email} email'>(#EMAIL)</span>
     18                </div>]
     19                <BOUCLE_champs_extras (DATA){sourcetableau, #DONNEES_AUTEUR|unserialize}>
     20                [<div class="champ contenu_#CLE">
     21                        <label>[(#CLE|chercher_label|extraire_multi|_T)] :</label> <span
     22                                dir="#LANG_DIR" class="#CLE"
     23                        >(#VALEUR)</span>
     24                </div>]
     25                </BOUCLE_champs_extras>
     26        <//B_auteur>
    2827</BOUCLE_reservation>
  • _plugins_/reservation_evenement/trunk/prive/objets/contenu/inc-action_cloture.html

    r88144 r96183  
    11[<div class="champ contenu_action_cloture[ (#CLOTURE_ETAT*|strlen|?{'',vide})] afficher">
    2     <strong class="label"><:reservation:label_action_cloture:></strong>
    3     <span dir='#LANG_DIR' class='email'>(#CLOTURE_ETAT)</span>
     2        <strong class="label"><:reservation:label_action_cloture:></strong>
     3        <span dir='#LANG_DIR' class='email'>(#CLOTURE_ETAT)</span>
    44</div>]
Note: See TracChangeset for help on using the changeset viewer.