3 * Bacula(R) - The Network Backup Solution
4 * Baculum - Bacula web interface
6 * Copyright (C) 2013-2017 Kern Sibbald
8 * The main author of Baculum is Marcin Haba.
9 * The original author of Bacula is Kern Sibbald, with contributions
10 * from many others, a complete list can be found in the file AUTHORS.
12 * You may use this file and others of this release according to the
13 * license defined in the LICENSE file, which includes the Affero General
14 * Public License, v3.0 ("AGPLv3") and some additional permissions and
15 * terms pursuant to its AGPLv3 Section 7.
17 * This notice must be preserved when any source code is
18 * conveyed and/or propagated.
20 * Bacula(R) is a registered trademark of Kern Sibbald.
23 class JobShow extends BaculumAPIServer {
24 public function get() {
29 if ($this->Request->contains('id')) {
30 $jobid = intval($this->Request['id']);
31 $job = $this->getModule('job')->getJobById($jobid);
32 $jobname = property_exists($job, 'name') ? $job->name : null;
33 } elseif ($this->Request->contains('name')) {
34 $result = $this->getModule('bconsole')->bconsoleCommand($this->director, array('.jobs'));
35 if ($result->exitcode === 0) {
36 $jobname = in_array($this->Request['name'], $result->output) ? $this->Request['name'] : null;
43 if ($error === false) {
44 if(is_string($jobname)) {
45 $job_show = $this->getModule('bconsole')->bconsoleCommand(
47 array('show', 'job="' . $jobname . '"')
49 $this->output = $job_show->output;
50 $this->error = $job_show->exitcode;
52 $this->output = JobError::MSG_ERROR_JOB_DOES_NOT_EXISTS;
53 $this->error = JobError::ERROR_JOB_DOES_NOT_EXISTS;
56 $this->output = $error_obj->output;
57 $this->error = $error_obj->exitcode;