source: trunk/jabberit_messenger/inc/login.php @ 1504

Revision 1504, 6.4 KB checked in by alexandrecorreia, 15 years ago (diff)

Ticket #680 - Revertida as modificacoes para autenticacao do Modulo IM.

  • Property svn:executable set to *
Line 
1<?php
2  /***************************************************************************\
3  *  Expresso - Expresso Messenger                                            *
4  *     - Alexandre Correia / Rodrigo Souza                                                               *
5  *     - JETI - http://jeti-im.org/                                                                              *
6  * ------------------------------------------------------------------------- *
7  *  This program is free software; you can redistribute it and/or modify it  *
8  *  under the terms of the GNU General Public License as published by the    *
9  *  Free Software Foundation; either version 2 of the License, or (at your   *
10  *  option) any later version.                                               *
11  \***************************************************************************/
12
13        define('PHPGW_API_INC','../../phpgwapi/inc');
14        require_once(PHPGW_API_INC . '/class.Template.inc.php');
15        require_once('class.db_im.inc.php');
16
17        if(isset($_SESSION['phpgw_info']['jabberit_messenger']['name_jabberit']))
18    {
19                // Path Server
20                $path = $_SESSION['phpgw_info']['jabberit_messenger']['webserver_url'];
21                $SERVER_EXPRESSO = $_SERVER['HTTP_HOST'] . $path;
22
23                /**
24                 ******  Type Protocol http / https **********************************************************
25                 *      Esta variável é carregada no header.inc.php, onde é possível definir
26                 *      se será com http ou https. Verifique em seu arquivo header.inc.php como está configurada
27                 *      a variável $GLOBALS['phpgw_info']['server']['use_https'].
28                 *      Abaixo segue esquema :
29                 *      Expresso 0 = Sem https
30                 *      Expresso 1 = Com https apenas no login
31                 *      Expresso 2 = Completo
32                 *********************************************************************************************
33                 **/
34
35                $PROTOCOL = trim("http");
36                if( $_SESSION['phpgw_info']['jabberit_messenger']['use_https'] === 2 )
37                        $PROTOCOL = trim("https");
38
39                // Uid user
40                $uid = $_SESSION['phpgw_info']['jabberit_messenger']['user_jabber'];
41               
42                $organization = explode(",", $_SESSION['phpgw_info']['jabberit_messenger']['attributes_org_ldap_jabberit']);
43
44                $organization_user = $_SESSION['phpgw_info']['jabberit_messenger']['account_dn'];
45                $organization_user = substr($organization_user, strpos($organization_user,"ou=") + 3 , strlen($organization_user));
46                $organization_user = substr($organization_user, 0, strpos($organization_user, ","));
47               
48                // FirstName
49                $CnName = explode(" ",$_SESSION['phpgw_info']['jabberit_messenger']['fullname']);
50               
51                // Preferences
52                $obj = new db_im();
53                $preferences = $obj->getPreferences();
54                $preferences = substr($preferences,(strpos($preferences,";") + 1), strlen($preferences));
55                $preferences = explode(":", $preferences);
56               
57                if(is_array($organization))
58                {
59                        foreach($organization as $attr)
60                        {
61                                $tmp = explode(";",$attr);
62                                if( strtolower(trim($tmp[0])) == strtolower(trim($organization_user)))
63                                {
64                                        switch(strtolower(trim($tmp[1])))
65                                        {
66                                                case "mail" :
67                                                                $uid = $_SESSION['phpgw_info']['jabberit_messenger']['mail'];
68                                                                $uid = substr($uid,0,strpos($uid,"@"));
69                                                                break;
70       
71                                                case "description" :
72                                                                // SERPRO
73                                                                // parte antes do arroba;
74                                                                // Informe aqui a parte da sessão correspondente;
75                                                                $uid = "description";                                                                           
76                                                                break;
77                                        }
78                                }
79                        }
80                }
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
102                // Load Applet ( Java )
103                $javaFiles = $path . "applet.jar,";
104                $javaPlugins = "";
105                               
106                // Enable Plugins Java;
107                $pluginsJava[] = "xhtml.jar";
108                $pluginsJava[] = "filetransfer.jar";
109               
110                if( $voip_enabled )
111                        $pluginsJava[] = "callVoip.jar";               
112               
113                for( $i = 0; $i < count($pluginsJava); $i++ )
114                {
115                        $javaFiles       .= $path . "plugins/" . $pluginsJava[$i] . ",";
116                        $javaPlugins .= substr($pluginsJava[$i], 0, strpos($pluginsJava[$i],".")).",";
117                }
118               
119                $javaPlugins = trim(substr($javaPlugins, 0, strlen($javaPlugins)-1));
120
121                // Code Base Java;
122                $codeBase = 'nu.fw.jeti.applet.Jeti.class';
123
124                // Lang Expresso
125                $lang = explode("-", $_SESSION['phpgw_info']['jabberit_messenger']['applet_lang']);
126                $country = strtoupper($lang[1]);
127                $language = $lang[0];
128               
129                // Porta/(SSL)?                 
130                $conn_SSL = "false";
131                $port_jabber = "5222";
132               
133                if( $_SESSION['phpgw_info']['jabberit_messenger']['port_1_jabberit'] === "true" )
134                {       
135                        $conn_SSL = "true";
136                        $port_jabber = "5223";
137                }
138                               
139                if( trim($_SESSION['phpgw_info']['jabberit_messenger']['port_2_jabberit']) )
140                {               
141                        $port_jabber = $_SESSION['phpgw_info']['jabberit_messenger']['port_2_jabberit'];
142                }
143               
144                // Load Template;
145                $template = new Template('templates/default');
146                $template->set_var("path", $path);
147                $template->set_var("java_files", $javaFiles);
148                $template->set_var("value_cnname", $CnName[0]);
149                $template->set_var("value_codeBase", $codeBase);
150                $template->set_var("value_company", $_SESSION['phpgw_info']['jabberit_messenger']['name_company']);
151                $template->set_var("value_country", $country);
152                $template->set_var("value_expresso", $SERVER_EXPRESSO);         
153                $template->set_var("value_host", $_SESSION['phpgw_info']['jabberit_messenger']['ip_server_jabberit']);
154                $template->set_var("value_javaPlugins", $javaPlugins);
155                $template->set_var("value_language", $language);                       
156                $template->set_var("value_password", $_SESSION['phpgw_info']['jabberit_messenger']['passwd']);
157                $template->set_var("value_port", $port_jabber);
158                $template->set_var("value_resource", $_SESSION['phpgw_info']['jabberit_messenger']['resource_jabberit']);
159                $template->set_var("value_server", $_SESSION['phpgw_info']['jabberit_messenger']['name_jabberit']);
160                $template->set_var("value_ssl", $conn_SSL);
161                $template->set_var("value_use_https", $PROTOCOL);
162                $template->set_var("value_user", $uid);
163
164                if( strpos($_SERVER['HTTP_USER_AGENT'], "MSIE") )
165                        $template->set_file(Array('jabberit_messenger' => 'jabberIM_IE.tpl'));
166                else
167                        $template->set_file(Array('jabberit_messenger' => 'jabberIM.tpl'));
168                       
169                $template->set_block('jabberit_messenger','index');
170                $template->pfp('out','index');
171
172    }
173?>
Note: See TracBrowser for help on using the repository browser.