Changeset 1130


Ignore:
Timestamp:
07/15/09 16:38:53 (15 years ago)
Author:
alexandrecorreia
Message:

Ticket #577 - Adicionado botão "click to call" na janela de conversa, arquivos php modificados.

Location:
trunk/jabberit_messenger
Files:
3 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/jabberit_messenger/inc/login.php

    r1097 r1130  
    7979                        } 
    8080                } 
    81                  
     81 
     82                //Enable/Disable VoIP Service -> Voip Server Config 
     83                $voip_enabled = false; 
     84                $voip_groups = array();  
     85                if( $GLOBALS['phpgw_info']['server']['voip_groups'] ) 
     86                { 
     87                        $emailVoip = false; 
     88                        foreach(explode(",",$GLOBALS['phpgw_info']['server']['voip_groups']) as $i => $voip_group) 
     89                        { 
     90                                $a_voip = explode(";",$voip_group);                      
     91                                $voip_groups[] = $a_voip[1]; 
     92                        } 
     93                        foreach($GLOBALS['phpgw']->accounts->membership() as $idx => $group){                    
     94                                if(array_search($group['account_name'],$voip_groups) !== FALSE) 
     95                                {                 
     96                                        $voip_enabled = true; 
     97                                        $emailVoip = $GLOBALS['phpgw_info']['server']['voip_email_redirect']; 
     98                                } 
     99                        } 
     100                } 
     101 
    82102                // Load Applet ( Java ) 
    83103                $javaFiles = $path . "applet.jar,"; 
     
    86106                // Enable Plugins Java; 
    87107                $pluginsJava[] = "xhtml.jar"; 
    88                 $pluginsJava[] = "filetransfer.jar";             
     108                $pluginsJava[] = "filetransfer.jar"; 
     109                 
     110                if( $voip_enabled ) 
     111                        $pluginsJava[] = "callVoip.jar";                 
    89112                 
    90113                for( $i = 0; $i < count($pluginsJava); $i++ ) 
  • trunk/jabberit_messenger/inc/webservice.php

    r986 r1130  
    8383                $this->ldapConnect(); 
    8484        } 
     85         
     86        public final function CallVoipConnect($pVoipFrom, $pVoipTo) 
     87        { 
     88                 
     89                $this->ldapConnect(); 
     90 
     91                if( $this->conn ) 
     92                { 
     93                        $filter  = "(|(&(phpgwaccounttype=u)(uid=".$pVoipFrom."))(&(phpgwaccounttype=u)(uid=".$pVoipTo.")))"; 
     94                        $justthese = array("telephoneNumber"); 
     95                        $search = ldap_search($this->conn,$this->contextLdap,$filter,$justthese); 
     96                        $entry = ldap_get_entries($this->conn,$search); 
     97 
     98                        $fromNumber = $entry[0]['telephonenumber'][0]; 
     99                        $toNumber = $entry[1]['telephonenumber'][0]; 
     100                } 
     101 
     102                if( $fromNumber && $toNumber ) 
     103                { 
     104                        $fromNumber = substr($fromNumber,strlen($fromNumber) - 4, strlen($fromNumber) - 1); 
     105                        $toNumber       = substr($toNumber,strlen($toNumber) - 4, strlen($toNumber) - 1); 
     106 
     107                        $voipServer     = "10.15.151.106"; 
     108                        $voipUrl        = "/telefoniaip/servicos/voip.php"; 
     109                        $voipPort       = "80"; 
     110         
     111                        if( !$voipServer || !$voipUrl || !$voipPort ) 
     112                                return false; 
     113                         
     114                        $url            = "http://".$voipServer.":".$voipPort.$voipUrl."?magic=1333&acao=liga&ramal=".$fromNumber."&numero=".$toNumber;                  
     115                        $sMethod        = 'GET '; 
     116                        $crlf           = "\r\n"; 
     117                        $sRequest       = " HTTP/1.1" . $crlf; 
     118                        $sRequest       .= "Host: localhost" . $crlf; 
     119                        $sRequest       .= "Accept: */* " . $crlf; 
     120                        $sRequest       .= "Connection: Close" . $crlf . $crlf;             
     121                        $sRequest       = $sMethod . $url . $sRequest;     
     122                        $sockHttp       = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);             
     123                         
     124                        if ( !$sockHttp ) 
     125                            return false; 
     126                         
     127                        $resSocketConnect = socket_connect($sockHttp, $voipServer, $voipPort); 
     128                         
     129                        if ( !$resSocketConnect ) 
     130                            return false; 
     131         
     132                        $resSocketWrite = socket_write($sockHttp, $sRequest, strlen($sRequest)); 
     133         
     134                        if ( !$resSocketWrite ) 
     135                            return false; 
     136             
     137                        $sResponse = '';     
     138         
     139                        while ($sRead = socket_read($sockHttp, 512)) 
     140                        { 
     141                            $sResponse .= $sRead; 
     142                        }             
     143                         
     144                        socket_close($sockHttp);             
     145                         
     146                        $pos = strpos($sResponse, $crlf . $crlf); 
     147                         
     148                        return substr($sResponse, $pos + 2 * strlen($crlf)); 
     149                } 
     150                 
     151                return "ERRO";                                                                   
     152        } 
     153         
    85154         
    86155        public final function getNameOrganization($pJid, $pCharset) 
     
    231300} 
    232301 
     302// Utilizando o serviço Asteriks; 
     303if(trim($_REQUEST['javaVoipFrom']) != "" && trim($_REQUEST['javaVoipTo']) != "" ) 
     304{ 
     305        $obj = new webService(); 
     306        $voipFrom = $_REQUEST['javaVoipFrom']; 
     307        $voipTo = $_REQUEST['javaVoipTo']; 
     308        printf("%s",$obj->CallVoipConnect($voipFrom, $voipTo)); 
     309} 
     310 
     311// Fotos pelo applet;  
    233312if(trim($_REQUEST['javaPhoto']) != "" ) 
    234313{ 
     
    271350} 
    272351 
     352// Jid pelo applet; 
    273353if(trim($_POST['jid']) != "") 
    274354{ 
     
    280360} 
    281361 
     362// Fotos pelo php; 
    282363if(trim($_REQUEST['phpPhoto']) != "") 
    283364{ 
Note: See TracChangeset for help on using the changeset viewer.