Plugin Directory

Changeset 2927785


Ignore:
Timestamp:
06/19/2023 09:05:08 AM (3 years ago)
Author:
davelopweb
Message:

optimisation du code

Location:
stn-save-to-nextcloud/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • stn-save-to-nextcloud/trunk/STN.php

    r2927093 r2927785  
    88 *  * Plugin URI: httsp://www.davelopweb.fr/
    99 * Description: Sauvegarde wordpress + Bdd mensuelle vers votre instance Nextcloud
    10  *  * Version: 2.2.2
     10 *  * Version: 2.2.3
    1111 * Author: Dave DELALLEAU / Lucas BOUTEVIN SANCE
    1212 * Author URI: https://www.davelopweb.fr/#contact
  • stn-save-to-nextcloud/trunk/inc/CreateBDD.php

    r2927093 r2927785  
    2626}
    2727
    28 //taille Max
    29 $numBDD = 1;
    30 $thisBDDSize = 0;
    3128
    3229// Pour toute les tables
    3330foreach ($tables as $table) {
    34        
    35     //comparatif du compteur avec fileNumber en cours
    36     if( $numBDD > $inProgress['fileNumber'] )   {
    37        
    3831       
    3932        if($table != $wpdb->prefix.'stn_dir_chunk' && $table != $wpdb->prefix.'stn_file_in_zip'){
     
    7770            }
    7871            // Saute de lignes pour marqué la fin de cet table
    79             $script .= "\n\n\n";
    80            
    81             //calcul de la taille de la variable
    82             $thisBDDSize = strlen($script);         
     72            $script .= "\n\n\n";           
    8373           
    8474        };
    85        
    86         //incrémentation du compteur
    87         $numBDD++; 
    88        
    89         // Vérification de la taille du chunk
    90         if ( $thisBDDSize >= $inProgress['memory'] ) {
    9175
    92             // Créer et ouvre le écriture le fichiers de la BDD dans le serveur
    93             $bddfile = ABSPATH . "stnSave_BDD.sql";
    94             $handle = fopen($bddfile,"a");
    95    
    96             // Ecrit le script à l'interieur
    97             fwrite($handle,$script);
    98            
    99             // Nouvelles données
    100             $data = array( "fileNumber"  => $thisBDDSize );
    101             $where = array("finish" => 0 );
     76};
    10277
    103             // Execute la requête
    104             $wpdb->update($wpdb->prefix.'stn_saveInProgress', $data, $where);
    105                    
    106             //lancement du prochain ZIP
    107             wp_schedule_single_event(time(),'stn_SaveInProgress');
    108                    
    109             //fin du script avant relance par cron pour eviter le timeout
    110             exit();         
     78// Créer et ouvre le écriture le fichiers de la BDD dans le serveur
     79$bddfile = ABSPATH . "stnSave_BDD.sql";
     80$handle = fopen($bddfile,"a");
    11181
     82// Ecrit le script à l'interieur
     83fwrite($handle,$script);
     84// Ferme le fichier
     85fclose($handle);
    11286
    113         };
    114     }
    115 }
     87//On change l'état de la sauvegarde
     88$datafinish = array(
     89                "etat" => 1,
     90                "fileNumber"  => 0
     91              );
     92$wherefinish = array( "finish" => 0 );
     93$wpdb->update( $wpdb->prefix.'stn_saveInProgress' , $datafinish, $wherefinish );
    11694
    117 
    118     // Créer et ouvre le écriture le fichiers de la BDD dans le serveur
    119     $bddfile = ABSPATH . "stnSave_BDD.sql";
    120     $handle = fopen($bddfile,"a");
    121    
    122     // Ecrit le script à l'interieur
    123     fwrite($handle,$script);
    124     // Ferme le fichier
    125     fclose($handle);
    126    
    127     //On change l'état de la sauvegarde
    128     $datafinish = array(
    129                     "etat" => 1,
    130                     "fileNumber"  => 0
    131                   );
    132     $wherefinish = array( "finish" => 0 );
    133     $wpdb->update( $wpdb->prefix.'stn_saveInProgress' , $datafinish, $wherefinish );
    134    
    135     //lancement de la prochaine étape
    136     wp_schedule_single_event(time(),'stn_SaveInProgress');
    137 ?>
     95//lancement de la prochaine étape
     96wp_schedule_single_event(time(),'stn_SaveInProgress');?>
  • stn-save-to-nextcloud/trunk/inc/CreateZip.php

    r2926570 r2927785  
    5353            $taille += filesize($filePath);
    5454           
    55             try {
    56                 // Code potentiellement problématique
    57                 $zip->addFile($filePath, "wp-content/" . $relativePath);
     55            if ( $taille > $inProgress['memory'] ) {
     56               
     57                try {
     58                    // Code potentiellement problématique
     59                    $zip->addFile($filePath, "wp-content/" . $relativePath);
    5860
    59             } catch (Exception $e) {
    60                 // Gestion de l'exception
     61                } catch (Exception $e) {
     62                    // Gestion de l'exception
    6163
    62                 // Construire le chemin du fichier d'erreur au même endroit que le fichier original
    63                 $cheminFichierErreur = "wp-content/" . $relativePath . "_erreur.txt";
     64                    // Construire le chemin du fichier d'erreur au même endroit que le fichier original
     65                    $cheminFichierErreur = "wp-content/" . $relativePath . "_erreur.txt";
    6466
    65                 // Ajouter le fichier d'erreur vide au zip avec le chemin correspondant
    66                 $zip->addFromString($cheminFichierErreur, '');
    67             }; 
     67                    // Ajouter le fichier d'erreur vide au zip avec le chemin correspondant
     68                    $zip->addFromString($cheminFichierErreur, '');
     69                }; 
     70               
     71            }else{
     72               
     73                $zip->close();
    6874
     75                // Nouvelles données
     76                $data = array( "fileNumber"  => $numFichier );
     77                $where = array("finish" => 0 );
     78
     79                // Execute la requête
     80                $wpdb->update($wpdb->prefix.'stn_saveInProgress', $data, $where);
     81                       
     82                //lancement du prochain ZIP
     83                wp_schedule_single_event(time(),'stn_SaveInProgress');
     84                       
     85                //fin du script avant relance par cron pour eviter le timeout
     86                exit();
     87               
     88            };
    6989        };
    7090    };
     
    7292    //incrémentation du compteur
    7393    $numFichier++; 
    74    
    75     //si le zip partiel, on le ferme et on relance le cron
    76     if( $taille > $inProgress['memory'] ){
    77                          
    78         $zip->close();
    79 
    80         // Nouvelles données
    81         $data = array( "fileNumber"  => $numFichier );
    82         $where = array("finish" => 0 );
    83 
    84         // Execute la requête
    85         $wpdb->update($wpdb->prefix.'stn_saveInProgress', $data, $where);
    86                
    87         //lancement du prochain ZIP
    88         wp_schedule_single_event(time(),'stn_SaveInProgress');
    89                
    90         //fin du script avant relance par cron pour eviter le timeout
    91         exit();
    92    
    93     };
    9494
    9595};
  • stn-save-to-nextcloud/trunk/readme.txt

    r2927093 r2927785  
    55Requires PHP: 7.3
    66Tested up to: 6.2
    7 Stable tag: 2.2.2
     7Stable tag: 2.2.3
    88License: GPLv2
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    4343
    4444
    45 = 2.2.2 =
     45= 2.2.3 =
    4646
    4747optimisation du code
Note: See TracChangeset for help on using the changeset viewer.