update
This commit is contained in:
@@ -0,0 +1,307 @@
|
||||
<?php
|
||||
|
||||
function wpvivid_schedule_settings()
|
||||
{
|
||||
?>
|
||||
<tr>
|
||||
<td class="row-title wpvivid-backup-settings-table tablelistcolumn"><label for="tablecell"><?php esc_html_e('Schedule Settings', 'wpvivid-backuprestore'); ?></label></td>
|
||||
<td class="tablelistcolumn">
|
||||
<div id="storage-brand-3">
|
||||
<div>
|
||||
<div>
|
||||
<div class="postbox schedule-tab-block">
|
||||
<label for="wpvivid_schedule_enable">
|
||||
<input option="schedule" name="enable" type="checkbox" id="wpvivid_schedule_enable" />
|
||||
<span><?php esc_html_e( 'Enable backup schedule', 'wpvivid-backuprestore' ); ?></span>
|
||||
</label><br>
|
||||
<label>
|
||||
<div style="float: left;">
|
||||
<input type="checkbox" disabled />
|
||||
<span class="wpvivid-element-space-right" style="color: #ddd;"><?php esc_html_e('Enable Incremental Backup', 'wpvivid-backuprestore'); ?></span>
|
||||
</div>
|
||||
<div style="float: left; height: 32px; line-height: 32px;">
|
||||
<span class="wpvivid-feature-pro">
|
||||
<a href="https://docs.wpvivid.com/wpvivid-backup-pro-incremental-backups.html"><?php esc_html_e('Pro feature: learn more', 'wpvivid-backuprestore'); ?></a>
|
||||
</span>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
</label>
|
||||
<label>
|
||||
<div style="float: left;">
|
||||
<input type="checkbox" disabled />
|
||||
<span class="wpvivid-element-space-right" style="color: #ddd;"><?php esc_html_e('Advanced Schedule', 'wpvivid-backuprestore'); ?></span>
|
||||
</div>
|
||||
<div style="float: left; height: 32px; line-height: 32px;">
|
||||
<span class="wpvivid-feature-pro">
|
||||
<a href="https://docs.wpvivid.com/wpvivid-backup-pro-schedule-overview.html"><?php esc_html_e('Pro feature: learn more', 'wpvivid-backuprestore'); ?></a>
|
||||
</span>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
</label>
|
||||
<div style="clear: both;"></div>
|
||||
<div>
|
||||
<?php
|
||||
$time = '00:00:00';
|
||||
$utime_1 = strtotime($time);
|
||||
$time = '00:00:15';
|
||||
$utime_2 = strtotime($time);
|
||||
echo '<p>1) '.'Backup schedule will start at a random time between '.esc_html(gmdate('H:i:s', $utime_1)).' and '.esc_html(gmdate('H:i:s', $utime_2)).' <strong>UTC</strong> to prevent possible server overload from simultaneous backups of many sites.</p>';
|
||||
echo '<p>2) ';
|
||||
esc_html_e('Being subjected to mechanisms of PHP, a scheduled backup task for your site will be triggered only when the site receives at least a visit at any page.', 'wpvivid-backuprestore');
|
||||
echo '</p>';
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="postbox schedule-tab-block">
|
||||
<fieldset>
|
||||
<legend class="screen-reader-text"><span>input type="radio"</span></legend>
|
||||
<?php
|
||||
$display_array = array("12Hours", "Daily", "Weekly", "Fortnightly", "Monthly");
|
||||
foreach($display_array as $display)
|
||||
{
|
||||
$schedule_check = wpvivid_check_schedule_type($display);
|
||||
if($schedule_check['result'])
|
||||
{
|
||||
echo ' <label><input type="radio" option="schedule" name="recurrence" value="'.esc_attr($schedule_check['type']).'" />';
|
||||
if($display === '12Hours'){
|
||||
echo '<span>'.esc_html__('12Hours', 'wpvivid-backuprestore').'</span></label><br>';
|
||||
}
|
||||
if($display === 'Daily'){
|
||||
echo '<span>'.esc_html__('Daily', 'wpvivid-backuprestore').'</span></label><br>';
|
||||
}
|
||||
if($display === 'Weekly'){
|
||||
echo '<span>'.esc_html__('Weekly', 'wpvivid-backuprestore').'</span></label><br>';
|
||||
}
|
||||
if($display === 'Fortnightly'){
|
||||
echo '<span>'.esc_html__('Fortnightly', 'wpvivid-backuprestore').'</span></label><br>';
|
||||
}
|
||||
if($display === 'Monthly'){
|
||||
echo '<span>'.esc_html__('Monthly', 'wpvivid-backuprestore').'</span></label><br>';
|
||||
}
|
||||
}
|
||||
else{
|
||||
echo '<p>Warning: Unable to set '.esc_html($display).' backup schedule</p>';
|
||||
}
|
||||
}
|
||||
echo '<label>';
|
||||
echo '<div style="float: left;">';
|
||||
echo '<input type="radio" disabled />';
|
||||
echo '<span class="wpvivid-element-space-right" style="color: #ddd;">';esc_html_e('Custom', 'wpvivid-backuprestore');echo '</span>';
|
||||
echo '</div>';
|
||||
echo '<div style="float: left; height: 32px; line-height: 32px;">';
|
||||
echo '<span class="wpvivid-feature-pro">';
|
||||
echo '<a href="https://docs.wpvivid.com/wpvivid-backup-pro-customize-start-time.html" style="text-decoration: none; margin-top: 10px;">';esc_html_e('Pro feature: learn more', 'wpvivid-backuprestore');echo '</a>';
|
||||
echo '</span>';
|
||||
echo '</div>';
|
||||
echo '</label><br>';
|
||||
?>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="postbox schedule-tab-block" id="wpvivid_schedule_backup_type">
|
||||
<div>
|
||||
<div>
|
||||
<fieldset>
|
||||
<legend class="screen-reader-text"><span>input type="radio"</span></legend>
|
||||
<?php
|
||||
echo '<label>';
|
||||
echo '<input type="radio" option="schedule" name="backup_type" value="files+db"/>';
|
||||
echo '<span>'.esc_html__('Database + Files (WordPress Files)', 'wpvivid-backuprestore').'</span>';
|
||||
echo '</label><br>';
|
||||
|
||||
echo '<label>';
|
||||
echo '<input type="radio" option="schedule" name="backup_type" value="files"/>';
|
||||
echo '<span>'.esc_html__('WordPress Files (Exclude Database)', 'wpvivid-backuprestore').'</span>';
|
||||
echo '</label><br>';
|
||||
|
||||
echo '<label>';
|
||||
echo '<input type="radio" option="schedule" name="backup_type" value="db"/>';
|
||||
echo '<span>'.esc_html__('Only Database', 'wpvivid-backuprestore').'</span>';
|
||||
echo '</label><br>';
|
||||
|
||||
echo '<label>';
|
||||
echo '<div style="float: left;">';
|
||||
echo '<input type="radio" disabled />';
|
||||
echo '<span class="wpvivid-element-space-right" style="color: #ddd;">'.esc_html__('Custom', 'wpvivid-backuprestore').'</span>';
|
||||
echo '</div>';
|
||||
echo '<div style="float: left; height: 32px; line-height: 32px;">';
|
||||
echo '<span class="wpvivid-feature-pro">';
|
||||
echo '<a href="https://docs.wpvivid.com/wpvivid-backup-pro-customize-what-to-backup-for-schedule.html" style="text-decoration: none;">'.esc_html__('Pro feature: learn more', 'wpvivid-backuprestore').'</a>';
|
||||
echo '</span>';
|
||||
echo '</div>';
|
||||
echo '</label><br>';
|
||||
?>
|
||||
</fieldset>
|
||||
</div>
|
||||
<div style="clear:both;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="postbox schedule-tab-block" id="wpvivid_schedule_remote_storage">
|
||||
<div id="wpvivid_schedule_backup_local_remote">
|
||||
<?php
|
||||
$schedule=WPvivid_Schedule::get_schedule();
|
||||
$backup_local = 'checked';
|
||||
$backup_remote = '';
|
||||
if($schedule['enable'] == true)
|
||||
{
|
||||
if($schedule['backup']['remote'] === 1)
|
||||
{
|
||||
$backup_local = '';
|
||||
$backup_remote = 'checked';
|
||||
}
|
||||
else{
|
||||
$backup_local = 'checked';
|
||||
$backup_remote = '';
|
||||
}
|
||||
}
|
||||
echo '<fieldset>
|
||||
<label title="">
|
||||
<input type="radio" option="schedule" name="save_local_remote" value="local" '.esc_attr($backup_local).' />
|
||||
<span>'.esc_html__( 'Save backups on localhost (web server)', 'wpvivid-backuprestore' ).'</span>
|
||||
</label><br>
|
||||
<label title="">
|
||||
<input type="radio" option="schedule" name="save_local_remote" value="remote" '.esc_attr($backup_remote).' />
|
||||
<span>'.esc_html__( 'Send backups to remote storage (You can choose whether to keep the backup in localhost after it is uploaded to cloud storage in Settings.)', 'wpvivid-backuprestore' ).'</span>
|
||||
</label>
|
||||
<label style="display: none;">
|
||||
<input type="checkbox" option="schedule" name="lock" value="0" />
|
||||
</label>
|
||||
</fieldset>';
|
||||
?>
|
||||
</div>
|
||||
<div id="schedule_upload_storage" style="cursor:pointer;" title="<?php esc_html_e('Highlighted icon illuminates that you have choosed a remote storage to store backups', 'wpvivid-backuprestore'); ?>">
|
||||
<?php
|
||||
$remoteslist=WPvivid_Setting::get_all_remote_options();
|
||||
$default_remote_storage=array();
|
||||
foreach ($remoteslist['remote_selected'] as $value) {
|
||||
$default_remote_storage[]=$value;
|
||||
}
|
||||
$remote_storage_type=array();
|
||||
foreach ($remoteslist as $key=>$value)
|
||||
{
|
||||
if(in_array($key, $default_remote_storage))
|
||||
{
|
||||
$remote_storage_type[]=$value['type'];
|
||||
}
|
||||
}
|
||||
|
||||
$remote=array();
|
||||
$remote=apply_filters('wpvivid_remote_pic', $remote);
|
||||
if(is_array($remote))
|
||||
{
|
||||
foreach ($remote as $key => $value) {
|
||||
$title = $value['title'];
|
||||
if (in_array($key, $remote_storage_type)) {
|
||||
$pic = $value['selected_pic'];
|
||||
} else {
|
||||
$pic = $value['default_pic'];
|
||||
}
|
||||
$url = apply_filters('wpvivid_get_wpvivid_pro_url', WPVIVID_PLUGIN_URL, $key);
|
||||
echo '<img src="' . esc_url($url . $pic) . '" style="vertical-align:middle; " title="' . esc_attr($title) . '"/>';
|
||||
}
|
||||
echo '<img onclick="wpvivid_click_switch_page(\'wrap\', \'wpvivid_tab_remote_storage\', true);" src="'.esc_url(WPVIVID_PLUGIN_URL.'/admin/partials/images/add-storages.png').'" style="vertical-align:middle;" title="'.esc_attr__('Add a storage', 'wpvivid-backuprestore').'"/>';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="postbox schedule-tab-block">
|
||||
<div style="float:left; color: #ddd; margin-right: 10px;">
|
||||
<?php esc_html_e('+ Add another schedule', 'wpvivid-backuprestore'); ?>
|
||||
</div>
|
||||
<span class="wpvivid-feature-pro">
|
||||
<a href="https://docs.wpvivid.com/wpvivid-backup-pro-creating-schedules.html"><?php esc_html_e('Pro feature: learn more', 'wpvivid-backuprestore'); ?></a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<script>
|
||||
<?php
|
||||
do_action('wpvivid_schedule_do_js');
|
||||
?>
|
||||
</script>
|
||||
<?php
|
||||
}
|
||||
|
||||
function wpvivid_check_schedule_type($display)
|
||||
{
|
||||
$schedule_type = array(
|
||||
'wpvivid_12hours' => '12Hours',
|
||||
'twicedaily' => '12Hours',
|
||||
'wpvivid_daily' => 'Daily',
|
||||
'daily' => 'Daily',
|
||||
'onceday' => 'Daily',
|
||||
'wpvivid_weekly' => 'Weekly',
|
||||
'weekly' => 'Weekly',
|
||||
'wpvivid_fortnightly' => 'Fortnightly',
|
||||
'fortnightly' => 'Fortnightly',
|
||||
'wpvivid_monthly' => 'Monthly',
|
||||
'monthly' => 'Monthly',
|
||||
'montly' => 'Monthly'
|
||||
);
|
||||
$schedules = wp_get_schedules();
|
||||
$check_res = false;
|
||||
$ret = array();
|
||||
foreach ($schedule_type as $key => $value){
|
||||
if($value == $display){
|
||||
if(isset($schedules[$key])){
|
||||
$check_res = true;
|
||||
$ret['type']=$key;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
$ret['result']=$check_res;
|
||||
return $ret;
|
||||
}
|
||||
|
||||
function wpvivid_schedule_do_js()
|
||||
{
|
||||
$schedule=WPvivid_Schedule::get_schedule();
|
||||
if($schedule['enable'] == true)
|
||||
{
|
||||
?>
|
||||
jQuery("#wpvivid_schedule_enable").prop('checked', true);
|
||||
<?php
|
||||
if($schedule['backup']['remote'] === 1)
|
||||
{
|
||||
$schedule_remote='remote';
|
||||
}
|
||||
else{
|
||||
$schedule_remote='local';
|
||||
}
|
||||
}
|
||||
else{
|
||||
$schedule['recurrence']='wpvivid_daily';
|
||||
$schedule['backup']['backup_files']='files+db';
|
||||
$schedule_remote='local';
|
||||
}
|
||||
?>
|
||||
jQuery("input:radio[value='<?php echo esc_attr($schedule['recurrence'])?>']").prop('checked', true);
|
||||
jQuery("input:radio[value='<?php echo esc_attr($schedule['backup']['backup_files'])?>']").prop('checked', true);
|
||||
jQuery("input:radio[name='save_local_remote'][value='remote']").click(function()
|
||||
{
|
||||
<?php
|
||||
$remote_id_array = WPvivid_Setting::get_user_history('remote_selected');
|
||||
$remote_id = '';
|
||||
foreach ($remote_id_array as $value)
|
||||
{
|
||||
$remote_id = $value;
|
||||
}
|
||||
if(empty($remote_id))
|
||||
{
|
||||
?>
|
||||
alert("<?php esc_html_e('There is no default remote storage configured. Please set it up first.', 'wpvivid-backuprestore'); ?>");
|
||||
jQuery("input:radio[name='save_local_remote'][value='local']").prop('checked', true);
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
});
|
||||
<?php
|
||||
}
|
||||
|
||||
add_action('wpvivid_schedule_add_cell','wpvivid_schedule_settings',11);
|
||||
add_action('wpvivid_schedule_do_js','wpvivid_schedule_do_js',10);
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user