| 1 |
<?php |
|---|
| 2 |
|
|---|
| 3 |
if (!defined('FREEPBX_IS_AUTH')) { die('No direct script access allowed'); } |
|---|
| 4 |
$get_vars = array( |
|---|
| 5 |
'action' => '', |
|---|
| 6 |
'applyconfigs' => '', |
|---|
| 7 |
'bu_server' => '', |
|---|
| 8 |
'cron_dom' => array(), |
|---|
| 9 |
'cron_dow' => array(), |
|---|
| 10 |
'cron_hour' => array(), |
|---|
| 11 |
'cron_minute' => array(), |
|---|
| 12 |
'cron_month' => array(), |
|---|
| 13 |
'cron_random' => '', |
|---|
| 14 |
'cron_schedule' => '', |
|---|
| 15 |
'desc' => '', |
|---|
| 16 |
'delete_amount' => '', |
|---|
| 17 |
'delete_time_type' => '', |
|---|
| 18 |
'delete_time' => '', |
|---|
| 19 |
'disabletrunks' => '', |
|---|
| 20 |
'display' => '', |
|---|
| 21 |
'exclude' => '', |
|---|
| 22 |
'host' => '', |
|---|
| 23 |
'id' => '', |
|---|
| 24 |
'items' => array(), |
|---|
| 25 |
'menu' => '', |
|---|
| 26 |
'name' => '', |
|---|
| 27 |
'path' => '', |
|---|
| 28 |
'postbu_hook' => '', |
|---|
| 29 |
'postre_hook' => '', |
|---|
| 30 |
'prebu_hook' => '', |
|---|
| 31 |
'prere_hook' => '', |
|---|
| 32 |
'restore' => '', |
|---|
| 33 |
'storage_servers' => array(), |
|---|
| 34 |
'submit' => '', |
|---|
| 35 |
'type' => '' |
|---|
| 36 |
); |
|---|
| 37 |
|
|---|
| 38 |
foreach ($get_vars as $k => $v) { |
|---|
| 39 |
$var[$k] = isset($_REQUEST[$k]) ? $_REQUEST[$k] : $v; |
|---|
| 40 |
} |
|---|
| 41 |
|
|---|
| 42 |
|
|---|
| 43 |
if ($var['submit'] == _('Delete') && $var['action'] == 'save') { |
|---|
| 44 |
$var['action'] = 'delete'; |
|---|
| 45 |
} elseif($var['submit'] == _('Run now') && $var['action'] == 'save') { |
|---|
| 46 |
$var['action'] = 'run'; |
|---|
| 47 |
} |
|---|
| 48 |
|
|---|
| 49 |
|
|---|
| 50 |
switch ($var['action']) { |
|---|
| 51 |
case 'save': |
|---|
| 52 |
$var['id'] = backup_put_backup($var); |
|---|
| 53 |
break; |
|---|
| 54 |
case 'delete': |
|---|
| 55 |
$var['id'] = backup_del_backup($var['id']); |
|---|
| 56 |
break; |
|---|
| 57 |
case 'run': |
|---|
| 58 |
|
|---|
| 59 |
//backup will compelte EVEN IS USER NAVIGATES AWAY FROM PAGE!! |
|---|
| 60 |
ignore_user_abort(true); |
|---|
| 61 |
|
|---|
| 62 |
|
|---|
| 63 |
while (ob_get_level()) { |
|---|
| 64 |
ob_end_clean(); |
|---|
| 65 |
} |
|---|
| 66 |
|
|---|
| 67 |
ob_start(); |
|---|
| 68 |
header('Content-Type: text/event-stream'); |
|---|
| 69 |
header('Cache-Control: no-cache'); |
|---|
| 70 |
|
|---|
| 71 |
//header('Last-Modified: ' . date('r', time() - 60)); |
|---|
| 72 |
//header('Pragma: no-cache'); |
|---|
| 73 |
$cmd = $amp_conf['ASTVARLIBDIR'] . '/bin/backup.php --id=' |
|---|
| 74 |
. escapeshellcmd($var['id']) . ' 2>&1'; |
|---|
| 75 |
|
|---|
| 76 |
|
|---|
| 77 |
$run = popen($cmd, 'r'); |
|---|
| 78 |
while (($msg = fgets($run)) !== false) { |
|---|
| 79 |
|
|---|
| 80 |
//send results back to the user |
|---|
| 81 |
backup_log($msg); |
|---|
| 82 |
} |
|---|
| 83 |
|
|---|
| 84 |
pclose($run); |
|---|
| 85 |
|
|---|
| 86 |
|
|---|
| 87 |
backup_log('END'); |
|---|
| 88 |
|
|---|
| 89 |
exit(); |
|---|
| 90 |
break; |
|---|
| 91 |
} |
|---|
| 92 |
|
|---|
| 93 |
|
|---|
| 94 |
|
|---|
| 95 |
$var['backup'] = backup_get_backup('all'); |
|---|
| 96 |
echo load_view(dirname(__FILE__) . '/views/rnav/backup.php', $var); |
|---|
| 97 |
|
|---|
| 98 |
|
|---|
| 99 |
switch ($var['action']) { |
|---|
| 100 |
case 'edit': |
|---|
| 101 |
case 'save': |
|---|
| 102 |
$var['servers'] = backup_get_server('all'); |
|---|
| 103 |
$var['templates'] = backup_get_template('all_detailed'); |
|---|
| 104 |
$var = array_merge($var, backup_get_backup($var['id'])); |
|---|
| 105 |
echo load_view(dirname(__FILE__) . '/views/backup/backup.php', $var); |
|---|
| 106 |
break; |
|---|
| 107 |
default: |
|---|
| 108 |
echo load_view(dirname(__FILE__) . '/views/backup/backups.php', $var); |
|---|
| 109 |
break; |
|---|
| 110 |
} |
|---|
| 111 |
|
|---|
| 112 |
?> |
|---|
| 113 |
|
|---|