You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
2.9 KiB
98 lines
2.9 KiB
<?php |
|
if (!defined('_ECRIRE_INC_VERSION')) { |
|
return; |
|
} |
|
/** |
|
* saveauto : plugin de sauvegarde automatique de la base de donnees de SPIP |
|
* |
|
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. |
|
* |
|
*/ |
|
|
|
/** |
|
* Insertion dans le pipeline "mes_fichiers_a_sauver" |
|
* Permettre de rajouter des fichiers a sauvegarder dans le plugin Mes Fichiers 2 |
|
*/ |
|
function saveauto_mes_fichiers_a_sauver($flux){ |
|
/** |
|
* Determination du repertoire de sauvegarde et du prefixe |
|
*/ |
|
$rep_save = lire_config('saveauto/repertoire_save'); |
|
$prefixe = lire_config('saveauto/prefixe_save'); |
|
|
|
/** |
|
* le dernier fichier de dump de la base cree par saveauto |
|
* - commence par le prefixe de la configuration |
|
* - a pour extension zip ou sql |
|
* - on ne conserve que le dernier en date |
|
*/ |
|
$dump = preg_files($rep_save,"$prefixe.+[.](zip|sql)$"); |
|
$fichier_dump = ''; |
|
$mtime = 0; |
|
foreach ($dump as $_fichier_dump) { |
|
if (($_mtime = filemtime($_fichier_dump)) > $mtime) { |
|
$fichier_dump = $_fichier_dump; |
|
$mtime = $_mtime; |
|
} |
|
} |
|
if ($fichier_dump) { |
|
$flux[] = $fichier_dump; |
|
} |
|
|
|
return $flux; |
|
} |
|
|
|
/** |
|
* On s'insère dans le cron de SPIP |
|
* Par défaut une fois par jour (peut être modifié dans la conf) |
|
* |
|
* @param array $taches_generales |
|
*/ |
|
function saveauto_affiche_milieu($flux) { |
|
|
|
// on exclut le cas d'affichage de la page après le dump SQLite |
|
if (isset($flux['args']['type-page']) |
|
AND (($flux['args']['type-page'])=='sauvegarder') |
|
AND (empty($flux['args']['status']))) { |
|
$contexte = array(); |
|
if (isset($flux['args']['etat'])) |
|
$contexte['etat'] = $flux['args']['etat']; |
|
$flux['data'] .= recuperer_fond('prive/squelettes/contenu/sauvegarder_saveauto', $contexte); |
|
} |
|
|
|
return $flux; |
|
} |
|
|
|
/** |
|
* Surcharge de la fonction charger du formulaire de configuration : |
|
* - permet de fournir au formulaire la liste de toutes les tables de la base et celles des tables exportees par defaut |
|
* |
|
* @param array $flux |
|
* @return array |
|
* |
|
**/ |
|
function saveauto_formulaire_charger($flux){ |
|
|
|
$form = $flux['args']['form']; |
|
|
|
if ($form == 'configurer_saveauto') { |
|
include_spip('base/dump'); |
|
|
|
// Liste de toutes les tables de la base pour que le formulaire boucle dessus |
|
$tables = base_lister_toutes_tables('', array(), array(), true); |
|
$flux['data']['_toutes_tables'] = $tables; |
|
|
|
// Liste des tables exportables. |
|
// On a besoin de cette liste si l'option tout_saveauto est à 'oui' : en effet, dans ce cas |
|
// la liste en stockée en base de données n'est pas forcément bonne car on a pas la possibilité |
|
// de forcer un mise à jour lors du traiter |
|
// TODO : s'insérer plutôt dans le traiter du formulaire |
|
$exclude = lister_tables_noexport(); |
|
$flux['data']['_tables_export'] = base_lister_toutes_tables('', array(), $exclude, true); |
|
$flux['data']['_noexport'] = implode(', ', $exclude); |
|
} |
|
|
|
return $flux; |
|
} |
|
|
|
|
|
|