Changeset 2927785
- Timestamp:
- 06/19/2023 09:05:08 AM (3 years ago)
- Location:
- stn-save-to-nextcloud/trunk
- Files:
-
- 4 edited
-
STN.php (modified) (1 diff)
-
inc/CreateBDD.php (modified) (2 diffs)
-
inc/CreateZip.php (modified) (2 diffs)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
stn-save-to-nextcloud/trunk/STN.php
r2927093 r2927785 8 8 * * Plugin URI: httsp://www.davelopweb.fr/ 9 9 * Description: Sauvegarde wordpress + Bdd mensuelle vers votre instance Nextcloud 10 * * Version: 2.2. 210 * * Version: 2.2.3 11 11 * Author: Dave DELALLEAU / Lucas BOUTEVIN SANCE 12 12 * Author URI: https://www.davelopweb.fr/#contact -
stn-save-to-nextcloud/trunk/inc/CreateBDD.php
r2927093 r2927785 26 26 } 27 27 28 //taille Max29 $numBDD = 1;30 $thisBDDSize = 0;31 28 32 29 // Pour toute les tables 33 30 foreach ($tables as $table) { 34 35 //comparatif du compteur avec fileNumber en cours36 if( $numBDD > $inProgress['fileNumber'] ) {37 38 31 39 32 if($table != $wpdb->prefix.'stn_dir_chunk' && $table != $wpdb->prefix.'stn_file_in_zip'){ … … 77 70 } 78 71 // 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"; 83 73 84 74 }; 85 86 //incrémentation du compteur87 $numBDD++;88 89 // Vérification de la taille du chunk90 if ( $thisBDDSize >= $inProgress['memory'] ) {91 75 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 }; 102 77 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"); 111 81 82 // Ecrit le script à l'interieur 83 fwrite($handle,$script); 84 // Ferme le fichier 85 fclose($handle); 112 86 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 ); 116 94 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 96 wp_schedule_single_event(time(),'stn_SaveInProgress');?> -
stn-save-to-nextcloud/trunk/inc/CreateZip.php
r2926570 r2927785 53 53 $taille += filesize($filePath); 54 54 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); 58 60 59 } catch (Exception $e) {60 // Gestion de l'exception61 } catch (Exception $e) { 62 // Gestion de l'exception 61 63 62 // Construire le chemin du fichier d'erreur au même endroit que le fichier original63 $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"; 64 66 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(); 68 74 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 }; 69 89 }; 70 90 }; … … 72 92 //incrémentation du compteur 73 93 $numFichier++; 74 75 //si le zip partiel, on le ferme et on relance le cron76 if( $taille > $inProgress['memory'] ){77 78 $zip->close();79 80 // Nouvelles données81 $data = array( "fileNumber" => $numFichier );82 $where = array("finish" => 0 );83 84 // Execute la requête85 $wpdb->update($wpdb->prefix.'stn_saveInProgress', $data, $where);86 87 //lancement du prochain ZIP88 wp_schedule_single_event(time(),'stn_SaveInProgress');89 90 //fin du script avant relance par cron pour eviter le timeout91 exit();92 93 };94 94 95 95 }; -
stn-save-to-nextcloud/trunk/readme.txt
r2927093 r2927785 5 5 Requires PHP: 7.3 6 6 Tested up to: 6.2 7 Stable tag: 2.2. 27 Stable tag: 2.2.3 8 8 License: GPLv2 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 43 43 44 44 45 = 2.2. 2=45 = 2.2.3 = 46 46 47 47 optimisation du code
Note: See TracChangeset
for help on using the changeset viewer.