forked from watchfulli/XCloner-Wordpress
-
Notifications
You must be signed in to change notification settings - Fork 5
/
xcloner.php
128 lines (108 loc) · 3.83 KB
/
xcloner.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?php
/**
* The plugin bootstrap file
*
* This file is read by WordPress to generate the plugin information in the plugin
* admin area. This file also includes all of the dependencies used by the plugin,
* registers the activation and deactivation functions, and defines a function
* that starts the plugin.
*
* @link http://www.thinkovi.com
* @since 1.0.0
* @package Xcloner
*
* @wordpress-plugin
* Plugin Name: XCloner - Site Backup and Restore
* Plugin URI: http://www.xcloner.com
* Description: XCloner is a tool that will help you manage your website backups, generate/restore/move so your website will be always secured! With XCloner you will be able to clone your site to any other location with just a few clicks, as well as transfer the backup archives to remote FTP, SFTP, DropBox, Amazon S3, Google Drive, WebDAV, Backblaze, Azure accounts.
* Version: 4.1.2
* Author: Liuta Ovidiu
* Author URI: http://www.thinkovi.com
* License: GPL-2.0+
* License URI: http://www.gnu.org/licenses/gpl-2.0.txt
* Text Domain: xcloner-backup-and-restore
* Domain Path: /languages
*/
// If this file is called directly, abort.
if (!defined('WPINC')) {
die;
}
//i will not load the plugin outside admin or cron
if (!is_admin() and !defined('DOING_CRON')) {
return;
}
if (!defined("DS")) {
define("DS", DIRECTORY_SEPARATOR);
}
/**
* The code that runs during plugin activation.
* This action is documented in includes/class-xcloner-activator.php
*/
function activate_xcloner() {
require_once plugin_dir_path(__FILE__).'includes/class-xcloner-activator.php';
Xcloner_Activator::activate();
}
/**
* The code that runs during plugin deactivation.
* This action is documented in includes/class-xcloner-deactivator.php
*/
function deactivate_xcloner() {
require_once plugin_dir_path(__FILE__).'includes/class-xcloner-deactivator.php';
Xcloner_Deactivator::deactivate();
}
register_activation_hook(__FILE__, 'activate_xcloner');
register_deactivation_hook(__FILE__, 'deactivate_xcloner');
require_once plugin_dir_path(__FILE__).'includes/class-xcloner-activator.php';
if (version_compare(phpversion(), Xcloner_Activator::xcloner_minimum_version, '<')) {
?>
<div class="error notice">
<p><?php echo sprintf(__("XCloner requires minimum PHP version %s in order to run correctly. We have detected your version as %s. Plugin is now deactivated."), Xcloner_Activator::xcloner_minimum_version, phpversion()) ?></p>
</div>
<?php
require_once(ABSPATH.'wp-admin/includes/plugin.php');
deactivate_plugins(plugin_basename(__FILE__));
return;
}
$db_installed_ver = get_option("xcloner_db_version");
$xcloner_db_version = Xcloner_Activator::xcloner_db_version;
if ($db_installed_ver != $xcloner_db_version) {
Xcloner_Activator::activate();
}
/**
* The core plugin class that is used to define internationalization,
* admin-specific hooks, and public-facing site hooks.
*/
function xcloner_stop_heartbeat() {
wp_deregister_script('heartbeat');
}
if (isset($_GET['page']) and stristr($_GET['page'], "xcloner_")) {
add_action('init', 'xcloner_stop_heartbeat', 1);
}
/**
* Begins execution of the plugin.
*
* Since everything within the plugin is registered via hooks,
* then kicking off the plugin from this point in the file does
* not affect the page life cycle.
*
* @since 1.0.0
*/
function run_xcloner() {
$plugin = new Xcloner();
$plugin->check_dependencies();
$plugin->init();
$plugin->run();
return $plugin;
}
require_once(plugin_dir_path(__FILE__).'/vendor/autoload.php');
require plugin_dir_path(__FILE__).'includes/class-xcloner.php';
try {
$xcloner_plugin = run_xcloner();
}catch (Exception $e) {
echo $e->getMessage();
}
/*
if(isset($_GET['page']) && $_GET['page'] == "xcloner_pre_auto_update")
{
wp_maybe_auto_update();
}*/