Changeset 94514 in spip-zone


Ignore:
Timestamp:
Jan 8, 2016, 10:00:14 PM (4 years ago)
Author:
dorch@…
Message:

Correction d'un bug introduit dans la r91747 : le fichier yaml récapitulant les rubriques et articles à exporter n'était plus produit !!!
Correction du non traitement des balises img s'étalant sur plusieurs lignes
Correction des liens vers les articles n'ayant aucune traduction et n'existant pas dans la langue demandée (id_trad=0)

Location:
_plugins_/chmlatex/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/chmlatex/trunk/formulaires/fchmlatex.php

    r93582 r94514  
    7777
    7878    // Suppression du dossier d'export
    79     $sDirExport = getDirExport();
     79    $sDirExport = getDirExport('format_export','langue_export');
     80    //~ spip_log($sDirExport,'chm');
    8081    if (file_exists($sDirExport)) delTree($sDirExport);
    8182    // Suppression du ZIP
    82     $sZipFileName = getZipFileName();
     83    $sZipFileName = getZipFileName('format_export','langue_export');
    8384    if (file_exists($sZipFileName)) unlink($sZipFileName);
    8485    // Suppression du YAML
    8586    if (file_exists($sDirExport.'liste.yaml')) unlink($sDirExport.'liste.yaml');
     87    // Suppression du log
     88    if (file_exists($sDirExport.'export.log')) unlink($sDirExport.'export.log');
    8689    // Création des dossiers d'export
    8790    if (!file_exists($sDirExport)) mkdir($sDirExport, 0777);
     
    9093        mkdir($sDirExport.'inclus', 0777);
    9194    // Création du fichier YAML contenant la liste des rubriques et articles du secteur
    92     cree_yaml($langue,$secteur);
    93     // Construction de l'URL de rechargement javasscript du formulaire
     95    cree_yaml($sDirExport,$langue,$secteur);
     96    // Construction de l'URL de rechargement javascript du formulaire
    9497    $url = parametre_url($self, 'num', '0');
    9598    $url = parametre_url($url, 'format', $format);
     
    191194 * @date 09/06/2015
    192195 */
    193 function getDirExport() {
     196function getDirExport($format = 'format', $langue = 'langue') {
    194197    $s = _DIR_RACINE . _NOM_TEMPORAIRES_INACCESSIBLES;
    195     $s .= _request('format').'_'._request('langue').'/';
     198    $s .= _request($format).'_'._request($langue).'/';
    196199    return $s;
    197200}
     
    203206 * @date 09/06/2015
    204207 */
    205 function getZipFileName() {
     208function getZipFileName($format = 'format', $langue = 'langue') {
    206209    $s = _DIR_RACINE . _NOM_TEMPORAIRES_ACCESSIBLES;
    207     $s .= _request('format').'_'._request('langue').'.zip';
     210    $s .= _request($format).'_'._request($langue).'.zip';
    208211    return $s;
    209212}
     
    217220 * @author Hicham Gartit
    218221 */
    219 function imagehtml($matches)
    220 {
    221     $langue = $_GET['langue'];
     222function html_image($matches)
     223{
    222224    $chemin = $matches[1];
    223225    $nomimg = pathinfo($chemin, PATHINFO_FILENAME);
    224226    $extimg = pathinfo($chemin, PATHINFO_EXTENSION);
    225227    $nom = $nomimg.'.'.$extimg;
    226 
     228    //~ spip_log($chemin,'html_image');
    227229    if(substr($chemin, 0, strlen('../')) === '../' || substr($chemin, 0, strlen('http')) === 'http')
    228230    {
     
    235237    }
    236238    $dest = getDirExport().'images/'.$nom;
     239    $copie = 'images/'.$nom;
     240    $ret = str_replace($matches[1],$copie,$matches[0]);
    237241    copy($source,$dest);
    238     $copie = 'images/'.$nom;
    239     $ret = $ret = str_replace($matches[1],$copie,$matches[0]);
     242    if(!file_exists($dest)) {
     243        file_put_contents(getDirExport().'export.log',
     244            'Image not found: '.$source."\n",FILE_APPEND);
     245    }
    240246    return $ret;
    241247}
     
    272278                    // Le lien ne pointe pas vers la bonne traduction de l'article
    273279                    $art2 = sql_fetsel('id_article', 'spip_articles',
    274                         array('id_trad='.$art['id_trad'],"lang='$langue'"));
     280                        array('id_trad='.$art['id_trad'],"lang='$langue'",'statut="publie"'));
    275281                        //~ spip_log(sql_get_select('id_article', 'spip_articles',
    276                         //~ array('id_trad='.$art['id_trad'],"lang='$langue'")),'lien');
     282                        //~ array('id_trad='.$art['id_trad'],array('id_trad='.$art['id_trad'],"lang='$langue'",'statut="publie"'))),'lien');
    277283                    if(isset($art2['id_article'])) {
    278284                        // La bonne traduction existe
    279285                        $id = $art2['id_article'];
    280                     } else {
    281                         // La bonne traduction n'existe pas, on utilise l'article de référence
     286                    } elseif($art['id_trad']!=0) {
     287                        // La bonne traduction n'existe pas, on utilise l'article de référence
    282288                        $id = $art['id_trad'];
    283289                    }
     
    303309 * Ecriture de la liste des articles et rubriques dans liste.yaml
    304310 */
    305 function cree_yaml($langue,$secteur)
    306 {
    307                 $sDirExport = getDirExport();
     311function cree_yaml($sDirExport,$langue,$secteur)
     312{
    308313                $yaml = recuperer_fond("yaml/index", array('id_rubrique' => $secteur,'lang' => $langue,));
    309314                file_put_contents($sDirExport.'liste.yaml',$yaml);
     
    335340        // fichier chm/css.html : traitement des images
    336341        $t = recuperer_fond("chm/css");
    337         $t = preg_replace_callback("#url\('(.*)'\);#iU",'imagehtml',$t);
     342        $t = preg_replace_callback("#url\('(.*)'\);#iU",'html_image',$t);
    338343        file_put_contents($sDirExport.'chm.css',$t);
    339344    }
     
    355360
    356361    //Traitement des images
    357     $code = preg_replace_callback('#<img.*src="(.*)".*>#iU','imagehtml',$code);
    358     $code = preg_replace_callback("#<img.*src='(.*)'.*>#iU",'imagehtml',$code);
     362    $code = preg_replace_callback('#<img.*src="(.*)".*>#isU','html_image',$code);
     363    $code = preg_replace_callback("#<img.*src='(.*)'.*>#isU",'html_image',$code);
    359364
    360365    //Traitement des liens
    361     $code = preg_replace_callback("#href='(.*)'#iU",'html_lien',$code);
    362     $code = preg_replace_callback('#href="(.*)"#iU','html_lien',$code);
     366    $code = preg_replace_callback("#href='(.*?)'#i",'html_lien',$code);
     367    $code = preg_replace_callback('#href="(.*?)"#i','html_lien',$code);
     368
     369    // Suppression des liens de téléchargement du plugin Coloration Code
     370    $code = preg_replace('#<p class=\'download code_download\'>.*</p>#iU','',$code);
    363371
    364372    // Enregistrement du fichier HTML
  • _plugins_/chmlatex/trunk/paquet.xml

    r93582 r94514  
    22    prefix="chmlatex"
    33    categorie="edition"
    4     version="1.4.1"
     4    version="1.4.2"
    55    etat="test"
    66    compatibilite="[3.0.0;3.0.*]"
Note: See TracChangeset for help on using the changeset viewer.