/** * Delete a job. * @synopsis <id> [--confirm] * * @param $args * @param $assoc * * @return bool */ public function delete($args, $assoc) { list($id) = $args; if (isset($assoc['confirm'])) { $job = \MyWPBackup\Admin\Job::get($id); if (!$job) { echo sprintf(__('No such job with ID %s.', 'my-wp-backup'), $id) . "\n"; return false; } \MyWPBackup\Admin\Job::delete($id); echo sprintf(__('Deleted job %s.', 'my-wp-backup'), $job['job_name']) . "\n"; } else { echo 'Please add --confirm to really delete the job.' . "\n"; } return true; }
public function post_delete() { if (!check_admin_referer('MyWPBackup_delete_job') || !isset($_POST['id']) || !is_array($_POST['id'])) { wp_die(esc_html__('Nope! Security check failed!', 'my-wp-backup')); } $ids = array_map('absint', $_POST['id']); $running = get_transient('my-wp-backup-running'); foreach ($ids as $id) { if ($id <= 0) { wp_die(esc_html__('Nope! Security check failed!', 'my-wp-backup')); } if ($running['id'] === $id) { delete_transient('my-wp-backup-running'); } } Job::delete($ids); add_settings_error('', '', _n('Job deleted.', 'Jobs deleted', count($ids), 'my-wp-backup'), 'updated'); set_transient('settings_errors', get_settings_errors()); wp_safe_redirect($this->admin->get_page_url('jobs', array('settings-updated' => 1))); }