%PDF- %PDF-
Direktori : /home/emergentqj/jugement/wp-content/plugins/backup-guard-platinum/com/core/backup/ |
Current File : /home/emergentqj/jugement/wp-content/plugins/backup-guard-platinum/com/core/backup/SGBackupSchedule.php |
<?php require_once(SG_SCHEDULE_PATH.'SGSchedule.php'); class SGBackupSchedule { public static function create($cron, $options, $label) { $sgdb = SGDatabase::getInstance(); $params = array(); $query = ''; if (!SGBoot::isFeatureAvailable('MULTI_SCHEDULE')) { self::remove(); $query = 'INSERT INTO '.SG_SCHEDULE_TABLE_NAME.' (id, label, status, schedule_options, backup_options) VALUES (%d, %s, %d, %s, %s) ON DUPLICATE KEY UPDATE label=%s, schedule_options=%s, backup_options=%s'; $params = array( SG_SCHEDULER_DEFAULT_ID, $label, SG_SHCEDULE_STATUS_PENDING, json_encode($cron), json_encode($options), $label, json_encode($cron), json_encode($options) ); } else{ $query = 'INSERT INTO '.SG_SCHEDULE_TABLE_NAME.' (label, status, schedule_options, backup_options) VALUES (%s, %d, %s, %s)'; $params = array( $label, SG_SHCEDULE_STATUS_PENDING, json_encode($cron), json_encode($options) ); } $res = $sgdb->query($query, $params); if ($res) { $id = $sgdb->lastInsertId(); SGSchedule::create($cron['cronTab'], $id); } } public static function remove($id = SG_SCHEDULER_DEFAULT_ID) { $sgdb = SGDatabase::getInstance(); $sgdb->query('DELETE FROM '.SG_SCHEDULE_TABLE_NAME.' WHERE id=%d', array($id)); SGSchedule::remove($id); } public static function getCronExecutionData($cron) { $cron = json_decode($cron, true); return SGSchedule::getCronExecutionData($cron['cronTab']); } public static function getAllSchedules() { $sgdb = SGDatabase::getInstance(); $results = $sgdb->query('SELECT id, label, status, schedule_options, backup_options FROM '.SG_SCHEDULE_TABLE_NAME); $schedules = array(); foreach ($results as $key => $row) { $schedules[$key]['id'] = $row['id']; $schedules[$key]['label'] = $row['label']; $schedules[$key]['status'] = $row['status']; $cronExecutionData = self::getCronExecutionData($row['schedule_options']); $schedules[$key]['recurrence'] = ucfirst($cronExecutionData['recurrence']); $schedules[$key]['executionDate'] = $cronExecutionData['time']; $schedules[$key]['backup_options'] = $row['backup_options']; } return $schedules; } }