Version Description
- WordPress Multisite support
- Bugs fixed
Download this release
Release Info
Developer | infinitewp |
Plugin | InfiniteWP Client |
Version | 1.0.1 |
Comparing to | |
See all releases |
Code changes from version 0.1.5 to 1.0.1
- backup.class.php +6 -638
- core.class.php +17 -11
- init.php +3 -238
- installer.class.php +1 -15
- readme.txt +63 -0
- screenshot-1.png +0 -0
- screenshot-2.png +0 -0
- screenshot-3.png +0 -0
- screenshot-4.png +0 -0
- screenshot-5.png +0 -0
- stats.class.php +1 -9
backup.class.php
CHANGED
@@ -82,14 +82,6 @@ class IWP_MMB_Backup extends IWP_MMB_Core
|
|
82 |
'db_dump' => 1,
|
83 |
'db_zip' => 2,
|
84 |
'files_zip' => 3,
|
85 |
-
/*
|
86 |
-
//IWP Remove starts here
|
87 |
-
's3' => 4,
|
88 |
-
'dropbox' => 5,
|
89 |
-
'ftp' => 6,
|
90 |
-
'email' => 7,
|
91 |
-
//IWP Remove ends here
|
92 |
-
*/
|
93 |
'finished' => 100
|
94 |
);
|
95 |
$this->tasks = get_option('iwp_client_backup_tasks');
|
@@ -121,20 +113,8 @@ class IWP_MMB_Backup extends IWP_MMB_Core
|
|
121 |
'removed' => true
|
122 |
);
|
123 |
} else {
|
124 |
-
|
125 |
-
//IWP Remove starts here
|
126 |
-
if (is_array($params['account_info'])) { //only if sends from IWP Admin Panel first time(secure data)
|
127 |
-
$args['account_info'] = $account_info;
|
128 |
-
}
|
129 |
-
//IWP Remove ends here
|
130 |
-
*/
|
131 |
$before[$task_name]['task_args'] = $args;
|
132 |
-
/*
|
133 |
-
//IWP Remove starts here
|
134 |
-
if (strlen($args['schedule']))
|
135 |
-
$before[$task_name]['task_args']['next'] = $this->schedule_next($args['type'], $args['schedule']);
|
136 |
-
//IWP Remove ends here
|
137 |
-
*/
|
138 |
$return = $before[$task_name];
|
139 |
}
|
140 |
|
@@ -230,44 +210,6 @@ if (strlen($args['schedule']))
|
|
230 |
|
231 |
}
|
232 |
|
233 |
-
/*
|
234 |
-
//IWP Remove starts here
|
235 |
-
function task_now($task_name){
|
236 |
-
|
237 |
-
$settings = $this->tasks;
|
238 |
-
if(!array_key_exists($task_name,$settings)){
|
239 |
-
return array('error' => $task_name." does not exist.");
|
240 |
-
} else {
|
241 |
-
$setting = $settings[$task_name];
|
242 |
-
}
|
243 |
-
|
244 |
-
$this->set_backup_task(array(
|
245 |
-
'task_name' => $task_name,
|
246 |
-
'args' => $settings[$task_name]['task_args'],
|
247 |
-
'time' => time()
|
248 |
-
));
|
249 |
-
|
250 |
-
//Run backup
|
251 |
-
$result = $this->backup($setting['task_args'], $task_name);
|
252 |
-
|
253 |
-
//Check for error
|
254 |
-
if (is_array($result) && array_key_exists('error', $result)) {
|
255 |
-
$this->set_backup_task(array(
|
256 |
-
'task_name' => $task_name,
|
257 |
-
'args' => $settings[$task_name]['task_args'],
|
258 |
-
'error' => $result['error']
|
259 |
-
));
|
260 |
-
return $result;
|
261 |
-
} else {
|
262 |
-
return $this->get_backup_stats();
|
263 |
-
}
|
264 |
-
|
265 |
-
}
|
266 |
-
//IWP Remove ends here
|
267 |
-
*/
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
/*
|
272 |
* If Task Name not set then it's manual backup
|
273 |
* Backup args:
|
@@ -404,27 +346,7 @@ function task_now($task_name){
|
|
404 |
'file_url' => $backup_url
|
405 |
);
|
406 |
}
|
407 |
-
|
408 |
-
/*
|
409 |
-
//IWP Remove starts here
|
410 |
-
if (isset($backup_settings[$task_name]['task_args']['account_info']['iwp_ftp'])) {
|
411 |
-
$paths['ftp'] = basename($backup_url);
|
412 |
-
}
|
413 |
-
|
414 |
-
if (isset($backup_settings[$task_name]['task_args']['account_info']['iwp_amazon_s3'])) {
|
415 |
-
$paths['amazons3'] = basename($backup_url);
|
416 |
-
}
|
417 |
-
|
418 |
-
if (isset($backup_settings[$task_name]['task_args']['account_info']['iwp_dropbox'])) {
|
419 |
-
$paths['dropbox'] = basename($backup_url);
|
420 |
-
}
|
421 |
-
|
422 |
-
if (isset($backup_settings[$task_name]['task_args']['account_info']['iwp_email'])) {
|
423 |
-
$paths['email'] = basename($backup_url);
|
424 |
-
}
|
425 |
-
//IWP Remove ends here
|
426 |
-
*/
|
427 |
-
|
428 |
$temp = $backup_settings[$task_name]['task_results'];
|
429 |
$temp = array_values($temp);
|
430 |
$paths['time'] = time();
|
@@ -443,71 +365,9 @@ if (isset($backup_settings[$task_name]['task_args']['account_info']['iwp_ftp']))
|
|
443 |
//update_option('iwp_client_backup_tasks', $backup_settings);
|
444 |
}
|
445 |
|
446 |
-
|
447 |
//Additional: Email, ftp, amazon_s3, dropbox...
|
448 |
|
449 |
if ($task_name != 'Backup Now') {
|
450 |
-
/*
|
451 |
-
//IWP Remove starts here
|
452 |
-
if (isset($account_info['iwp_ftp']) && !empty($account_info['iwp_ftp'])) {
|
453 |
-
$this->update_status($task_name, $this->statuses['ftp']);
|
454 |
-
$account_info['iwp_ftp']['backup_file'] = $backup_file;
|
455 |
-
$ftp_result = $this->ftp_backup($account_info['iwp_ftp']);
|
456 |
-
|
457 |
-
if ($ftp_result !== true && $del_host_file) {
|
458 |
-
@unlink($backup_file);
|
459 |
-
}
|
460 |
-
|
461 |
-
if (is_array($ftp_result) && isset($ftp_result['error'])) {
|
462 |
-
return $ftp_result;
|
463 |
-
}
|
464 |
-
$this->wpdb_reconnect();
|
465 |
-
$this->update_status($task_name, $this->statuses['ftp'], true);
|
466 |
-
}
|
467 |
-
|
468 |
-
if (isset($account_info['iwp_amazon_s3']) && !empty($account_info['iwp_amazon_s3'])) {
|
469 |
-
$this->update_status($task_name, $this->statuses['s3']);
|
470 |
-
$account_info['iwp_amazon_s3']['backup_file'] = $backup_file;
|
471 |
-
$amazons3_result = $this->amazons3_backup($account_info['iwp_amazon_s3']);
|
472 |
-
if ($amazons3_result !== true && $del_host_file) {
|
473 |
-
@unlink($backup_file);
|
474 |
-
}
|
475 |
-
if (is_array($amazons3_result) && isset($amazons3_result['error'])) {
|
476 |
-
return $amazons3_result;
|
477 |
-
}
|
478 |
-
$this->wpdb_reconnect();
|
479 |
-
$this->update_status($task_name, $this->statuses['s3'], true);
|
480 |
-
}
|
481 |
-
|
482 |
-
if (isset($account_info['iwp_dropbox']) && !empty($account_info['iwp_dropbox'])) {
|
483 |
-
$this->update_status($task_name, $this->statuses['dropbox']);
|
484 |
-
$account_info['iwp_dropbox']['backup_file'] = $backup_file;
|
485 |
-
$dropbox_result = $this->dropbox_backup($account_info['iwp_dropbox']);
|
486 |
-
if ($dropbox_result !== true && $del_host_file) {
|
487 |
-
@unlink($backup_file);
|
488 |
-
}
|
489 |
-
|
490 |
-
if (is_array($dropbox_result) && isset($dropbox_result['error'])) {
|
491 |
-
return $dropbox_result;
|
492 |
-
}
|
493 |
-
$this->wpdb_reconnect();
|
494 |
-
$this->update_status($task_name, $this->statuses['dropbox'], true);
|
495 |
-
}
|
496 |
-
|
497 |
-
if (isset($account_info['iwp_email']) && !empty($account_info['iwp_email'])) {
|
498 |
-
$this->update_status($task_name, $this->statuses['email']);
|
499 |
-
$account_info['iwp_email']['task_name'] = $task_name;
|
500 |
-
$account_info['iwp_email']['file_path'] = $backup_file;
|
501 |
-
|
502 |
-
$email_result = $this->email_backup($account_info['iwp_email']);
|
503 |
-
if (is_array($email_result) && isset($email_result['error'])) {
|
504 |
-
return $email_result;
|
505 |
-
}
|
506 |
-
$this->update_status($task_name, $this->statuses['email'], true);
|
507 |
-
}
|
508 |
-
//IWP Remove ends here
|
509 |
-
*/
|
510 |
-
|
511 |
if ($del_host_file) {
|
512 |
@unlink($backup_file);
|
513 |
}
|
@@ -859,31 +719,7 @@ if (isset($account_info['iwp_ftp']) && !empty($account_info['iwp_ftp'])) {
|
|
859 |
if (isset($task['task_results'][$result_id]['server'])) {
|
860 |
$backup_file = $task['task_results'][$result_id]['server']['file_path'];
|
861 |
$unlink_file = false; //Don't delete file if stored on server
|
862 |
-
}
|
863 |
-
//IWP Remove starts here
|
864 |
-
elseif (isset($task['task_results'][$result_id]['ftp'])) {
|
865 |
-
$ftp_file = $task['task_results'][$result_id]['ftp'];
|
866 |
-
$args = $task['task_args']['account_info']['iwp_ftp'];
|
867 |
-
$args['backup_file'] = $ftp_file;
|
868 |
-
$backup_file = $this->get_ftp_backup($args);
|
869 |
-
if ($backup_file == false) {
|
870 |
-
return array(
|
871 |
-
'error' => 'Failed to download file from FTP.'
|
872 |
-
);
|
873 |
-
}
|
874 |
-
} elseif (isset($task['task_results'][$result_id]['amazons3'])) {
|
875 |
-
$amazons3_file = $task['task_results'][$result_id]['amazons3'];
|
876 |
-
$args = $task['task_args']['account_info']['iwp_amazon_s3'];
|
877 |
-
$args['backup_file'] = $ftp_file;
|
878 |
-
$backup_file = $this->get_amazons3_backup($args);
|
879 |
-
if ($backup_file == false) {
|
880 |
-
return array(
|
881 |
-
'error' => 'Failed to download file from Amazon S3.'
|
882 |
-
);
|
883 |
-
}
|
884 |
-
}
|
885 |
-
//IWP Remove ends here
|
886 |
-
*/
|
887 |
|
888 |
$what = $tasks[$task_name]['task_args']['what'];
|
889 |
}
|
@@ -1343,351 +1179,7 @@ elseif (isset($task['task_results'][$result_id]['ftp'])) {
|
|
1343 |
|
1344 |
return $reqs;
|
1345 |
}
|
1346 |
-
|
1347 |
-
/*
|
1348 |
-
//IWP Remove starts here
|
1349 |
-
function email_backup($args)
|
1350 |
-
{
|
1351 |
-
$email = $args['email'];
|
1352 |
-
|
1353 |
-
if (!is_email($email)) {
|
1354 |
-
return array(
|
1355 |
-
'error' => 'Your email (' . $email . ') is not correct'
|
1356 |
-
);
|
1357 |
-
}
|
1358 |
-
$backup_file = $args['file_path'];
|
1359 |
-
$task_name = isset($args['task_name']) ? $args['task_name'] : '';
|
1360 |
-
if (file_exists($backup_file) && $email) {
|
1361 |
-
$attachments = array(
|
1362 |
-
$backup_file
|
1363 |
-
);
|
1364 |
-
$headers = 'From: InfiniteWP <no-reply@infinitewp.com>' . "\r\n";
|
1365 |
-
$subject = "InfiniteWP - " . $task_name . " - " . $this->site_name;
|
1366 |
-
ob_start();
|
1367 |
-
$result = wp_mail($email, $subject, $subject, $headers, $attachments);
|
1368 |
-
ob_end_clean();
|
1369 |
-
|
1370 |
-
}
|
1371 |
-
|
1372 |
-
if (!$result) {
|
1373 |
-
return array(
|
1374 |
-
'error' => 'Email not sent. Maybe your backup is too big for email or email server is not available on your website.'
|
1375 |
-
);
|
1376 |
-
}
|
1377 |
-
return true;
|
1378 |
-
|
1379 |
-
}
|
1380 |
-
|
1381 |
-
function ftp_backup($args)
|
1382 |
-
{
|
1383 |
-
extract($args);
|
1384 |
-
//Args: $ftp_username, $ftp_password, $ftp_hostname, $backup_file, $ftp_remote_folder, $ftp_site_folder
|
1385 |
-
$port = $ftp_port ? $ftp_port : 21; //default port is 21
|
1386 |
-
if ($ftp_ssl) {
|
1387 |
-
if (function_exists('ftp_ssl_connect')) {
|
1388 |
-
$conn_id = ftp_ssl_connect($ftp_hostname,$port);
|
1389 |
-
} else {
|
1390 |
-
return array(
|
1391 |
-
'error' => 'Your server doesn\'t support SFTP',
|
1392 |
-
'partial' => 1
|
1393 |
-
);
|
1394 |
-
}
|
1395 |
-
} else {
|
1396 |
-
if (function_exists('ftp_connect')) {
|
1397 |
-
$conn_id = ftp_connect($ftp_hostname,$port);
|
1398 |
-
if ($conn_id === false) {
|
1399 |
-
return array(
|
1400 |
-
'error' => 'Failed to connect to ' . $ftp_hostname,
|
1401 |
-
'partial' => 1
|
1402 |
-
);
|
1403 |
-
}
|
1404 |
-
} else {
|
1405 |
-
return array(
|
1406 |
-
'error' => 'Your server doesn\'t support FTP',
|
1407 |
-
'partial' => 1
|
1408 |
-
);
|
1409 |
-
}
|
1410 |
-
}
|
1411 |
-
$login = @ftp_login($conn_id, $ftp_username, $ftp_password);
|
1412 |
-
if ($login === false) {
|
1413 |
-
return array(
|
1414 |
-
'error' => 'FTP login failed for ' . $ftp_username . ', ' . $ftp_password,
|
1415 |
-
'partial' => 1
|
1416 |
-
);
|
1417 |
-
}
|
1418 |
-
|
1419 |
-
if($ftp_passive){
|
1420 |
-
@ftp_pasv($conn_id,true);
|
1421 |
-
}
|
1422 |
-
|
1423 |
-
@ftp_mkdir($conn_id, $ftp_remote_folder);
|
1424 |
-
if ($ftp_site_folder) {
|
1425 |
-
$ftp_remote_folder .= '/' . $this->site_name;
|
1426 |
-
}
|
1427 |
-
@ftp_mkdir($conn_id, $ftp_remote_folder);
|
1428 |
-
|
1429 |
-
$upload = @ftp_put($conn_id, $ftp_remote_folder . '/' . basename($backup_file), $backup_file, FTP_BINARY);
|
1430 |
-
|
1431 |
-
if ($upload === false) { //Try ascii
|
1432 |
-
$upload = @ftp_put($conn_id, $ftp_remote_folder . '/' . basename($backup_file), $backup_file, FTP_ASCII);
|
1433 |
-
}
|
1434 |
-
ftp_close($conn_id);
|
1435 |
-
|
1436 |
-
if ($upload === false) {
|
1437 |
-
return array(
|
1438 |
-
'error' => 'Failed to upload file to FTP. Please check your specified path.',
|
1439 |
-
'partial' => 1
|
1440 |
-
);
|
1441 |
-
}
|
1442 |
-
|
1443 |
-
return true;
|
1444 |
-
}
|
1445 |
-
|
1446 |
-
function remove_ftp_backup($args)
|
1447 |
-
{
|
1448 |
-
extract($args);
|
1449 |
-
//Args: $ftp_username, $ftp_password, $ftp_hostname, $backup_file, $ftp_remote_folder
|
1450 |
-
$port = $ftp_port ? $ftp_port : 21; //default port is 21
|
1451 |
-
if ($ftp_ssl && function_exists('ftp_ssl_connect')) {
|
1452 |
-
$conn_id = ftp_ssl_connect($ftp_hostname,$port);
|
1453 |
-
} else if (function_exists('ftp_connect')) {
|
1454 |
-
$conn_id = ftp_connect($ftp_hostname,$port);
|
1455 |
-
}
|
1456 |
-
|
1457 |
-
if ($conn_id) {
|
1458 |
-
$login = @ftp_login($conn_id, $ftp_username, $ftp_password);
|
1459 |
-
if ($ftp_site_folder)
|
1460 |
-
$ftp_remote_folder .= '/' . $this->site_name;
|
1461 |
-
|
1462 |
-
if($ftp_passive){
|
1463 |
-
@ftp_pasv($conn_id,true);
|
1464 |
-
}
|
1465 |
-
|
1466 |
-
$delete = ftp_delete($conn_id, $ftp_remote_folder . '/' . $backup_file);
|
1467 |
-
|
1468 |
-
ftp_close($conn_id);
|
1469 |
-
}
|
1470 |
-
|
1471 |
-
}
|
1472 |
-
|
1473 |
-
function get_ftp_backup($args)
|
1474 |
-
{
|
1475 |
-
extract($args);
|
1476 |
-
//Args: $ftp_username, $ftp_password, $ftp_hostname, $backup_file, $ftp_remote_folder
|
1477 |
-
$port = $ftp_port ? $ftp_port : 21; //default port is 21
|
1478 |
-
if ($ftp_ssl && function_exists('ftp_ssl_connect')) {
|
1479 |
-
$conn_id = ftp_ssl_connect($ftp_hostname,$port);
|
1480 |
-
|
1481 |
-
} else if (function_exists('ftp_connect')) {
|
1482 |
-
$conn_id = ftp_connect($ftp_hostname,$port);
|
1483 |
-
if ($conn_id === false) {
|
1484 |
-
return false;
|
1485 |
-
}
|
1486 |
-
}
|
1487 |
-
$login = @ftp_login($conn_id, $ftp_username, $ftp_password);
|
1488 |
-
if ($login === false) {
|
1489 |
-
return false;
|
1490 |
-
} else {
|
1491 |
-
}
|
1492 |
-
|
1493 |
-
if ($ftp_site_folder)
|
1494 |
-
$ftp_remote_folder .= '/' . $this->site_name;
|
1495 |
-
|
1496 |
-
if($ftp_passive){
|
1497 |
-
@ftp_pasv($conn_id,true);
|
1498 |
-
}
|
1499 |
-
|
1500 |
-
$temp = ABSPATH . 'iwp_temp_backup.zip';
|
1501 |
-
$get = ftp_get($conn_id, $temp, $ftp_remote_folder . '/' . $backup_file, FTP_BINARY);
|
1502 |
-
if ($get === false) {
|
1503 |
-
return false;
|
1504 |
-
} else {
|
1505 |
-
}
|
1506 |
-
ftp_close($conn_id);
|
1507 |
-
|
1508 |
-
return $temp;
|
1509 |
-
}
|
1510 |
-
|
1511 |
-
function dropbox_backup($args)
|
1512 |
-
{
|
1513 |
-
require_once('lib/dropbox.php');
|
1514 |
-
extract($args);
|
1515 |
-
|
1516 |
-
//$email, $password, $backup_file, $destination, $dropbox_site_folder
|
1517 |
-
|
1518 |
-
$size = ceil(filesize($backup_file) / 1024);
|
1519 |
-
if ($size > 300000) {
|
1520 |
-
return array(
|
1521 |
-
'error' => 'Cannot upload file to Dropbox. Dropbox has upload limit of 300Mb per file.',
|
1522 |
-
'partial' => 1
|
1523 |
-
);
|
1524 |
-
}
|
1525 |
-
|
1526 |
-
if ($dropbox_site_folder == true)
|
1527 |
-
$dropbox_destination .= '/' . $this->site_name;
|
1528 |
-
|
1529 |
-
try {
|
1530 |
-
$uploader = new DropboxUploader($dropbox_username, $dropbox_password);
|
1531 |
-
$uploader->upload($backup_file, $dropbox_destination);
|
1532 |
-
}
|
1533 |
-
catch (Exception $e) {
|
1534 |
-
return array(
|
1535 |
-
'error' => $e->getMessage(),
|
1536 |
-
'partial' => 1
|
1537 |
-
);
|
1538 |
-
}
|
1539 |
-
|
1540 |
-
return true;
|
1541 |
-
|
1542 |
-
}
|
1543 |
-
|
1544 |
-
function amazons3_backup($args)
|
1545 |
-
{
|
1546 |
-
if ($this->iwp_mmb_function_exists('curl_init')) {
|
1547 |
-
require_once('lib/s3.php');
|
1548 |
-
extract($args);
|
1549 |
-
|
1550 |
-
if ($as3_site_folder == true)
|
1551 |
-
$as3_directory .= '/' . $this->site_name;
|
1552 |
-
|
1553 |
-
$endpoint = isset($as3_bucket_region) ? $as3_bucket_region : 's3.amazonaws.com';
|
1554 |
-
|
1555 |
-
$s3 = new S3(trim($as3_access_key), trim(str_replace(' ', '+', $as3_secure_key)), false, $endpoint);
|
1556 |
-
|
1557 |
-
$s3->putBucket($as3_bucket, S3::ACL_PUBLIC_READ);
|
1558 |
-
|
1559 |
-
if ($s3->putObjectFile($backup_file, $as3_bucket, $as3_directory . '/' . basename($backup_file), S3::ACL_PRIVATE)) {
|
1560 |
-
return true;
|
1561 |
-
} else {
|
1562 |
-
return array(
|
1563 |
-
'error' => 'Failed to upload to Amazon S3. Please check your details and set upload/delete permissions on your bucket.',
|
1564 |
-
'partial' => 1
|
1565 |
-
);
|
1566 |
-
}
|
1567 |
-
} else {
|
1568 |
-
return array(
|
1569 |
-
'error' => 'You cannot use Amazon S3 on your server. Please enable curl first.',
|
1570 |
-
'partial' => 1
|
1571 |
-
);
|
1572 |
-
}
|
1573 |
-
}
|
1574 |
-
|
1575 |
-
function remove_amazons3_backup($args)
|
1576 |
-
{
|
1577 |
-
require_once('lib/s3.php');
|
1578 |
-
extract($args);
|
1579 |
-
if ($as3_site_folder == true)
|
1580 |
-
$as3_directory .= '/' . $this->site_name;
|
1581 |
-
$endpoint = isset($as3_bucket_region) ? $as3_bucket_region : 's3.amazonaws.com';
|
1582 |
-
$s3 = new S3($as3_access_key, str_replace(' ', '+', $as3_secure_key), false, $endpoint);
|
1583 |
-
$s3->deleteObject($as3_bucket, $as3_directory . '/' . $backup_file);
|
1584 |
-
}
|
1585 |
-
|
1586 |
-
function get_amazons3_backup($args)
|
1587 |
-
{
|
1588 |
-
require_once('lib/s3.php');
|
1589 |
-
extract($args);
|
1590 |
-
$endpoint = isset($as3_bucket_region) ? $as3_bucket_region : 's3.amazonaws.com';
|
1591 |
-
$s3 = new S3($as3_access_key, str_replace(' ', '+', $as3_secure_key), false, $endpoint);
|
1592 |
-
if ($as3_site_folder == true)
|
1593 |
-
$as3_directory .= '/' . $this->site_name;
|
1594 |
-
|
1595 |
-
$temp = ABSPATH . 'iwp_temp_backup.zip';
|
1596 |
-
$s3->getObject($as3_bucket, $as3_directory . '/' . $backup_file, $temp);
|
1597 |
-
|
1598 |
-
return $temp;
|
1599 |
-
}
|
1600 |
-
|
1601 |
-
function schedule_next($type, $schedule)
|
1602 |
-
{
|
1603 |
-
$schedule = explode("|", $schedule);
|
1604 |
-
if (empty($schedule))
|
1605 |
-
return false;
|
1606 |
-
switch ($type) {
|
1607 |
-
|
1608 |
-
case 'daily':
|
1609 |
-
|
1610 |
-
if ($schedule[1]) {
|
1611 |
-
$delay_time = $schedule[1] * 60;
|
1612 |
-
}
|
1613 |
-
|
1614 |
-
$current_hour = date("H");
|
1615 |
-
$schedule_hour = $schedule[0];
|
1616 |
-
if ($current_hour >= $schedule_hour){
|
1617 |
-
$time = mktime($schedule_hour, 0, 0, date("m"), date("d") + 1, date("Y"));
|
1618 |
-
//$time ='0001#'.$current_hour.'|'.$schedule_hour;
|
1619 |
-
}
|
1620 |
-
else{
|
1621 |
-
$time = mktime($schedule_hour, 0, 0, date("m"), date("d"), date("Y"));
|
1622 |
-
//$time ='0000#'.$current_hour.'|'.$schedule_hour;
|
1623 |
-
}
|
1624 |
-
$time = time() + 30;
|
1625 |
-
break;
|
1626 |
-
|
1627 |
-
|
1628 |
-
case 'weekly':
|
1629 |
-
if ($schedule[2]) {
|
1630 |
-
$delay_time = $schedule[2] * 60;
|
1631 |
-
}
|
1632 |
-
$current_weekday = date('w');
|
1633 |
-
$schedule_weekday = $schedule[1];
|
1634 |
-
$current_hour = date("H");
|
1635 |
-
$schedule_hour = $schedule[0];
|
1636 |
-
|
1637 |
-
if ($current_weekday > $schedule_weekday)
|
1638 |
-
$weekday_offset = 7 - ($week_day - $task_schedule[1]);
|
1639 |
-
else
|
1640 |
-
$weekday_offset = $schedule_weekday - $current_weekday;
|
1641 |
-
|
1642 |
-
|
1643 |
-
if (!$weekday_offset) { //today is scheduled weekday
|
1644 |
-
if ($current_hour >= $schedule_hour)
|
1645 |
-
$time = mktime($schedule_hour, 0, 0, date("m"), date("d") + 7, date("Y"));
|
1646 |
-
else
|
1647 |
-
$time = mktime($schedule_hour, 0, 0, date("m"), date("d"), date("Y"));
|
1648 |
-
} else {
|
1649 |
-
$time = mktime($schedule_hour, 0, 0, date("m"), date("d") + $weekday_offset, date("Y"));
|
1650 |
-
}
|
1651 |
-
|
1652 |
-
break;
|
1653 |
-
|
1654 |
-
case 'monthly':
|
1655 |
-
if ($schedule[2]) {
|
1656 |
-
$delay_time = $schedule[2] * 60;
|
1657 |
-
}
|
1658 |
-
$current_monthday = date('j');
|
1659 |
-
$schedule_monthday = $schedule[1];
|
1660 |
-
$current_hour = date("H");
|
1661 |
-
$schedule_hour = $schedule[0];
|
1662 |
-
|
1663 |
-
if ($current_monthday > $schedule_monthday) {
|
1664 |
-
$time = mktime($schedule_hour, 0, 0, date("m") + 1, $schedule_monthday, date("Y"));
|
1665 |
-
} else if ($current_monthday < $schedule_monthday) {
|
1666 |
-
$time = mktime($schedule_hour, 0, 0, date("m"), $schedule_monthday, date("Y"));
|
1667 |
-
} else if ($current_monthday == $schedule_monthday) {
|
1668 |
-
if ($current_hour >= $schedule_hour)
|
1669 |
-
$time = mktime($schedule_hour, 0, 0, date("m") + 1, $schedule_monthday, date("Y"));
|
1670 |
-
else
|
1671 |
-
$time = mktime($schedule_hour, 0, 0, date("m"), $schedule_monthday, date("Y"));
|
1672 |
-
break;
|
1673 |
-
}
|
1674 |
-
|
1675 |
-
break;
|
1676 |
-
default:
|
1677 |
-
break;
|
1678 |
-
}
|
1679 |
-
|
1680 |
-
if ($delay_time) {
|
1681 |
-
$time += $delay_time;
|
1682 |
-
}
|
1683 |
-
|
1684 |
-
|
1685 |
-
return $time;
|
1686 |
|
1687 |
-
}
|
1688 |
-
//IWP Remove ends here
|
1689 |
-
*/
|
1690 |
-
|
1691 |
//Parse task arguments for info on IWP Admin Panel
|
1692 |
function get_backup_stats()
|
1693 |
{
|
@@ -1711,23 +1203,7 @@ function email_backup($args)
|
|
1711 |
}
|
1712 |
return $stats;
|
1713 |
}
|
1714 |
-
|
1715 |
-
/*
|
1716 |
-
//IWP Remove starts here
|
1717 |
-
function get_next_schedules()
|
1718 |
-
{
|
1719 |
-
$stats = array();
|
1720 |
-
$tasks = $this->tasks;
|
1721 |
-
if (is_array($tasks) && !empty($tasks)) {
|
1722 |
-
foreach ($tasks as $task_name => $info) {
|
1723 |
-
$stats[$task_name] = isset($info['task_args']['next']) ? $info['task_args']['next'] : array();
|
1724 |
-
}
|
1725 |
-
}
|
1726 |
-
return $stats;
|
1727 |
-
}
|
1728 |
-
//IWP Remove ends here
|
1729 |
-
*/
|
1730 |
-
|
1731 |
function remove_old_backups($task_name)
|
1732 |
{
|
1733 |
//Check for previous failed backups first
|
@@ -1750,30 +1226,7 @@ function get_next_schedules()
|
|
1750 |
if (isset($backups[$task_name]['task_results'][$i]['server'])) {
|
1751 |
@unlink($backups[$task_name]['task_results'][$i]['server']['file_path']);
|
1752 |
}
|
1753 |
-
|
1754 |
-
/*
|
1755 |
-
//IWP Remove starts here
|
1756 |
-
//Remove from ftp
|
1757 |
-
if (isset($backups[$task_name]['task_results'][$i]['ftp'])) {
|
1758 |
-
$ftp_file = $backups[$task_name]['task_results'][$i]['ftp'];
|
1759 |
-
$args = $backups[$task_name]['task_args']['account_info']['iwp_ftp'];
|
1760 |
-
$args['backup_file'] = $ftp_file;
|
1761 |
-
$this->remove_ftp_backup($args);
|
1762 |
-
}
|
1763 |
-
|
1764 |
-
if (isset($backups[$task_name]['task_results'][$i]['amazons3'])) {
|
1765 |
-
$amazons3_file = $backups[$task_name]['task_results'][$i]['amazons3'];
|
1766 |
-
$args = $backups[$task_name]['task_args']['account_info']['iwp_amazon_s3'];
|
1767 |
-
$args['backup_file'] = $amazons3_file;
|
1768 |
-
$this->remove_amazons3_backup($args);
|
1769 |
-
}
|
1770 |
-
|
1771 |
-
if (isset($backups[$task_name]['task_results'][$i]['dropbox'])) {
|
1772 |
-
//To do: dropbox remove
|
1773 |
-
}
|
1774 |
-
//IWP Remove ends here
|
1775 |
-
*/
|
1776 |
-
|
1777 |
//Remove database backup info
|
1778 |
unset($backups[$task_name]['task_results'][$i]);
|
1779 |
|
@@ -1807,30 +1260,7 @@ function get_next_schedules()
|
|
1807 |
|
1808 |
if (isset($backup['server'])) {
|
1809 |
@unlink($backup['server']['file_path']);
|
1810 |
-
}
|
1811 |
-
|
1812 |
-
/*
|
1813 |
-
//IWP Remove starts here
|
1814 |
-
//Remove from ftp
|
1815 |
-
if (isset($backup['ftp'])) {
|
1816 |
-
$ftp_file = $backup['ftp'];
|
1817 |
-
$args = $tasks[$task_name]['task_args']['account_info']['iwp_ftp'];
|
1818 |
-
$args['backup_file'] = $ftp_file;
|
1819 |
-
$this->remove_ftp_backup($args);
|
1820 |
-
}
|
1821 |
-
|
1822 |
-
if (isset($backup['amazons3'])) {
|
1823 |
-
$amazons3_file = $backup['amazons3'];
|
1824 |
-
$args = $tasks[$task_name]['task_args']['account_info']['iwp_amazon_s3'];
|
1825 |
-
$args['backup_file'] = $amazons3_file;
|
1826 |
-
$this->remove_amazons3_backup($args);
|
1827 |
-
}
|
1828 |
-
|
1829 |
-
if (isset($backup['dropbox'])) {
|
1830 |
-
}
|
1831 |
-
//IWP Remove ends here
|
1832 |
-
*/
|
1833 |
-
|
1834 |
unset($backups[$result_id]);
|
1835 |
|
1836 |
if (count($backups)) {
|
@@ -1910,68 +1340,6 @@ function get_next_schedules()
|
|
1910 |
|
1911 |
|
1912 |
/*
|
1913 |
-
//IWP Remove starts here
|
1914 |
-
function remote_backup_now($args)
|
1915 |
-
{
|
1916 |
-
if (!empty($args))
|
1917 |
-
extract($args);
|
1918 |
-
|
1919 |
-
$tasks = $this->tasks;
|
1920 |
-
$task = $tasks['Backup Now'];
|
1921 |
-
|
1922 |
-
if (!empty($task)) {
|
1923 |
-
extract($task['task_args']);
|
1924 |
-
}
|
1925 |
-
|
1926 |
-
$results = $task['task_results'];
|
1927 |
-
|
1928 |
-
if (is_array($results) && count($results)) {
|
1929 |
-
$backup_file = $results[count($results) - 1]['server']['file_path'];
|
1930 |
-
}
|
1931 |
-
|
1932 |
-
if ($backup_file && file_exists($backup_file)) {
|
1933 |
-
//FTP, Amazon S3 or Dropbox
|
1934 |
-
if (isset($account_info['iwp_ftp']) && !empty($account_info['iwp_ftp'])) {
|
1935 |
-
$account_info['iwp_ftp']['backup_file'] = $backup_file;
|
1936 |
-
$return = $this->ftp_backup($account_info['iwp_ftp']);
|
1937 |
-
}
|
1938 |
-
|
1939 |
-
if (isset($account_info['iwp_amazon_s3']) && !empty($account_info['iwp_amazon_s3'])) {
|
1940 |
-
$account_info['iwp_amazon_s3']['backup_file'] = $backup_file;
|
1941 |
-
$return = $this->amazons3_backup($account_info['iwp_amazon_s3']);
|
1942 |
-
}
|
1943 |
-
|
1944 |
-
if (isset($account_info['iwp_dropbox']) && !empty($account_info['iwp_dropbox'])) {
|
1945 |
-
$account_info['iwp_dropbox']['backup_file'] = $backup_file;
|
1946 |
-
$return = $this->dropbox_backup($account_info['iwp_dropbox']);
|
1947 |
-
}
|
1948 |
-
|
1949 |
-
if (isset($account_info['iwp_email']) && !empty($account_info['iwp_email'])) {
|
1950 |
-
$account_info['iwp_email']['file_path'] = $backup_file;
|
1951 |
-
$account_info['iwp_email']['task_name'] = 'Backup Now';
|
1952 |
-
$return = $this->email_backup($account_info['iwp_email']);
|
1953 |
-
}
|
1954 |
-
|
1955 |
-
|
1956 |
-
if ($return == true && $del_host_file) {
|
1957 |
-
@unlink($backup_file);
|
1958 |
-
unset($tasks['Backup Now']['task_results'][count($results) - 1]['server']);
|
1959 |
-
$this->update_tasks($tasks);
|
1960 |
-
//update_option('iwp_client_backup_tasks', $tasks);
|
1961 |
-
}
|
1962 |
-
|
1963 |
-
|
1964 |
-
|
1965 |
-
} else {
|
1966 |
-
$return = array(
|
1967 |
-
'error' => 'Backup file not found on your server. Please try again.'
|
1968 |
-
);
|
1969 |
-
}
|
1970 |
-
|
1971 |
-
return $return;
|
1972 |
-
|
1973 |
-
}
|
1974 |
-
//IWP Remove ends here
|
1975 |
*/
|
1976 |
|
1977 |
function validate_task($args, $url)
|
82 |
'db_dump' => 1,
|
83 |
'db_zip' => 2,
|
84 |
'files_zip' => 3,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
'finished' => 100
|
86 |
);
|
87 |
$this->tasks = get_option('iwp_client_backup_tasks');
|
113 |
'removed' => true
|
114 |
);
|
115 |
} else {
|
116 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
$before[$task_name]['task_args'] = $args;
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
$return = $before[$task_name];
|
119 |
}
|
120 |
|
210 |
|
211 |
}
|
212 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
213 |
/*
|
214 |
* If Task Name not set then it's manual backup
|
215 |
* Backup args:
|
346 |
'file_url' => $backup_url
|
347 |
);
|
348 |
}
|
349 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
$temp = $backup_settings[$task_name]['task_results'];
|
351 |
$temp = array_values($temp);
|
352 |
$paths['time'] = time();
|
365 |
//update_option('iwp_client_backup_tasks', $backup_settings);
|
366 |
}
|
367 |
|
|
|
368 |
//Additional: Email, ftp, amazon_s3, dropbox...
|
369 |
|
370 |
if ($task_name != 'Backup Now') {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
371 |
if ($del_host_file) {
|
372 |
@unlink($backup_file);
|
373 |
}
|
719 |
if (isset($task['task_results'][$result_id]['server'])) {
|
720 |
$backup_file = $task['task_results'][$result_id]['server']['file_path'];
|
721 |
$unlink_file = false; //Don't delete file if stored on server
|
722 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
723 |
|
724 |
$what = $tasks[$task_name]['task_args']['what'];
|
725 |
}
|
1179 |
|
1180 |
return $reqs;
|
1181 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1182 |
|
|
|
|
|
|
|
|
|
1183 |
//Parse task arguments for info on IWP Admin Panel
|
1184 |
function get_backup_stats()
|
1185 |
{
|
1203 |
}
|
1204 |
return $stats;
|
1205 |
}
|
1206 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1207 |
function remove_old_backups($task_name)
|
1208 |
{
|
1209 |
//Check for previous failed backups first
|
1226 |
if (isset($backups[$task_name]['task_results'][$i]['server'])) {
|
1227 |
@unlink($backups[$task_name]['task_results'][$i]['server']['file_path']);
|
1228 |
}
|
1229 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1230 |
//Remove database backup info
|
1231 |
unset($backups[$task_name]['task_results'][$i]);
|
1232 |
|
1260 |
|
1261 |
if (isset($backup['server'])) {
|
1262 |
@unlink($backup['server']['file_path']);
|
1263 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1264 |
unset($backups[$result_id]);
|
1265 |
|
1266 |
if (count($backups)) {
|
1340 |
|
1341 |
|
1342 |
/*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1343 |
*/
|
1344 |
|
1345 |
function validate_task($args, $url)
|
core.class.php
CHANGED
@@ -82,8 +82,8 @@ class IWP_MMB_Core extends IWP_MMB_Helper
|
|
82 |
if( is_network_admin() && $this->network_admin_install == '1'){
|
83 |
add_action('network_admin_notices', array( &$this, 'network_admin_notice' ));
|
84 |
} else if( $this->network_admin_install != '1' ){
|
85 |
-
|
86 |
-
if(empty($parent_key))
|
87 |
add_action('admin_notices', array( &$this, 'admin_notice' ));
|
88 |
}
|
89 |
} else {
|
@@ -193,9 +193,8 @@ class IWP_MMB_Core extends IWP_MMB_Helper
|
|
193 |
*/
|
194 |
function network_admin_notice()
|
195 |
{
|
196 |
-
echo '<div class="error" style="text-align: center;"><p style="
|
197 |
-
|
198 |
-
</p></div>';
|
199 |
}
|
200 |
|
201 |
|
@@ -206,14 +205,21 @@ class IWP_MMB_Core extends IWP_MMB_Helper
|
|
206 |
function admin_notice()
|
207 |
{
|
208 |
/* IWP */
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
213 |
echo '<div class="updated" style="text-align: center;"><p style="color: green; font-size: 14px; font-weight: bold;">Add this site to IWP Admin panel</p><p>
|
214 |
<table border="0" align="center">
|
215 |
<tr><td align="right">WEBSITE URL:</td><td align="left"><strong>'.get_option('home').'/</strong></td></tr>
|
216 |
-
<tr><td align="right">ADMIN USERNAME:</td><td align="left"><strong>'.$
|
217 |
<tr><td align="right">ACTIVATION KEY:</td><td align="left"><strong>'.get_option('iwp_client_activate_key').'</strong></td></tr>
|
218 |
</table>
|
219 |
</p></div>';
|
@@ -536,7 +542,7 @@ class IWP_MMB_Core extends IWP_MMB_Helper
|
|
536 |
|
537 |
if (!$this->is_server_writable()) {
|
538 |
return array(
|
539 |
-
'error' => 'Failed, please
|
540 |
);
|
541 |
}
|
542 |
|
82 |
if( is_network_admin() && $this->network_admin_install == '1'){
|
83 |
add_action('network_admin_notices', array( &$this, 'network_admin_notice' ));
|
84 |
} else if( $this->network_admin_install != '1' ){
|
85 |
+
//$parent_key = $this->get_parent_blog_option('iwp_client_public_key');//IWP commented to show notice to all subsites of network
|
86 |
+
//if(empty($parent_key))//IWP commented to show notice to all subsites of network
|
87 |
add_action('admin_notices', array( &$this, 'admin_notice' ));
|
88 |
}
|
89 |
} else {
|
193 |
*/
|
194 |
function network_admin_notice()
|
195 |
{
|
196 |
+
echo '<div class="error" style="text-align: center;"><p style="font-size: 14px; font-weight: bold; color:#c00;">Attention !</p>
|
197 |
+
<p>The InfiniteWP client plugin has to be activated on individual sites. Kindly deactivate the plugin from the network admin dashboard and activate them from the individual dashboards.</p></div>';
|
|
|
198 |
}
|
199 |
|
200 |
|
205 |
function admin_notice()
|
206 |
{
|
207 |
/* IWP */
|
208 |
+
if(defined('MULTISITE') && MULTISITE == true){
|
209 |
+
global $blog_id;
|
210 |
+
$user_id_from_email = get_user_id_from_string( get_blog_option($blog_id, 'admin_email'));
|
211 |
+
$details = get_userdata($user_id_from_email);
|
212 |
+
$username = $details->user_login;
|
213 |
+
}
|
214 |
+
else{
|
215 |
+
$current_user = wp_get_current_user();
|
216 |
+
$username = $current_user->data->user_login;
|
217 |
+
}
|
218 |
+
|
219 |
echo '<div class="updated" style="text-align: center;"><p style="color: green; font-size: 14px; font-weight: bold;">Add this site to IWP Admin panel</p><p>
|
220 |
<table border="0" align="center">
|
221 |
<tr><td align="right">WEBSITE URL:</td><td align="left"><strong>'.get_option('home').'/</strong></td></tr>
|
222 |
+
<tr><td align="right">ADMIN USERNAME:</td><td align="left"><strong>'.$username.'</strong> (or any admin id)</td></tr>
|
223 |
<tr><td align="right">ACTIVATION KEY:</td><td align="left"><strong>'.get_option('iwp_client_activate_key').'</strong></td></tr>
|
224 |
</table>
|
225 |
</p></div>';
|
542 |
|
543 |
if (!$this->is_server_writable()) {
|
544 |
return array(
|
545 |
+
'error' => 'Failed, please add FTP details for automatic upgrades.'
|
546 |
);
|
547 |
}
|
548 |
|
init.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: InfiniteWP - Client
|
|
4 |
Plugin URI: http://infinitewp.com/
|
5 |
Description: This is the client plugin of InfiniteWP that communicates with the InfiniteWP Admin panel.
|
6 |
Author: Revmakx
|
7 |
-
Version: 0.1
|
8 |
Author URI: http://www.revmakx.com
|
9 |
*/
|
10 |
/************************************************************
|
@@ -26,7 +26,7 @@ Author URI: http://www.revmakx.com
|
|
26 |
**************************************************************/
|
27 |
|
28 |
if(!defined('IWP_MMB_CLIENT_VERSION'))
|
29 |
-
define('IWP_MMB_CLIENT_VERSION', '0.1
|
30 |
|
31 |
if ( !defined('IWP_MMB_XFRAME_COOKIE')){
|
32 |
$siteurl = function_exists('get_site_option') ? get_site_option( 'siteurl' ) : get_option('siteurl');
|
@@ -43,23 +43,10 @@ $iwp_mmb_plugin_url = WP_PLUGIN_URL . '/' . basename(dirname(__FILE__));
|
|
43 |
|
44 |
require_once("$iwp_mmb_plugin_dir/helper.class.php");
|
45 |
require_once("$iwp_mmb_plugin_dir/core.class.php");
|
46 |
-
/*
|
47 |
-
//IWP Remove starts here
|
48 |
-
require_once("$iwp_mmb_plugin_dir/post.class.php");
|
49 |
-
require_once("$iwp_mmb_plugin_dir/comment.class.php");
|
50 |
-
//IWP Remove ends here
|
51 |
-
*/
|
52 |
require_once("$iwp_mmb_plugin_dir/stats.class.php");
|
53 |
require_once("$iwp_mmb_plugin_dir/backup.class.php");
|
54 |
require_once("$iwp_mmb_plugin_dir/installer.class.php");
|
55 |
-
/*
|
56 |
-
//IWP Remove starts here
|
57 |
-
require_once("$iwp_mmb_plugin_dir/link.class.php");
|
58 |
-
require_once("$iwp_mmb_plugin_dir/user.class.php");
|
59 |
-
//IWP Remove ends here
|
60 |
-
*/
|
61 |
require_once("$iwp_mmb_plugin_dir/api.php");
|
62 |
-
|
63 |
require_once("$iwp_mmb_plugin_dir/plugins/search/search.php");
|
64 |
require_once("$iwp_mmb_plugin_dir/plugins/cleanup/cleanup.php");
|
65 |
|
@@ -293,65 +280,6 @@ if( !function_exists ( 'iwp_mmb_pre_init_stats' )) {
|
|
293 |
}
|
294 |
}
|
295 |
|
296 |
-
/*
|
297 |
-
//IWP Remove starts here
|
298 |
-
//post
|
299 |
-
if( !function_exists ( 'iwp_mmb_post_create' )) {
|
300 |
-
function iwp_mmb_post_create($params)
|
301 |
-
{
|
302 |
-
global $iwp_mmb_core;
|
303 |
-
$iwp_mmb_core->get_post_instance();
|
304 |
-
$return = $iwp_mmb_core->post_instance->create($params);
|
305 |
-
if (is_int($return))
|
306 |
-
iwp_mmb_response($return, true);
|
307 |
-
else{
|
308 |
-
if(isset($return['error'])){
|
309 |
-
iwp_mmb_response($return['error'], false);
|
310 |
-
} else {
|
311 |
-
iwp_mmb_response($return, false);
|
312 |
-
}
|
313 |
-
}
|
314 |
-
}
|
315 |
-
}
|
316 |
-
|
317 |
-
if( !function_exists ( 'iwp_mmb_change_post_status' )) {
|
318 |
-
function iwp_mmb_change_post_status($params)
|
319 |
-
{
|
320 |
-
global $iwp_mmb_core;
|
321 |
-
$iwp_mmb_core->get_post_instance();
|
322 |
-
$return = $iwp_mmb_core->post_instance->change_status($params);
|
323 |
-
//iwp_mmb_response($return, true);
|
324 |
-
|
325 |
-
}
|
326 |
-
}
|
327 |
-
|
328 |
-
//comments
|
329 |
-
if( !function_exists ( 'iwp_mmb_change_comment_status' )) {
|
330 |
-
function iwp_mmb_change_comment_status($params)
|
331 |
-
{
|
332 |
-
global $iwp_mmb_core;
|
333 |
-
$iwp_mmb_core->get_comment_instance();
|
334 |
-
$return = $iwp_mmb_core->comment_instance->change_status($params);
|
335 |
-
//iwp_mmb_response($return, true);
|
336 |
-
if ($return){
|
337 |
-
$iwp_mmb_core->get_stats_instance();
|
338 |
-
iwp_mmb_response($iwp_mmb_core->stats_instance->get_comments_stats($params), true);
|
339 |
-
}else
|
340 |
-
iwp_mmb_response('Comment not updated', false);
|
341 |
-
}
|
342 |
-
|
343 |
-
}
|
344 |
-
if( !function_exists ( 'iwp_mmb_comment_stats_get' )) {
|
345 |
-
function iwp_mmb_comment_stats_get($params)
|
346 |
-
{
|
347 |
-
global $iwp_mmb_core;
|
348 |
-
$iwp_mmb_core->get_stats_instance();
|
349 |
-
iwp_mmb_response($iwp_mmb_core->stats_instance->get_comments_stats($params), true);
|
350 |
-
}
|
351 |
-
}
|
352 |
-
//IWP Remove ends here
|
353 |
-
*/
|
354 |
-
|
355 |
if( !function_exists ( 'iwp_mmb_backup_now' )) {
|
356 |
//backup
|
357 |
function iwp_mmb_backup_now($params)
|
@@ -383,25 +311,6 @@ if( !function_exists ( 'iwp_mmb_run_task_now' )) {
|
|
383 |
}
|
384 |
}
|
385 |
|
386 |
-
/*
|
387 |
-
//IWP Remove starts here
|
388 |
-
if( !function_exists ( 'iwp_mmb_email_backup' )) {
|
389 |
-
function iwp_mmb_email_backup($params)
|
390 |
-
{
|
391 |
-
global $iwp_mmb_core;
|
392 |
-
$iwp_mmb_core->get_backup_instance();
|
393 |
-
$return = $iwp_mmb_core->backup_instance->email_backup($params);
|
394 |
-
|
395 |
-
if (is_array($return) && array_key_exists('error', $return))
|
396 |
-
iwp_mmb_response($return['error'], false);
|
397 |
-
else {
|
398 |
-
iwp_mmb_response($return, true);
|
399 |
-
}
|
400 |
-
}
|
401 |
-
}
|
402 |
-
//IWP Remove ends here
|
403 |
-
*/
|
404 |
-
|
405 |
if( !function_exists ( 'iwp_mmb_check_backup_compat' )) {
|
406 |
function iwp_mmb_check_backup_compat($params)
|
407 |
{
|
@@ -476,24 +385,6 @@ if( !function_exists ( 'iwp_mmb_restore_now' )) {
|
|
476 |
}
|
477 |
}
|
478 |
|
479 |
-
/*
|
480 |
-
//IWP Remove starts here
|
481 |
-
if( !function_exists ( 'iwp_mmb_remote_backup_now' )) {
|
482 |
-
function iwp_mmb_remote_backup_now($params)
|
483 |
-
{
|
484 |
-
global $iwp_mmb_core;
|
485 |
-
$backup_instance = $iwp_mmb_core->get_backup_instance();
|
486 |
-
$return = $iwp_mmb_core->backup_instance->remote_backup_now($params);
|
487 |
-
if (is_array($return) && array_key_exists('error', $return))
|
488 |
-
iwp_mmb_response($return['error'], false);
|
489 |
-
else
|
490 |
-
iwp_mmb_response($return, true);
|
491 |
-
}
|
492 |
-
}
|
493 |
-
//IWP Remove ends here
|
494 |
-
*/
|
495 |
-
|
496 |
-
|
497 |
if( !function_exists ( 'iwp_mmb_clean_orphan_backups' )) {
|
498 |
function iwp_mmb_clean_orphan_backups()
|
499 |
{
|
@@ -532,21 +423,7 @@ if( !function_exists ( 'iwp_mmb_search_posts_by_term' )) {
|
|
532 |
$search_type = trim($params['search_type']);
|
533 |
$search_term = strtolower(trim($params['search_term']));
|
534 |
|
535 |
-
switch ($search_type){
|
536 |
-
/*
|
537 |
-
//IWP Remove starts here
|
538 |
-
case 'page_post':
|
539 |
-
$return = $iwp_mmb_core->search_instance->iwp_mmb_search_posts_by_term($params);
|
540 |
-
if($return){
|
541 |
-
$return = serialize($return);
|
542 |
-
iwp_mmb_response($return, true);
|
543 |
-
}else{
|
544 |
-
iwp_mmb_response('No posts found', false);
|
545 |
-
}
|
546 |
-
break;
|
547 |
-
//IWP Remove ends here
|
548 |
-
*/
|
549 |
-
|
550 |
case 'plugin':
|
551 |
$plugins = get_option('active_plugins');
|
552 |
|
@@ -605,65 +482,6 @@ if( !function_exists ( 'iwp_mmb_do_upgrade' )) {
|
|
605 |
|
606 |
}
|
607 |
}
|
608 |
-
/*
|
609 |
-
//IWP Remove starts here
|
610 |
-
if( !function_exists ( 'iwp_mmb_add_link' )) {
|
611 |
-
function iwp_mmb_add_link($params)
|
612 |
-
{
|
613 |
-
global $iwp_mmb_core;
|
614 |
-
$iwp_mmb_core->get_link_instance();
|
615 |
-
$return = $iwp_mmb_core->link_instance->add_link($params);
|
616 |
-
if (is_array($return) && array_key_exists('error', $return))
|
617 |
-
|
618 |
-
iwp_mmb_response($return['error'], false);
|
619 |
-
else {
|
620 |
-
iwp_mmb_response($return, true);
|
621 |
-
}
|
622 |
-
|
623 |
-
}
|
624 |
-
}
|
625 |
-
|
626 |
-
if( !function_exists ( 'iwp_mmb_add_user' )) {
|
627 |
-
function iwp_mmb_add_user($params)
|
628 |
-
{
|
629 |
-
global $iwp_mmb_core;
|
630 |
-
$iwp_mmb_core->get_user_instance();
|
631 |
-
$return = $iwp_mmb_core->user_instance->add_user($params);
|
632 |
-
if (is_array($return) && array_key_exists('error', $return))
|
633 |
-
|
634 |
-
iwp_mmb_response($return['error'], false);
|
635 |
-
else {
|
636 |
-
iwp_mmb_response($return, true);
|
637 |
-
}
|
638 |
-
|
639 |
-
}
|
640 |
-
}
|
641 |
-
|
642 |
-
if( !function_exists ('iwp_mmb_get_users')) {
|
643 |
-
function iwp_mmb_get_users($params)
|
644 |
-
{
|
645 |
-
global $iwp_mmb_core;
|
646 |
-
$iwp_mmb_core->get_user_instance();
|
647 |
-
$return = $iwp_mmb_core->user_instance->get_users($params);
|
648 |
-
if (is_array($return) && array_key_exists('error', $return))
|
649 |
-
iwp_mmb_response($return['error'], false);
|
650 |
-
else {
|
651 |
-
iwp_mmb_response($return, true);
|
652 |
-
}
|
653 |
-
}
|
654 |
-
}
|
655 |
-
|
656 |
-
if( !function_exists ('iwp_mmb_edit_users')) {
|
657 |
-
function iwp_mmb_edit_users($params)
|
658 |
-
{
|
659 |
-
global $iwp_mmb_core;
|
660 |
-
$iwp_mmb_core->get_user_instance();
|
661 |
-
$return = $iwp_mmb_core->user_instance->edit_users($params);
|
662 |
-
iwp_mmb_response($return, true);
|
663 |
-
}
|
664 |
-
}
|
665 |
-
//IWP Remove ends here
|
666 |
-
*/
|
667 |
|
668 |
if( !function_exists ( 'iwp_mmb_iframe_plugins_fix' )) {
|
669 |
function iwp_mmb_iframe_plugins_fix($update_actions)
|
@@ -677,20 +495,7 @@ if( !function_exists ( 'iwp_mmb_iframe_plugins_fix' )) {
|
|
677 |
|
678 |
}
|
679 |
}
|
680 |
-
/*
|
681 |
-
//IWP Remove starts here
|
682 |
-
if( !function_exists ( 'iwp_mmb_execute_php_code' )) {
|
683 |
-
function iwp_mmb_execute_php_code($params)
|
684 |
-
{
|
685 |
-
ob_start();
|
686 |
-
eval($params['code']);
|
687 |
-
$return = ob_get_flush();
|
688 |
-
iwp_mmb_response(print_r($return, true), true);
|
689 |
-
}
|
690 |
-
}
|
691 |
|
692 |
-
//IWP Remove ends here
|
693 |
-
*/
|
694 |
if( !function_exists ( 'iwp_mmb_set_notifications' )) {
|
695 |
function iwp_mmb_set_notifications($params)
|
696 |
{
|
@@ -730,35 +535,6 @@ if(!function_exists('iwp_mmb_more_reccurences')){
|
|
730 |
}
|
731 |
}
|
732 |
|
733 |
-
|
734 |
-
if (!wp_next_scheduled('iwp_client_backup_tasks')) {
|
735 |
-
wp_schedule_event( time(), 'tenminutes', 'iwp_client_backup_tasks' );
|
736 |
-
}
|
737 |
-
add_action('iwp_client_backup_tasks', 'iwp_check_backup_tasks');
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
/*
|
742 |
-
//IWP Remove starts here
|
743 |
-
if( !function_exists('iwp_check_backup_tasks') ){
|
744 |
-
function iwp_check_backup_tasks() {
|
745 |
-
global $iwp_mmb_core, $_wp_using_ext_object_cache;
|
746 |
-
$_wp_using_ext_object_cache = false;
|
747 |
-
|
748 |
-
$iwp_mmb_core->get_backup_instance();
|
749 |
-
$iwp_mmb_core->backup_instance->check_backup_tasks();
|
750 |
-
}
|
751 |
-
}
|
752 |
-
|
753 |
-
if (!wp_next_scheduled('iwp_client_notifications')) {
|
754 |
-
wp_schedule_event( time(), 'twicedaily', 'iwp_client_notifications' );
|
755 |
-
}
|
756 |
-
add_action('iwp_client_notifications', 'iwp_check_notifications');
|
757 |
-
|
758 |
-
//IWP Remove ends here
|
759 |
-
*/
|
760 |
-
|
761 |
-
|
762 |
if( !function_exists('iwp_check_notifications') ){
|
763 |
function iwp_check_notifications() {
|
764 |
global $iwp_mmb_core, $_wp_using_ext_object_cache;
|
@@ -788,17 +564,6 @@ if( !function_exists('iwp_mmb_edit_plugins_themes') ){
|
|
788 |
}
|
789 |
}
|
790 |
|
791 |
-
/*
|
792 |
-
//IWP Remove starts here
|
793 |
-
if( !function_exists('iwp_mmb_client_brand')){
|
794 |
-
function iwp_mmb_client_brand($params) {
|
795 |
-
update_option("iwp_client_brand",$params['brand']);
|
796 |
-
iwp_mmb_response(true, true);
|
797 |
-
}
|
798 |
-
}
|
799 |
-
//IWP Remove ends here
|
800 |
-
*/
|
801 |
-
|
802 |
if( !function_exists('iwp_mmb_maintenance_mode')){
|
803 |
function iwp_mmb_maintenance_mode( $params ) {
|
804 |
global $wp_object_cache;
|
4 |
Plugin URI: http://infinitewp.com/
|
5 |
Description: This is the client plugin of InfiniteWP that communicates with the InfiniteWP Admin panel.
|
6 |
Author: Revmakx
|
7 |
+
Version: 1.0.1
|
8 |
Author URI: http://www.revmakx.com
|
9 |
*/
|
10 |
/************************************************************
|
26 |
**************************************************************/
|
27 |
|
28 |
if(!defined('IWP_MMB_CLIENT_VERSION'))
|
29 |
+
define('IWP_MMB_CLIENT_VERSION', '1.0.1');
|
30 |
|
31 |
if ( !defined('IWP_MMB_XFRAME_COOKIE')){
|
32 |
$siteurl = function_exists('get_site_option') ? get_site_option( 'siteurl' ) : get_option('siteurl');
|
43 |
|
44 |
require_once("$iwp_mmb_plugin_dir/helper.class.php");
|
45 |
require_once("$iwp_mmb_plugin_dir/core.class.php");
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
require_once("$iwp_mmb_plugin_dir/stats.class.php");
|
47 |
require_once("$iwp_mmb_plugin_dir/backup.class.php");
|
48 |
require_once("$iwp_mmb_plugin_dir/installer.class.php");
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
require_once("$iwp_mmb_plugin_dir/api.php");
|
|
|
50 |
require_once("$iwp_mmb_plugin_dir/plugins/search/search.php");
|
51 |
require_once("$iwp_mmb_plugin_dir/plugins/cleanup/cleanup.php");
|
52 |
|
280 |
}
|
281 |
}
|
282 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
283 |
if( !function_exists ( 'iwp_mmb_backup_now' )) {
|
284 |
//backup
|
285 |
function iwp_mmb_backup_now($params)
|
311 |
}
|
312 |
}
|
313 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
314 |
if( !function_exists ( 'iwp_mmb_check_backup_compat' )) {
|
315 |
function iwp_mmb_check_backup_compat($params)
|
316 |
{
|
385 |
}
|
386 |
}
|
387 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
388 |
if( !function_exists ( 'iwp_mmb_clean_orphan_backups' )) {
|
389 |
function iwp_mmb_clean_orphan_backups()
|
390 |
{
|
423 |
$search_type = trim($params['search_type']);
|
424 |
$search_term = strtolower(trim($params['search_term']));
|
425 |
|
426 |
+
switch ($search_type){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
427 |
case 'plugin':
|
428 |
$plugins = get_option('active_plugins');
|
429 |
|
482 |
|
483 |
}
|
484 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
485 |
|
486 |
if( !function_exists ( 'iwp_mmb_iframe_plugins_fix' )) {
|
487 |
function iwp_mmb_iframe_plugins_fix($update_actions)
|
495 |
|
496 |
}
|
497 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
498 |
|
|
|
|
|
499 |
if( !function_exists ( 'iwp_mmb_set_notifications' )) {
|
500 |
function iwp_mmb_set_notifications($params)
|
501 |
{
|
535 |
}
|
536 |
}
|
537 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
538 |
if( !function_exists('iwp_check_notifications') ){
|
539 |
function iwp_check_notifications() {
|
540 |
global $iwp_mmb_core, $_wp_using_ext_object_cache;
|
564 |
}
|
565 |
}
|
566 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
567 |
if( !function_exists('iwp_mmb_maintenance_mode')){
|
568 |
function iwp_mmb_maintenance_mode( $params ) {
|
569 |
global $wp_object_cache;
|
installer.class.php
CHANGED
@@ -133,7 +133,7 @@ class IWP_MMB_Installer extends IWP_MMB_Core
|
|
133 |
|
134 |
if (!$this->is_server_writable()) {
|
135 |
return array(
|
136 |
-
'error' => 'Failed, please
|
137 |
);
|
138 |
}
|
139 |
|
@@ -651,20 +651,6 @@ class IWP_MMB_Installer extends IWP_MMB_Core
|
|
651 |
}
|
652 |
|
653 |
}
|
654 |
-
/***************** Displaying all plugins so Not using serach function - Commented by IWP ******************/
|
655 |
-
/*if ($search) {
|
656 |
-
foreach ($plugins['active'] as $k => $plugin) {
|
657 |
-
if (!stristr($plugin['name'], $search)) {
|
658 |
-
unset($plugins['active'][$k]);
|
659 |
-
}
|
660 |
-
}
|
661 |
-
|
662 |
-
foreach ($plugins['inactive'] as $k => $plugin) {
|
663 |
-
if (!stristr($plugin['name'], $search)) {
|
664 |
-
unset($plugins['inactive'][$k]);
|
665 |
-
}
|
666 |
-
}
|
667 |
-
}*/
|
668 |
}
|
669 |
}
|
670 |
|
133 |
|
134 |
if (!$this->is_server_writable()) {
|
135 |
return array(
|
136 |
+
'error' => 'Failed, please add FTP details'
|
137 |
);
|
138 |
}
|
139 |
|
651 |
}
|
652 |
|
653 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
654 |
}
|
655 |
}
|
656 |
|
readme.txt
ADDED
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
=== InfiniteWP Client ===
|
2 |
+
Contributors: infinitewp
|
3 |
+
Tags: admin, administration, amazon, api, authentication, automatic, dashboard, dropbox, events, integration, manage, multisite, multiple, notification, performance, s3, security, seo, stats, tracking, infinitewp, updates, backup, restore, iwp, infinite
|
4 |
+
Requires at least: 3.0
|
5 |
+
Tested up to: 3.3.2
|
6 |
+
Stable tag: trunk
|
7 |
+
|
8 |
+
Install this plugin on unlimited sites and manage them all from a central dashboard.
|
9 |
+
This plugin communicates with your InfiniteWP Admin Panel.
|
10 |
+
|
11 |
+
== Description ==
|
12 |
+
|
13 |
+
[InfiniteWP](http://infinitewp.com/ "Manage Multiple WordPress") allows users to manage unlimited number of WordPress sites from their own server.
|
14 |
+
|
15 |
+
Main features:
|
16 |
+
|
17 |
+
* Self-hosted system: Resides on your own server and totally under your control
|
18 |
+
* One-click updates for WordPress, plugins and themes across all your sites
|
19 |
+
* Instant backup and restore your entire site or just the database
|
20 |
+
* One-click access to all WP admin panels
|
21 |
+
* Bulk Manage plugins & themes: Activate & Deactive multiple plugins & themes on multiple sites simultaneously
|
22 |
+
* Bulk Install plugins & themes in multiple sites at once
|
23 |
+
* and more..
|
24 |
+
|
25 |
+
Check out the [InfiniteWP Overview Video](http://www.youtube.com/watch?v=IOu7LdyPOSs) below.
|
26 |
+
|
27 |
+
http://www.youtube.com/watch?v=IOu7LdyPOSs
|
28 |
+
|
29 |
+
Check out [InfiniteWP.com](http://infinitewp.com/ "Manage Multiple WordPress").
|
30 |
+
|
31 |
+
== Installation ==
|
32 |
+
|
33 |
+
1. Upload the plugin folder to your /wp-content/plugins/ folder
|
34 |
+
2. Go to the Plugins page and activate InfiniteWP Client
|
35 |
+
3. If you have not yet installed the InfiniteWP Admin Panel, visit [InfiniteWP.com](http://infinitewp.com/ "Manage Multiple WordPress"), download the free InfiniteWP Admin Panel & install on your server.
|
36 |
+
4. Add your WordPress site to the InfiniteWP Admin Panel and start using it.
|
37 |
+
|
38 |
+
== Screenshots ==
|
39 |
+
|
40 |
+
1. Sites & Group Management
|
41 |
+
2. Search WordPress Plugin Repository
|
42 |
+
3. Bulk Plugin & Theme Management
|
43 |
+
4. One-click access to WordPress admin panels
|
44 |
+
5. One-click updates
|
45 |
+
|
46 |
+
== Changelog ==
|
47 |
+
|
48 |
+
= 1.0.1 =
|
49 |
+
* WordPress Multisite support
|
50 |
+
* Bugs fixed
|
51 |
+
|
52 |
+
= 1.0.0 =
|
53 |
+
* Public release
|
54 |
+
* Bugs fixed
|
55 |
+
* Feature Improvements
|
56 |
+
|
57 |
+
= 0.1.5 =
|
58 |
+
* Client plugin update support from IWP Admin Panel
|
59 |
+
* Backup file size format change
|
60 |
+
|
61 |
+
|
62 |
+
= 0.1.4 =
|
63 |
+
* Private beta release
|
screenshot-1.png
ADDED
Binary file
|
screenshot-2.png
ADDED
Binary file
|
screenshot-3.png
ADDED
Binary file
|
screenshot-4.png
ADDED
Binary file
|
screenshot-5.png
ADDED
Binary file
|
stats.class.php
CHANGED
@@ -240,13 +240,7 @@ class IWP_MMB_Stats extends IWP_MMB_Core
|
|
240 |
|
241 |
function get_backups($stats, $options = array())
|
242 |
{
|
243 |
-
$stats['iwp_backups'] = $this->get_backup_instance()->get_backup_stats();
|
244 |
-
/*
|
245 |
-
//IWP Remove starts here
|
246 |
-
$stats['iwp_next_backups'] = $this->get_backup_instance()->get_next_schedules();
|
247 |
-
//IWP Remove ends here
|
248 |
-
*/
|
249 |
-
|
250 |
return $stats;
|
251 |
}
|
252 |
|
@@ -749,8 +743,6 @@ $stats['iwp_next_backups'] = $this->get_backup_instance()->get_next_schedules();
|
|
749 |
delete_option('iwp_client_pageview_alerts');
|
750 |
}
|
751 |
}
|
752 |
-
|
753 |
-
|
754 |
}
|
755 |
|
756 |
|
240 |
|
241 |
function get_backups($stats, $options = array())
|
242 |
{
|
243 |
+
$stats['iwp_backups'] = $this->get_backup_instance()->get_backup_stats();
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
return $stats;
|
245 |
}
|
246 |
|
743 |
delete_option('iwp_client_pageview_alerts');
|
744 |
}
|
745 |
}
|
|
|
|
|
746 |
}
|
747 |
|
748 |
|