Example #1
0
function backwpup_jobedit_metabox_save($jobvalue)
{
    ?>
  <div class="submitbox" id="submitjobedit">
  <div id="minor-publishing">
  <div id="minor-publishing-actions">
  <div id="preview-action">
  </div>
  <div class="clear"></div>
  </div>
  <div id="misc-publishing-actions">
  <div class="misc-pub-section misc-pub-section-last">
  <?php 
    foreach (backwpup_backup_types() as $type) {
        echo "<input class=\"jobtype-select checkbox\" id=\"jobtype-select-" . $type . "\" type=\"checkbox\"" . checked(true, in_array($type, explode('+', $jobvalue['type'])), false) . " name=\"type[]\" value=\"" . $type . "\"/> " . backwpup_backup_types($type);
    }
    if (!function_exists('curl_init')) {
        echo '<br /><strong style="color:red;">' . __('PHP curl functions not available! Most backup destinations deaktivated!', 'backwpup') . '</strong>';
    }
    ?>
  </div>
  </div>
  </div>
  <div id="major-publishing-actions">
  <div id="delete-action">
    <a class="submitdelete deletion" href="<?php 
    echo wp_nonce_url(backwpup_admin_url('admin.php') . '?page=backwpup&action=delete&jobs[]=' . $jobvalue['jobid'], 'bulk-jobs');
    ?>
" onclick="if ( confirm('<?php 
    echo esc_js(__("You are about to delete this Job. \n  'Cancel' to stop, 'OK' to delete.", "backwpup"));
    ?>
') ) { return true;}return false;"><?php 
    _e('Delete', 'backwpup');
    ?>
</a>
  </div>
  <div id="publishing-action">
    <?php 
    submit_button(__('Save Changes', 'backwpup'), 'primary', 'savebackwpup', false, array('tabindex' => '2', 'accesskey' => 'p'));
    ?>
  </div>
  <div class="clear"></div>
  </div>
  </div>
  <?php 
}
 function single_row($logfile, $logdata, $style = '')
 {
     list($columns, $hidden, $sortable) = $this->get_column_info();
     $r = "<tr id='" . basename($logfile) . "'{$style}>";
     foreach ($columns as $column_name => $column_display_name) {
         $class = "class=\"{$column_name} column-{$column_name}\"";
         $style = '';
         if (in_array($column_name, $hidden)) {
             $style = ' style="display:none;"';
         }
         $attributes = "{$class}{$style}";
         switch ($column_name) {
             case 'cb':
                 $r .= '<th scope="row" class="check-column"><input type="checkbox" name="logfiles[]" value="' . esc_attr(basename($logfile)) . '" /></th>';
                 break;
             case 'id':
                 $r .= "<td {$attributes}>" . $logdata['jobid'] . "</td>";
                 break;
             case 'type':
                 $r .= "<td {$attributes}>";
                 $r .= backwpup_backup_types($logdata['type'], false);
                 $r .= "</td>";
                 break;
             case 'log':
                 $r .= "<td {$attributes}><strong><a href=\"" . wp_nonce_url(backwpup_admin_url('admin.php') . '?page=backwpupworking&logfile=' . $logfile, 'view-log_' . basename($logfile)) . "\" title=\"" . __('View log', 'backwpup') . "\">" . backwpup_date_i18n(get_option('date_format') . " @ " . get_option('time_format'), $logdata['logtime']) . ": <i>" . $logdata['name'] . "</i></a></strong>";
                 $actions = array();
                 $actions['view'] = "<a href=\"" . wp_nonce_url(backwpup_admin_url('admin.php') . '?page=backwpupworking&logfile=' . $logfile, 'view-log_' . basename($logfile)) . "\">" . __('View', 'backwpup') . "</a>";
                 $actions['delete'] = "<a class=\"submitdelete\" href=\"" . wp_nonce_url(backwpup_admin_url('admin.php') . '?page=backwpuplogs&action=delete&paged=' . $this->get_pagenum() . '&logfiles[]=' . basename($logfile), 'bulk-logs') . "\" onclick=\"return showNotice.warn();\">" . __('Delete') . "</a>";
                 $actions['download'] = "<a href=\"" . wp_nonce_url(backwpup_admin_url('admin.php') . '?page=backwpuplogs&action=download&file=' . $logfile, 'download-backup_' . basename($logfile)) . "\">" . __('Download', 'backwpup') . "</a>";
                 $r .= $this->row_actions($actions);
                 $r .= "</td>";
                 break;
             case 'status':
                 $r .= "<td {$attributes}>";
                 if ($logdata['errors'] > 0) {
                     $r .= str_replace('%d', $logdata['errors'], '<span style="color:red;font-weight:bold;">' . _n("%d ERROR", "%d ERRORS", $logdata['errors'], 'backwpup') . '</span><br />');
                 }
                 if ($logdata['warnings'] > 0) {
                     $r .= str_replace('%d', $logdata['warnings'], '<span style="color:#e66f00;font-weight:bold;">' . _n("%d WARNING", "%d WARNINGS", $logdata['warnings'], 'backwpup') . '</span><br />');
                 }
                 if ($logdata['errors'] == 0 and $logdata['warnings'] == 0) {
                     $r .= '<span style="color:green;font-weight:bold;">' . __('O.K.', 'backwpup') . '</span>';
                 }
                 $r .= "</td>";
                 break;
             case 'size':
                 $r .= "<td {$attributes}>";
                 if (!empty($logdata['backupfilesize'])) {
                     $r .= backwpup_formatBytes($logdata['backupfilesize']);
                 } else {
                     $r .= __('only Log', 'backwpup');
                 }
                 $r .= "</td>";
                 break;
             case 'runtime':
                 $r .= "<td {$attributes}>";
                 $r .= $logdata['runtime'] . ' ' . __('sec.', 'backwpup');
                 $r .= "</td>";
                 break;
         }
     }
     $r .= '</tr>';
     return $r;
 }
Example #3
0
 function single_row($jobvalue, $runningfile, $style = '')
 {
     global $mode;
     list($columns, $hidden, $sortable) = $this->get_column_info();
     $r = "<tr id=\"jodid-" . $jobvalue["jobid"] . "\"" . $style . ">";
     foreach ($columns as $column_name => $column_display_name) {
         $class = "class=\"{$column_name} column-{$column_name}\"";
         $style = '';
         if (in_array($column_name, $hidden)) {
             $style = ' style="display:none;"';
         }
         $attributes = "{$class}{$style}";
         switch ($column_name) {
             case 'cb':
                 $r .= '<th scope="row" class="check-column"><input type="checkbox" name="jobs[]" value="' . esc_attr($jobvalue["jobid"]) . '" /></th>';
                 break;
             case 'id':
                 $r .= "<td {$attributes}>" . $jobvalue["jobid"] . "</td>";
                 break;
             case 'jobname':
                 $r .= "<td {$attributes}><strong><a href=\"" . wp_nonce_url(backwpup_admin_url('admin.php') . '?page=backwpupeditjob&jobid=' . $jobvalue["jobid"], 'edit-job') . "\" title=\"" . __('Edit:', 'backwpup') . esc_html($jobvalue['name']) . "\">" . esc_html($jobvalue['name']) . "</a></strong>";
                 $actions = array();
                 if ($runningfile == false) {
                     $actions['edit'] = "<a href=\"" . wp_nonce_url(backwpup_admin_url('admin.php') . '?page=backwpupeditjob&jobid=' . $jobvalue["jobid"], 'edit-job') . "\">" . __('Edit', 'backwpup') . "</a>";
                     $actions['copy'] = "<a href=\"" . wp_nonce_url(backwpup_admin_url('admin.php') . '?page=backwpup&action=copy&jobid=' . $jobvalue["jobid"], 'copy-job_' . $jobvalue["jobid"]) . "\">" . __('Copy', 'backwpup') . "</a>";
                     $actions['export'] = "<a href=\"" . wp_nonce_url(backwpup_admin_url('admin.php') . '?page=backwpup&action=export&jobs[]=' . $jobvalue["jobid"], 'bulk-jobs') . "\">" . __('Export', 'backwpup') . "</a>";
                     $actions['delete'] = "<a class=\"submitdelete\" href=\"" . wp_nonce_url(backwpup_admin_url('admin.php') . '?page=backwpup&action=delete&jobs[]=' . $jobvalue["jobid"], 'bulk-jobs') . "\" onclick=\"return showNotice.warn();\">" . __('Delete', 'backwpup') . "</a>";
                     $actions['runnow'] = "<a href=\"" . wp_nonce_url(backwpup_admin_url('admin.php') . '?page=backwpupworking&action=runnow&jobid=' . $jobvalue["jobid"], 'runnow-job_' . $jobvalue["jobid"]) . "\">" . __('Run Now', 'backwpup') . "</a>";
                 } else {
                     if ($runningfile['JOBID'] == $jobvalue["jobid"]) {
                         $actions['working'] = "<a href=\"" . wp_nonce_url(backwpup_admin_url('admin.php') . '?page=backwpupworking', '') . "\">" . __('View!', 'backwpup') . "</a>";
                         $actions['abort'] = "<a class=\"submitdelete\" href=\"" . wp_nonce_url(backwpup_admin_url('admin.php') . '?page=backwpup&action=abort', 'abort-job') . "\">" . __('Abort!', 'backwpup') . "</a>";
                     }
                 }
                 $r .= $this->row_actions($actions);
                 $r .= '</td>';
                 break;
             case 'type':
                 $r .= "<td {$attributes}>";
                 $r .= backwpup_backup_types($jobvalue['type'], false);
                 $r .= "</td>";
                 break;
             case 'info':
                 $r .= "<td {$attributes}>";
                 $r .= "<img class=\"waiting\" src=\"" . esc_url(backwpup_admin_url('images/wpspin_light.gif')) . "\" id=\"image-wait-" . $jobvalue["jobid"] . "\" />";
                 $r .= "</td>";
                 break;
             case 'next':
                 $r .= "<td {$attributes}>";
                 if ($runningfile['JOBID'] == $jobvalue["jobid"] and $runningfile != false) {
                     $runtime = time() - $jobvalue['starttime'];
                     $r .= __('Running since:', 'backwpup') . ' ' . $runtime . ' ' . __('sec.', 'backwpup');
                 } elseif ($jobvalue['activated']) {
                     $r .= date_i18n(get_option('date_format') . ' @ ' . get_option('time_format'), $jobvalue['cronnextrun']);
                 } else {
                     $r .= __('Inactive', 'backwpup');
                 }
                 if ('excerpt' == $mode) {
                     $r .= '<br />' . __('<a href="http://wikipedia.org/wiki/Cron" target="_blank">Cron</a>:', 'backwpup') . ' ' . $jobvalue['cron'];
                 }
                 $r .= "</td>";
                 break;
             case 'last':
                 $r .= "<td {$attributes}>";
                 if (isset($jobvalue['lastrun']) && $jobvalue['lastrun']) {
                     $r .= backwpup_date_i18n(get_option('date_format') . ' @ ' . get_option('time_format'), $jobvalue['lastrun']);
                     if (isset($jobvalue['lastruntime'])) {
                         $r .= '<br />' . __('Runtime:', 'backwpup') . ' ' . $jobvalue['lastruntime'] . ' ' . __('sec.', 'backwpup') . '<br />';
                     }
                 } else {
                     $r .= __('None', 'backwpup');
                 }
                 if (!empty($jobvalue['lastbackupdownloadurl'])) {
                     $r .= "<a href=\"" . wp_nonce_url($jobvalue['lastbackupdownloadurl'], 'download-backup') . "\" title=\"" . __('Download last Backup', 'backwpup') . "\">" . __('Download', 'backwpup') . "</a> | ";
                 }
                 if (!empty($jobvalue['logfile'])) {
                     $r .= "<a href=\"" . wp_nonce_url(backwpup_admin_url('admin.php') . '?page=backwpupworking&logfile=' . $jobvalue['logfile'], 'view-log_' . basename($jobvalue['logfile'])) . "\" title=\"" . __('View last Log', 'backwpup') . "\">" . __('Log', 'backwpup') . "</a><br />";
                 }
                 $r .= "</td>";
                 break;
         }
     }
     $r .= '</tr>';
     return $r;
 }
function backwpup_get_job_vars($jobid = '', $jobnewsettings = '')
{
    global $wpdb;
    //get job data
    $jobs = get_option('backwpup_jobs');
    //load jobs
    if (!empty($jobid)) {
        if (isset($jobs[$jobid])) {
            $jobsettings = $jobs[$jobid];
        }
        $jobsettings['jobid'] = $jobid;
    } else {
        if (empty($jobsettings['jobid'])) {
            //generate jobid if not exists
            $heighestid = 0;
            if (is_array($jobs)) {
                foreach ($jobs as $jobkey => $jobvalue) {
                    if ($jobkey > $heighestid) {
                        $heighestid = $jobkey;
                    }
                }
            }
            $jobsettings['jobid'] = $heighestid + 1;
        }
    }
    unset($jobs);
    unset($jobid);
    if (!empty($jobnewsettings) && is_array($jobnewsettings)) {
        //overwrite with new settings
        $jobsettings = array_merge($jobsettings, $jobnewsettings);
    }
    //check job type
    if (!isset($jobsettings['type']) or !is_string($jobsettings['type'])) {
        $jobsettings['type'] = 'DB+FILE';
    }
    $todo = explode('+', strtoupper($jobsettings['type']));
    foreach ($todo as $key => $value) {
        if (!in_array($value, backwpup_backup_types())) {
            unset($todo[$key]);
        }
    }
    $jobsettings['type'] = implode('+', $todo);
    if (empty($jobsettings['type'])) {
        $jobsettings['type'] = 'DB+FILE';
    }
    if (empty($jobsettings['name']) or !is_string($jobsettings['name'])) {
        $jobsettings['name'] = __('New', 'backwpup');
    }
    if (!isset($jobsettings['activated']) or !is_bool($jobsettings['activated'])) {
        $jobsettings['activated'] = false;
    }
    if (!isset($jobsettings['cronselect']) and !isset($jobsettings['cron'])) {
        $jobsettings['cronselect'] = 'basic';
    } elseif (!isset($jobsettings['cronselect']) and isset($jobsettings['cron'])) {
        $jobsettings['cronselect'] = 'advanced';
    }
    if ($jobsettings['cronselect'] != 'advanced' and $jobsettings['cronselect'] != 'basic') {
        $jobsettings['cronselect'] = 'advanced';
    }
    if (!isset($jobsettings['cron']) or !is_string($jobsettings['cron'])) {
        $jobsettings['cron'] = '0 3 * * *';
    }
    if (!isset($jobsettings['cronnextrun']) or !is_numeric($jobsettings['cronnextrun'])) {
        $jobsettings['cronnextrun'] = backwpup_cron_next($jobsettings['cron']);
    }
    if (!isset($jobsettings['mailaddresslog']) or !is_string($jobsettings['mailaddresslog'])) {
        $jobsettings['mailaddresslog'] = get_option('admin_email');
    }
    if (!isset($jobsettings['mailerroronly']) or !is_bool($jobsettings['mailerroronly'])) {
        $jobsettings['mailerroronly'] = true;
    }
    //Tables to backup (old)
    if (isset($jobsettings['dbtables']) and is_array($jobsettings['dbtables'])) {
        $tables = $wpdb->get_col('SHOW TABLES FROM `' . DB_NAME . '`');
        foreach ($tables as $table) {
            if (!in_array($table, $jobsettings['dbtables'])) {
                $jobsettings['dbexclude'][] = $table;
            }
        }
    }
    //don not backup tables
    if (!isset($jobsettings['dbexclude']) or !is_array($jobsettings['dbexclude'])) {
        $jobsettings['dbexclude'] = array();
        $tables = $wpdb->get_col('SHOW TABLES FROM `' . DB_NAME . '`');
        foreach ($tables as $table) {
            if (substr($table, 0, strlen($wpdb->prefix)) != $wpdb->prefix) {
                $jobsettings['dbexclude'][] = $table;
            }
        }
    }
    if (!isset($jobsettings['dbshortinsert']) or !is_bool($jobsettings['dbshortinsert'])) {
        $jobsettings['dbshortinsert'] = false;
    }
    if (!isset($jobsettings['maintenance']) or !is_bool($jobsettings['maintenance'])) {
        $jobsettings['maintenance'] = false;
    }
    if (!isset($jobsettings['fileexclude']) or !is_string($jobsettings['fileexclude'])) {
        $jobsettings['fileexclude'] = '';
    }
    $fileexclude = explode(',', $jobsettings['fileexclude']);
    foreach ($fileexclude as $key => $value) {
        $fileexclude[$key] = str_replace('//', '/', str_replace('\\', '/', trim($value)));
        if (empty($fileexclude[$key])) {
            unset($fileexclude[$key]);
        }
    }
    sort($fileexclude);
    $jobsettings['fileexclude'] = implode(',', $fileexclude);
    if (!isset($jobsettings['dirinclude']) or !is_string($jobsettings['dirinclude'])) {
        $jobsettings['dirinclude'] = '';
    }
    $dirinclude = explode(',', $jobsettings['dirinclude']);
    foreach ($dirinclude as $key => $value) {
        $dirinclude[$key] = trailingslashit(str_replace('//', '/', str_replace('\\', '/', trim($value))));
        if ($dirinclude[$key] == '/' or empty($dirinclude[$key]) or !is_dir($dirinclude[$key])) {
            unset($dirinclude[$key]);
        }
    }
    sort($dirinclude);
    $jobsettings['dirinclude'] = implode(',', $dirinclude);
    if (!isset($jobsettings['backuproot']) or !is_bool($jobsettings['backuproot'])) {
        $jobsettings['backuproot'] = true;
    }
    if (!isset($jobsettings['backupcontent']) or !is_bool($jobsettings['backupcontent'])) {
        $jobsettings['backupcontent'] = true;
    }
    if (!isset($jobsettings['backupplugins']) or !is_bool($jobsettings['backupplugins'])) {
        $jobsettings['backupplugins'] = true;
    }
    if (!isset($jobsettings['backupthemes']) or !is_bool($jobsettings['backupthemes'])) {
        $jobsettings['backupthemes'] = true;
    }
    if (!isset($jobsettings['backupuploads']) or !is_bool($jobsettings['backupuploads'])) {
        $jobsettings['backupuploads'] = true;
    }
    if (!isset($jobsettings['backuprootexcludedirs']) or !is_array($jobsettings['backuprootexcludedirs'])) {
        $jobsettings['backuprootexcludedirs'] = array();
    }
    foreach ($jobsettings['backuprootexcludedirs'] as $key => $value) {
        $jobsettings['backuprootexcludedirs'][$key] = str_replace('//', '/', str_replace('\\', '/', trim($value)));
        if (empty($jobsettings['backuprootexcludedirs'][$key]) or $jobsettings['backuprootexcludedirs'][$key] == '/' or !is_dir($jobsettings['backuprootexcludedirs'][$key])) {
            unset($jobsettings['backuprootexcludedirs'][$key]);
        }
    }
    sort($jobsettings['backuprootexcludedirs']);
    if (!isset($jobsettings['backupcontentexcludedirs']) or !is_array($jobsettings['backupcontentexcludedirs'])) {
        $jobsettings['backupcontentexcludedirs'] = array();
    }
    foreach ($jobsettings['backupcontentexcludedirs'] as $key => $value) {
        $jobsettings['backupcontentexcludedirs'][$key] = str_replace('//', '/', str_replace('\\', '/', trim($value)));
        if (empty($jobsettings['backupcontentexcludedirs'][$key]) or $jobsettings['backupcontentexcludedirs'][$key] == '/' or !is_dir($jobsettings['backupcontentexcludedirs'][$key])) {
            unset($jobsettings['backupcontentexcludedirs'][$key]);
        }
    }
    sort($jobsettings['backupcontentexcludedirs']);
    if (!isset($jobsettings['backuppluginsexcludedirs']) or !is_array($jobsettings['backuppluginsexcludedirs'])) {
        $jobsettings['backuppluginsexcludedirs'] = array();
    }
    foreach ($jobsettings['backuppluginsexcludedirs'] as $key => $value) {
        $jobsettings['backuppluginsexcludedirs'][$key] = str_replace('//', '/', str_replace('\\', '/', trim($value)));
        if (empty($jobsettings['backuppluginsexcludedirs'][$key]) or $jobsettings['backuppluginsexcludedirs'][$key] == '/' or !is_dir($jobsettings['backuppluginsexcludedirs'][$key])) {
            unset($jobsettings['backuppluginsexcludedirs'][$key]);
        }
    }
    sort($jobsettings['backuppluginsexcludedirs']);
    if (!isset($jobsettings['backupthemesexcludedirs']) or !is_array($jobsettings['backupthemesexcludedirs'])) {
        $jobsettings['backupthemesexcludedirs'] = array();
    }
    foreach ($jobsettings['backupthemesexcludedirs'] as $key => $value) {
        $jobsettings['backupthemesexcludedirs'][$key] = str_replace('//', '/', str_replace('\\', '/', trim($value)));
        if (empty($jobsettings['backupthemesexcludedirs'][$key]) or $jobsettings['backupthemesexcludedirs'][$key] == '/' or !is_dir($jobsettings['backupthemesexcludedirs'][$key])) {
            unset($jobsettings['backupthemesexcludedirs'][$key]);
        }
    }
    sort($jobsettings['backupthemesexcludedirs']);
    if (!isset($jobsettings['backupuploadsexcludedirs']) or !is_array($jobsettings['backupuploadsexcludedirs'])) {
        $jobsettings['backupuploadsexcludedirs'] = array();
    }
    foreach ($jobsettings['backupuploadsexcludedirs'] as $key => $value) {
        $jobsettings['backupuploadsexcludedirs'][$key] = str_replace('//', '/', str_replace('\\', '/', trim($value)));
        if (empty($jobsettings['backupuploadsexcludedirs'][$key]) or $jobsettings['backupuploadsexcludedirs'][$key] == '/' or !is_dir($jobsettings['backupuploadsexcludedirs'][$key])) {
            unset($jobsettings['backupuploadsexcludedirs'][$key]);
        }
    }
    sort($jobsettings['backupuploadsexcludedirs']);
    $fileformarts = array('.zip', '.tar.gz', '.tar.bz2', '.tar');
    if (!isset($jobsettings['fileformart']) or !in_array($jobsettings['fileformart'], $fileformarts)) {
        $jobsettings['fileformart'] = '.zip';
    }
    if (!isset($jobsettings['fileprefix']) or !is_string($jobsettings['fileprefix'])) {
        $jobsettings['fileprefix'] = 'backwpup_' . $jobsettings['jobid'] . '_';
    }
    if (!isset($jobsettings['mailefilesize']) or !is_float($jobsettings['mailefilesize'])) {
        $jobsettings['mailefilesize'] = 0;
    }
    if (!isset($jobsettings['backupdir'])) {
        $jobsettings['backupdir'] = '';
    }
    if (substr($jobsettings['backupdir'], 0, 1) != '/' and substr($jobsettings['backupdir'], 1, 1) != ':' and !empty($jobsettings['backupdir'])) {
        //add abspath if not absolute
        $jobsettings['backupdir'] = rtrim(str_replace('\\', '/', ABSPATH), '/') . '/' . $jobsettings['backupdir'];
    }
    $jobsettings['backupdir'] = trailingslashit(str_replace('//', '/', str_replace('\\', '/', trim($jobsettings['backupdir']))));
    if ($jobsettings['backupdir'] == '/') {
        $jobsettings['backupdir'] = '';
    }
    if (!isset($jobsettings['maxbackups']) or !is_int($jobsettings['maxbackups'])) {
        $jobsettings['maxbackups'] = 0;
    }
    if (!empty($jobsettings['ftphost']) and false !== strpos($jobsettings['ftphost'], ':')) {
        list($jobsettings['ftphost'], $jobsettings['ftphostport']) = explode(':', $jobsettings['ftphost'], 2);
    }
    if (!isset($jobsettings['ftphost']) or !is_string($jobsettings['ftphost'])) {
        $jobsettings['ftphost'] = '';
    }
    if (!isset($jobsettings['ftphostport']) or !is_int($jobsettings['ftphostport'])) {
        $jobsettings['ftphostport'] = 21;
    }
    if (!isset($jobsettings['ftpuser']) or !is_string($jobsettings['ftpuser'])) {
        $jobsettings['ftpuser'] = '';
    }
    if (!isset($jobsettings['ftppass']) or !is_string($jobsettings['ftppass'])) {
        $jobsettings['ftppass'] = '';
    }
    if (!isset($jobsettings['ftpdir']) or !is_string($jobsettings['ftpdir']) or $jobsettings['ftpdir'] == '/') {
        $jobsettings['ftpdir'] = '';
    }
    $jobsettings['ftpdir'] = trailingslashit(str_replace('//', '/', str_replace('\\', '/', trim($jobsettings['ftpdir']))));
    if (substr($jobsettings['ftpdir'], 0, 1) != '/') {
        $jobsettings['ftpdir'] = '/' . $jobsettings['ftpdir'];
    }
    if (!isset($jobsettings['ftpmaxbackups']) or !is_int($jobsettings['ftpmaxbackups'])) {
        $jobsettings['ftpmaxbackups'] = 0;
    }
    if (!isset($jobsettings['ftppasv']) or !is_bool($jobsettings['ftppasv'])) {
        $jobsettings['ftppasv'] = true;
    }
    if (!isset($jobsettings['ftpssl']) or !is_bool($jobsettings['ftpssl'])) {
        $jobsettings['ftpssl'] = false;
    }
    if (!isset($jobsettings['awsAccessKey']) or !is_string($jobsettings['awsAccessKey'])) {
        $jobsettings['awsAccessKey'] = '';
    }
    if (!isset($jobsettings['awsSecretKey']) or !is_string($jobsettings['awsSecretKey'])) {
        $jobsettings['awsSecretKey'] = '';
    }
    if (!isset($jobsettings['awsrrs']) or !is_bool($jobsettings['awsrrs'])) {
        $jobsettings['awsrrs'] = false;
    }
    if (!isset($jobsettings['awsBucket']) or !is_string($jobsettings['awsBucket'])) {
        $jobsettings['awsBucket'] = '';
    }
    if (!isset($jobsettings['awsdir']) or !is_string($jobsettings['awsdir']) or $jobsettings['awsdir'] == '/') {
        $jobsettings['awsdir'] = '';
    }
    $jobsettings['awsdir'] = trailingslashit(str_replace('//', '/', str_replace('\\', '/', trim($jobsettings['awsdir']))));
    if (substr($jobsettings['awsdir'], 0, 1) == '/') {
        $jobsettings['awsdir'] = substr($jobsettings['awsdir'], 1);
    }
    if (!isset($jobsettings['awsmaxbackups']) or !is_int($jobsettings['awsmaxbackups'])) {
        $jobsettings['awsmaxbackups'] = 0;
    }
    if (!isset($jobsettings['GStorageAccessKey']) or !is_string($jobsettings['GStorageAccessKey'])) {
        $jobsettings['GStorageAccessKey'] = '';
    }
    if (!isset($jobsettings['GStorageSecret']) or !is_string($jobsettings['GStorageSecret'])) {
        $jobsettings['GStorageSecret'] = '';
    }
    if (!isset($jobsettings['GStorageBucket']) or !is_string($jobsettings['GStorageBucket'])) {
        $jobsettings['GStorageBucket'] = '';
    }
    if (!isset($jobsettings['GStoragedir']) or !is_string($jobsettings['GStoragedir']) or $jobsettings['GStoragedir'] == '/') {
        $jobsettings['GStoragedir'] = '';
    }
    $jobsettings['GStoragedir'] = trailingslashit(str_replace('//', '/', str_replace('\\', '/', trim($jobsettings['GStoragedir']))));
    if (substr($jobsettings['GStoragedir'], 0, 1) == '/') {
        $jobsettings['GStoragedir'] = substr($jobsettings['GStoragedir'], 1);
    }
    if (!isset($jobsettings['GStoragemaxbackups']) or !is_int($jobsettings['GStoragemaxbackups'])) {
        $jobsettings['GStoragemaxbackups'] = 0;
    }
    if (!isset($jobsettings['msazureHost']) or !is_string($jobsettings['msazureHost'])) {
        $jobsettings['msazureHost'] = 'blob.core.windows.net';
    }
    if (!isset($jobsettings['msazureAccName']) or !is_string($jobsettings['msazureAccName'])) {
        $jobsettings['msazureAccName'] = '';
    }
    if (!isset($jobsettings['msazureKey']) or !is_string($jobsettings['msazureKey'])) {
        $jobsettings['msazureKey'] = '';
    }
    if (!isset($jobsettings['msazureContainer']) or !is_string($jobsettings['msazureContainer'])) {
        $jobsettings['msazureContainer'] = '';
    }
    if (!isset($jobsettings['msazuredir']) or !is_string($jobsettings['msazuredir']) or $jobsettings['msazuredir'] == '/') {
        $jobsettings['msazuredir'] = '';
    }
    $jobsettings['msazuredir'] = trailingslashit(str_replace('//', '/', str_replace('\\', '/', trim($jobsettings['msazuredir']))));
    if (substr($jobsettings['msazuredir'], 0, 1) == '/') {
        $jobsettings['msazuredir'] = substr($jobsettings['msazuredir'], 1);
    }
    if (!isset($jobsettings['msazuremaxbackups']) or !is_int($jobsettings['msazuremaxbackups'])) {
        $jobsettings['msazuremaxbackups'] = 0;
    }
    if (!isset($jobsettings['rscUsername']) or !is_string($jobsettings['rscUsername'])) {
        $jobsettings['rscUsername'] = '';
    }
    if (!isset($jobsettings['rscAPIKey']) or !is_string($jobsettings['rscAPIKey'])) {
        $jobsettings['rscAPIKey'] = '';
    }
    if (!isset($jobsettings['rscContainer']) or !is_string($jobsettings['rscContainer'])) {
        $jobsettings['rscContainer'] = '';
    }
    if (!isset($jobsettings['rscdir']) or !is_string($jobsettings['rscdir']) or $jobsettings['rscdir'] == '/') {
        $jobsettings['rscdir'] = '';
    }
    $jobsettings['rscdir'] = trailingslashit(str_replace('//', '/', str_replace('\\', '/', trim($jobsettings['rscdir']))));
    if (substr($jobsettings['rscdir'], 0, 1) == '/') {
        $jobsettings['rscdir'] = substr($jobsettings['rscdir'], 1);
    }
    if (!isset($jobsettings['rscmaxbackups']) or !is_int($jobsettings['rscmaxbackups'])) {
        $jobsettings['rscmaxbackups'] = 0;
    }
    if (!isset($jobsettings['dropetoken']) or !is_string($jobsettings['dropetoken'])) {
        $jobsettings['dropetoken'] = '';
    }
    if (!isset($jobsettings['dropesecret']) or !is_string($jobsettings['dropesecret'])) {
        $jobsettings['dropesecret'] = '';
    }
    if (!isset($jobsettings['dropedir']) or !is_string($jobsettings['dropedir']) or $jobsettings['dropedir'] == '/') {
        $jobsettings['dropedir'] = '';
    }
    $jobsettings['dropedir'] = trailingslashit(str_replace('//', '/', str_replace('\\', '/', trim($jobsettings['dropedir']))));
    if (substr($jobsettings['dropedir'], 0, 1) == '/') {
        $jobsettings['dropedir'] = substr($jobsettings['dropedir'], 1);
    }
    if (!isset($jobsettings['droperoot']) or $jobsettings['droperoot'] != 'dropbox' and $jobsettings['droperoot'] != 'sandbox') {
        $jobsettings['droperoot'] = 'dropbox';
    }
    if (!isset($jobsettings['dropemaxbackups']) or !is_int($jobsettings['dropemaxbackups'])) {
        $jobsettings['dropemaxbackups'] = 0;
    }
    if (!isset($jobsettings['sugaruser']) or !is_string($jobsettings['sugaruser'])) {
        $jobsettings['sugaruser'] = '';
    }
    if (!isset($jobsettings['sugarpass']) or !is_string($jobsettings['sugarpass'])) {
        $jobsettings['sugarpass'] = '';
    }
    if (!isset($jobsettings['sugarroot']) or !is_string($jobsettings['sugarroot'])) {
        $jobsettings['sugarroot'] = '';
    }
    if (!isset($jobsettings['sugardir']) or !is_string($jobsettings['sugardir']) or $jobsettings['sugardir'] == '/') {
        $jobsettings['sugardir'] = '';
    }
    $jobsettings['sugardir'] = trailingslashit(str_replace('//', '/', str_replace('\\', '/', trim($jobsettings['sugardir']))));
    if (substr($jobsettings['sugardir'], 0, 1) == '/') {
        $jobsettings['sugardir'] = substr($jobsettings['sugardir'], 1);
    }
    if (!isset($jobsettings['sugarmaxbackups']) or !is_int($jobsettings['sugarmaxbackups'])) {
        $jobsettings['sugarmaxbackups'] = 0;
    }
    if (!isset($jobsettings['mailaddress']) or !is_string($jobsettings['mailaddress'])) {
        $jobsettings['mailaddress'] = '';
    }
    //unset old not nedded vars
    unset($jobsettings['scheduletime']);
    unset($jobsettings['scheduleintervaltype']);
    unset($jobsettings['scheduleintervalteimes']);
    unset($jobsettings['scheduleinterval']);
    unset($jobsettings['dropemail']);
    unset($jobsettings['dropepass']);
    unset($jobsettings['dbtables']);
    unset($jobsettings['dropesignmethod']);
    return $jobsettings;
}