Changeset 76401 in spip-zone


Ignore:
Timestamp:
Sep 22, 2013, 5:43:25 PM (7 years ago)
Author:
maieul@…
Message:

nouveaux raccourcis : [xxx->zip_doc_articleyyy] et [xxx->zip_doc_albumyyy]

Location:
_plugins_/zippeur/trunk
Files:
1 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/zippeur/trunk/paquet.xml

    r76019 r76401  
    2020        <pipeline nom="declarer_tables_principales" inclure="zippeur_pipelines.php" />
    2121        <pipeline nom="taches_generales_cron" inclure="zippeur_pipelines.php" />
    22 
     22    <pipeline nom="pre_liens" inclure="zippeur_pipelines.php" />
    2323        <utilise nom="album" />
    2424</paquet>
  • _plugins_/zippeur/trunk/zippeur_pipelines.php

    r64846 r76401  
    2222        return $taches;
    2323}
     24function zippeur_pre_liens($txt){
     25    $match = array();
     26    $regexp = "#\[(.*)->(zip_doc_article|zip_doc_album)(\d*)\]#";
     27    preg_match_all($regexp,$txt,$match,PREG_SET_ORDER);
     28    foreach ($match as $lien){
     29        // construires les ≠ paramètres
     30        $objet      = str_replace('zip_doc_','',$lien[2]);
     31        $id_objet   = $lien[3];
     32        $texte      = $lien[1]!=''?$lien[1] : generer_info_entite($id_objet,$objet,'titre',true) .' - '. _T('zippeur:ensemble_fichier');
     33        $nom_zip    = $objet."_".$id_objet;
     34       
     35        // constuire la liste des fichiers
     36        $fichiers   = array();
     37        $sql        = sql_select('maj,fichier','spip_documents INNER JOIN spip_documents_liens as L1',"spip_documents.statut='publie' AND L1.id_objet='$id_objet' AND L1.objet='$objet'",'','spip_documents.maj DESC');
     38        $first = True;
     39        while ($r = sql_fetch($sql)) {
     40            if ($first == True){
     41                $maj = $r['maj'];
     42                $first=False;}
     43            $fichiers[] = copie_locale(get_spip_doc($r['fichier']));
     44        }
     45        // construire le zip
     46        $url_zip    = zippeur($fichiers,$maj,lire_config('zippeur/zippeur_cmd'),$nom_zip);
    2447
     48        // constuitre le lien
     49        $replace    = "<a href='$url_zip' type='application/zip' class='spip_in zippeur' title='$texte (". taille_en_octets(filesize($url_zip)).")'>$texte</a>";
     50        $txt      = str_replace($lien[0],$replace,$txt);
     51       
     52   
     53    }
     54    return $txt;
     55}
    2556?>
Note: See TracChangeset for help on using the changeset viewer.