Beispiel #1
0
            SGConfig::set('SG_ACTION_BACKUP_DATABASE_AVAILABLE', 1, false);
            SGConfig::set('SG_ACTION_BACKUP_FILES_AVAILABLE', 1, false);
            $activeOptions['database'] = 1;
            $activeOptions['files'] = 1;
        } else {
            if ($options['backupType'] == SG_BACKUP_TYPE_CUSTOM) {
                //If database backup
                $isDatabaseBackup = empty($options['backupDatabase']) ? 0 : 1;
                SGConfig::set('SG_ACTION_BACKUP_DATABASE_AVAILABLE', $isDatabaseBackup, false);
                $activeOptions['database'] = $isDatabaseBackup;
                //If files backup
                if (isset($options['backupFiles']) && count($options['directory'])) {
                    $directories = $options['directory'];
                    SGConfig::set('SG_ACTION_BACKUP_FILES_AVAILABLE', 1, false);
                    SGConfig::set('SG_BACKUP_FILE_PATHS', implode(',', $directories), false);
                    $activeOptions['files'] = 1;
                } else {
                    SGConfig::set('SG_ACTION_BACKUP_FILES_AVAILABLE', 0, false);
                    SGConfig::set('SG_BACKUP_FILE_PATHS', 0, false);
                }
            }
        }
        SGConfig::set('SG_ACTIVE_BACKUP_OPTIONS', json_encode($activeOptions));
        $backup = new SGBackup();
        $backup->backup();
        die(json_encode($success));
    } catch (SGException $exception) {
        array_push($error, $exception->getMessage());
        die(json_encode($error));
    }
}
Beispiel #2
0
    } else {
        $options = json_decode(SGConfig::get('SG_ACTIVE_BACKUP_OPTIONS'), true);
        setManualBackupOptions($options);
    }
    $wpContent = basename(WP_CONTENT_DIR);
    $upload_dir = wp_upload_dir();
    $wpUploads = basename($upload_dir['basedir']);
    $reloadHandler = new SGReloadHandler();
    if ($reloadHandler->canReload()) {
        $pauseHandler = new SGPauseHandler();
        $notificationCenter = SGNotificationCenter::getInstance();
        $notificationCenter->addObserver(SG_NOTIFICATION_SHOULD_CONTINUE_ACTION, $pauseHandler, 'shouldPause', true);
        $notificationCenter->addObserver(SG_NOTIFICATION_DID_FINISH_BACKUP, $pauseHandler, 'didFinishBackup');
    }
    $b = new SGBackup();
    $b->backup();
    if ($reloadHandler->canReload()) {
        $b->setReloading(true);
        $reloadHandler->reload();
    }
    die(json_encode($success));
} catch (SGException $exception) {
    array_push($error, $exception->getMessage());
    die(json_encode($error));
}
function setManualBackupOptions($options)
{
    $activeOptions = array('backupDatabase' => 0, 'backupFiles' => 0, 'ftp' => 0, 'gdrive' => 0, 'dropbox' => 0, 'background' => 0);
    //If background mode
    $isBackgroundMode = !empty($options['backgroundMode']) ? 1 : 0;
    SGConfig::set('SG_BACKUP_IN_BACKGROUND_MODE', $isBackgroundMode, false);