Code

git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@1374 594d385d-05f5-0310...
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 16 Sep 2005 09:04:15 +0000 (09:04 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 16 Sep 2005 09:04:15 +0000 (09:04 +0000)
plugins/gofon/phoneaccount/class_phoneAccount.inc

index 58b506b9eefc9b48023a6128bf2ce385e71b2af1..6268e9a6ae52efcb9f104cbb29402f7a3d6ee94e 100644 (file)
@@ -408,6 +408,23 @@ class phoneAccount extends plugin
       $SQL[] = "DELETE FROM ".$a_SETUP['EXT_TABLE']." WHERE exten='".$this->uid."';\n";
       $SQL[] = "DELETE FROM ".$a_SETUP['SIP_TABLE']." WHERE name='".$this->uid."';\n";
       $SQL[] = "DELETE FROM ".$a_SETUP['VOICE_TABLE']." WHERE customer_id=".$this->phoneNumbers[$i_new_key].";"; 
+      // Delete old entries
+      $b_first_deleted  =false;
+      foreach($this->a_old_telenums as $s_telenums){
+        $SQL[] = "DELETE FROM ".$a_SETUP['EXT_TABLE']." WHERE exten='".$s_telenums."';\n";
+        if(!$b_first_deleted){
+          $b_first_deleted=true;
+          $SQL[] = "DELETE FROM ".$a_SETUP['VOICE_TABLE']." WHERE customer_id=".$s_telenums.";";
+        }
+      }
+
+   
+      if($this->goFonHardware=="automatic"){
+        foreach($SQL as $query ){
+          mysql_query($query) ;
+        }
+        return;
+      }
 
       // Generate Strings with keys and values 
       foreach($sip_entry as $s_sip_key=>$s_sip_val){
@@ -422,16 +439,6 @@ class phoneAccount extends plugin
       // Append SIP Entry 
       $SQL[] ="INSERT INTO ".$a_SETUP['SIP_TABLE']." (".$s_sip_keys.") VALUES (".$s_sip_values.");";
 
-      // Delete old entries
-      $b_first_deleted  =false;
-      foreach($this->a_old_telenums as $s_telenums){
-        $SQL[] = "DELETE FROM ".$a_SETUP['EXT_TABLE']." WHERE exten='".$s_telenums."';\n";
-        if(!$b_first_deleted){
-          $b_first_deleted=true;
-          $SQL[] = "DELETE FROM ".$a_SETUP['VOICE_TABLE']." WHERE customer_id=".$s_telenums.";";
-        }
-      }
-
       /* If deletion starts from userslist, cn uid are not set */
       if((isset($this->parent->by_object['user']->uid))&&(!empty($this->parent->by_object['user']->uid))){
         $this->uid = $this->parent->by_object['user']->uid;
@@ -458,17 +465,21 @@ class phoneAccount extends plugin
       $i_is_accounted=false;
     
       $i = 0; 
-  
+      $is_inserted_once = false;
       // Entension entries  Hint / Dial / Goto
       foreach($this->phoneNumbers as $s_telenums){
 
-        /* Mapping : Name TO Number*/
-        $EXT[$i]['context'] = 'GOsa';
-        $EXT[$i]['exten']   = $this->uid;
-        $EXT[$i]['priority']= 1;
-        $EXT[$i]['app']     = "Goto";
-        $EXT[$i]['appdata'] = $s_telenums."|1";
-        $i ++;  
+        if(!$is_inserted_once){
+          $is_inserted_once = true;
+          $EXT[$i]['context'] = 'GOsa';
+          $EXT[$i]['exten']   = $this->uid;
+          $EXT[$i]['priority']= 1;
+          $EXT[$i]['app']     = "Goto";
+          $EXT[$i]['appdata'] = $s_telenums."|1";
+          $i ++;
+        }
         /* Hint Entry */
         $EXT[$i]['context'] = 'GOsa';
         $EXT[$i]['exten']   = $s_telenums;
@@ -491,7 +502,7 @@ class phoneAccount extends plugin
           $s_par = $macroname."|".$s_parameter; 
         }else{
           $s_app = "Dial";
-          $s_par = 'SIP/'.$this->uid;
+          $s_par = 'SIP/'.$this->uid."|20|r";
         }
 
         $EXT[$i]['context'] = 'GOsa';