3 * Bacula(R) - The Network Backup Solution
4 * Baculum - Bacula web interface
6 * Copyright (C) 2013-2015 Marcin Haba
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 BaculumAPI {
24 public function get() {
29 if (isset($this->Request['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 (isset($this->Request['name'])) {
34 $allowedJobs = $this->getModule('bconsole')->bconsoleCommand($this->director, array('.jobs'), $this->user);
35 if ($allowedJobs->exitcode === 0) {
36 $jobname = in_array($this->Request['name'], $allowedJobs->output) ? $this->Request['name'] : null;
38 $error_obj = $allowedJobs;
43 if ($error === false) {
44 if(!is_null($jobname)) {
45 $jobShow = $this->getModule('bconsole')->bconsoleCommand($this->director, array('show', 'job="' . $jobname . '"'), $this->user);
46 $this->output = $jobShow->output;
47 $this->error = (integer)$jobShow->exitcode;
49 $this->output = JobError::MSG_ERROR_JOB_DOES_NOT_EXISTS;
50 $this->error = JobError::ERROR_JOB_DOES_NOT_EXISTS;
53 $this->output = $error_obj->output;
54 $this->error = $error_obj->exitcode;