Changeset 5817 in spip-zone


Ignore:
Timestamp:
Oct 1, 2006, 5:00:21 PM (15 years ago)
Author:
cedric@…
Message:

la balise #ARTICLE_PDF est generee par le modele article_pdf personalisable
On revient a juste une icone, sans texte par defaut. La chaine de langue du alt et title est internationalisée

Location:
_plugins_/_test_/article_pdf
Files:
4 added
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_test_/article_pdf/article_pdf_mes_options.php

    r5802 r5817  
    11<?php
    2 
    3         function article_pdf_insertion_racourci($arg){
    4                 $icone = find_in_path('img_pack/article_pdf.png');
    5                 $url = generer_url_public('article_pdf',$arg);
    6                 $code = "<a href='$url' title='Enregistrer au format PDF'><img src='$icone' width='24' height='24' alt='Creer un PDF' />Enregistrer au format PDF</a>";
    7                 return $code;
    8         }
    92        function balise_ARTICLE_PDF_dist($p) {
    10                 if ($p->param && !$p->param[0][0]){
    11                         $quoi =  $p->param[0][1];
    12                         $nom = ($quoi[0]->type=='texte') ? $quoi[0]->texte : "";
    13                 }
    14        
    15                 if (!$nom) {
    16                         // pas de parametre en argument
    17                         // on cherche dans le contexte d'abord id_article, puis sinon id_rubrique
    18                         $_id_article = champ_sql('id_article', $p);
    19                         $arg = "'id_article='.".$_id_article;
    20                         if (!$_id_article){
    21                                 $_id_rubrique = champ_sql('id_rubrique', $p);
    22                                 $arg = "'$nom='.".$_id_rubrique;
     3                if (!is_array($p->param))
     4                        $p->param=array();
     5               
     6                // Produire le premier argument {article_pdf}
     7                $texte = new Texte;
     8                $texte->type='texte';
     9                $texte->texte='article_pdf';
     10                $param = array(0=>NULL, 1=>array(0=>$texte));
     11                array_unshift($p->param, $param);
     12               
     13                // Transformer les filtres en arguments
     14                for ($i=1; $i<count($p->param); $i++) {
     15                        if ($p->param[$i][0]) {
     16                                if (!strstr($p->param[$i][0], '='))
     17                                        break;# on a rencontre un vrai filtre, c'est fini
     18                                $texte = new Texte;
     19                                $texte->type='texte';
     20                                $texte->texte=$p->param[$i][0];
     21                                $param = array(0=>$texte);
     22                                $p->param[$i][1] = $param;
     23                                $p->param[$i][0] = NULL;
    2324                        }
    2425                }
    25                 else {         
    26                         if ($nom=='id_article'){
    27                                 $_id_article = champ_sql('id_article', $p);
    28                                 $arg = "'$nom='.".$_id_article;
    29                         }
    30                         else if ($nom=='id_rubrique'){
    31                                 $_id_rubrique = champ_sql('id_rubrique', $p);
    32                                 $arg = "'$nom='.".$_id_rubrique;
    33                         }
    34                         else
    35                                 $arg="'$nom'";
    36                 }
    37                 $icone = find_in_path('img_pack/article_pdf.png');
    38                 $url = generer_url_public('article_pdf',$arg);
    39                 if ($arg)
    40                 $p->code = "article_pdf_insertion_racourci($arg)";
    41        
    42                 #$p->interdire_scripts = true;
    43        
    44                 return $p;
    45         }       
     26               
     27                // Appeler la balise #MODELE{article_pdf}{arguments}
     28                if (!function_exists($f = 'balise_modele'))
     29                        $f = 'balise_modele_dist';
     30                return $f($p);
     31        }
    4632?>
Note: See TracChangeset for help on using the changeset viewer.