]> git.sur5r.net Git - bacula/bacula/commitdiff
bacula-web: Major change with bacula-web configuration
authorDavide Franco <bacula-dev@dflc.ch>
Wed, 23 Mar 2011 11:14:36 +0000 (12:14 +0100)
committerKern Sibbald <kern@sibbald.com>
Sat, 20 Apr 2013 12:49:10 +0000 (14:49 +0200)
 - Renammed bacula.conf to config.php
 - bacula-web configuration file is now a php script (more simple)
 - BW_Config php class was adapted regarding this change
 - Multi catalog support has been improved in bweb php classe

gui/bacula-web/classes/bweb.inc.php
gui/bacula-web/classes/cfg/config.classe.php
gui/bacula-web/config.inc.php
gui/bacula-web/config/bacula.conf [deleted file]
gui/bacula-web/config/config.php [new file with mode: 0644]
gui/bacula-web/index.php

index cd8f80c3a268713aae0f54bb0c7780da8b7050ee..482fc66940bb9d5019282bff793af1bff18d4f55 100644 (file)
@@ -42,12 +42,12 @@ class Bweb extends DB {
                else
                        $this->bwcfg->Load_Config();
         
-               // Select which catalog to connect
+               // Select which catalog to connect to
                if( isset( $_POST['catalog_id'] ) )
                        $dsn = $this->bwcfg->Get_Dsn( $_POST['catalog_id'] );
                else
                        $dsn = $this->bwcfg->Get_Dsn( 0 );
-                       
+               
                // Connect to the database
                $this->db_link = $this->connect( $dsn );
         
index 217d7619a2e15e08f8c4b76009a228f1e0ffa838..6a500c9e98d6893ed4548718eb4825448bab5135 100644 (file)
@@ -2,12 +2,14 @@
 
  class BW_Config {
  
+       private $config_params;
        private $config;
        private $catalogs = array();
        
        function __construct()
        {
-               
+               global $config;
+               $this->config = $config;
        }
        
        public function Check_Config_file()
        
        public function Load_Config()
        {
-               $this->config = parse_ini_file( CONFIG_FILE, true );
+               global $config;
                
-               if( !$this->config == false ) {
+               if( is_array($config) && !empty($config) ) {
                        // Loading database connection information
-                       foreach( $this->config as $parameter => $value )
+                       foreach( $config as $parameter => $value )
                        {
                                if( is_array($value) )          // Parsing database section
                                        array_push( $this->catalogs, $value );
                        }
                        return true;
-               }else
+               }else {
                        return false;           
+               }
        }
        
        public function Get_Config_Param( $param )
        {
-               if( isset( $this->config[$param] ) )
-                       return $this->config[$param];
+               if( isset( $config[$param] ) )
+                       return $config[$param];
        }
        
        public function Count_Catalogs()
@@ -49,7 +52,7 @@
                $dsn = array();
         $dsn['hostspec'] = $this->catalogs[$catalog_id]["host"];
         $dsn['username'] = $this->catalogs[$catalog_id]["login"];
-               $dsn['password'] = $this->catalogs[$catalog_id]["pass"];
+               $dsn['password'] = $this->catalogs[$catalog_id]["password"];
                $dsn['database'] = $this->catalogs[$catalog_id]["db_name"];
                $dsn['phptype']  = $this->catalogs[$catalog_id]["db_type"];
                return $dsn;
index 3bf2354924b547b73d91be1ed0285dcc5002614b..2035808a94b1596c25c1e0d80e7c6e3a11993d72 100644 (file)
@@ -20,7 +20,8 @@
  
  // Global constants
  define('CONFIG_DIR', BW_ROOT . "/config/");
- define('CONFIG_FILE', CONFIG_DIR . "bacula.conf");
+ define('CONFIG_FILE', CONFIG_DIR . "config.php");
+ require_once( CONFIG_FILE );
  
  // Time intervals in secondes
  define( 'LAST_DAY', 86400 );
diff --git a/gui/bacula-web/config/bacula.conf b/gui/bacula-web/config/bacula.conf
deleted file mode 100644 (file)
index 2111e25..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-; Language
-; en_EN -> English
-; es_ES -> Spanish, Mantained by Juan Luis Francés Jiménez.
-; it_IT -> Italian, Mantained by Gian Domenico Messina (gianni.messina AT c-ict.it).
-; fr_FR -> Frech, Mantained by Morgan LEFIEUX (comete AT daknet.org).
-; de_DE -> German, Mantained by Florian Heigl.
-lang = en_EN
-
-; Database connection configuration
-
-[.DATABASE]
-host = localhost                                       ; Database host or IP
-login = root                                           ; Database account name
-pass = p@ssw0rd                                                ; Database account password
-db_name = bacula                                       ; Database name
-db_type = mysql                                                ; Database type
-;db_port = 3306                                                ; Uncomment if not standard port
-
-; Multi-Catalog support
-; If you want to configure more than 1 Bacula catalog in Bacula-Web, simply copy the previous line (See example below)
-; Don't forget the change the name of the section (DATABASE2 in this case)
-
-;[.DATABASE2]
-;host = 192.168.2.55
-;login = bacula
-;pass =
-;db_name = bacula
-;db_type = mysql
diff --git a/gui/bacula-web/config/config.php b/gui/bacula-web/config/config.php
new file mode 100644 (file)
index 0000000..521bbcb
--- /dev/null
@@ -0,0 +1,69 @@
+<?php
+
+ /* Language
+ en_EN -> English
+ es_ES -> Spanish, Mantained by Juan Luis Francés Jiménez.
+ it_IT -> Italian, Mantained by Gian Domenico Messina (gianni.messina AT c-ict.it).
+ fr_FR -> Frech, Mantained by Morgan LEFIEUX (comete AT daknet.org).
+ de_DE -> German, Mantained by Florian Heigl.
+ */
+ $config['language'] = 'en_EN';
+
+ //MySQL bacula catalog
+ $config[0]['label'] = 'Backup Server';
+ $config[0]['host'] = 'localhost';
+ $config[0]['login'] = 'root';
+ $config[0]['password'] = 'p@ssw0rd';
+ $config[0]['db_name'] = 'bacula';
+ $config[0]['db_type'] = 'mysql';
+ $config[0]['db_port'] = '3306';
+  //MySQL bacula catalog
+ $config[1]['label'] = 'Backup Server';
+ $config[1]['host'] = 'localhost';
+ $config[1]['login'] = 'bacula';
+ $config[1]['password'] = 'bacula';
+ $config[1]['db_name'] = 'bacula';
+ $config[1]['db_type'] = 'pgsql';
+ $config[1]['db_port'] = '5432';
+ /* Catalog(s) connection parameters
+ Just copy/paste and modify regarding your configuration
+
+ Example: 
+ //MySQL bacula catalog
+ $config[0]['label'] = 'Backup Server';
+ $config[0]['host'] = 'localhost';
+ $config[0]['login'] = 'bacula';
+ $config[0]['password'] = 'verystrongpassword';
+ $config[0]['db_name'] = 'bacula';
+ $config[0]['db_type'] = 'mysql';
+ $config[0]['db_port'] = '3306';
+
+ // PostgreSQL bacula catalog
+ $config[0]['label'] = 'Prod Server';
+ $config[0]['host'] = 'db-server.domain.com';
+ $config[0]['login'] = 'bacula';
+ $config[0]['password'] = 'otherstrongpassword';
+ $config[0]['db_name'] = 'bacula';
+ $config[0]['db_type'] = 'pgsql';
+ $config[0]['db_port'] = '5432'; 
+ // SQLite bacula catalog
+ $config[0]['label'] = 'Dev backup server';
+ $config[0]['db_path'] = '/path/to/database/db.sdb';
+
+ If you want to configure more than one catalog in Bacula-Web, just copy the first parameters and increment by one the index
+
+  //MySQL bacula catalog
+ $config[1]['label'] = 'Dev backup server';
+ $config[1]['host'] = 'mysql-server.domain.net';
+ $config[1]['login'] = 'bacula';
+ $config[1]['password'] = 'verystrongpassword';
+ $config[1]['db_name'] = 'bacula';
+ $config[1]['db_type'] = 'mysql';
+ $config[1]['db_port'] = '3306';
+ */
+?>
index 806bc17183a0d56dc3e0680771dc1a76cc889748..0b51e2c5c3e26300bd6f09533ccbc50d14dac4d1 100644 (file)
@@ -22,7 +22,7 @@ $dbSql = new Bweb();
 $mode = "";                            
 
 // Assign to template catalogs number
-// $dbSql->tpl->assign( "dbs", $dbSql->Get_Nb_Catalogs() );
+//$dbSql->tpl->assign( "dbs", $dbSql->bwcfg->Count_Catalogs() );
 // Assign dbs
 /*
 if ( count($dbSql->dbs) >1 ) {