]> git.sur5r.net Git - bacula/bacula/blob - gui/baculum/protected/Pages/API/Job.php
Filtred single results for restricted consoles
[bacula/bacula] / gui / baculum / protected / Pages / API / Job.php
1 <?php
2 /**
3  * Bacula® - The Network Backup Solution
4  * Baculum - Bacula web interface
5  *
6  * Copyright (C) 2013-2014 Marcin Haba
7  *
8  * The main author of Baculum is Marcin Haba.
9  * The main author of Bacula is Kern Sibbald, with contributions from many
10  * others, a complete list can be found in the file AUTHORS.
11  *
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.
16  *
17  * Bacula® is a registered trademark of Kern Sibbald.
18  */
19  
20 class Job extends BaculumAPI {
21         public function get() {
22                 $jobid = intval($this->Request['id']);
23                 $job = $this->getModule('job')->getJobById($jobid);
24                 $allowedJobs = $this->getModule('bconsole')->bconsoleCommand($this->director, array('.jobs'), $this->user)->output;
25                 if(!is_null($job) && in_array($job->name, $allowedJobs)) {
26                         $this->output = $job;
27                         $this->error = JobError::ERROR_NO_ERRORS;
28                 } else {
29                         $this->output = JobError::MSG_ERROR_JOB_DOES_NOT_EXISTS;
30                         $this->error = JobError::ERROR_JOB_DOES_NOT_EXISTS;
31                 }
32         }
33
34         public function remove($id) {
35                 $jobid = intval($id);
36                 $job = $this->getModule('job')->getJobById($jobid);
37                 if(!is_null($job)) {
38                         $delete = $this->getModule('bconsole')->bconsoleCommand($this->director, array('delete', 'jobid="' . $job->jobid . '"'), $this->user);
39                         $this->output = $delete->output;
40                         $this->error = (integer)$delete->exitcode;
41                 } else {
42                         $this->output = JobError::MSG_ERROR_JOB_DOES_NOT_EXISTS;
43                         $this->error = JobError::ERROR_JOB_DOES_NOT_EXISTS;
44                 }
45         }
46 }
47
48 ?>