Changeset 88474 in spip-zone


Ignore:
Timestamp:
Apr 5, 2015, 1:39:38 PM (4 years ago)
Author:
marcimat@…
Message:

On permet de transmettre une option de 'test' sur la synchronisation de fichier, qui liste des différence, mais ne fait pas d'action.

Exemple :

<pre>
'mig_sync' => ["Synchroniser le répertoire IMG", [

"repertoire" => "IMG",
"test" => true

]],
</pre>

Location:
_plugins_/migrateur/dev-by-http
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/migrateur/dev-by-http/class/Client/Action/DumpDatabase.php

    r88469 r88474  
    1010                // si on ne peut pas gunzip, l'indiquer au serveur
    1111                $gunzip = $this->destination->obtenir_commande_serveur('gunzip');
    12                 $data = array(
     12
     13                if (!is_array($data)) {
     14                        $data = array();
     15                }
     16
     17                $data += array(
    1318                        'gzip_si_possible' => (bool)$gunzip,
    1419                        'mysqldump_si_possible' => true,
  • _plugins_/migrateur/dev-by-http/class/Client/Action/SyncDirectory.php

    r88463 r88474  
    1010        private $directory = ''; // IMG
    1111        private $path = '';      // chemin/vers/IMG
     12        private $test = false;
    1213
    1314
    1415        public function run($data = null) {
    1516
    16                 $this->directory = $data;
     17                if (is_array($data)) {
     18                        $data += array(
     19                                'repertoire' => '',
     20                                'test' => false
     21                        );
     22                        $this->directory = $data['repertoire'];
     23                        $this->test = $data['test'];
     24                } else {
     25                        $this->directory = $data;
     26                }
    1727
    1828                if (!$this->directory) {
     
    2030                }
    2131
    22                 $this->log_run("Sync Répertoire <em>$this->directory</em>");
     32                $this->log_run("Sync Répertoire <em>$this->directory</em>" . ($this->test ? " [Test]" : ""));
    2333
    2434                // calcul du chemin complet
     
    5868                $this->log("Estimation des transferts : " . $reponse['message']['data']['downloadSize']);
    5969
    60                 $this->delete($files['deleted']);
    61                 $this->download($files['new'] + $files['updated']);
     70                // en mode test, on ne fait pas de modifications.
     71                if (!$this->test) {
     72                        $this->delete($files['deleted']);
     73                        $this->download($files['new'] + $files['updated']);
     74                }
    6275
    6376                return $reponse;
  • _plugins_/migrateur/dev-by-http/migrateur/config.php

    r88473 r88474  
    2020
    2121        'mig_sync_img'                  => 'Synchroniser le répertoire IMG',
    22         #'mig_sync'                     => array('Synchroniser le répertoire IMG', 'IMG'),
     22        #'mig_sync'                     => array('Synchroniser le répertoire IMG', array(
     23                'repertoire' => 'IMG',
     24                'test' => false,  // mode test : si true, liste les différences (nombre de fichiers nouveaux, modifiés, supprimés) mais ne modifie rien.
     25        )),
     26
    2327        'mig_bdd_source_make_and_get_dump_sql' => 'Crée et récupère un dump SQL de la base de données source'
    24         #'mig_bdd_source_make_dump'      => 'Crée un dump SQL de la base de données source (sur le site source dans tmp/dump)',
    25         #'mig_bdd_source_get_dump'       => 'Copie le dernier dump SQL du site source (sur ce site dans tmp/dump)',
     28        # Options possibles (et valeurs par défaut) :
     29        #'mig_bdd_source_make_and_get_dump_sql' => array('Crée et récupère un dump SQL de la base de données source', array(
     30                'gzip_si_possible' => true,      // compresse la base de données (si possible)
     31                'mysqldump_si_possible' => true, // utilise mysqldump si disponible, sinon phpdump (plus long, mais parfois plus simple à mettre en œuvre)
     32        )),
     33
    2634        'mig_bdd_destination_put_dump'  => 'Écrase la base de données actuelle par le dernier dump SQL présent dans tmp/dump)',
    2735
  • _plugins_/migrateur/dev-by-http/migrateur/mig_bdd_source_make_and_get_dump_sql.php

    r88466 r88474  
    77 * Récupère la base de données source
    88**/
    9 function migrateur_mig_bdd_source_make_and_get_dump_sql() {
     9function migrateur_mig_bdd_source_make_and_get_dump_sql($options = array()) {
    1010
    1111        $client = migrateur_client();
    12         $reponse = $client->action('DumpDatabase');
     12        $reponse = $client->action('DumpDatabase', $options);
    1313
    1414        if (!$reponse) {
  • _plugins_/migrateur/dev-by-http/migrateur/mig_sync.php

    r88473 r88474  
    77 * Synchronise les fichiers d'un répertoire
    88**/
    9 function migrateur_mig_sync($directory) {
     9function migrateur_mig_sync($options) {
    1010
    1111        $client = migrateur_client();
    12         $reponse = $client->action('SyncDirectory', $directory);
     12        $reponse = $client->action('SyncDirectory', $options);
    1313
    1414        if ($reponse) {
Note: See TracChangeset for help on using the changeset viewer.