From 8f2b706f653ce3780085613eb5caeb594aa477b0 Mon Sep 17 00:00:00 2001 From: cajus Date: Wed, 20 Dec 2006 06:53:47 +0000 Subject: [PATCH] Prepared for multiple asterisk servers git-svn-id: https://oss.gonicus.de/repositories/gosa/branches/2.5@5437 594d385d-05f5-0310-b6e9-bd551577e9d8 --- include/class_config.inc | 24 ++++++++++--------- plugins/admin/ogroups/class_phonequeue.inc | 6 ++--- plugins/admin/users/class_divListUsers.inc | 4 ++-- .../class_phoneConferenceGeneric.inc | 6 ++--- plugins/gofon/fonreports/class_fonreport.inc | 6 ++--- plugins/gofon/macro/class_gofonMacro.inc | 6 ++--- .../gofon/phoneaccount/class_phoneAccount.inc | 10 ++++---- 7 files changed, 32 insertions(+), 30 deletions(-) diff --git a/include/class_config.inc b/include/class_config.inc index ffa4f7d71..938f9a071 100644 --- a/include/class_config.inc +++ b/include/class_config.inc @@ -376,18 +376,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 glpi servers */ diff --git a/plugins/admin/ogroups/class_phonequeue.inc b/plugins/admin/ogroups/class_phonequeue.inc index bd592daba..b665f91df 100644 --- a/plugins/admin/ogroups/class_phonequeue.inc +++ b/plugins/admin/ogroups/class_phonequeue.inc @@ -223,12 +223,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 @@ -603,7 +603,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 diff --git a/plugins/admin/users/class_divListUsers.inc b/plugins/admin/users/class_divListUsers.inc index 722760672..6d63ff3fa 100644 --- a/plugins/admin/users/class_divListUsers.inc +++ b/plugins/admin/users/class_divListUsers.inc @@ -182,8 +182,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")){ diff --git a/plugins/gofon/conference/class_phoneConferenceGeneric.inc b/plugins/gofon/conference/class_phoneConferenceGeneric.inc index cd62cf5c5..ad3832ac5 100644 --- a/plugins/gofon/conference/class_phoneConferenceGeneric.inc +++ b/plugins/gofon/conference/class_phoneConferenceGeneric.inc @@ -245,13 +245,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; @@ -376,7 +376,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']); diff --git a/plugins/gofon/fonreports/class_fonreport.inc b/plugins/gofon/fonreports/class_fonreport.inc index 31efc71f3..aaefaab6c 100644 --- a/plugins/gofon/fonreports/class_fonreport.inc +++ b/plugins/gofon/fonreports/class_fonreport.inc @@ -153,7 +153,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")){ @@ -161,7 +161,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!")); @@ -179,7 +179,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"); diff --git a/plugins/gofon/macro/class_gofonMacro.inc b/plugins/gofon/macro/class_gofonMacro.inc index bb2f3f2c0..dc5f91894 100755 --- a/plugins/gofon/macro/class_gofonMacro.inc +++ b/plugins/gofon/macro/class_gofonMacro.inc @@ -93,7 +93,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.")); } @@ -212,7 +212,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); } @@ -225,7 +225,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']); diff --git a/plugins/gofon/phoneaccount/class_phoneAccount.inc b/plugins/gofon/phoneaccount/class_phoneAccount.inc index 0cf7ac03a..87985ba3e 100644 --- a/plugins/gofon/phoneaccount/class_phoneAccount.inc +++ b/plugins/gofon/phoneaccount/class_phoneAccount.inc @@ -78,7 +78,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."), @@ -250,7 +250,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); @@ -263,7 +263,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 @@ -646,7 +646,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.")); } @@ -1031,7 +1031,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 -- 2.30.2