Changeset 50215 in spip-zone for _plugins_/abonnement


Ignore:
Timestamp:
Aug 3, 2011, 3:06:17 PM (9 years ago)
Author:
toutati@…
Message:

Des tas de choses en plus, la montagne sans ADSL c'est bien mais hein, faut faire avec!

simplifier les fonctions contacts_abonnements a un objet (creer/supprimer) pour être générique
passage par une fonction pour test d'accès a une page suivant la cascade article/rubrique/abonnement/date_validite_exacte
utiliser lang avec [(#VAL{prefixe:chaine_#VARIABLE}|_T)]
Creation de plusieurs fichiers supp dont
sélecteur pour nouvel abonne aux objets (merci marcimat avec grappes)
Renommage img en images
cron pour défaire lien auteur-zones a l'échéance d'un abonnement

Location:
_plugins_/abonnement/zabonnement/trunk
Files:
7 added
14 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/abonnement/zabonnement/trunk/abonnement_fonctions.php

    r49813 r50215  
    11<?php
    22
    3 function ajouter_des_jours($date,$nb){
    4         if(!intval($nb))
    5                 return;
     3//Securite
     4if (!defined('_ECRIRE_INC_VERSION')) return;
    65
    7         return date('Y-m-d H:i:s',mktime(0, 0, 0, date("m") , date("d") + $nb, date("Y")));
    8 }
    9 
    10 function add_date($givendate,$day=0,$mth=0,$yr=0)
     6function modifier_date($givendate,$day=0,$mth=0,$yr=0)
    117{
    128      $cd = strtotime($givendate);
     
    1511}
    1612
     13/**
     14
     15filtre unique pour determiner l'accs (en cascade) d'un auteur ˆ un objet, ce filtre teste si l'auteur
     16- est liŽ ˆ la zone restreinte ˆ laquelle appartient la rubrique
     17- a un abonnement direct si article
     18- a un abonnement direct si rubrique
     19- a un abonnement ˆ la rubrique parente si article
     20- a un abonnement si la date de validite correspond a la date_utile de la rubrique si exact est demande
     21
     22[(#SESSION{id_auteur}|abonne_objet{rubrique,#ID_RUBRIQUE}|oui) <:acces_ouvert:> ]
     23[(#SESSION{id_auteur}|abonne_objet{article,#ID_ARTICLE}|non) <:acces_restreint:> ]
     24
     25*/
     26
     27/**
     28 * filtre de test pour savoir si le visiteur est abonne a
     29 * l'article ou a la rubrique demande
     30 * @param int $id_rubrique
     31 * @return bool
     32 */
     33function abonne_objet($id_auteur, $objet="rubrique", $id_objet){
     34       
     35if (is_numeric($id_objet)){
     36        $objets = array();
     37        //soit article soit rubrique
     38        if($objet=="article"){
     39        $objets['article']=$id_objet;
     40        $id_rubrique = sql_getfetsel('id_rubrique','spip_articles',"id_article=".intval($id_objet));
     41        }
     42        else {
     43        $id_rubrique=$id_objet;
     44        }
     45        $objets['rubrique']=$id_rubrique;
     46        if (is_null($id_auteur)) $id_auteur=$GLOBALS['visiteur_session']['id_auteur'];
     47       
     48        $rubrique = sql_fetsel('date_utile,id_parent','spip_rubriques',"id_rubrique=".intval($id_rubrique));
     49
     50        //si l'auteur a accs a la rubrique via une zone
     51        $zones=accesrestreint_zones_rubrique($id_rubrique);
     52        //ou si id_parent est dans la zone -> deprotege la rubrique enfant
     53        $id_parent=$rubrique['id_parent'];
     54        $zones=array_merge($zones,accesrestreint_zones_rubrique($id_parent));
     55       
     56        foreach($zones as $id_zone){
     57                spip_log("abonne_objet id_parent=$id_parent id_zone=$id_zone",'abonnement');
     58                if(accesrestreint_acces_zone($id_zone,$id_auteur))
     59                        return true;
     60        }
     61       
     62        foreach($objets as $objet => $id_objet){
     63        //si l'auteur a accs a l'article - ou sa rubrique - ou a la rubrique elle meme
     64                $where = array();
     65                $where[] = "id_objet=".intval($id_objet);
     66                $where[] = "objet='$objet'";
     67                $where[] = "id_auteur=".intval($id_auteur);
     68                $where[] = "validite>='".date('Y-m-d H:i:s')."'";
     69                $where[] = "statut_abonnement IN ('paye','offert')";
     70
     71        $liste_objets = sql_getfetsel('id_objet','spip_contacts_abonnements',$where);
     72        spip_log("abonne_objet $objet => $id_objet et $id_rubrique et $liste_objets",'abonnement');
     73        if ($liste_objets) return $liste_objets;
     74        }
     75       
     76        //abonnement(s) en cours
     77                $w = array();
     78                $w[] = "objet='abonnement'";
     79                $w[] = "id_auteur=".intval($id_auteur);
     80                $w[] = "validite>='".date('Y-m-d H:i:s')."'";
     81                $w[] = "statut_abonnement IN ('paye','offert')";
     82               
     83        $abonnements = sql_allfetsel('id_objet,date,validite','spip_contacts_abonnements',$w);
     84        foreach($abonnements as $abo){
     85                $id_abo=$abo['id_objet'];
     86                $date=$abo['date'];
     87                $validite=$abo['validite'];
     88               
     89        //on verifie les correspondances de dates
     90        $date_utile=$rubrique['date_utile'];
     91                if(($date<=$date_utile) && ($validite>=$date_utile)){
     92                        $valide=true;
     93                }
     94               
     95        $exact = sql_getfetsel('exact','spip_abonnements','id_abonnement='."'$id_abo'","'exact' ASC");
     96        if ($exact!='oui') $valide=false;
     97       
     98        if($valide){
     99        spip_log("abonne_objet id_abonnement = $id_abo et exact=$exact et valide=$valide et date=$date et date_utile=$date_utile et validite=$validite",'abonnement');
     100        return true;
     101        }
     102
     103
     104        }
     105}
     106
     107}
     108
     109//ids_zone est une liste d'identifiants separes par une virgule
     110function fermer_zone($id_auteur,$ids_zone)
     111{
     112        $array_ids = explode(",", $ids_zone);
     113        foreach($array_ids as $id_zone)
     114        {
     115        if (_DEBUG_ABONNEMENT) spip_log("fermer_zone $id_zone pour $id_auteur",'abonnement');
     116                sql_delete("spip_zones_auteurs", array(
     117                        "id_zone"=>$id_zone,
     118                        "id_auteur"=>$id_auteur
     119                ));
     120        }
     121}
     122
    17123?>
  • _plugins_/abonnement/zabonnement/trunk/abonnement_options.php

    r49886 r50215  
    88# faut-il tracer abonnement dans tmp/abonnement.log et tmp/prive_abonnement.log
    99# a modifier dans mes_options.php
    10 define ('_DEBUG_ABONNEMENT', true);
     10//define ('_DEBUG_ABONNEMENT', true);
    1111
    1212
  • _plugins_/abonnement/zabonnement/trunk/abonnement_pipelines.php

    r49928 r50215  
    33if (!defined("_ECRIRE_INC_VERSION")) return;
    44
    5 include_spip('action/editer_contactabonnement');
     5
     6/**
     7 * Plugin Groupes pour Spip 2.0
     8 * Licence GPL (c) 2008 Matthieu Marcillaud
     9 * (selecteur des auteurs a abonner)
     10 */
     11
     12function abonnement_inserer_js_recherche_objet(){
     13        return <<<EOS
     14
     15                function rechercher_objet(id_selecteur, page_selection) {
     16                        // chercher l'input de saisie
     17                        var me = jQuery(id_selecteur+' input[name=nom_objet]');
     18                        me.autocomplete(page_selection,
     19                                        {
     20                                                delay: 200,
     21                                                autofill: false,
     22                                                minChars: 1,
     23                                                multiple:false,
     24                                                multipleSeparator:";",
     25                                                formatItem: function(data, i, n, value) {
     26                                                        return data[0];
     27                                                },
     28                                                formatResult: function(data, i, n, value) {
     29                                                        return data[1];
     30                                                }
     31                                        }
     32                                );
     33                                me.result(function(event, data, formatted) {
     34                                        if (data[2] > 0) {
     35                                                jQuery(id_selecteur + ' #pid_objet').val(data[2]);
     36                                                jQuery(id_selecteur + ' input[type="submit"]').focus();
     37                                                jQuery(me)
     38                                                .end();
     39                                        }
     40                                        else{
     41                                                return data[1];
     42                                        }
     43                                });
     44                        };
     45EOS;
     46}
     47
     48function abonnement_inserer_javascript($flux){
     49        include_spip('selecteurgenerique_fonctions');
     50        $flux .= selecteurgenerique_verifier_js($flux);
     51
     52        $js = abonnement_inserer_js_recherche_objet();
     53        $js = "<script type='text/javascript'><!--\n$js\n// --></script>\n";
     54
     55        return $flux.$js;
     56}
     57
    658
    759// espace public
     
    3688                                        $arg=array(
    3789                                                'id_auteur'=>$id_auteur,
    38                                                 'statut'=>$statut,
    3990                                                'objet'=>$abo['objet'],
    4091                                                'table'=>"spip_".$objet."s",
     
    4495                                                'periode'=>'jour',
    4596                                                'id_commandes_detail'=>$abo['id_commandes_detail'],
    46                                         );
    47 
     97                                                'statut'=>$statut,
     98                                                );
     99
     100                                        include_spip('action/editer_contactabonnement');
    48101                                        editer_contactabonnement($arg);
    49102                                }
     
    64117                $flux['data'] .= $legender_auteur_supp;
    65118        }
    66         //todo tester le flux pour savoir si abonnement ok
    67         /*
    68         //affiche les auteurs dont l'abonnement comprend cet article (sur articles)     
    69         if($flux['args']['exec'] == 'articles') {
    70                 $affiche_abonnes = recuperer_fond('prive/liste/abonnes_article',
    71                         array('id_objet'=>$flux['args']['id_article'], 
    72                         'objet'=>'article'
    73                         ));
    74                 $flux['data'] .= $affiche_abonnes;
    75         }
    76        
    77        
    78         //affiche les auteurs dont l'abonnement comprend cette rubrique (sur rubriques)
    79         if($flux['args']['exec'] == 'naviguer') {
    80                 $affiche_abonnes = recuperer_fond('prive/liste/abonnes_rubrique',
    81                         array('id_objet'=>$flux['args']['id_rubrique'],
    82                         'objet'=>'rubrique'
    83                         ));
    84                 $flux['data'] .= $affiche_abonnes;
    85         }
    86         */
     119
     120        if ($exec = $flux['args']['exec']){
     121                switch ($exec){
     122                        case 'articles':
     123                                $source = 'article';
     124                                $id_source = $flux['args']['id_article'];
     125                                break;
     126                        case 'abonnement_edit':
     127                                $source = 'abonnement';
     128                                $id_source = $flux['args']['id_abonnement'];
     129                                break;
     130                        case 'naviguer':
     131                                $source = 'rubrique';
     132                                $id_source = $flux['args']['id_rubrique'];
     133                                break;
     134                        /*
     135                        //abonnes a un mot-clef
     136                        case 'mots_edit':
     137                                $source = 'mot';
     138                                $id_source = $flux['args']['id_mot'];
     139                                break;
     140                        */
     141                        default:
     142                                $source = $id_source = '';
     143                                break;
     144                }
     145                if ($source && intval($id_source)) {
     146       
     147//todo a partir de source et id_source on essaie de retrouver les abonnes en cascade?
     148//on les affichera avec l'icone de leur abonnement (article-rubrique-abonnement)?
     149
     150                $contexte= array(
     151                        'objet' => 'auteurs',
     152                        'titre_bouton'=>_T('abo:titre_les_abonnes'),
     153                        'source'=>$source,
     154                        'id_source'=> $id_source,
     155                        'id_table_source'=>'spip_contacts_abonnements',
     156                        );
     157               
     158                $flux['data'] .= recuperer_fond("prive/liste/lister-contacts_abonnements", $contexte); 
     159               
     160                }
     161        }
    87162       
    88163        return $flux;
     
    138213                                );
    139214                                if (_DEBUG_ABONNEMENT) spip_log("APE args ".$args['table'] ." ids0=".$args['ids'][0],'abonnement');
     215                                include_spip('action/editer_contactabonnement');
    140216                                editer_contactabonnement($args);
    141217                        }       
     
    155231}
    156232
     233
     234
    157235?>
  • _plugins_/abonnement/zabonnement/trunk/action/editer_contactabonnement.php

    r49928 r50215  
    1010                $arg = $securiser_action();
    1111        }
    12 
    13         //$c = array('statut' => $statut);
    14 
    15         //instituer_contactabonnement($id_contactabonnement, $c);
    1612       
    1713        $id_auteur=$arg['id_auteur'];
     
    2925        if (_DEBUG_ABONNEMENT) spip_log("editer_contactabonnement1 $objet et ".$ids[0],'abonnement');
    3026
    31 
    3227        if(is_array($ids) && $id_auteur>0)
    3328        foreach($ids as $key => $id_objet)
    3429        {
    35 
    3630                if($id_objet!='non')
    3731                {
    38                                
     32                        //objet = rubrique, article ou abonnement
    3933                        $verif = sql_fetsel('*', $table, 'id_'."$objet = " . $id_objet);
    4034                        if (!$verif)
     
    4438                        }
    4539                       
    46                         //todo verifier avec plugin montants?
    4740                        $calculer_prix = charger_fonction('prix', 'inc/');
    4841                        $prix=($statut=='offert')?'':$calculer_prix($objet,$id_objet);//pas de prix puisque offert
    4942                        $date = date('Y-m-d H:i:s');
    50                         $validite = date('Y-m-d H:i:s', mktime(date('H'),date('i'),date('s'),date('n'),date('j')+$duree,date('Y')));
     43                        //la duree par defaut est fixee a 3 jours
     44                        $duree=($arg['duree'])?$arg['duree']:'3';
     45                        $periode=($arg['periode'])?$arg['periode']:'jours';
     46                        $validite = modifier_date($date,$duree);
    5147                       
    5248                        //specific a abonnement
     
    5854                                // jour
    5955                                if ($periode == 'jours') {
    60                                         $validite = date('Y-m-d H:i:s', mktime(date('H'),date('i'),date('s'),date('n'),date('j')+$duree,date('Y')));
     56                                        $validite = modifier_date($date,$duree);
    6157                                }
    6258                                // ou mois
    6359                                else {
    64                                         $validite = date('Y-m-d H:i:s', mktime(date('H'),date('i'),date('s'),date('n')+$duree,date('j'),date('Y')));
     60                                        $validite = modifier_date($date,'',$duree);
    6561                                }
    6662                        }
     
    6864                        if (_DEBUG_ABONNEMENT) spip_log("editer_contactabonnement $objet $id_objet date $validite",'abonnement');
    6965
    70                         if (!$deja = sql_getfetsel('id_auteur,validite',
    71                                 'spip_contacts_abonnements',
     66                        if (!$deja = sql_getfetsel('id_auteur,validite','spip_contacts_abonnements',
    7267                                'id_auteur='.$id_auteur.' AND id_objet='.sql_quote($id_objet)." AND objet='$objet'")
    7368                                )
  • _plugins_/abonnement/zabonnement/trunk/action/supprimer_contactabonnement.php

    r49886 r50215  
    88
    99// suppression d'un objet abonnement pour un contact
    10 /* [(#URL_ACTION_AUTEUR{supprimer_contactabonnement,
    11  contactabonnement-#ENV{id_auteur}-#ID_OBJET-#OBJET,[(#ENV{retour,#SELF})]})],
     10/*
     11[(#URL_ACTION_AUTEUR{supprimer_contactabonnement,contactabonnement-#ID_AUTEUR-#ID_OBJET-#OBJET,[(#ENV{retour,#SELF})]})],
     12ajax,
     13<:abo:confirmer_supprimer_element:>})]
    1214*/
    1315       
     
    2628}
    2729
    28 // todo reintroduire le cron pour refermer la zone a echeance et utiliser cette fonction
    29 function fermer_zone($id_auteur,$ids_zone)
    30 {
    31         $array_ids = explode(",", $ids_zone);
    32         foreach($array_ids as $id_zone)
    33         {
    34         if (_DEBUG_ABONNEMENT) spip_log("fermer_zone $id_zone pour $id_auteur",'abonnement');
    35                 sql_delete("spip_zones_auteurs", array(
    36                         "id_zone"=>$id_zone,
    37                         "id_auteur"=>$id_auteur
    38                 ));
    39         }
    40 }
    41 
    4230function action_supprimer_contactabonnement_post($id_auteur,$id_abonnement,$objet) {
    4331
    4432        if ($id_auteur and $id_abonnement) {
    45                 //l' abonnement
     33                //on ferme la zone si elle existe
    4634                $abonnement = sql_fetsel('*', 'spip_abonnements', 'id_abonnement = '. $id_abonnement);
    4735                $ids_zone=$abonnement['ids_zone'];
     
    4937                        fermer_zone($id_auteur,$ids_zone);
    5038               
    51                 // on supprime l'abonnement de l'auteur
     39                // on supprime la liaison auteur-objet de l'abonnement
    5240                sql_delete("spip_contacts_abonnements", array(
    5341                        "id_auteur=" . sql_quote($id_auteur),
  • _plugins_/abonnement/zabonnement/trunk/lang/abo_fr.php

    r49886 r50215  
    55        "abonnements" => "Abonnements",
    66        "articles" => "Articles",
    7         'confirmer_supprimer_element'=>'Attention, vous avez demand&eacute; la suppression de cet &eacute;l&eacute;ment. Souhaitez-vous continuer?',
     7        'bouton_ajouter' => 'Ajouter',
     8        'bouton_chercher' => 'Chercher',
     9        'confirmer_supprimer_element'=>'Attention, vous avez demand&eacute; &agrave; supprimer un &eacute;l&eacute;ment. Souhaitez-vous continuer?',
    810        'rubriques'=>'Rubriques',
    911        "abonnement_client"=>"Client",
     
    1214        "abonnement_debut"=>"D&eacute;but",
    1315        "abonnement_fin"=>"&Eacute;ch&eacute;ance",
     16        'delier'=>'D&eacute;lier',
     17        'voir'=>'Voir',
    1418        "abonnements_echus" => "Abonnements &eacute;chus",
    1519        "liste_des_abonnements" => "Liste des abonnements",
     
    2327        'abonnes_article'=>'Les abonn&eacute;s &agrave; cet article',
    2428        'abonnes_rubrique'=>'Les abonn&eacute;s &agrave; cette rubrique',
     29        'titre_les_abonnes'=>'LES ABONN&Eacute;S',
    2530        'je_renouvelle'=>'Je renouvelle',
    2631        'je_me_reabonne'=>'Je me r&eacute;abonne',
     
    3944        'depuis_le'=>'Depuis le @date@',
    4045        'jusqu_au'=>'jusqu\'au @date@',
     46       
     47        'pas_de_identifiant' => 'Nom inconnu',
    4148
    4249        "editer_abonnement" => "Editer un abonnement",
     
    167174        'article_abonnement'=>'Article',
    168175        'statut_abonnement'=>'Statut',
     176        'statut_offert'=>'Offert',
     177        'statut_paye'=>'Pay&eacute;',
     178        'statut_echu'=>'&eacute;chu',
    169179        'date_abonnement'=>'Date',
    170180        'suivi_abonnements'=>'Suivi des abonnements',
     
    177187        "aucune_zone"=>"Aucune",
    178188        // page article_restreint
    179         "acces_refuse" => "Votre abonnement ne vous permet pas d'acc&eacute;der &agrave; cette page.",
     189        "acces_refuse" => 'Votre abonnement ne permet pas un acc&egrave;s complet &agrave; cette page.',
     190        "acces_complet" => 'Votre abonnement permet un acc&egrave;s complet &agrave; cette page.',
    180191        "connexion_deja_abonne" => "Si vous &ecirc;tes d&eacute;j&agrave; abonn&eacute;, vous pouvez vous connecter &agrave; l'aide du formulaire ci-dessous",
    181192        "abonner_ou_acheter_article" => "Vous pouvez vous abonner, ou bien acheter cet article &agrave; l'unit&eacute;.",
  • _plugins_/abonnement/zabonnement/trunk/plugin.xml

    r49946 r50215  
    33        <auteur>Anne-lise Martenot (elastick.net) - BoOz (booz@reo.net)
    44        </auteur>
    5         <version>1.3.2</version>
     5        <version>1.3.3</version>
    66        <version_base>1.2</version_base>
    77        <etat>
    88        test
    99        </etat>
    10         <icon>img/abonnement_48.png</icon>
     10        <icon>images/abonnement_48.png</icon>
    1111        <description>
    1212- gerer des abonnements
     
    3333        </pipeline>
    3434        <pipeline>
     35                <nom>header_prive</nom>
     36                <action>inserer_javascript</action>
     37                <inclure>abonnement_pipelines.php</inclure>
     38        </pipeline>
     39        <pipeline>
    3540                <nom>affiche_milieu</nom>
    3641                <inclure>abonnement_pipelines.php</inclure>
     
    5459        <bouton id='abonnements_stats' parent='naviguer'>
    5560                <titre>abo:abonnements</titre>
    56                 <icone>img/abonnement_22.png</icone>
     61                <icone>images/abonnement_22.png</icone>
    5762                <url>abonnements</url>
    5863        </bouton>
    5964        <bouton id='abonnements_2' parent='bando_edition'>
    6065                <titre>abo:abonnements</titre>
    61                 <icone>img/abonnement_22.png</icone>
     66                <icone>images/abonnement_22.png</icone>
    6267                <url>abonnements</url>
    6368        </bouton>
  • _plugins_/abonnement/zabonnement/trunk/prive/abonnement_fiche.html

    r49886 r50215  
    1 [(#SET{icone,[(#CHEMIN{img/abonnement_22.png}|url_absolue)]})]
     1#SET{today,#DATE}
     2[(#SET{icone,[(#CHEMIN{images/abonnement_22.png}|url_absolue)]})]
    23[(#VAL{e}|debut_cadre{#GET{icone},'',[(#VAL{<:abo:abonnements:>}|bouton_block_depliable{[(#GET{plie}?{#EVAL{true},#EVAL{false}})],#GET{identifiant}})]})]
    34
     
    56        <div class="liste-elements abos" style="background:#FFFFFF;font-size: 1em;padding: 0 1em;">
    67        <BOUCLE_lib0(ABONNEMENTS){id_abonnement=#ID_OBJET}>
    7         <p><strong><:abo:titre:></strong> : #TITRE </p>
     8        <p><strong><:abo:titre:></strong> : <a href="#URL_ECRIRE{abonnements}">#TITRE</a></p>
    89        </BOUCLE_lib0>
    9         <p><strong><:abo:statut_abonnement:></strong> : #STATUT_ABONNEMENT</p>
    10         <p><strong><:abo:echeance:></strong> : [(#VALIDITE|affdate)][ (#VALIDITE|<{#DATE}|oui) (<:abo:terme_echu:>)]</p>
     10        <p><strong><:abo:statut_abonnement:></strong> : [(#VAL{abo:statut_#STATUT_ABONNEMENT}|_T)]</p>
     11        <p><strong><:abo:echeance:></strong> : [(#VALIDITE|affdate)][ (#VALIDITE|<{#GET{today}}|oui) (<:abo:terme_echu:>)]</p>
    1112        <BOUCLE_quellecommande(COMMANDES_DETAILS){id_commandes_detail}>
    1213        <p><:abo:liaison_commande:><a href="#URL_ECRIRE{commandes}">#ID_COMMANDE</a></p>
     
    1516                <div style="float:right; text-align:right; width:30px; position:relative; top:-30px">
    1617                [(#AUTORISER{modifier,#ENV{objet},#ENV{id_objet}}|oui)
    17                 [(#BOUTON_ACTION{
     18        [(#BOUTON_ACTION{
    1819                        [(#CHEMIN{images/supprimer-16.png}|balise_img{<:abo:supprimer_abonnement:>})],
    19                         [(#URL_ACTION_AUTEUR{supprimer_contactabonnement,contactabonnement-#ENV{id_auteur}-#ID_OBJET-#OBJET,[(#ENV{retour,#SELF})]})],
     20                        [(#URL_ACTION_AUTEUR{supprimer_contactabonnement,contactabonnement-#ID_AUTEUR-#ID_OBJET-#OBJET,[(#ENV{retour,#SELF})]})],
    2021                        ajax,
    21                         <:abo:confirmer_supprimer_element:>})]
     22                        <:abo:confirmer_supprimer_element:>})
     23        ]
    2224                ]
    2325                </div>
  • _plugins_/abonnement/zabonnement/trunk/prive/abonnement_fiche_modif.html

    r49891 r50215  
     1#SET{today,#DATE}
    12<li class="editer_abonnement fieldset">
    23<fieldset>
     
    1011                                <input type="hidden" value="#ID_ABONNEMENT" name="abonnements[]">#TITRE</option>
    1112                                </BOUCLE_abo>
    12                         <input type="text" value="[(#VALIDITE)]" name="validites[]" /> [(#VALIDITE|<{#DATE}|oui) (<:abo:echu:>)]
     13                        <input type="text" value="[(#VALIDITE)]" name="validites[]" /> [(#VALIDITE|<{#GET{today}}|oui) (<:abo:statut_echu:>)]
    1314                        </li>
    1415                </BOUCLE_actifs>
  • _plugins_/abonnement/zabonnement/trunk/prive/exec/abonnement_edit.html

    r49813 r50215  
    11
    22[(#ENV{redirect}|sinon{#URL_ECRIRE{abonnements}}
    3         |icone{<:icone_retour:>,[(#CHEMIN{img/abonnement_22.png})],left,rien.gif}
     3        |icone{<:icone_retour:>,[(#CHEMIN{images/abonnement_22.png})],left,rien.gif}
    44)]
    55
  • _plugins_/abonnement/zabonnement/trunk/prive/exec/abonnements.html

    r49813 r50215  
    2020                        |icone{
    2121                                <:abo:action_creer_nouvel_abonnement:>,
    22                                 [(#CHEMIN{img/abonnement_22.png})],
     22                                [(#CHEMIN{images/abonnement_22.png})],
    2323                                right,creer.gif}
    2424                )]
  • _plugins_/abonnement/zabonnement/trunk/prive/liste/abonnements_stats.html

    r49946 r50215  
    1313        <thead>
    1414                <tr class='first_row'>
    15                         <th class='id'>[(#TRI{id_abonnement,<:info_numero_abbreviation:>,ajax})]</th>
     15                        <th class='id'>[(#TRI{id_contacts_abonnement,<:info_numero_abbreviation:>,ajax})]</th>
     16                        <th class='statut_abo'>[(#TRI{statut_abonnement,<:abo:statut:>,ajax})]</th>
    1617                        <th class='commande'><:abo:commande:></th>
    1718                        <th class='relance'>[(#TRI{stade_relance,<:abo:relance:>,ajax})]</th>
     
    3132                {pagination #ENV{nb,30}}>
    3233                <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]">
    33                         <td class='id'>---</td>
     34                        <td class='id'>#ID_CONTACTS_ABONNEMENT</td>
     35                        <td class='statut_abo'>[(#VAL{abo:statut_#STATUT_ABONNEMENT}|_T)]</td>
    3436                        <td class='commande'>
    3537                        #SET{id_commande,''}
     
    5557                        [(#VAL{abo:#OBJET}|_T)] <a href="#GET{lienobjet}">#INFO_TITRE{#OBJET,#ID_OBJET}</a>
    5658                        </td>
    57                         <td class='montant'>[(#STATUT_ABONNEMENT|=={offert}|non) #PRIX]</td>
     59                        <td class='montant'>[(#PRIX*|>{0}|oui) #PRIX]</td>
    5860                        <td class='action'>
    5961                        [(#GET{id_commande}|oui)
  • _plugins_/abonnement/zabonnement/trunk/squelettes/inclure/mes_abonnements.html

    r49813 r50215  
    11#CACHE{0}
    2 [(#SET{date_future,[(#ENV{date}|ajouter_des_jours{7})]})]
     2[(#SET{date_future,[(#ENV{date}|modifier_date{7})]})]
    33
    44#SET{today,#DATE}
     
    4949                <//B_abo_echu>
    5050               
     51                [(#REM)La liste des elements de l'abonne]
     52                                <B_abo_objets_valide>
     53                        <h3 class="h3"><:abo:vos_acces_objets:></h3>
     54                        <ul class="liste_abonnement">
     55                        <BOUCLE_abo_objets_valide(CONTACTS_ABONNEMENTS){id_auteur}{validite>=#GET{today}}{statut_abonnement IN paye,offert}>
     56#INFO_TITRE{#OBJET,#ID_OBJET}                   
     57                        [(#SET{datefin,[(#VALIDITE|affdate{nom_jour})] [(#VALIDITE|affdate)]})]
     58                        </BOUCLE_abo_objets_valide>
     59                        </ul>
     60                </B_abo_objets_valide>
     61               
     62               
     63               
    5164                [(#REM)
    5265                la liste des acces aux rubriques
     
    5568                        <h3 class="h3"><:abo:vos_acces_rubriques:></h3>
    5669                        <ul class="liste_abonnement">
    57                         <BOUCLE_abo_rubriques_valide(CONTACTS_ABONNEMENTS){objet=rubrique}{id_auteur=#ID_AUTEUR}{validite>=#GET{today}}{statut_abonnement IN paye,offert}>
     70                        <BOUCLE_abo_rubriques_valide(CONTACTS_ABONNEMENTS){objet=rubrique}{id_auteur}{validite>=#GET{today}}{statut_abonnement IN paye,offert}>
    5871                                <BOUCLE_rubriquev(RUBRIQUES){id_rubrique=#ID_OBJET}{tout_voir}>
    5972        [(#SET{datefin,[(#VALIDITE|affdate{nom_jour})] [(#VALIDITE|affdate)]})]
     
    7285                        <h3 class="h3"><:abo:vos_acces_articles:></h3>
    7386                        <ul class="liste_abonnement">
    74                         <BOUCLE_abo_articles_valide(CONTACTS_ABONNEMENTS){objet=article}{id_auteur=#ID_AUTEUR}{validite>=#GET{today}}{statut_abonnement IN paye,offert}>
     87                        <BOUCLE_abo_articles_valide(CONTACTS_ABONNEMENTS){objet=article}{id_auteur}{validite>=#GET{today}}{statut_abonnement IN paye,offert}>
    7588                                <BOUCLE_articlev(ARTICLES){id_article=#ID_OBJET}{tout_voir}>
    7689        [(#SET{datefin,[(#VALIDITE|affdate{nom_jour})] [(#VALIDITE|affdate)]})]
  • _plugins_/abonnement/zabonnement/trunk/squelettes/more/dist.html

    r49813 r50215  
    11#SET{today,#DATE}
    22<style>
    3 #aboperso {position:absolute; margin:1em; width:180px; border:1px solid #666; text-align:left; padding:1em; font-size:0.8em}
     3#aboperso {background:#fff; position:absolute; margin:1em; width:180px; border:1px solid #666; text-align:left; padding:1em; font-size:0.8em}
    44</style>
    5         <div id="aboperso">
     5
     6<div id="aboperso">
    67        <h3><a href="[(#URL_PAGE{_abonnement_})]"><:abo:les_abonnements:></a></h3>
    78<B_auteur_info>
    89
    910       
    10         <h3><:abo:info_vos_abonnements:></h3>
     11<h3><:abo:info_vos_abonnements:></h3>
    1112       
    1213<BOUCLE_auteur_info(AUTEURS){id_auteur = #SESSION{id_auteur}}{tout}>
     
    1415                <B_abo><:abo:abonnements:><ul class="menu-liste">
    1516                        <BOUCLE_abo(CONTACTS_ABONNEMENTS){objet=abonnement}{id_auteur}{statut_abonnement IN paye,offert}{validite>=#GET{today}}>
    16                                 <BOUCLE_detail_abonnement(ABONNEMENTS){id_abonnement=#ID_OBJET}>
    17                                         <li><a href="[(#URL_PAGE{abonnement}|parametre_url{id_abonnement,#ID_ABONNEMENT})]">#TITRE</a></li>
    18                                 </BOUCLE_detail_abonnement>
     17                         <li><a href="[(#URL_PAGE{#OBJET}|parametre_url{id_#OBJET,#ID_OBJET})]">#INFO_TITRE{#OBJET,#ID_OBJET}</a></li>
    1918                        </BOUCLE_abo>
    2019                </ul></B_abo>
     
    2221                <B_rubriques><:abo:rubriques:><ul class="menu-liste">   
    2322                        <BOUCLE_rubriques(CONTACTS_ABONNEMENTS){objet=rubrique}{id_auteur=#ID_AUTEUR}{statut_abonnement IN paye,offert}{validite>=#GET{today}}>
    24                                 <BOUCLE_detail_rubrique(RUBRIQUES){id_rubrique=#ID_OBJET}{tout_voir}>
    25                                         <li><a href="#URL_RUBRIQUE">#TITRE</a></li>
    26                                 </BOUCLE_detail_rubrique>
     23                         <li><a href="[(#URL_PAGE{#OBJET}|parametre_url{id_#OBJET,#ID_OBJET})]">#INFO_TITRE{#OBJET,#ID_OBJET}</a></li>
    2724                        </BOUCLE_rubriques>
    2825                </ul></B_rubriques>
     
    3027                <B_articles><:abo:articles:><ul class="menu-liste">     
    3128                        <BOUCLE_articles(CONTACTS_ABONNEMENTS){objet=article}{id_auteur=#ID_AUTEUR}{statut_abonnement IN paye,offert}{validite>=#GET{today}}>
    32                                 <BOUCLE_detail_article(ARTICLES){id_article=#ID_OBJET}{tout_voir}>
    33                                         <li><a href="#URL_ARTICLE">#TITRE</a></li>
    34                                 </BOUCLE_detail_article>
     29                         <li><a href="[(#URL_PAGE{#OBJET}|parametre_url{id_#OBJET,#ID_OBJET})]">#INFO_TITRE{#OBJET,#ID_OBJET}</a></li>
    3530                        </BOUCLE_articles>
    3631                </ul></B_articles>
Note: See TracChangeset for help on using the changeset viewer.