Changeset 65346 in spip-zone


Ignore:
Timestamp:
Aug 27, 2012, 8:00:12 PM (7 years ago)
Author:
piero.wbmstr@…
Message:

Modif sur le modèle "tipafriend_typo" pour l'inclure dans les contenus d'un objet éditorial (avec arguments nécessaires - !!) - version 1.6.2

Location:
_plugins_/tipafriend/spip_3
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/tipafriend/spip_3/balise/tipafriend.php

    r61085 r65346  
    4242 * et de son identifiant ainsi que la langue courante
    4343 */
    44 function balise_TIPAFRIEND($p, $nom='TIPAFRIEND') {
     44function balise_TIPAFRIEND($p, $nom='TIPAFRIEND')
     45{
    4546        global $div_debug;
    4647        if (!is_array($p->param) OR !count($p->param))
    4748                $p->param = array(array(0=>null));
    4849
    49   $objet = $p->boucles[$p->id_boucle]->id_table;
    50   $_objet = $objet ? objet_type($objet) : "balise_hors_boucle";
     50        // quelle boucle ?
     51        $objet = $p->boucles[$p->id_boucle]->id_table;
     52        $_objet = $objet ? objet_type($objet) : "balise_hors_boucle";
    5153        $t = new Texte;
    5254        $t->texte = $_objet;
     
    5557                $div_debug[_T('tipafriend:taftest_creation_objet_texte')] = var_export($t, true);
    5658
     59        // quel objet ?
    5760        $_id_objet = $p->boucles[$p->id_boucle]->primary;
    58   $id_objet = champ_sql($_id_objet, $p);
     61        $id_objet = champ_sql($_id_objet, $p);
    5962        $t = new Champ;
    6063        $t->nom_champ = "id_$_objet";
     
    6366                $div_debug[_T('tipafriend:taftest_creation_objet_champs')] = var_export($t, true);
    6467
     68        // quelle langue ?
    6569        $t = new Texte;
    6670        $t->texte = $GLOBALS['spip_lang'];
     
    7579 * Balise statique
    7680 *
    77  * On organise ici les paramètres qui seront passés à la fonction dynamiques,
    78  * notamment en fonction de leur nombre (<i>paramètres passés à la balise dans les squelettes
    79  * ou non ...</i>).
    80  */
    81 function balise_TIPAFRIEND_stat($args, $filtres) {
     81 * On organise ici les paramètres qui seront passés à la fonction dynamique,
     82 * notamment en fonction de leur nombre (paramètres passés à la balise dans les squelettes
     83 * ou non ...).
     84 *
     85 * 3 arguments  => pas de paramètre du squelette                        : objet, id, lang (toujours à la fin)
     86 * 4 à 8                => paramètres du squelette                                      : skel, url, mail_exp, nom_exp, mail_dest
     87 * 11                   => paramètres du modèle "tipafriend_typo"       : objet, id, lang (remplace 3 args de la fin)
     88 */
     89function balise_TIPAFRIEND_stat($args, $filtres)
     90{
     91//var_export($args);var_export($filtres);
    8292        global $div_debug;
    8393        $num = count($args);
    84 
    85 //var_export($args);var_export($filtres);
    86 
    8794        if(_TIPAFRIEND_TEST)
    8895                $div_debug[_T('tipafriend:taftest_arguments_balise_stat')] = var_export($args, true);
    8996
    90         $type_skel = ($num >= 3) ? $args[0] : ''; // 1: type de squelette
     97        $type_skel = ($num > 3) ? $args[0] : ''; // 1: type de squelette
    9198        $url = ($num >= 4) ? $args[1] : ''; // 2: URL
    9299        $adresse_exped = ($num >= 5) ? $args[2] : ''; // 3: email expediteur
     
    94101        $adresse_dest = ($num >= 7) ? $args[4] : ''; // 5: adresses destination
    95102
    96   $objet = $args[$num-3]; // tot-3: type objet
    97   $id_objet = $args[$num-2];// tot-2: id_objet
    98 
    99   $_ln = $args[$num-1];// tot-1: langue courante
     103        if ($num==11) {
     104                $objet = $args[5];
     105                $id_objet = $args[6];
     106                $_ln = $args[7];
     107        } else {
     108                $objet = $args[$num-3]; // tot-3: type objet
     109                $id_objet = $args[$num-2];// tot-2: id_objet
     110                $_ln = $args[$num-1];// tot-1: langue courante
     111        }
    100112
    101113        $args = array($_ln, $objet, $id_objet, $url, $type_skel, $adresse_exped, $nom_exped, $adresse_dest);
     
    111123 * Le cache de ce modèle est fixé à 0. Cette valeur peut être modifiée en première ligne de cette fontion.
    112124 */
    113 function balise_TIPAFRIEND_dyn($_ln='fr', $objet='', $id_objet='', $url='', $skel='', $mail_exp='', $nom_exp='', $mail_dest='', $plus='') {
     125function balise_TIPAFRIEND_dyn($_ln='fr', $objet='', $id_objet='', $url='', $skel='', $mail_exp='', $nom_exp='', $mail_dest='', $plus='')
     126{
    114127        // Temps du cache sur le modèle | peut être modifié
    115128        $temps_de_cache = 0;
     
    139152                        $div_debug[_T('tipafriend:taftest_modele_demande')] = var_export($model, true);
    140153        }
    141         if(!find_in_path('modeles/'.$model.'.html')) {
     154        if (!find_in_path('modeles/'.$model.'.html')) {
    142155                if(_TIPAFRIEND_TEST)
    143156                        $div_debug[] = _T('tipafriend:taftest_skel_pas_trouve', array('skel'=>$model));
     
    148161        // On traite les arguments utilisateurs
    149162        $user_opts = '';
    150         if(isset($config['options_url']) && strlen($config['options_url'])) {
     163        if (isset($config['options_url']) && strlen($config['options_url'])) {
    151164                parse_str($config['options_url'], $opts_url);
    152165                $user_opts = "&".http_build_query($opts_url);
     
    167180                'var_mode'=>'recalcul', // force le recalcul pour les langues
    168181        );
    169         foreach($list_objets as $_obj){
    170                 if( strlen($objet) AND strtolower($objet) == $_obj) {
     182        foreach($list_objets as $_obj)
     183        {
     184                if( strlen($objet) AND strtolower($objet) == $_obj)
     185                {
    171186                        $contexte["id_$_obj"] = $id_objet;
    172187                        $id = $id_objet;
     
    176191        }
    177192        $url_args = "id=$id&type=$type&mex=$mail_exp&nex=$nom_exp&mdes=$mail_dest".$user_opts;
     193
     194        // si squelette introuvable
    178195        $skel = $config['squelette'];
    179         if(!find_in_path($skel.'.html')) {
     196        if (!find_in_path($skel.'.html'))
     197        {
    180198                if(_TIPAFRIEND_TEST)
    181199                        $div_debug[] = _T('tipafriend:taftest_skel_pas_trouve', array('skel'=>$skel));
     
    183201                $skel = str_replace('.html', '', $GLOBALS['TIPAFRIEND_DEFAULTS']['squelette']);
    184202        }
     203
    185204        if(_TIPAFRIEND_TEST) $url_args .= "&var_mode=recalcul";
     205
    186206        $contexte['lien_href_accessible'] = generer_url_public($skel, $url_args.'&'.$lang_arg);
    187         if($config['header'] == 'non') $url_args .= "&header=non";
    188         if($config['close_button'] == 'non') $url_args .= "&close_button=non";
     207        if ($config['header'] == 'non') $url_args .= "&header=non";
     208        if ($config['close_button'] == 'non') $url_args .= "&close_button=non";
    189209        else $url_args .= "&close_button=oui";
    190         if($config['taf_css'] == 'non') $url_args .= "&taf_css=non";
     210        if ($config['taf_css'] == 'non') $url_args .= "&taf_css=non";
     211
    191212        // On l'ajoute en dernier car sinon ca semble poser probleme
    192213        $url_args .= '&'.$lang_arg."&usend=$_url";
  • _plugins_/tipafriend/spip_3/modeles/tipafriend_typo.html

    r43135 r65346  
    1 #TIPAFRIEND{env}
     1[(#REM)
     2        Modele pour inclusion dans les objets SPIP
     3       
     4        Arguments complets possibles :
     5                squelette       : ... (ou "type")
     6                url             : ...
     7                mex             : mail expediteur
     8                nex             : nom expediteur
     9                mdes            : mail destinataire
     10                objet           : type d'objet SPIP
     11                id_objet        : ID de l'objet
     12                lang            : langue
     13
     14        Exemple :
     15                <typafriend_typo|objet=article|id_objet=13>
     16]
     17[(#TIPAFRIEND{
     18        [(#ENV{squelette}|sinon{#ENV{type}|sinon{''}})],
     19        [(#ENV{url}|sinon{''})],
     20        [(#ENV{mex}|sinon{''})],
     21        [(#ENV{nex}|sinon{''})],
     22        [(#ENV{mdes}|sinon{''})],
     23        [(#ENV{objet}|sinon{''})],
     24        [(#ENV{id_objet}|sinon{''})],
     25        [(#ENV{lang}|sinon{''})]})]
  • _plugins_/tipafriend/spip_3/paquet.xml

    r61087 r65346  
    22        prefix="tipafriend"
    33        categorie="communication"
    4         version="1.6.1"
     4        version="1.6.2"
    55        etat="stable"
    66        compatibilite="[3.0.0-beta;["
Note: See TracChangeset for help on using the changeset viewer.