Changeset 2861721
- Timestamp:
- 02/07/2023 08:44:12 PM (3 years ago)
- Location:
- zoneit-backup
- Files:
-
- 46 added
- 2 deleted
- 2 edited
-
tags/1.0.1 (added)
-
tags/1.0.1/composer.json (added)
-
tags/1.0.1/composer.lock (added)
-
tags/1.0.1/includes (added)
-
tags/1.0.1/includes/class.rest-api.php (added)
-
tags/1.0.1/includes/class.settings.php (added)
-
tags/1.0.1/readme.txt (added)
-
tags/1.0.1/vendor (added)
-
tags/1.0.1/vendor/autoload.php (added)
-
tags/1.0.1/vendor/composer (added)
-
tags/1.0.1/vendor/composer/ClassLoader.php (added)
-
tags/1.0.1/vendor/composer/InstalledVersions.php (added)
-
tags/1.0.1/vendor/composer/LICENSE (added)
-
tags/1.0.1/vendor/composer/autoload_classmap.php (added)
-
tags/1.0.1/vendor/composer/autoload_namespaces.php (added)
-
tags/1.0.1/vendor/composer/autoload_psr4.php (added)
-
tags/1.0.1/vendor/composer/autoload_real.php (added)
-
tags/1.0.1/vendor/composer/autoload_static.php (added)
-
tags/1.0.1/vendor/composer/installed.json (added)
-
tags/1.0.1/vendor/composer/installed.php (added)
-
tags/1.0.1/vendor/composer/platform_check.php (added)
-
tags/1.0.1/vendor/ifsnop (added)
-
tags/1.0.1/vendor/ifsnop/mysqldump-php (added)
-
tags/1.0.1/vendor/ifsnop/mysqldump-php/LICENSE (added)
-
tags/1.0.1/vendor/ifsnop/mysqldump-php/README.md (added)
-
tags/1.0.1/vendor/ifsnop/mysqldump-php/composer.json (added)
-
tags/1.0.1/vendor/ifsnop/mysqldump-php/src (added)
-
tags/1.0.1/vendor/ifsnop/mysqldump-php/src/Ifsnop (added)
-
tags/1.0.1/vendor/ifsnop/mysqldump-php/src/Ifsnop/Mysqldump (added)
-
tags/1.0.1/vendor/ifsnop/mysqldump-php/src/Ifsnop/Mysqldump/Mysqldump.php (added)
-
tags/1.0.1/zoneit-backup.php (added)
-
trunk/assets (added)
-
trunk/assets/css (added)
-
trunk/assets/css/sweetalert2.min.css (added)
-
trunk/assets/css/timepicker.css (added)
-
trunk/assets/js (added)
-
trunk/assets/js/sweetalert2.min.js (added)
-
trunk/assets/js/timepicker.js (added)
-
trunk/includes/class-backup-core.php (added)
-
trunk/includes/class-backups-list.php (added)
-
trunk/includes/class-cron-backup.php (added)
-
trunk/includes/class-rest-api.php (added)
-
trunk/includes/class-restore-core.php (added)
-
trunk/includes/class-settings.php (added)
-
trunk/includes/class.rest-api.php (deleted)
-
trunk/includes/class.settings.php (deleted)
-
trunk/includes/services (added)
-
trunk/includes/services/class-backup-service.php (added)
-
trunk/readme.txt (modified) (4 diffs)
-
trunk/zoneit-backup.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
zoneit-backup/trunk/readme.txt
r2825889 r2861721 3 3 Tags: local backup, create backup, zoneit backup, db backup, wordpress backup, wpbackup, wp backup 4 4 Requires at least: 5.0 5 Tested up to: 6.1 .16 Stable tag: 1. 0.15 Tested up to: 6.1 6 Stable tag: 1.1 7 7 License: GPLv2 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 15 15 16 16 You Can use this plugin for migrating your website to Zoneit Cloud. 17 18 Features: 19 - Create Backup - manually 20 - View And Delete Backups List 21 - Restore Backup 17 22 18 23 == Installation == … … 37 42 == Changelog == 38 43 39 = 1.0.1 = 40 * Added zoneit cloud api service 44 = 1.1 = 45 * Added backups list 46 * Added restore action for every backup 41 47 42 48 = 1.0 = … … 45 51 == Upgrade Notice == 46 52 53 = 1.1 = 54 * Added backups list 55 * Added restore action for every backup 56 47 57 = 1.0 = 48 58 * launch first version -
zoneit-backup/trunk/zoneit-backup.php
r2825889 r2861721 1 1 <?php 2 2 /* 3 Plugin Name: Zone ITBackup3 Plugin Name: Zoneit Backup 4 4 Description: This plugin is creating a backup from website files and db 5 Version: 1. 0.15 Version: 1.1 6 6 Author: Zoneit Cloud 7 7 Author URI: https://zoneit.cloud 8 8 License: GPL-2.0+ 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html 10 Domain Path: / lang10 Domain Path: /;anguages 11 11 Text Domain: zoneit-backup 12 12 */ … … 26 26 { 27 27 define('ZONEIT_BACKUP_DIR', ABSPATH.'backup/' ); 28 define('ZONEIT_BACKUP_URL', get_site_url().'/backup/' );29 30 // create backup 31 add_action( 'zoneit_backup_create_backup', array(&$this, 'create_backup'));28 define('ZONEIT_BACKUP_URL', get_site_url().'/backup/' ); 29 define('ZONEIT_BACKUP_PLUGIN_DIR', plugin_dir_path( __FILE__ ) ); 30 define('ZONEIT_BACKUP_PLUGIN_URL', plugin_dir_url( __FILE__ ) ); 31 define('ZONEIT_DB_PREFIX', 'zoneit_'); 32 32 33 // zoneit backup settings 34 require_once('includes/class.settings.php');33 // delete option in new version 34 delete_option('zoneit_backup_urls'); 35 35 36 // zoneit backup api route 37 require_once('includes/class.rest-api.php'); 36 // include 37 require_once 'includes/class-backup-core.php'; 38 require_once 'includes/services/class-backup-service.php'; 39 require_once 'includes/class-backups-list.php'; 40 require_once 'includes/class-cron-backup.php'; 41 require_once 'includes/class-restore-core.php'; 42 require_once 'includes/class-settings.php'; 43 44 // zoneit backup api route 45 require_once('includes/class-rest-api.php'); 38 46 39 47 } // END public function __construct() 40 48 41 /**42 * create backup from db43 * @param void44 * @return mysql_dump_url45 */46 public static function zoneit_db_dump()47 {48 ini_set('max_execution_time', '0');49 50 require_once('vendor/autoload.php');51 $file_name = 'zoneit_db_'.md5(sha1("Zoneit".get_site_url()."BackUp")).'_'.date("Ymd").'.sql';52 53 if(!is_dir( ZONEIT_BACKUP_DIR ))54 mkdir( ZONEIT_BACKUP_DIR );55 56 if(file_exists( ZONEIT_BACKUP_DIR . $file_name ) )57 unlink( ZONEIT_BACKUP_DIR . $file_name );58 59 try {60 $dump = new \Ifsnop\Mysqldump\Mysqldump('mysql:host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASSWORD);61 $dump->start( ZONEIT_BACKUP_DIR . $file_name );62 return ZONEIT_BACKUP_URL . $file_name;63 } catch (\Exception $e) {64 //return 'mysqldump-php error: ' . $e->getMessage();65 return '';66 }67 }68 69 /**70 * create zip backup from files71 * @param void72 * @return zip_archive_url73 */74 public static function zoneit_file_archive()75 {76 ini_set('max_execution_time', '0');77 78 // Get real path for our folder79 $rootPath = realpath( ABSPATH );80 $file_name = 'zoneit_archive_'.md5(sha1("Zoneit".get_site_url()."BackUp")).'_'.date("Ymd").'.zip';81 82 if( file_exists( ZONEIT_BACKUP_DIR . $file_name ) )83 unlink( ZONEIT_BACKUP_DIR . $file_name );84 85 // Initialize archive object86 $zip = new ZipArchive();87 $zip->open( ZONEIT_BACKUP_DIR . '/' . $file_name , ZipArchive::CREATE | ZipArchive::OVERWRITE);88 89 // Create recursive directory iterator90 /** @var SplFileInfo[] $files */91 $files = new RecursiveIteratorIterator(92 new RecursiveDirectoryIterator($rootPath),93 RecursiveIteratorIterator::LEAVES_ONLY94 );95 96 foreach ($files as $name => $file)97 {98 // Skip directories (they would be added automatically)99 if (!$file->isDir())100 {101 // Get real and relative path for current file102 $filePath = $file->getRealPath();103 $relativePath = substr($filePath, strlen($rootPath) + 1);104 105 // Add current file to archive106 $zip->addFile($filePath, $relativePath);107 }108 }109 110 // Zip archive will be created only after closing object111 $zip->close();112 if( file_exists( ZONEIT_BACKUP_DIR . $file_name ) )113 return ZONEIT_BACKUP_URL . $file_name;114 else115 return '';116 }117 118 /**119 * Create MySQL Dump and zip archive files using cron job120 */121 public static function run_backup_event()122 {123 if( !wp_next_scheduled( 'zoneit_backup_create_backup' ) )124 {125 wp_schedule_single_event( time(), 'zoneit_backup_create_backup');126 }127 }128 129 /**130 * Create MySQL Dump and zip archive files using cron job131 *132 */133 public static function create_backup()134 {135 $zoneit_backup = get_option('zoneit_backup_urls');136 137 $zoneit_backup['status'] = true;138 139 // db dump file140 $db_dump_file_url = self::zoneit_db_dump();141 if( !empty( $db_dump_file_url ) )142 {143 $zoneit_backup['db'] = $db_dump_file_url;144 }145 146 // archive file147 $archive_file_url = self::zoneit_file_archive();148 if( !empty( $archive_file_url ) )149 {150 $zoneit_backup['archive'] = $archive_file_url;151 }152 153 // update option154 update_option('zoneit_backup_urls', $zoneit_backup );155 156 // final request to zoneit endpoint157 Zoneit_Backup_REST_API::connect_zoneit_api();158 }159 160 /**161 * Get backup links162 * @param void163 * @return backup_urls164 */165 public static function get_backup_urls()166 {167 $backup_urls = [];168 $backup_urls = get_option('zoneit_backup_urls');169 170 // remove db url before return171 unset($backup_urls['db']);172 173 return $backup_urls;174 }175 176 49 /** 177 50 * Activate the plugin
Note: See TracChangeset
for help on using the changeset viewer.