Changeset 5802 in spip-zone


Ignore:
Timestamp:
Sep 30, 2006, 10:46:40 PM (13 years ago)
Author:
ggnews@…
Message:

version intégrant GifSplit? class pour la lecture des gif.php.
Correction des masques dans WriteHTML

Location:
_plugins_/_test_/article_pdf
Files:
2 added
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_test_/article_pdf/article_pdf.html

    r5645 r5802  
    22<?php
    33
    4         $path_pdf = sous_repertoire(_DIR_CACHE, "article_PDF");
     4        $path_pdf = sous_repertoire(_DIR_IMG, "article_PDF");
    55       
    66        // Mode release => $debug=0
    77        // Mode debug => $debug=1 (ne fonctionne pas sous Internet Explorer)
    8         $debug=0;
     8        $debug=1;
    99       
    1010        <B_principale>
     
    2626
    2727        $logo_site='[(#LOGO_SITE_SPIP|extraire_attribut{src}|texte_script)]';
    28        
     28        [$logo_fichier='(#LOGO_ARTICLE_RUBRIQUE|texte_script|extraire_attribut{src})';]
     29  //[$logo_fichier="(#LOGO_ARTICLE_RUBRIQUE|extraire_attribut{src})";]
     30        //[$logo_lien="(#URL_ARTICLE)";]
     31               
    2932        [$surtitre='(#SURTITRE|pdf_first_clean|texte_script)';]
    3033        [$titre='(#TITRE|SUPPRIMER_NUMERO|pdf_first_clean|texte_script)';]
  • _plugins_/_test_/article_pdf/article_pdf_mes_options.php

    r3683 r5802  
    44                $icone = find_in_path('img_pack/article_pdf.png');
    55                $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' /></a>";
     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>";
    77                return $code;
    88        }
  • _plugins_/_test_/article_pdf/pdf/fpdf.php

    r5645 r5802  
    924924}
    925925
    926 function Image($file,$x,$y,$w=0,$h=0,$type='',$link='')
     926function Image($file,$x,$y,$w=0,$h=0,$type='',$link='',$maxframe='')
    927927{
    928928        //Put an image on the page
     
    963963                //$info=$this->_parsepng($file);
    964964
    965                 elseif($type=='gif') {
     965                elseif($type=='gif')
     966    {
     967                /*
    966968                        $readgif= gd_info();
    967969                        if ($readgif[3]) {
     
    976978                                $info=$this->_parsegif($file);
    977979                        }
    978                 }
     980                */
     981       $InfoGif = $this->_parsegif2($file,_DIR_IMG,$maxframe);
     982
     983        for ($i=0 ; $i < count($InfoGif); $i++)
     984        {
     985                                Header( "Content-type: image/png");
     986                                $image = imagecreatefromGIF("$InfoGif[$i]");
     987                                imageinterlace($image,0);
     988                                ImagePNG($image,"./IMG/tempo.png");
     989                                $info=$this->_parsepng("./IMG/tempo.png");
     990                                ImageDestroy($image);
     991                                unlink ("./IMG/tempo.png");
     992                                unlink ($InfoGif[$i]);
     993        } 
     994    }
    979995                else
    980996                {
     
    16711687}
    16721688
     1689function _parsegif2($file,$path,$frame)
     1690{
     1691require('GifSplit.class.php');
     1692$sg = new GifSplit($file, 'GIF', $path.'/GS-frame',$frame,'1');
     1693return ($sg->getfilelist());
     1694
     1695}
     1696
    16731697function _parsegif($file)
    16741698{
  • _plugins_/_test_/article_pdf/pdf/gif.php

    r3683 r5802  
    1 <?
     1<?php
    22///////////////////////////////////////////////////////////////////////////////////////////////////
    33// GIF Util - (C) 2003 Yamasoft (S/C)
  • _plugins_/_test_/article_pdf/pdf/lib_pdf_global.php

    r5797 r5802  
    102102        $this->texteAddSpace=false;
    103103        //Parseur HTML
    104         $html=str_replace("\n",' ',$html);
     104//      $html=str_replace("\n",' ',$html); non, sinon plus de retour à la ligne dans les textearea
    105105        $html=$this->unhtmlentities($html);
    106106       
    107         $a=preg_split('/(<.*>)/U', $html, -1, PREG_SPLIT_DELIM_CAPTURE);
    108         //var_dump($a);
    109        
     107        $a=preg_split('/(?m)(<(?!=).*>(?!=))/U', $html, -1, PREG_SPLIT_DELIM_CAPTURE);
     108                        //autoriser le multiligne
     109      //Il faut détecter les vraies balises <... et pas les <= de formules éventuelles
     110                        // dans le texte , idem en fermeture, écarter les >= d'où l'ajout des (?!=)
     111//      var_dump($a);
     112
    110113        // $a = le tableau de tags
    111114        // $i = index de l'élément courant
     
    113116        foreach($a as $i=>$e)
    114117        {
     118//          $this->Write(5,"--".$e{0}."+".$e{1}."--"); //DEBUG
     119//          $this->Write(5,"--".$e."--"); // simple mais très bon DEBUG
     120
    115121                //Balise
    116                 if (($e{0}=='<')&&(preg_match(',^<(/)?([^\s]+)(\s.*|/)?>$,',$e,$match)!==FALSE)) {
    117                         //var_dump("::$tag::");
     122                if (($e{0}=='<')&&(preg_match(',^<(/)?([^\s]+)(\s.*|/)?(>)$,',$e,$match)!==FALSE)) {
     123      //var_dump("::$tag::")   &&($e{1}!='=');
    118124                        $tag=strtoupper($match[2]);
    119                         $closing = $match[1]=="/";
     125//DEBUG
     126//      $this->Write(5,"-**-".$i."-");
     127//      $this->Write(5,$match[0]."+".$match[1]."+".$match[2]."-**-\n");
     128                       
     129      $closing = $match[1]=="/";
    120130                       
    121131                        if (($this->ProcessingBloc) AND (!in_array($tag,$this->BlocTags[$this->ProcessingBloc-1])))
    122132                                $this->BlocContent[$this->ProcessingBloc-1] .= $e;
    123133                        else {
    124                                 if ($closing)
     134                                if ($closing)
    125135                                // C'est une balise fermante
    126136                                        $this->CloseTag($tag,$LineFeedHeight);
     
    131141                // Contenu
    132142                else {
    133                         if (strlen($e)){
     143//DEBUG
     144//      $this->Write(5,"-***-".$i."-");
     145//      $this->Write(5,$e."-***-\n");
     146       
     147                if (strlen($e)){
    134148                                $this->texteAddSpace = $this->texteAddSpace OR $e{0}==" ";
    135149                                $next_add_space = substr($e,-1)==" ";
     
    216230                }
    217231        }
     232 
    218233}
    219234
    220235function OpenTag($tag,$e,$LineFeedHeight)
    221236{
    222         //Balise ouvrante
     237//      $this->Write(15," [  $tag  ] ");
     238  //Balise ouvrante
    223239        if ($tag=='B' || $tag=='U' || $tag=='I')
    224240        {
     
    239255        {
    240256                $this->HREF=extraire_attribut($e,'href');
    241                 $this->$texteHREF="";
     257//    if ($this->HREF ==''){$this->HREF=$this->prop['href'];}
     258                $this->texteHREF="";
    242259                if ($this->texteAddSpace) {
    243260                        $this->Write(5," ");
     
    286303
    287304        if ($tag=='IMG') {
    288                 $this->SRC=extraire_attribut($e,'src');
     305    $this->SRC=extraire_attribut($e,'src');
     306 //   if ($this->SRC ==''){$this->SRC=$this->prop['SRC'];}
     307 //   $this->write(5,$this->SRC);
     308
    289309                // si l'image est manquante mettre un lien avec le texte alt
    290310                if (!@is_readable($this->SRC)){
     311//              if (!@file_exists($this->SRC)){
    291312                        $alt = extraire_attribut($e,'alt');
    292313                        if ($alt==NULL) $alt = $this->SRC;
     
    297318                                $this->PutLink($this->HREF,"[$alt]");
    298319                }
    299                 else {
     320                else
     321    {
     322  //    if (strlen($this->SRC)>1 ) {
     323
    300324                        $size=getimagesize($this->SRC);         # Attention, utilisation de GD !!! FPDF ne sait pas lire les images à moitié... et je n'ai pas envie de surcharger la méthode Image...
    301325                        if ($size[0] < 30 && $size[1] < 30) {
     
    352376                                $this->SetY($this->GetY()+$imgY);
    353377                        }
    354                 }
     378                // }
     379    }
    355380        }
    356381
     
    358383                $this->SetFont('courier','', 8);
    359384                $this->SetTextColor(255, 0, 0);
    360                 if ($tag=='TEXTAREA')
     385                if ($tag=='TEXTAREA'){
    361386                        $this->ProcessingCadre=true;
     387                        }
    362388        }
    363389
     
    476502                if ($tag=='TEXTAREA')
    477503                        $this->ProcessingCadre=false;
     504                       
    478505        }
    479506        if($tag=='TD' or $tag=='TH') {
  • _plugins_/_test_/article_pdf/pdf/lib_pdf_spip.php

    r3683 r5802  
    1 <?
     1<?php
    22
    33/**
     
    6666{
    6767        global $site, $rubrique, $yahoo, $surtitre, $titre, $soustitre;
    68         global $logo_site, $auteur, $descriptif;
     68        global $logo_site,  $logo_fichier, $logo_lien;
     69  global $auteur, $descriptif;
    6970        global $copyright;
    7071        global $conf_url_site;
     
    105106        $this->MultiCell(0,5,$yahoo,0,'C',0);
    106107       
    107        
     108        // Logo
     109
     110        if ($logo_fichier!="") {
     111//$this->write(10,$logo_fichier);
     112        $x = $this->GetX();
     113        $y = $this->GetY();
     114//              $this->SetLink($link);
     115//              $this->Image($logo_fichier,50,170,'','','','','0');
     116//              $this->Image(_DIR_IMG.$logo_fichier,50-($w/2),170,50,50,'','','0');
     117//              $this->Image(_DIR_IMG.$logo_fichier,50-($w/2),170,'','','',$logo_lien,'0');
     118                $this->SetXY($x, $y);
     119        }
     120
     121
    108122        //Dates
    109123        $this->SetFont('times','',10);
Note: See TracChangeset for help on using the changeset viewer.