source: spip-zone/_plugins_/zippeur/trunk/zippeur_pipelines.php @ 117771

Last change on this file since 117771 was 117725, checked in by maieul@…, 15 months ago

indentation + pas de ?> final

File size: 1.9 KB
Line 
1<?php
2if (!defined("_ECRIRE_INC_VERSION")) return;
3function zippeur_declarer_tables_principales($table){
4        $table['spip_zippeur'] = array(
5                'field'=>array(
6                        'id_zip'                => "INT",
7                        'nom'                   => "text",
8                        'extension' => 'TINYTEXT',
9                        'date_modif'    => "datetime",
10                        'date_zip'              => "datetime",
11                        'delai_suppression'=>"INT",
12                        'fichiers'=>"INT"
13                ),
14
15                'key'=> array('PRIMARY KEY'=>'id_zip')
16
17        );
18        return $table;
19}
20
21function zippeur_taches_generales_cron($taches){
22        if (!defined('_ZIPPEUR_EFFACER_ZIP')){
23                define ('_ZIPPEUR_EFFACER_ZIP',2*3600);
24        }
25        $taches['zippeur_effacer_zip'] = _ZIPPEUR_EFFACER_ZIP;
26        return $taches;
27}
28function zippeur_pre_liens($txt){
29        $match = array();
30        $regexp = "#\[(.*)->(zip_doc_article|zip_doc_album)(\d*)\]#U";
31        preg_match_all($regexp,$txt,$match,PREG_SET_ORDER);
32        foreach ($match as $lien){
33                // construires les ≠ paramètres
34                $objet      = str_replace('zip_doc_','',$lien[2]);
35                $id_objet   = $lien[3];
36                $texte      = $lien[1]!=''?$lien[1] : generer_info_entite($id_objet,$objet,'titre',true) .' - '. _T('zippeur:ensemble_fichier');
37                $nom_zip    = $objet."_".$id_objet;
38
39                // constuire la liste des fichiers
40                $fichiers   = array();
41                $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');
42                $first = True;
43                while ($r = sql_fetch($sql)) {
44                        if ($first == True){
45                                $maj = $r['maj'];
46                                $first=False;}
47                                $fichiers[] = copie_locale(get_spip_doc($r['fichier']));
48                }
49                // construire le zip
50                $url_zip    = zippeur($fichiers,$maj,lire_config('zippeur/zippeur_cmd'),$nom_zip);
51
52                // constuitre le lien
53                $replace    = "<a href='$url_zip' type='application/zip' class='spip_in zippeur' title='$texte (". taille_en_octets(filesize($url_zip)).")'>$texte</a>";
54                $txt      = str_replace($lien[0],$replace,$txt);
55
56
57        }
58        return $txt;
59}
Note: See TracBrowser for help on using the repository browser.