Changeset 103761 in spip-zone


Ignore:
Timestamp:
Apr 5, 2017, 5:10:18 PM (2 years ago)
Author:
abelass@…
Message:

format

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/reservation_evenement/trunk/promotions/multiples_evenements.php

    r99024 r103761  
    22if (! defined("_ECRIRE_INC_VERSION"))
    33        return;
    4        
     4
    55        // Définition des champs pour le détail du formulaire promotion du plugin promotions (https://github.com/abelass/promotions)
    66function promotions_multiples_evenements_dist($flux = array()) {
     
    88        $objet_promotion = _request('objet_promotion') ? _request('objet_promotion') : (isset($flux['valeurs_promotion']['objet_promotion']) ? $flux['valeurs_promotion']['objet_promotion'] : '');
    99        $objets = array ();
    10        
     10
    1111        // Déterminer les objets à assembler
    1212        if ($objet_promotion == 'evenement') {
    1313                $sql = sql_select('id_evenement,titre, date_debut,date_fin', 'spip_evenements', 'statut!="poubelle" AND inscription=1 AND id_evenement_source=0 AND date_fin>' . sql_quote($date), '', 'date_debut');
    14                
     14
    1515                while ( $data = sql_fetch($sql) ) {
    1616                        $date_fin = sql_getfetsel('date_fin', 'spip_evenements', 'id_evenement_source=' . $data['id_evenement'], '', 'date_fin DESC');
    1717                        $date_debut = $data['date_debut'];
    18                        
     18
    1919                        if (! $date_fin and (affdate($date_debut, 'd-m-Y') < affdate($data['date_fin'], 'd-m-Y')))
    2020                                $date_fin = '/' . affdate($data['date_fin'], 'd-m-Y');
     
    2626        elseif ($objet_promotion == 'article') {
    2727                $sql = sql_select('spip_evenements.id_article,spip_articles.titre', 'spip_evenements LEFT JOIN spip_articles ON spip_evenements.id_article=spip_articles.id_article', 'spip_evenements.statut!="poubelle" AND spip_evenements.id_evenement_source=0', '', 'date_debut');
    28                
     28
    2929                while ( $data = sql_fetch($sql) ) {
    30                        
     30
    3131                        $objets[$data['id_article']] = $data['titre'];
    3232                }
    3333        }
    34        
     34
    3535        $return = array (
    3636                'nom' => _T('reservation:nom_reservation_multiples_evenements'),
     
    4242                                        'datas' => array (
    4343                                                'simple' => _T('reservation:simple'),
    44                                                 'choix_precis' => _T('reservation:choix_precis') 
     44                                                'choix_precis' => _T('reservation:choix_precis')
    4545                                        ),
    4646                                        'label' => _T('reservation:label_type_selection'),
    47                                         'obligatoire' => 'oui' 
    48                                 ) 
     47                                        'obligatoire' => 'oui'
     48                                )
    4949                        ),
    5050                        array (
     
    5656                                        'defaut' => '2',
    5757                                        'obligatoire' => 'oui',
    58                                         'afficher_si' => '@type_selection@=="simple"' 
    59                                 ) 
     58                                        'afficher_si' => '@type_selection@=="simple"'
     59                                )
    6060                        ),
    6161                        array (
     
    6565                                        'datas' => array (
    6666                                                'article' => _T('public:article'),
    67                                                 'evenement' => _T('agenda:info_evenement') 
     67                                                'evenement' => _T('agenda:info_evenement')
    6868                                        ),
    6969                                        'label' => _T('reservation:label_objet_promotion'),
     
    7171                                        'class' => 'auto_submit',
    7272                                        'obligatoire' => 'oui',
    73                                         'afficher_si' => '@type_selection@=="choix_precis"' 
    74                                 ) 
     73                                        'afficher_si' => '@type_selection@=="choix_precis"'
     74                                )
    7575                        ),
    7676                        array (
     
    8282                                        'class' => 'chosen',
    8383                                        'obligatoire' => 'oui',
    84                                         'afficher_si' => '@type_selection@=="choix_precis"' 
    85                                 ) 
     84                                        'afficher_si' => '@type_selection@=="choix_precis"'
     85                                )
    8686                        ),
    8787                        array (
     
    9191                                        'label' => _T('reservation:label_nombre_evenements'),
    9292                                        'explication' => _T('reservation:explication_nombre_evenements') . ' ' . _T('reservation:explication_nombre_evenements_choix', array (
    93                                                 'objet_promotion' => $objet_promotion 
     93                                                'objet_promotion' => $objet_promotion
    9494                                        )),
    9595                                        'afficher_si' => '@type_selection@=="choix_precis"',
    9696                                        'obligatoire' => 'oui',
    97                                         'defaut' => '0' 
    98                                 ) 
    99                         ) 
    100                 ) 
     97                                        'defaut' => '0'
     98                                )
     99                        )
     100                )
    101101        );
    102        
     102
    103103        return $return;
    104104}
     
    106106// Définition de l'action de la promotion
    107107function promotions_multiples_evenements_action_dist($flux, $promotion) {
    108        
     108
    109109        // Les événements sélectionnés
    110110        $evenements = _request('evenements');
    111        
     111
    112112        // Les données de la promotion
    113113        $valeurs_promotion = $promotion['valeurs_promotion'];
    114        
     114
    115115        $type_selection = $valeurs_promotion['type_selection'];
    116116        $nombre_evenements = isset($valeurs_promotion['nombre_evenements']) ? $valeurs_promotion['nombre_evenements'] : '';
     
    118118        $id_objet = isset($valeurs_promotion['id_objet']) ? $valeurs_promotion['id_objet'] : '';
    119119        $nombre_evenements_choix = isset($valeurs_promotion['nombre_evenements_choix']) ? $valeurs_promotion['nombre_evenements_choix'] : '';
    120        
     120
    121121        // promotion simple
    122        
     122
    123123        if ($type_selection == 'simple' and count($evenements) >= $nombre_evenements)
    124124                $flux['data']['applicable'] = 'oui';
    125125                // promotion avec choix précis des évenements
    126126        elseif ($type_selection == 'choix_precis') {
    127                
     127
    128128                // Le nombre de conicidence requise
    129129                // Par défaut le nombre de objets sélecctionnes
    130130                $nombre_requis = count($id_objet);
    131131                // Si un nombre spécifique est indiqué, on le prend
    132                
     132
    133133                $i = 0;
    134134                // Choix d'événements
     
    143143                        if (! isset($flux['data']['donnees_evenements'])) {
    144144                                $sql = sql_select('spip_articles.id_article,spip_articles.id_trad,id_evenement', 'spip_evenements LEFT JOIN spip_articles ON spip_evenements.id_article=spip_articles.id_article', 'spip_evenements.id_evenement IN (' . implode(',', $evenements) . ')');
    145                                
     145
    146146                                $flux['data']['donnees_evenements'] = array ();
    147147                                while ( $data = sql_fetch($sql) ) {
     
    158158                if ($nombre_evenements_choix > 0)
    159159                        $nombre_requis = $nombre_evenements_choix;
    160                
     160
    161161                if ($i == $nombre_requis)
    162162                        $flux['data']['applicable'] = 'oui';
    163163        }
    164        
     164
    165165        return $flux;
    166166}
Note: See TracChangeset for help on using the changeset viewer.