Changeset 68727 in spip-zone


Ignore:
Timestamp:
Jan 5, 2013, 5:33:48 PM (7 years ago)
Author:
eric@…
Message:

Fianlisation d'une première version stable permettant l'envoi des notifications avec pièces jointes. Les items de langue ont été nettoyés.
Pour l'instant il faut Facteur pour envoyer la sauvegarde en pièce jointe. On le nécessite pas car son absence ne nuit pas au fonctionnement du plugin.

Location:
_plugins_/saveauto/trunk
Files:
1 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/saveauto/trunk/formulaires/configurer_saveauto.html

    r68592 r68727  
    119119                        </ul>
    120120
    121                         <fieldset><ul>
    122                                 <li class="editer_ecrire_succes">
    123                                         <label><:saveauto:label_message_succes:></label>
    124                                         <p class="explication"><:saveauto:help_msg:></p>
    125                                         <div class="choix">
    126                                                  <input type="radio" name="ecrire_succes" id="ecrire_succes_true" value="true" [(#ENV{ecrire_succes, true}|=={true}|oui)checked="checked"] />
    127                                                  <label for="ecrire_succes_true"><:item_oui:></label>
    128                                         </div>
    129                                         <div class="choix">
    130                                                  <input type="radio" name="ecrire_succes" id="ecrire_succes_false" value="false"[(#ENV{ecrire_succes, true}|=={false}|oui)checked="checked"] />
    131                                                  <label for="ecrire_succes_false"><:item_non:></label>
    132                                         </div>
    133                                 </li>
    134                         </ul></fieldset>
    135                 </fieldset>
    136 
    137121                <p class="boutons">
    138122                        <input type="submit" class="submit" value="<:bouton_valider:>" />
  • _plugins_/saveauto/trunk/inc/envoyer_notification.php

    r68723 r68727  
    1212 * @param string $headers
    1313 */
    14 function inc_envoyer_notification_dist($emails, $texte, $sujet="", $pieces = "", $headers = ""){
     14function inc_envoyer_notification_dist($emails, $texte, $sujet="", $pieces=array(), $headers=""){
    1515        include_spip('inc/notifications');
    1616
  • _plugins_/saveauto/trunk/lang/saveauto_fr.php

    r68618 r68727  
    55
    66$GLOBALS[$GLOBALS['idx_lang']] = array(
    7 
    8         // A
    9         'attention' => 'Attention :',
    107
    118        // B
     
    1714
    1815        // E
    19         'envoi_mail' => 'Envoi par mail',
    20         'erreur_config_inadaptee_mail' => 'Configuration non-adaptée, votre serveur n\'assure pas les fonctions d\'envoi de mail !',
    2116        'erreur_impossible_creer_verifier' => 'Impossible de créer le fichier @fichier@, vérifiez les droits d\'écriture du répertoire @rep_bases@.',
    2217        'erreur_impossible_liste_tables' => 'Impossible de lister les tables de la base.',
    23         'erreur_mail_fichier_lourd' => 'Le fichier de sauvegarde est trop lourd pour être envoyé par mail. Vous pouvez le récupérer depuis votre interface d\'administration ou par FTP en suivant le chemin : @fichier@',
    24         'erreur_mail_sujet' => 'Erreur de sauvegarde SQL',
    2518        'erreur_probleme_donnees_corruption' => 'Probleme avec les donnees de @table@, corruption possible !',
    2619        'erreur_repertoire_inaccessible' => 'Le répertoire @rep@ est inaccessible en écriture.',
    27         'erreur_repertoire_inexistant' => 'Le répertoire @rep@ est inexistant. Veuillez vérifier votre configuration.',
    28         'erreur_sauvegarde_intro' => 'Le message d\'erreur est le suivant :',
    29         'erreurs_config' => 'Erreur(s) dans la configuration',
    3020
    3121        // H
    32         'help_accepter' => 'Optionnel : ne sauver que les tables ayant la chaîne spécifiée dans leur nom, ex : annuaire_, important, machin.
    33                                                                                         Ne mettez rien pour accepter toutes les tables. Séparez les différents noms par le symbole point-virgule (;)',
    3422        'help_cfg_generale' => 'Ces paramètres de configuration s\'appliquent à toutes les sauvegardes, manuelles ou automatiques.',
    3523        'help_contenu' => 'Choisissez les paramètres de contenu de votre fichier de sauvegarde.',
    3624        'help_contenu_auto' => 'Choisir le contenu des sauvegardes automatiques.',
    37         'help_envoi' => 'Saisir une adresse mail pour activer l\'envoi de la sauvegarde',
    38         'help_eviter' => 'Optionnel : si la table contient dans son nom la chaîne spécifiée : les données sont ignorées (pas la structure). Séparez les différents noms par le symbole point-virgule (;)',
    3925        'help_frequence' => 'Saisir la fréquence des sauvegardes automatiques en jours.',
    40         'help_gz' => 'Sinon les sauvegardes seront au format .sql',
    4126        'help_liste_tables' => 'Par défaut, toutes les tables sont exportées à l\'exception des tables @noexport@. Si vous souhaitez choisir précisément les tables à sauvegarder ouvrez la liste en décochant la case ci-dessous.',
    4227        'help_mail_max_size' => 'Saisir la taille maximale en Mo du fichier de sauvegarde au-delà de laquelle le mail ne sera pas envoyé (valeur à vérifier auprès de votre fournisseur de mail).',
    4328        'help_max_zip' => 'Le fichier de sauvegarde est automatiquement zippé si sa taille est inférieure à un seuil. Saisir ce seuil en Mo. (Ce seuil est nécessaire pour ne pas planter le serveur par la confection d\'un trop gros zip)',
    44         'help_msg' => 'Afficher un message dans l\'interface privée en cas de succès de la sauvegarde',
    45         'help_notif_active' => 'Activer l\'envoi des sauvegardes par mail',
     29        'help_notif_active' => 'Si vous souhaitez être prévenus des sauvegardes et des nettoyages activez les notifications. Pour la sauvegarde vous recevrez le fichier généré par mail si celui-ci n\'est pas trop volumineux et que le plugin Facteur est activé.',
    4630        'help_notif_mail' => 'Saisir les adresses en les séparant par des virgules ",". Ces adresses s\'ajoutent à celle du webmestre du site.',
    4731        'help_obsolete' => 'Saisir la durée de conservation des sauvegardes en jours',
    4832        'help_prefixe' => 'Saisir le préfixe accolé au nom de chaque fichier de sauvegarde',
    49         'help_rep' => 'Répertoire où stocker les fichiers (chemin à partir de la <strong>racine</strong> du SPIP, tmp/data/ par ex). <strong>DOIT</strong> se terminer par un /.',
    5033        'help_restauration' => '<strong>Attention !!!</strong> ces sauvegardes ne sont <strong>pas au format de celles de SPIP</strong> et ne peuvent pas être utiliser avec l\'outil de restauration de la base de SPIP.<br /><br />
    5134                                                        Pour toute restauration il faut donc utiliser l\'interface <strong>phpmyadmin</strong> de votre
     
    5538        'help_sauvegarde_1' => 'Cette option vous permet de sauvegarder la structure et le contenu de la base dans un fichier au format SQL qui sera stocké dans le répertoire tmp/dump/. La fichier se nomme <em>@prefixe@_aaaammjj_hhmmss.</em>',
    5639        'help_sauvegarde_2' => 'La sauvegarde automatique est activée (fréquence en jours : @frequence@).',
    57         'help_titre' => 'Cette page vous permet de configurer les options de sauvegarde automatique de la base.',
    5840
    5941        // I
    60         'info_mail_message_mime' => 'Ceci est un message au format MIME.',
    61         'info_sauvegardes_obsolete' => 'Une sauvegarde de la base est conservée @nb@ jours à partir du jour de sa réalisation.',
    6242        'info_sql_auteur' => 'Auteur : ',
    6343        'info_sql_base' => 'Base : ',
     
    6545        'info_sql_date' => 'Date : ',
    6646        'info_sql_debut_fichier' => 'Debut du fichier',
    67         'info_sql_donnees_table' => 'Donnees de @table@',
    68         'info_sql_fichier_genere' => 'Ce fichier est genere par le plugin saveauto',
     47        'info_sql_donnees_table' => 'Donnees de la table @table@',
     48        'info_sql_fichier_genere' => 'Ce fichier est genere par le plugin Saveauto',
    6949        'info_sql_fin_fichier' => 'Fin du fichier',
    7050        'info_sql_ipclient' => 'IP Client : ',
     
    7656        'info_sql_spip_version' => 'Version de SPIP : ',
    7757        'info_sql_structure_table' => 'Structure de la table @table@',
    78         'info_telecharger_sauvegardes' => 'Le tableau ci-dessous liste l\'ensemble des sauvegardes réalisées pour votre site que vous pouvez télécharger.',
    7958
    8059        // L
    81         'label_adresse' => 'À l\'adresse : ',
    82         'label_compression_gz' => 'Zipper le fichier de sauvegarde : ',
    8360        'label_donnees' => 'Données des tables',
    84         'label_donnees_ignorees' => 'Données ignorées : ',
    8561        'label_frequence' => 'Fréquence des sauvegardes',
    8662        'label_mail_max_size' => 'Seuil d\'envoi du mail',
    8763        'label_max_zip' => 'Seuil des zips',
    88         'label_message_succes' => 'Alerte',
    8964        'label_nettoyage_journalier' => 'Activer le nettoyage journalier des archives',
    90         'label_nom_base' => 'Nom de la base SPIP : ',
    9165        'label_notif_active' => 'Activer les notifications',
    9266        'label_notif_mail' => 'Adresses email à notifier',
    9367        'label_obsolete_jours' => 'Conservation des sauvegardes',
    9468        'label_prefixe_sauvegardes' => 'Préfixe',
    95         'label_repertoire_stockage' => 'Répertoire de stockage : ',
    96         'label_restauration' => 'Restauration d\'une sauvegarde :',
    9769        'label_sauvegarde_reguliere' => 'Activer la sauvegarde régulière',
    9870        'label_structure' => 'Structure des tables',
    99         'label_tables_acceptes' => 'Tables acceptées : ',
    10071        'label_toutes_tables' => 'Sauvegarder toutes les tables',
    10172        'legend_cfg_generale' => 'Paramètres généraux des sauvegardes',
    10273        'legend_cfg_notification' => 'Notifications',
    10374        'legend_cfg_sauvegarde_reguliere' => 'Traitements automatiques',
    104         'legend_structure_donnees' => 'Eléments à sauvegarder : ',
    10575
    10676        // M
     
    10979        'message_notif_cleaner_intro' => 'La suppression automatique des sauvegardes obsolètes (dont la date est antérieure à @duree@ jours) a été effectuée avec succès. Les fichiers suivants ont été supprimés : ',
    11080        'message_notif_sauver_intro' => 'La sauvegarde de la base @base@ a été effectuée avec succès par l\'auteur @auteur@.',
    111         'message_pas_envoi' => 'Les sauvegardes ne seront pas envoyées !',
    11281        'message_sauvegarde_nok' => 'Erreur lors de la sauvegarde SQL de la base.',
    11382        'message_sauvegarde_ok' => 'La sauvegarde SQL de la base a été faite avec succès.',
    11483        'message_sauver_sujet' => 'Sauvegarde de la base @base@',
    11584        'message_telechargement_nok' => 'Erreur lors du téléchargement.',
    116 
    117         // S
    118         'saveauto_titre' => 'Sauvegarde SQL',
    11985
    12086        // T
     
    12490        'titre_page_saveauto' => 'Sauvegarder la base au format SQL',
    12591        'titre_saveauto' => 'Sauvegarde automatique',
    126 
    127         // V
    128         'valeur_jours' => ' jours'
    12992);
    13093
  • _plugins_/saveauto/trunk/notifications/saveauto.php

    r68724 r68727  
    4343                }
    4444
    45                 // Envoi de la notification
     45                // Envoi de la notification en utilisant la fonction interne qui n'utilise pas job_queue et permet l'envoi
     46                // de pièces jointes
    4647                $envoyer = charger_fonction('envoyer_notification', 'inc');
    4748                $envoyer($destinataires, $msg_mail, $sujet_mail, $pieces);
    4849    }
    4950}
    50 
    51 function notifications_saveauto_old_dist($quoi, $id, $options){
    52         $cfg = lire_config('saveauto');
    53         include_spip('inc/envoyer_mail');
    54         if(defined('_DIR_SITE')){
    55                 $racine = _DIR_SITE;
    56         }else{
    57                 $racine = _DIR_RACINE;
    58         }
    59         if (!empty($cfg['destinataire_save']) OR $options['err']) {
    60                 /**
    61                  * Notifier une erreur dans la génération d'une sauvegarde
    62                  */
    63                 $serveur = $_SERVER['SERVER_NAME'];
    64                 if($options['err']){
    65                         $tous = $cfg['destinataire_save'] ? $cfg['destinataire_save'] : $GLOBALS['meta']['email_webmaster'];
    66                         $destinataires = pipeline('notifications_destinataires',
    67                                 array(
    68                                         'args'=>array('quoi'=>$quoi,'id'=>$id,'options'=>$options)
    69                                 ,
    70                                         'data'=>$tous)
    71                         );
    72                         $sujet_mail = "[".nettoyer_titre_email($GLOBALS['meta']['nom_site'])."] "._T('saveauto:erreur_mail_sujet')." "._T('saveauto:info_sql_base').$cfg['base'];
    73                         $msg_mail = recuperer_fond('notifications/saveauto_nok',array('cfg'=>$cfg,'erreur'=>$options['err'],'serveur'=>$serveur));
    74                         notifications_envoyer_mails($destinataires, $msg_mail,$sujet_mail);
    75                 }
    76                 /**
    77                  * La sauvegarde a apparemment fonctionné
    78                  */
    79                 else{
    80                         $filesize = (filesize($options['chemin_fichier']) / 1000000);
    81                         $fichier = str_replace($racine,'',$options['chemin_fichier']);
    82                        
    83                         $tous = $cfg['destinataire_save'];
    84                        
    85                 $sujet_mail = "[".nettoyer_titre_email($GLOBALS['meta']['nom_site'])."] "._T('saveauto:titre_saveauto')." "._T('saveauto:info_sql_base').$cfg['base'];
    86                 $msg_mail = recuperer_fond('notifications/saveauto_ok',array('cfg'=>$cfg,'filesize'=>$filesize,'serveur'=>$serveur,'fichier_racine'=>$fichier));
    87                 $destinataires = pipeline('notifications_destinataires',
    88                                 array(
    89                                         'args'=>array('quoi'=>$quoi,'id'=>$id,'options'=>$options)
    90                                 ,
    91                                         'data'=>$tous)
    92                         );
    93                         if((filesize($options['chemin_fichier']) / 1000000) < lire_config('saveauto/mail_max_size')){
    94                                 $corps['texte'] = $msg_mail;
    95                                 $corps['pieces_jointes'][0] = array(
    96                                         'chemin'=>$options['chemin_fichier'],
    97                                         'nom'=>basename($options['chemin_fichier']),
    98                                         'encodage' => 'base64',
    99                                         'mime' => ''
    100                                 );
    101                         }else{
    102                                 $corps = $msg_mail;
    103                                
    104                                 //$corps .= _T('saveauto:erreur_mail_fichier_lourd',array('fichier'=>$fichier));
    105                         }
    106                         $envoyer_mail = charger_fonction('envoyer_mail','inc');
    107                         $envoyer_mail($destinataires, $sujet_mail, $corps, $from = "", $headers = "");
    108                 }
    109     }
    110 }
    11151?>
  • _plugins_/saveauto/trunk/notifications/saveauto_cleaner.php

    r68252 r68727  
    3030                        $msg_mail = _T('saveauto:message_notif_cleaner_intro', array('duree' => $duree)) . $liste_fichiers;
    3131
    32                         // Envoi de la notification
    33                         notifications_envoyer_mails($destinataires, $msg_mail, $sujet_mail);
     32                        // Envoi de la notification en utilisant la fonction interne qui n'utilise pas job_queue et permet l'envoi
     33                        // de pièces jointes
     34                        $envoyer = charger_fonction('envoyer_notification', 'inc');
     35                        $envoyer($destinataires, $msg_mail, $sujet_mail);
    3436                }
    3537    }
  • _plugins_/saveauto/trunk/paquet.xml

    r68248 r68727  
    22        prefix="saveauto"
    33        categorie="maintenance"
    4         version="1.0.0"
    5         etat="test"
     4        version="1.0.1"
     5        etat="stable"
    66        compatibilite="[3.0.0;3.0.*]"
    77        logo="prive/themes/spip/images/saveauto-24.png"
     
    1919        <traduire module="saveauto" reference="fr" gestionnaire="salvatore" />
    2020
     21        <pipeline nom="post_sauvegarde" action="" />
    2122        <pipeline nom="taches_generales_cron" inclure="genie/saveauto_cron.php" />
    2223        <pipeline nom="mes_fichiers_a_sauver" inclure="saveauto_pipelines.php" />
  • _plugins_/saveauto/trunk/saveauto_pipelines.php

    r68248 r68727  
    77 *
    88 */
    9 $sauver_base = false;
    10 $fin_sauvegarde_base = false;
    119
    1210/**
Note: See TracChangeset for help on using the changeset viewer.