]> git.sur5r.net Git - bacula/bacula/blobdiff - gui/baculum/protected/Pages/API/JobRun.php
baculum: Assign Baculum copyright to Kern Sibbald
[bacula/bacula] / gui / baculum / protected / Pages / API / JobRun.php
index 30b430969398b38b824780cb170eb08ba7bf9ffd..8589e5a73f8661ae7a3a0e1200790ca7b33b61ef 100644 (file)
@@ -1,20 +1,23 @@
 <?php
-/**
- * Bacula® - The Network Backup Solution
- * Baculum - Bacula web interface
+/*
+ * Bacula(R) - The Network Backup Solution
+ * Baculum   - Bacula web interface
  *
- * Copyright (C) 2013-2014 Marcin Haba
+ * Copyright (C) 2013-2016 Kern Sibbald
  *
  * The main author of Baculum is Marcin Haba.
- * The main author of Bacula is Kern Sibbald, with contributions from many
- * others, a complete list can be found in the file AUTHORS.
+ * The original author of Bacula is Kern Sibbald, with contributions
+ * from many others, a complete list can be found in the file AUTHORS.
  *
  * You may use this file and others of this release according to the
  * license defined in the LICENSE file, which includes the Affero General
  * Public License, v3.0 ("AGPLv3") and some additional permissions and
  * terms pursuant to its AGPLv3 Section 7.
  *
- * Bacula® is a registered trademark of Kern Sibbald.
+ * This notice must be preserved when any source code is
+ * conveyed and/or propagated.
+ *
+ * Bacula(R) is a registered trademark of Kern Sibbald.
  */
  
 class JobRun extends BaculumAPI {
@@ -33,6 +36,9 @@ class JobRun extends BaculumAPI {
                $poolid = property_exists($params, 'poolid') ? intval($params->poolid) : null;
                $pool = $this->getModule('pool')->getPoolById($poolid);
                $priority = property_exists($params, 'priority') ? intval($params->priority) : 10; // default priority is set to 10
+               $jobid = property_exists($params, 'jobid') ? 'jobid="' . intval($params->jobid) . '"' : '';
+               // @TODO: Move Job name pattern in more appropriate place
+               $verifyjob = property_exists($params, 'verifyjob')  && preg_match('/^[\w\d\.\-\s]+$/', $params->verifyjob) === 1 ? 'verifyjob="' . ($params->verifyjob) . '"' : '';
                
                if(!is_null($job)) {
                        $isValidLevel = $this->getModule('misc')->isValidJobLevel($params->level);
@@ -42,7 +48,20 @@ class JobRun extends BaculumAPI {
                                                if(!is_null($storage)) {
                                                        if(!is_null($pool)) {
                                                                $joblevels  = $this->getModule('misc')->getJobLevels();
-                                                               $run = $this->getModule('bconsole')->bconsoleCommand($this->director, array('run', 'job="' . $job . '"', 'level="' . $joblevels[$level] . '"', 'fileset="' . $fileset . '"', 'client="' . $client->name . '"', 'storage="' . $storage->name . '"', 'pool="' . $pool->name . '"' , 'priority="' . $priority . '"', 'yes'), $this->user);
+                                                               $command = array(
+                                                                       'run',
+                                                                       'job="' . $job . '"',
+                                                                       'level="' . $joblevels[$level] . '"',
+                                                                       'fileset="' . $fileset . '"',
+                                                                       'client="' . $client->name . '"',
+                                                                       'storage="' . $storage->name . '"',
+                                                                       'pool="' . $pool->name . '"' ,
+                                                                       'priority="' . $priority . '"',
+                                                                       $jobid,
+                                                                       $verifyjob,
+                                                                       'yes'
+                                                               );
+                                                               $run = $this->getModule('bconsole')->bconsoleCommand($this->director, $command, $this->user);
                                                                $this->output = $run->output;
                                                                $this->error = (integer)$run->exitcode;
                                                        } else {
@@ -72,4 +91,4 @@ class JobRun extends BaculumAPI {
        }
 }
 
-?>
\ No newline at end of file
+?>