]> git.sur5r.net Git - bacula/bacula/blobdiff - gui/baculum/protected/API/Pages/API/Storages.php
baculum: New Baculum API and Baculum Web
[bacula/bacula] / gui / baculum / protected / API / Pages / API / Storages.php
diff --git a/gui/baculum/protected/API/Pages/API/Storages.php b/gui/baculum/protected/API/Pages/API/Storages.php
new file mode 100644 (file)
index 0000000..1065b51
--- /dev/null
@@ -0,0 +1,44 @@
+<?php
+/*
+ * Bacula(R) - The Network Backup Solution
+ * Baculum   - Bacula web interface
+ *
+ * Copyright (C) 2013-2016 Kern Sibbald
+ *
+ * The main author of Baculum is Marcin Haba.
+ * 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.
+ *
+ * This notice must be preserved when any source code is
+ * conveyed and/or propagated.
+ *
+ * Bacula(R) is a registered trademark of Kern Sibbald.
+ */
+class Storages extends BaculumAPIServer {
+
+       public function get() {
+               $limit = intval($this->Request['limit']);
+               $storages = $this->getModule('storage')->getStorages($limit);
+               $allowedStorages = $this->getModule('bconsole')->bconsoleCommand($this->director, array('.storage'), $this->user);
+               if ($allowedStorages->exitcode === 0) {
+                       $storagesOutput = array();
+                       foreach($storages as $storage) {
+                               if(in_array($storage->name, $allowedStorages->output)) {
+                                       $storagesOutput[] = $storage;
+                               }
+                       }
+                       $this->output = $storagesOutput;
+                       $this->error = StorageError::ERROR_NO_ERRORS;
+               } else {
+                       $this->output = $allowedStorages->output;
+                       $this->error = $allowedStorages->exitcode;
+               }
+       }
+}
+?>