Code

Prepared for multiple asterisk servers
authorcajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 20 Dec 2006 06:55:05 +0000 (06:55 +0000)
committercajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 20 Dec 2006 06:55:05 +0000 (06:55 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@5438 594d385d-05f5-0310-b6e9-bd551577e9d8

include/class_config.inc
plugins/admin/ogroups/class_phonequeue.inc
plugins/admin/users/class_divListUsers.inc
plugins/gofon/conference/class_phoneConferenceGeneric.inc
plugins/gofon/fonreports/class_fonreport.inc
plugins/gofon/macro/class_gofonMacro.inc
plugins/gofon/phoneaccount/class_phoneAccount.inc

index b72146e2281eee96385d9f51fd28d9ac6614cc2d..516195d7b43468767e91ee34c0ffe0ab00072cc2 100644 (file)
@@ -366,18 +366,20 @@ class config  {
     /* Get asterisk servers */
     $ldap->cd ($this->current['BASE']);
     $ldap->search ("(objectClass=goFonServer)");
+    $this->data['SERVERS']['FON']= array(); 
     if ($ldap->count()){
-      $attrs= $ldap->fetch();
-      $this->data['SERVERS']['FON']= array( 
-          'SERVER'     => $attrs['cn'][0],
-          'LOGIN'      => $attrs['goFonAdmin'][0],
-          'PASSWORD'   => $attrs['goFonPassword'][0],
-          'DB'         => "gophone",
-          'SIP_TABLE'          => "sip_users",
-          'EXT_TABLE'  => "extensions",
-          'VOICE_TABLE'        => "voicemail_users",
-          'QUEUE_TABLE'        => "queues",
-          'QUEUE_MEMBER_TABLE' => "queue_members");
+      while ($attrs= $ldap->fetch()){
+        $this->data['SERVERS']['FON'][]= array( 
+            'SERVER'   => $attrs['cn'][0],
+            'LOGIN'    => $attrs['goFonAdmin'][0],
+            'PASSWORD'         => $attrs['goFonPassword'][0],
+            'DB'               => "gophone",
+            'SIP_TABLE'                => "sip_users",
+            'EXT_TABLE'        => "extensions",
+            'VOICE_TABLE'      => "voicemail_users",
+            'QUEUE_TABLE'      => "queues",
+            'QUEUE_MEMBER_TABLE'       => "queue_members");
+      }
     }
 
     /* Get asterisk servers */
index 0b3ec303e9e235a4f5fbdcedfd276ba11ebea2db..013407a3838b37f2f9f566714d0ceebf95836276 100644 (file)
@@ -233,12 +233,12 @@ class phonequeue extends plugin
 
     $SQL = array();
 
-    if(!isset($_SESSION['config']->data['SERVERS']['FON'])){
+    if(!isset($_SESSION['config']->data['SERVERS']['FON'][0])){
       return(_("There is currently no asterisk server defined. Your settings can't be saved."));
     }
 
     // Get Configuration for Mysql database Server
-    $a_SETUP = $_SESSION['config']->data['SERVERS']['FON'];
+    $a_SETUP = $_SESSION['config']->data['SERVERS']['FON'][0];
     $s_parameter  ="";
 
     // Connect to DB server
@@ -613,7 +613,7 @@ class phonequeue extends plugin
     $SQL = array();
 
     // Get Configuration for Mysql database Server
-    $a_SETUP = $_SESSION['config']->data['SERVERS']['FON'];
+    $a_SETUP = $_SESSION['config']->data['SERVERS']['FON'][0];
     $s_parameter  ="";
 
     // Connect to DB server
index f3f2bbe1d77563dd6d0ee962122a087217682af5..1ebc98664fa79f78675918a86324f6d297c21008 100644 (file)
@@ -203,8 +203,8 @@ class divListUsers extends MultiSelectWindow
      */
     $r_db   =false;
     $r_con  =false;
-    if (isset($_SESSION['config']->data['SERVERS']['FON'])){
-      $a_SETUP= $_SESSION['config']->data['SERVERS']['FON'];
+    if (isset($_SESSION['config']->data['SERVERS']['FON'][0])){
+      $a_SETUP= $_SESSION['config']->data['SERVERS']['FON'][0];
       $r_con = false;
       $r_db  = false;
       if(is_callable("mysql_pconnect")){
index 82ee473bd927795511165ed48e4cebf4c9ec72e8..adce09d14121f036fd21fad66ca0a2c0ef8a8ed3 100644 (file)
@@ -282,13 +282,13 @@ class conference extends plugin
 
   function SQL_add_me($save){
 
-    if(!isset($_SESSION['config']->data['SERVERS']['FON'])){
+    if(!isset($_SESSION['config']->data['SERVERS']['FON'][0])){
       $this->generate_error = _("There is currently no asterisk server defined. Possibly you are missing a server that handles the asterisk management (goFonServer). Your settings can't be saved to asterisk database.");
       return(false);
     }
   
     // Get Configuration for Mysql database Server
-    $a_SETUP = $_SESSION['config']->data['SERVERS']['FON'];
+    $a_SETUP = $_SESSION['config']->data['SERVERS']['FON'][0];
 
     // Connect to DB server
     $r_con = false;    
@@ -413,7 +413,7 @@ class conference extends plugin
 
     if($this->old_tele_number){
       // Get Configuration for Mysql database Server
-      $a_SETUP = $_SESSION['config']->data['SERVERS']['FON'];
+      $a_SETUP = $_SESSION['config']->data['SERVERS']['FON'][0];
 
       // Connect to DB server
       $r_con =  @mysql_pconnect($a_SETUP['SERVER'],$a_SETUP['LOGIN'],$a_SETUP['PASSWORD']);
index defaa4e7916ad21c52659be55de0a9cf4fe5127e..69abf97f4b9f564dbb716c2c22278be361cda758 100644 (file)
@@ -156,7 +156,7 @@ class fonreport extends plugin
      *****************/
 
     /* Connecting, selecting database */
-    if (!isset($this->config->data['SERVERS']['FON'])){
+    if (!isset($this->config->data['SERVERS']['FON'][0])){
       print_red(_("Can't connect to phone database, no reports can be shown!"));
       return($smarty->fetch(get_template_path('contents.tpl', TRUE)));
     }elseif(!is_callable("mysql_connect")){
@@ -164,7 +164,7 @@ class fonreport extends plugin
       return($smarty->fetch(get_template_path('contents.tpl', TRUE)));
     }else{
 
-      $cfg= $this->config->data['SERVERS']['FON'];
+      $cfg= $this->config->data['SERVERS']['FON'][0];
       $link = @mysql_pconnect($cfg['SERVER'], $cfg['LOGIN'], $cfg['PASSWORD']);
       if ($link === FALSE){
         print_red(_("Can't connect to phone database, no reports can be shown!"));
@@ -182,7 +182,7 @@ class fonreport extends plugin
      *****************/
 
     $query  = $this->CreateQuerySyntax();
-    $cfg    = $this->config->data['SERVERS']['FON'];
+    $cfg    = $this->config->data['SERVERS']['FON'][0];
     $link   = @mysql_pconnect($cfg['SERVER'], $cfg['LOGIN'], $cfg['PASSWORD']);
 
     @DEBUG (DEBUG_MYSQL, __LINE__, __FUNCTION__, __FILE__,$query, "Database query");
index 1b091cf071873134a2b101aacecff96fec74918f..3d73cec22e526f239e5f9e1957bbd789c010856f 100755 (executable)
@@ -91,7 +91,7 @@ class macro extends plugin
     $tmp       = array();
     $number = 0; 
 
-    if(!isset($_SESSION['config']->data['SERVERS']['FON'])){
+    if(!isset($_SESSION['config']->data['SERVERS']['FON'][0])){
       print_red(_("There is currently no asterisk server defined. Possibly you are missing a server that handles the asterisk management (goFonServer). Your settings can't be saved to asterisk database."));
     }
 
@@ -209,7 +209,7 @@ class macro extends plugin
   // Generate MySQL Syntax 
   function generate_mysql_entension_entries($save = false,$delete_only=false,$remove_old_macroname=false){
 
-    if(!isset($_SESSION['config']->data['SERVERS']['FON'])){
+    if(!isset($_SESSION['config']->data['SERVERS']['FON'][0])){
       return(true);
     }
 
@@ -222,7 +222,7 @@ class macro extends plugin
     }
 
     // Get Configuration for Mysql database Server  
-    $a_SETUP = $_SESSION['config']->data['SERVERS']['FON'];
+    $a_SETUP = $_SESSION['config']->data['SERVERS']['FON'][0];
 
     // Connect to DB server
     $r_con =  @mysql_pconnect($a_SETUP['SERVER'],$a_SETUP['LOGIN'],$a_SETUP['PASSWORD']); 
index c1932f5590b33b456369554733e0269fabc22ce6..30206d3004b93966186d7bb74b93aa60d746c3de 100644 (file)
@@ -84,7 +84,7 @@ class phoneAccount extends plugin
        array_key_exists('FON',$_SESSION['config']->data['SERVERS']) &&
        is_callable("mysql_connect")
        ) {
-      $a_SETUP = $_SESSION['config']->data['SERVERS']['FON'];
+      $a_SETUP = $_SESSION['config']->data['SERVERS']['FON'][0];
       $r_con =  @mysql_pconnect($a_SETUP['SERVER'],$a_SETUP['LOGIN'],$a_SETUP['PASSWORD']);
       if(!$r_con){
         $this->generate_error = sprintf(_("The MySQL Server '%s' isn't reachable as user '%s', check GOsa log for mysql error."),
@@ -256,7 +256,7 @@ class phoneAccount extends plugin
   // Generate MySQL Syntax
   function generate_mysql_entension_entries($save = false){
 
-    if(!isset($_SESSION['config']->data['SERVERS']['FON'])){
+    if(!isset($_SESSION['config']->data['SERVERS']['FON'][0])){
       if($save)
       print_red(_("There is currently no asterisk server defined. Possibly you are missing a server that handles the asterisk management (goFonServer). Your settings can't be saved to asterisk database."));
       return(true);
@@ -269,7 +269,7 @@ class phoneAccount extends plugin
     }
   
     // Get Configuration for Mysql database Server
-    $a_SETUP        = $_SESSION['config']->data['SERVERS']['FON'];  // DB Configuration
+    $a_SETUP        = $_SESSION['config']->data['SERVERS']['FON'][0];  // DB Configuration
     $s_parameter    = "";                                           // Contains paramter for selected Macro 
     $r_con          = false;                                        // DB connection
     $r_db           = false;                                        // Selected DB
@@ -654,7 +654,7 @@ class phoneAccount extends plugin
     $smarty->assign("macro", $this->macro);   
 
     /* check if there is a FON server created */
-    if(!isset($_SESSION['config']->data['SERVERS']['FON'])){
+    if(!isset($_SESSION['config']->data['SERVERS']['FON'][0])){
       print_red(_("There is currently no asterisk server defined. Possibly you are missing a server that handles the asterisk management (goFonServer). Your settings can't be saved to asterisk database."));
     }
 
@@ -1056,7 +1056,7 @@ class phoneAccount extends plugin
        array_key_exists('FON', $_SESSION['config']->data['SERVERS']) &&
         is_callable("mysql_pconnect")) {
       // Get Configuration for Mysql database Server
-      $a_SETUP = $_SESSION['config']->data['SERVERS']['FON'];
+      $a_SETUP = $_SESSION['config']->data['SERVERS']['FON'][0];
       $s_parameter  ="";
 
       // Connect to DB server