Changeset 67257 in spip-zone


Ignore:
Timestamp:
Oct 29, 2012, 7:46:10 PM (7 years ago)
Author:
eric@…
Message:

Encore un gros jet d'améliorations :

  • correction d'un énorme bug sur la pattern des archives qui fonctionnait par miracle depuis la nuit des temps
  • les actions de sauvegarde et nettoyage auto sont décorrélées et possèdent leur propre cron et propre configuration
  • correction d'items de langue
  • nettoyage des fonctions inutiles et inclusion là ou il faut pour les squelettes
  • incrément de version
Location:
_plugins_/mes_fichiers/trunk
Files:
1 added
7 edited
1 copied
1 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/mes_fichiers/trunk/formulaires/configurer_mes_fichiers.html

    r67220 r67257  
    4040                                        <input type="text" name="frequence" class="text" id="frequence" value="[(#ENV{frequence, 1})]" />
    4141                                </li>
     42                        </ul>
     43                        <ul>
     44                                <li class="editer editer_nettoyage_journalier">
     45                                <label><:mes_fichiers:label_cfg_nettoyage_journalier:></label>
     46                                        <div class="choix">
     47                                                 <input type="radio" name="nettoyage_journalier" id="nettoyage_journalier_true" value="oui"[(#ENV{nettoyage_journalier, oui}|=={oui}|oui)checked="checked"] />
     48                                                 <label for="nettoyage_journalier_true"><:item_oui:></label>
     49                                        </div>
     50                                        <div class="choix">
     51                                                 <input type="radio" name="nettoyage_journalier" id="nettoyage_journalier_false" value="non"[(#ENV{nettoyage_journalier, oui}|=={oui}|non)checked="checked"] />
     52                                                 <label for="nettoyage_journalier_false"><:item_non:></label>
     53                                        </div>
     54                                </li>
     55                        </ul>
     56                        <ul id="lave_plus">
    4257                                <li class="editer editer_duree_sauvegarde">
    4358                                        <p class="explication"><:mes_fichiers:explication_cfg_duree_sauvegarde:></p>
     
    8398                [(#ENV{notif_active, non}|!={oui}|oui) jQuery("#notif_plus").hide();]
    8499                [(#ENV{sauvegarde_reguliere, non}|!={oui}|oui) jQuery("#sauve_plus").hide();]
     100                [(#ENV{nettoyage_journalier, oui}|!={oui}|oui) jQuery("#lave_plus").hide();]
    85101
    86102                jQuery("input[name='notif_active']").change(function() {
     
    102118                        jQuery(this).blur();
    103119                });
     120                jQuery("input[name='nettoyage_journalier']").change(function() {
     121                        if (jQuery("input[name='nettoyage_journalier']:checked").val() == 'oui') {
     122                                jQuery("#lave_plus").show();
     123                        }
     124                        else {
     125                                jQuery("#lave_plus").hide();
     126                        }
     127                        jQuery(this).blur();
     128                });
    104129        });
    105130//]]>
  • _plugins_/mes_fichiers/trunk/formulaires/mes_fichiers_sauver.php

    r67220 r67257  
    33if (!defined("_ECRIRE_INC_VERSION")) return;
    44
     5include_spip('inc/mes_fichiers_utils');
     6
    57function formulaires_mes_fichiers_sauver_charger_dist(){
    6         include_spip('inc/mes_fichiers_utils');
    78
    89        $valeurs = array();
  • _plugins_/mes_fichiers/trunk/genie/mes_fichiers_cleaner.php

    r67247 r67257  
    44
    55/**
    6  * Génération d'une sauvegarde par le cron et nettoyage des fichiers obsoletes dans la foulee
     6 * Nettoyage journalier des fichiers obsoletes
    77 *
    88 * @param timestamp $last
    99 */
    10 function genie_mes_fichiers_dist($last) {
    11         // On lance la sauvegarde reguliere avec comme auteur le CRON
    12         $sauver = charger_fonction('mes_fichiers_sauver', 'inc');
    13         $sauver(null, array('auteur' => 'cron'));
    14 
     10function genie_mes_fichiers_cleaner_dist($last) {
    1511        // On supprime les fichiers obsoletes en fonction de la duree de conservation
    1612        $supprimer_obsoletes = charger_fonction('mes_fichiers_cleaner','inc');
  • _plugins_/mes_fichiers/trunk/genie/mes_fichiers_cron.php

    r67220 r67257  
    44
    55/**
    6  * On s'insère dans le cron de SPIP si les sauvegardes regulieres ont ete activees
     6 * Activation des sauvegardes regulieres si celles-ci ont ete activees
    77 * Par défaut une fois par jour (peut être modifié dans la conf)
     8 * Activiation du nettoyage journalier si activé
    89 *
    910 * @param array $taches_generales
     
    1314
    1415        $sauver_auto = (lire_config('mes_fichiers/sauvegarde_reguliere', 'non') == 'oui');
    15 
    1616        if ($sauver_auto) {
    1717                $jour = lire_config('mes_fichiers/frequence', 1);
    18                 $taches_generales['mes_fichiers'] = $jour*24*3600;
     18                $taches_generales['mes_fichiers_sauver'] = $jour*24*3600;
     19        }
     20
     21        $laver_auto = (lire_config('mes_fichiers/nettoyage_journalier', 'oui') == 'oui');
     22        if ($laver_auto) {
     23                $taches_generales['mes_fichiers_cleaner'] = 24*3600;
    1924        }
    2025
  • _plugins_/mes_fichiers/trunk/genie/mes_fichiers_sauver.php

    r67247 r67257  
    44
    55/**
    6  * Génération d'une sauvegarde par le cron et nettoyage des fichiers obsoletes dans la foulee
     6 * Génération d'une sauvegarde par le cron
    77 *
    88 * @param timestamp $last
    99 */
    10 function genie_mes_fichiers_dist($last) {
     10function genie_mes_fichiers_sauver_dist($last) {
    1111        // On lance la sauvegarde reguliere avec comme auteur le CRON
    1212        $sauver = charger_fonction('mes_fichiers_sauver', 'inc');
    1313        $sauver(null, array('auteur' => 'cron'));
    14 
    15         // On supprime les fichiers obsoletes en fonction de la duree de conservation
    16         $supprimer_obsoletes = charger_fonction('mes_fichiers_cleaner','inc');
    17         $supprimer_obsoletes(array('auteur' => 'cron'));
    1814
    1915        return 1;
  • _plugins_/mes_fichiers/trunk/inc/mes_fichiers_utils.php

    r67230 r67257  
    7777}
    7878
    79 // Renvoie la liste des fichiers et repertoires a sauver classee par date inverse (max 20)
    80 function mes_fichiers_a_telecharger() {
    81         $prefixe = lire_config('mes_fichiers/prefixe','mf2');
    82         $liste = preg_files(_DIR_MES_FICHIERS . $prefixe.'_*.zip', 20);
    83 
    84         // On filtre les fichiers vides ou corrompues qui sont des résultats d'erreur lors de l'archivage
    85         foreach ($liste as $_cle => $_archive) {
    86                 if (!is_file($_archive)
    87                 OR !is_readable($_archive)
    88                 OR (filesize($_archive) == 0))
    89                         unset($liste[$_cle]);
    90         }
    91 
    92         return array_reverse($liste);
    93 }
    94 
    95 // Convertit un mtime en date
    96 function filemtime_2_date($mtime) {
    97         return date('Y-m-d H:i:s',$mtime);
    98 }
    99 
    100 // Renvoie la liste des repertoires et fichiers de base archives (la liste de choix)
    101 function mes_fichiers_resumer_zip($zip) {
    102         include_spip('inc/pclzip');
    103         $fichier_zip = new PclZip($zip);
    104         $proprietes = $fichier_zip->properties();
    105         $resume = NULL;
    106         if ($proprietes == 0) {
    107                 $resume .= _T('mes_fichiers:message_zip_propriete_nok');
    108                 spip_log("Impossible d'ouvrir les propriétés de l'archive (" . $fichier_zip->errorInfo(true) . ")", 'mes_fichiers' . _LOG_ERREUR);
    109         }
    110         else {
    111                 $comment = unserialize($proprietes['comment']);
    112                 $liste = $comment['contenu'];
    113                 $id_auteur = $comment['auteur'];
    114 
    115                 // On gere la compatibilite avec la structure des commentaires des versions < 0.2
    116                 $auteur = _T('mes_fichiers:message_zip_auteur_indetermine');
    117                 if ((!$id_auteur) AND (!$liste))
    118                         $liste = $comment;
    119                 else
    120                         if (intval($id_auteur)) {
    121                                 $auteur = sql_getfetsel('nom', 'spip_auteurs', 'id_auteur='.intval($id_auteur));
    122                         }else{
    123                                 $auteur = $id_auteur;
    124                         }
    125                 $resume .= _T('mes_fichiers:resume_zip_statut').' : '.$proprietes['status'].'<br />';
    126                 $resume .= _T('mes_fichiers:resume_zip_auteur').' : '.$auteur.'<br />';
    127                 $resume .= _T('mes_fichiers:resume_zip_compteur').' : '.$proprietes['nb'].'<br />';
    128                 $resume .= _T('mes_fichiers:resume_zip_contenu').' : '.'<br />';
    129                 $resume .= '<ul class="spip">';
    130                 if ($liste)
    131                         foreach ($liste as $_fichier) {
    132                                 $resume .= '<li>' . $_fichier . '</li>';
    133                         }
    134                 else
    135                         $resume .= '<li>' . _T('mes_fichiers:message_zip_sans_contenu') . '</li>';
    136                 $resume .= '</ul>';
    137         }
    138         return $resume;
    139 }
    140 
    141 // Renvoie la liste des fichiers et repertoires a sauver
    142 function mes_fichiers_voir_zip($zip) {
    143         include_spip('inc/pclzip');
    144         $fichier_zip = new PclZip($zip);
    145 
    146         if (($list = $fichier_zip->listContent()) == 0) {
    147                 spip_log("Lecture de l'archive $zip impossible (" . $fichier_zip->errorInfo(true) . ")", 'mes_fichiers' . _LOG_ERREUR);
    148         }
    149 
    150         for ($i=0; $i<sizeof($list); $i++) {
    151                 for(reset($list[$i]); $key = key($list[$i]); next($list[$i])) {
    152                         echo "File $i / [$key] = ".$list[$i][$key]."<br>";
    153                 }
    154                 echo "<br>";
    155         }
    156 }
    15779
    15880/**
  • _plugins_/mes_fichiers/trunk/lang/mes_fichiers_fr.php

    r67231 r67257  
    4343        'label_cfg_prefixe' => 'Préfixe',
    4444        'label_cfg_sauvegarde_reguliere' => 'Activer la sauvegarde régulière',
     45        'label_cfg_nettoyage_journalier' => 'Activer le nettoyage journalier des archives',
    4546        'label_cfg_taille_max_rep' => 'Taille maximale des dossiers',
    4647        'legende_cfg_notification' => 'Notifications',
    47         'legende_cfg_sauvegarde_reguliere' => 'Sauvegarde automatique',
     48        'legende_cfg_sauvegarde_reguliere' => 'Traitements automatiques',
    4849
    4950        // M
    5051        'message_cleaner_sujet' => 'Suppression des sauvegardes de fichiers',
    51         'message_notif_cleaner_intro' => 'L\'action de suppression automatique des sauvegardes de fichiers obsolètes (dont la date est postérieure à @duree@ jours) a été effectuée avec succès. Les fichiers suivants ont été supprimés : ',
     52        'message_notif_cleaner_intro' => 'L\'action de suppression automatique des sauvegardes de fichiers obsolètes (dont la date est antérieure à @duree@ jours) a été effectuée avec succès. Les fichiers suivants ont été supprimés : ',
    5253        'message_notif_sauver_intro' => 'Une nouvelle sauvegarde de vos fichiers est disponible pour votre site. Elle a été réalisée par @auteur@.',
    5354        'message_rien_a_sauver' => 'Aucun fichier ni dossier à sauvegarder.',
     
    6869
    6970        // T
    70         'titre_boite_configurer' => 'Archivage des fichiers',
     71        'titre_boite_configurer' => 'Paramètres d\'archivage',
    7172        'titre_boite_sauver' => 'Créer une archive',
    7273        'titre_boite_telecharger' => 'Liste des archives disponibles au téléchargement',
  • _plugins_/mes_fichiers/trunk/paquet.xml

    r67230 r67257  
    22        prefix="mes_fichiers"
    33        categorie="maintenance"
    4         version="2.0.2"
     4        version="2.0.3"
    55        etat="test"
    66        compatibilite="[3.0.0;3.0.*]"
  • _plugins_/mes_fichiers/trunk/prive/squelettes/inclure/inc-liste_mes_fichiers.html

    r67220 r67257  
    66
    77<B_telechager>
     8#ANCRE_PAGINATION
    89<div class="liste-objets mes_fichiers">
    910        <table id="mes_fichiers_telecharger" class="spip liste">
     
    1920                </thead>
    2021                <tbody>
    21 <BOUCLE_telechager(DATA){source table, #GET{fichiers}}>
     22<BOUCLE_telechager(DATA){source table, #GET{fichiers}}{pagination 10}>
    2223                        <tr id="zip_#COMPTEUR_BOUCLE"[ class="(#COMPTEUR_BOUCLE|alterner{row_even, row_odd})"]>
    2324                                <td class="fichier principale">[<label[ for="zip_(#CLE|plus{1})"]>(#VALEUR|basename)</label>]</td>
    2425                                <td class="taille">[(#VALEUR|filesize|taille_en_octets)]</td>
    25                                 <td class="date">[(#VALEUR|filemtime|filemtime_2_date|affdate_heure{Y-m-d H:i:s})]</td>
     26                                <td class="date">[(#VAL{'Y-m-d H:i:s'}|date{#VALEUR|filemtime}|affdate_heure)]</td>
    2627                                <td>[(#BOUTON_ACTION{<:mes_fichiers:bouton_telecharger:>, #URL_ACTION_AUTEUR{mes_fichiers_telecharger, #VALEUR}})]</td>
    2728                                <td><a class="voir_zip" href="#info_zip_#COMPTEUR_BOUCLE" rel="info_zip_#COMPTEUR_BOUCLE" title="<:mes_fichiers:bulle_bouton_voir:>"><:mes_fichiers:bouton_voir:></a></td>
     
    3334                </tbody>
    3435        </table>
     36        [<p class='pagination'>(#PAGINATION{#ENV{pagination,prive}})</p>]
    3537</div>
    3638</B_telechager>
Note: See TracChangeset for help on using the changeset viewer.