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)); } }
} 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);