function sns_configure_backup_db_data() { global $wpdb; $table_name = SNS_DB_PREFIX . 'options'; $options = $wpdb->get_results("SELECT COUNT(*) as `cnt` FROM {$table_name}", ARRAY_A); if ($options[0]['cnt'] == 0) { foreach (Sns_Option::get_options_list() as $option) { if ($option == Sns_Option::COUNT) { $val = intval(SNS_BACKUPS_MAX_COUNT); } else { $val = intval(Sns_Option::SET); } $wpdb->insert($table_name, array('option' => $option, 'value' => $val)); } } $table_name = SNS_DB_PREFIX . 'settings_destinations'; $destinations = $wpdb->get_results("SELECT COUNT(*) as `cnt` FROM {$table_name}", ARRAY_A); if ($destinations[0]['cnt'] == 0) { foreach (Sns_Destination::get_destinations_list() as $destination) { $wpdb->insert($table_name, array('name' => $destination)); } } $table_name = SNS_DB_PREFIX . 'settings_ftp'; $ftp = $wpdb->get_results("SELECT COUNT(*) as `cnt` FROM {$table_name}", ARRAY_A); if ($ftp[0]['cnt'] == 0) { $wpdb->insert($table_name, array('server' => '', 'port' => SNS_FTP_DEF_PORT)); } $table_name = SNS_DB_PREFIX . 'state'; $state = $wpdb->get_results("SELECT `status` FROM {$table_name}", ARRAY_A); if (empty($state)) { $wpdb->insert($table_name, array('type' => Sns_State::TYPE_BACKUP, 'status' => Sns_State::STATUS_NONE)); } else { $data = array('status' => Sns_State::STATUS_NONE); Sns_State::update($data); } }
function sns_backup_action() { $proc = Sns_State::get_status(); $scheduleState = Sns_State::get_status(Sns_Backup::BACKUP_MODE_SCHEDULE); if ($proc['status'] != Sns_State::STATUS_ACTIVE && empty($scheduleState)) { $backup = new Sns_Backup('schedule'); $data = array('status' => Sns_State::STATUS_ACTIVE); Sns_State::update($data); try { $backup->backup(); } catch (Exception $e) { Sns_Log::log_exception_obj($e); } $data = array('status' => Sns_State::STATUS_FINISHED); Sns_State::update($data); } }
function sns_backup_prepare_process() { $stateData = array('status' => Sns_State::STATUS_READY_TO_START, 'type' => isset($_POST['type']) && $_POST['type'] == Sns_State::TYPE_RESTORE ? Sns_State::TYPE_RESTORE : Sns_State::TYPE_BACKUP); Sns_State::update($stateData); die; }