Changeset 1502
- Timestamp:
- 10/08/09 12:06:41 (15 years ago)
- Location:
- trunk/jabberit_messenger/inc
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/jabberit_messenger/inc/class.ldap_im.inc.php
r1438 r1502 2 2 /***************************************************************************\ 3 3 * Expresso - Expresso Messenger * 4 * - Alexandre Correia / Rodrigo Souza 5 * - JETI - http://jeti-im.org/ 4 * - Alexandre Correia / Rodrigo Souza * 5 * - JETI - http://jeti-im.org/ * 6 6 * ------------------------------------------------------------------------- * 7 7 * This program is free software; you can redistribute it and/or modify it * … … 17 17 class ldap_im 18 18 { 19 private $attr_org;20 19 private $common; 21 20 private $hostsJabber; … … 30 29 public final function __construct() 31 30 { 32 // Attributes org ldap;33 $this->attr_org = explode(",", $_SESSION['phpgw_info']['jabberit_messenger']['attributes_org_ldap_jabberit']);34 35 31 // Hosts Jabber 36 32 $this->hostsJabber = unserialize($_SESSION['phpgw_info']['jabberit_messenger']['map_org_realm_jabberit']); … … 51 47 52 48 $GLOBALS['phpgw_info']['server']['ldap_version3'] = true; 53 54 if( $this->ldap_user && $this->ldap_pass ) 55 $this->ldap = $this->common->ldapConnect( $this->ldap_host, $this->ldap_user . "," . $this->ldap_context , $this->ldap_pass, false ); 56 else 57 $this->ldap = $this->common->ldapConnect( $this->ldap_host, $this->ldap_context , "", false ); 49 50 $this->ldap = $this->common->ldapConnect( $this->ldap_host, $this->ldap_user . "," . $this->ldap_context , $this->ldap_pass, false ); 58 51 } 59 52 60 53 private final function ldapRoot() 61 54 { 62 $this->ldap_host = $_SESSION['phpgw_info']['jabberit_messenger']['server_ldap_jabberit'];63 $this->ldap_context = $_SESSION['phpgw_info']['jabberit_messenger']['context_ldap_jabberit'];64 $this->ldap_user = $_SESSION['phpgw_info']['jabberit_messenger']['user_ldap_jabberit'];65 $this->ldap_pass = $_SESSION['phpgw_info']['jabberit_messenger']['password_ldap_jabberit'];55 $this->ldap_host = (isset($_SESSION['phpgw_info']['jabberit_messenger']['server_ldap_jabberit'])) ? $_SESSION['phpgw_info']['jabberit_messenger']['server_ldap_jabberit'] : $GLOBALS['phpgw_info']['server']['ldap_host']; 56 $this->ldap_context = (isset($_SESSION['phpgw_info']['jabberit_messenger']['context_ldap_jabberit'])) ? $_SESSION['phpgw_info']['jabberit_messenger']['context_ldap_jabberit'] : $GLOBALS['phpgw_info']['server']['ldap_context']; 57 $this->ldap_user = (isset($_SESSION['phpgw_info']['jabberit_messenger']['user_ldap_jabberit'])) ? $_SESSION['phpgw_info']['jabberit_messenger']['user_ldap_jabberit'] : $GLOBALS['phpgw_info']['server']['ldap_root_dn']; 58 $this->ldap_pass = (isset($_SESSION['phpgw_info']['jabberit_messenger']['password_ldap_jabberit'])) ? $_SESSION['phpgw_info']['jabberit_messenger']['password_ldap_jabberit'] : $GLOBALS['phpgw_info']['server']['ldap_root_pw']; 66 59 67 60 $this->ldapConn(); … … 149 142 if( $this->ldap ) 150 143 { 151 $filter = "(ou=*)"; 152 $justthese = array("dn"); 153 $search = ldap_search($this->ldap, $this->ldap_context, $filter, $justthese); 154 $info = ldap_get_entries($this->ldap, $search); 155 156 for ($i=0; $i<$info["count"]; $i++) 157 $a_sectors[] = $info[$i]['dn']; 144 $filter="ou=*"; 145 $justthese = array("ou"); 146 $search = ldap_search($this->ldap,$this->ldap_context,$filter,$justthese); 147 $entry = ldap_get_entries($this->ldap, $search); 158 148 } 159 149 160 // Retiro o count do array info e inverto o array para ordenação. 161 foreach ($a_sectors as $context) 162 { 163 $array_dn = ldap_explode_dn ( $context, 1 ); 164 $array_dn_reverse = array_reverse ( $array_dn, true ); 165 array_pop ( $array_dn_reverse ); 166 $inverted_dn[$context] = implode ( "#", $array_dn_reverse ); 167 } 168 169 // Ordenação 170 natcasesort($inverted_dn); 171 172 foreach ( $inverted_dn as $dn=>$invert_ufn ) 173 { 174 $display = ''; 175 176 $array_dn_reverse = explode ( "#", $invert_ufn ); 177 $array_dn = array_reverse ( $array_dn_reverse, true ); 178 179 $level = count( $array_dn ) - (int)(count(explode(",", $this->ldap_context)) + 1); 180 181 if ($level == 0) 182 $display .= '+'; 183 else 184 { 185 for( $i = 0; $i < $level; $i++) 186 $display .= '---'; 187 } 188 189 reset ( $array_dn ); 190 $display .= ' ' . (current ( $array_dn ) ); 191 192 $dn = trim(strtolower($dn)); 193 $options[$dn] = $display; 194 } 195 196 return $options; 197 198 } 150 foreach($entry as $tmp) 151 if($tmp['ou'][0] != "") 152 $result_org[] = $tmp['ou'][0]; 153 154 return $result_org; 155 } 156 199 157 200 158 public final function getUsersLdapCatalog( $search ) … … 208 166 { 209 167 $this->ldap_host = $confHosts[$i]['serverLdap']; 210 $this->ldap_context 168 $this->ldap_context = $confHosts[$i]['contextLdap']; 211 169 $this->ldap_user = $confHosts[$i]['user']; 212 170 $this->ldap_org = $confHosts[$i]['org']; … … 218 176 { 219 177 $filter = "(&(phpgwaccounttype=u)(".$search ."))"; 220 $justthese = array("uid","uidNumber","cn","mail","phpgwAccountVisible","dn","jpegPhoto"); 178 179 // Verificando atributo que a organização utiliza para autenticar no servidor jabber 180 switch ($_SESSION['phpgw_info']['jabberit_messenger']['user_org_att']) 181 { 182 case 'description': 183 $justthese = array("uid","uidNumber","cn","description", "mail","phpgwAccountVisible","dn","jpegPhoto"); 184 break; 185 case 'uid': 186 $justthese = array("uid","uidNumber","cn","mail","phpgwAccountVisible","dn","jpegPhoto"); 187 break; 188 case 'mail': 189 $justthese = array("uid","uidNumber","cn","mail","phpgwAccountVisible","dn","jpegPhoto"); 190 break; 191 } 192 221 193 $searchRoot = ( $this->ldap_org != "*" ) ? "ou=".$this->ldap_org.",".$this->ldap_context : $this->ldap_context; 222 194 … … 248 220 $searchRoot = ( $ous ) ? $ous.",".$this->ldap_context : $this->ldap_context ; 249 221 $filter = "(&(phpgwaccounttype=u)(|".$uidnumber.")(".$search ."))"; 250 $justthese = array("uid","uidNumber","cn","mail","phpgwAccountVisible","dn","jpegPhoto"); 222 223 // Verificando atributo que a organização utiliza para autenticar no servidor jabber 224 switch ($_SESSION['phpgw_info']['jabberit_messenger']['user_org_att']) 225 { 226 case 'description': 227 $justthese = array("uid","uidNumber","cn","description", "mail","phpgwAccountVisible","dn","jpegPhoto"); 228 break; 229 case 'uid': 230 $justthese = array("uid","uidNumber","cn","mail","phpgwAccountVisible","dn","jpegPhoto"); 231 break; 232 case 'mail': 233 $justthese = array("uid","uidNumber","cn","mail","phpgwAccountVisible","dn","jpegPhoto"); 234 break; 235 } 236 251 237 $search = ldap_search($this->ldap, $searchRoot, $filter, $justthese, 0, $this->max_result + 1); 252 238 $entry = ldap_get_entries( $this->ldap, $search ); … … 269 255 { 270 256 $result[$j]['uidnumber'] = $entry[$i]['uidnumber'][0]; 271 $result[$j]['mail'] = $entry[$i]['mail'][0]; 272 $result[$j]['uid'] = $entry[$i]['uid'][0]; 273 $result[$j]['jid'] = $entry[$i]['uid'][0]; 257 $result[$j]['mail'] = $entry[$i]['mail'][0]; 258 $result[$j]['uid'] = $entry[$i]['uid'][0]; 259 260 // Verificando atributo que a organização utiliza para autenticar no servidor jabber 261 switch ($_SESSION['phpgw_info']['jabberit_messenger']['user_org_att']) 262 { 263 case 'description': 264 $result[$j]['jid'] = $entry[$i]['description'][0]; 265 break; 266 case 'uid': 267 $result[$j]['jid'] = $entry[$i]['uid'][0]; 268 break; 269 case 'mail': 270 $result[$j]['jid'] = $entry[$i]['uid'][0]; 271 break; 272 } 273 274 274 $ou = explode("dc=", $entry[$i]['dn']); 275 275 $ou = explode("ou=",$ou[0]); … … 283 283 $firstEntry = ldap_first_entry($pConn, $photoLdap); 284 284 $photo = ldap_get_values_len($pConn, $firstEntry, "jpegPhoto"); 285 $_SESSION['phpgw_info']['jabberit_messenger']['photo'][trim($result[$j]['ou'])][trim($result[$j]['uid'])] = $photo[0]; 285 286 // Verificando atributo que a organização utiliza para autenticar no servidor jabber 287 switch ($_SESSION['phpgw_info']['jabberit_messenger']['user_org_att']) 288 { 289 case 'description': 290 $_SESSION['phpgw_info']['jabberit_messenger']['photo'][trim($result[$j]['ou'])][trim($result[$j]['jid'])] = $photo[0]; 291 break; 292 case 'uid': 293 $_SESSION['phpgw_info']['jabberit_messenger']['photo'][trim($result[$j]['ou'])][trim($result[$j]['uid'])] = $photo[0]; 294 break; 295 case 'mail': 296 $_SESSION['phpgw_info']['jabberit_messenger']['photo'][trim($result[$j]['ou'])][trim($result[$j]['uid'])] = $photo[0]; 297 break; 298 } 286 299 } 287 300 else … … 290 303 $result[$j++]['cn'] = $entry[$i]['cn'][0]; 291 304 } 292 293 $organization = $this->attr_org; 294 295 if(is_array($organization)) 305 306 // Verificando atributo que a organização utiliza para autenticar no servidor jabber 307 switch ($_SESSION['phpgw_info']['jabberit_messenger']['user_org_att']) 296 308 { 297 foreach($organization as $attr) 298 { 299 $tmp = explode(";",$attr); 300 if( strtolower(trim($tmp[0])) == strtolower(trim($result[$i]['dn'])) ) 301 { 302 switch(strtolower(trim($tmp[1]))) 303 { 304 case "mail" : 305 $uid = $result[$i]['mail']; 306 $uid = substr($uid,0,strpos($uid,"@")); 307 $result[$i]['uid'] = $uid; 308 break; 309 310 case "description" : 311 // SERPRO 312 // parte antes do arroba; 313 $result[$i]['uid'] = $result[$i]['description']; 314 break; 315 } 316 } 317 } 309 case 'description': 310 $result[$i]['uid'] = $result[$i]['description']; 311 break; 312 case 'uid': 313 $uid = $result[$i]['mail']; 314 $uid = substr($uid,0,strpos($uid,"@")); 315 $result[$i]['uid'] = $uid; 316 break; 317 case 'mail': 318 $uid = $result[$i]['mail']; 319 $uid = substr($uid,0,strpos($uid,"@")); 320 $result[$i]['uid'] = $uid; 321 break; 318 322 } 319 323 } -
trunk/jabberit_messenger/inc/jabberit_sessions.inc.php
r1431 r1502 11 11 \***************************************************************************/ 12 12 13 //User14 $_SESSION['phpgw_info']['jabberit_messenger']['user_jabber'] = $GLOBALS['phpgw_info']['user']['account_lid'];15 $_SESSION['phpgw_info']['jabberit_messenger']['user_id'] = $GLOBALS['phpgw_info']['user']['account_id'];16 $_SESSION['phpgw_info']['jabberit_messenger']['passwd'] = $GLOBALS['phpgw_info']['user']['passwd'];17 $_SESSION['phpgw_info']['jabberit_messenger']['mail'] = $GLOBALS['phpgw_info']['user']['email'];18 $_SESSION['phpgw_info']['jabberit_messenger']['fullname'] = $GLOBALS['phpgw_info']['user']['fullname'];19 $_SESSION['phpgw_info']['jabberit_messenger']['account_dn'] = $GLOBALS['phpgw_info']['user']['account_dn'];20 13 21 // User Lang 22 $_SESSION['phpgw_info']['jabberit_messenger']['applet_lang'] = $GLOBALS['phpgw_info']['user']['preferences']['common']['lang']; 23 24 //Members Group 25 $_SESSION['phpgw_info']['jabberit_messenger']['membership'] = $GLOBALS['phpgw']->accounts->membership(); 14 // Identifica que atributo a organização utiliza para autenticar no servidor jabber 15 $ou = explode(",",$GLOBALS['phpgw_info']['user']['account_dn']); 16 $ou = explode("=",$ou[3]); 17 $ou = $ou[1]; 26 18 27 //Groups Locked 28 $_SESSION['phpgw_info']['jabberit_messenger']['groups_locked'] = $GLOBALS['phpgw_info']['server']['groups_locked_jabberit']; 19 $org_array = explode(",",$GLOBALS['phpgw_info']['server']['attributes_org_ldap_jabberit']); 29 20 30 //Server http or https 31 $_SESSION['phpgw_info']['jabberit_messenger']['use_https'] = $GLOBALS['phpgw_info']['server']['use_https']; 21 for($i = 0; $i < sizeof($org_array); ++$i) 22 { 23 $org = explode(";",$org_array[$i]); 24 if ($org[0] == $ou) 25 { 26 $org = $org[1]; 27 break; 28 } 29 } 32 30 33 //Organization Ldap 34 $_SESSION['phpgw_info']['jabberit_messenger']['account_dn'] = $GLOBALS['phpgw_info']['user']['account_dn']; 31 $_SESSION['phpgw_info']['jabberit_messenger']['user_org_att'] = $org; 32 33 // Seta a variável user_jabber de acordo com o atributo adotado pela organização 34 switch ($org) 35 { 36 case 'uid': 37 $_SESSION['phpgw_info']['jabberit_messenger']['user_jabber'] = $GLOBALS['phpgw_info']['user']['account_lid']; 38 break; 39 case 'mail': 40 $_SESSION['phpgw_info']['jabberit_messenger']['user_jabber'] = $GLOBALS['phpgw_info']['user']['mail']; 41 break; 42 case 'description': 43 $description = explode("@", $GLOBALS['phpgw_info']['user']['email']); 44 $_SESSION['phpgw_info']['jabberit_messenger']['user_jabber'] = $description[0]; 45 break; 46 } 47 48 $_SESSION['phpgw_info']['jabberit_messenger']['user_id'] = $GLOBALS['phpgw_info']['user']['account_id']; 49 $_SESSION['phpgw_info']['jabberit_messenger']['passwd'] = $GLOBALS['phpgw_info']['user']['passwd']; 50 $_SESSION['phpgw_info']['jabberit_messenger']['mail'] = $GLOBALS['phpgw_info']['user']['email']; 51 $_SESSION['phpgw_info']['jabberit_messenger']['fullname'] = $GLOBALS['phpgw_info']['user']['fullname']; 52 $_SESSION['phpgw_info']['jabberit_messenger']['account_dn'] = $GLOBALS['phpgw_info']['user']['account_dn']; 35 53 36 //Ldap 37 $_SESSION['phpgw_info']['jabberit_messenger']['server_ldap_jabberit'] = $GLOBALS['phpgw_info']['server']['server_ldap_jabberit']; 38 $_SESSION['phpgw_info']['jabberit_messenger']['context_ldap_jabberit'] = $GLOBALS['phpgw_info']['server']['context_ldap_jabberit']; 39 $_SESSION['phpgw_info']['jabberit_messenger']['user_ldap_jabberit'] = $GLOBALS['phpgw_info']['server']['user_ldap_jabberit']; 40 $_SESSION['phpgw_info']['jabberit_messenger']['password_ldap_jabberit'] = $GLOBALS['phpgw_info']['server']['password_ldap_jabberit']; 54 // User Lang 55 $_SESSION['phpgw_info']['jabberit_messenger']['applet_lang'] = $GLOBALS['phpgw_info']['user']['preferences']['common']['lang']; 56 57 //Members Group 58 $_SESSION['phpgw_info']['jabberit_messenger']['membership'] = $GLOBALS['phpgw']->accounts->membership(); 59 60 //Groups Locked 61 $_SESSION['phpgw_info']['jabberit_messenger']['groups_locked'] = $GLOBALS['phpgw_info']['server']['groups_locked_jabberit']; 62 63 //Server http or https 64 $_SESSION['phpgw_info']['jabberit_messenger']['use_https'] = $GLOBALS['phpgw_info']['server']['use_https']; 65 66 //Organization Ldap 67 $_SESSION['phpgw_info']['jabberit_messenger']['account_dn'] = $GLOBALS['phpgw_info']['user']['account_dn']; 68 69 //Ldap 70 $_SESSION['phpgw_info']['jabberit_messenger']['server_ldap_jabberit'] = $GLOBALS['phpgw_info']['server']['server_ldap_jabberit']; 71 $_SESSION['phpgw_info']['jabberit_messenger']['context_ldap_jabberit'] = $GLOBALS['phpgw_info']['server']['context_ldap_jabberit']; 72 $_SESSION['phpgw_info']['jabberit_messenger']['user_ldap_jabberit'] = $GLOBALS['phpgw_info']['server']['user_ldap_jabberit']; 73 $_SESSION['phpgw_info']['jabberit_messenger']['password_ldap_jabberit'] = $GLOBALS['phpgw_info']['server']['password_ldap_jabberit']; 41 74 42 43 44 45 46 47 48 75 //DB 76 $_SESSION['phpgw_info']['jabberit_messenger']['server']['db_name'] = $GLOBALS['phpgw_info']['server']['db_name']; 77 $_SESSION['phpgw_info']['jabberit_messenger']['server']['db_host'] = $GLOBALS['phpgw_info']['server']['db_host']; 78 $_SESSION['phpgw_info']['jabberit_messenger']['server']['db_port'] = $GLOBALS['phpgw_info']['server']['db_port']; 79 $_SESSION['phpgw_info']['jabberit_messenger']['server']['db_user'] = $GLOBALS['phpgw_info']['server']['db_user']; 80 $_SESSION['phpgw_info']['jabberit_messenger']['server']['db_pass'] = $GLOBALS['phpgw_info']['server']['db_pass']; 81 $_SESSION['phpgw_info']['jabberit_messenger']['server']['db_type'] = $GLOBALS['phpgw_info']['server']['db_type']; 49 82 50 51 $_SESSION['phpgw_info']['jabberit_messenger']['name_jabberit']= $GLOBALS['phpgw_info']['server']['name_jabberit'];52 $_SESSION['phpgw_info']['jabberit_messenger']['ip_server_jabberit'] = $GLOBALS['phpgw_info']['server']['ip_server_jabberit'];53 $_SESSION['phpgw_info']['jabberit_messenger']['port_1_jabberit'] = $GLOBALS['phpgw_info']['server']['port_1_jabberit'];54 $_SESSION['phpgw_info']['jabberit_messenger']['port_2_jabberit'] = $GLOBALS['phpgw_info']['server']['port_2_jabberit'];55 $_SESSION['phpgw_info']['jabberit_messenger']['resource_jabberit'] = $GLOBALS['phpgw_info']['server']['resource_jabberit'];56 $_SESSION['phpgw_info']['jabberit_messenger']['group_chat_jabberit'] = $GLOBALS['phpgw_info']['server']['group_chat_server_jabberit'];57 $_SESSION['phpgw_info']['jabberit_messenger']['name_company']= $GLOBALS['phpgw_info']['server']['name_company_applet_jabberit'];58 $_SESSION['phpgw_info']['jabberit_messenger']['use_attribute_jabberit']= $GLOBALS['phpgw_info']['server']['use_attribute_jabberit'];59 60 83 //Jabberd 84 $_SESSION['phpgw_info']['jabberit_messenger']['name_jabberit'] = $GLOBALS['phpgw_info']['server']['name_jabberit']; 85 $_SESSION['phpgw_info']['jabberit_messenger']['port_jabberit'] = $GLOBALS['phpgw_info']['server']['port_jabberit']; 86 $_SESSION['phpgw_info']['jabberit_messenger']['resource_jabberit'] = $GLOBALS['phpgw_info']['server']['resource_jabberit']; 87 $_SESSION['phpgw_info']['jabberit_messenger']['group_chat_jabberit'] = $GLOBALS['phpgw_info']['server']['group_chat_server_jabberit']; 88 $_SESSION['phpgw_info']['jabberit_messenger']['use_ssl_jabberit'] = $GLOBALS['phpgw_info']['server']['use_ssl_jabberit']; 89 $_SESSION['phpgw_info']['jabberit_messenger']['use_proxy_java'] = $GLOBALS['phpgw_info']['server']['use_proxy_java']; 90 $_SESSION['phpgw_info']['jabberit_messenger']['name_company'] = $GLOBALS['phpgw_info']['server']['name_company_applet_jabberit']; 91 $_SESSION['phpgw_info']['jabberit_messenger']['use_attribute_jabberit'] = $GLOBALS['phpgw_info']['server']['use_attribute_jabberit']; 92 $_SESSION['phpgw_info']['jabberit_messenger']['attributes_org_ldap_jabberit'] = $GLOBALS['phpgw_info']['server']['attributes_org_ldap_jabberit']; 93 $_SESSION['phpgw_info']['jabberit_messenger']['map_org_realm_jabberit'] = $GLOBALS['phpgw_info']['server']['map_org_realm_jabberit']; 61 94 62 95 ?> -
trunk/jabberit_messenger/inc/login.php
r1430 r1502 2 2 /***************************************************************************\ 3 3 * Expresso - Expresso Messenger * 4 * - Alexandre Correia / Rodrigo Souza *5 * - JETI - http://jeti-im.org/ *4 * - Alexandre Correia / Rodrigo Souza * 5 * - JETI - http://jeti-im.org/ * 6 6 * ------------------------------------------------------------------------- * 7 7 * This program is free software; you can redistribute it and/or modify it * … … 16 16 17 17 if(isset($_SESSION['phpgw_info']['jabberit_messenger']['name_jabberit'])) 18 18 { 19 19 // Path Server 20 20 $path = $_SESSION['phpgw_info']['jabberit_messenger']['webserver_url']; … … 24 24 ****** Type Protocol http / https ********************************************************** 25 25 * Esta variável é carregada no header.inc.php, onde é possível definir 26 * 26 * se será com http ou https. Verifique em seu arquivo header.inc.php como está configurada 27 27 * a variável $GLOBALS['phpgw_info']['server']['use_https']. 28 28 * Abaixo segue esquema : 29 29 * Expresso 0 = Sem https 30 30 * Expresso 1 = Com https apenas no login 31 * 31 * Expresso 2 = Completo 32 32 ********************************************************************************************* 33 33 **/ 34 34 35 $PROTOCOL = trim("http"); 36 if( $_SESSION['phpgw_info']['jabberit_messenger']['use_https'] === 2 ) 37 $PROTOCOL = trim("https"); 35 // ESSA VARIAVEL PRECISA REFLETIR A CONFIGURACAO DO PRIMEIRO PROXY 36 $PROTOCOL = trim("http"); 38 37 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']); 38 $pattern = '/https:\/\//'; 39 if (preg_match($pattern,$_SERVER[HTTP_REFERER])) 40 $PROTOCOL = trim("https"); 43 41 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 42 // UID 43 // Verificando atributo que a organização utiliza para autenticar no servidor jabber 44 switch ($_SESSION['phpgw_info']['jabberit_messenger']['user_org_att']) 45 { 46 case 'description': 47 $uid = $_SESSION['phpgw_info']['jabberit_messenger']['user_jabber']; 48 break; 49 case 'uid': 50 $uid = $_SESSION['phpgw_info']['jabberit_messenger']['user_id']; 51 $uid = substr($uid,0,strpos($uid,"@")); 52 break; 53 case 'mail': 54 $uid = $_SESSION['phpgw_info']['jabberit_messenger']['user_id']; 55 $uid = substr($uid,0,strpos($uid,"@")); 56 break; 57 } 58 48 59 // FirstName 49 60 $CnName = explode(" ",$_SESSION['phpgw_info']['jabberit_messenger']['fullname']); … … 55 66 $preferences = explode(":", $preferences); 56 67 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 // SERPRO73 // parte antes do arroba;74 // Informe aqui a parte da sessão correspondente;75 $uid = "description";76 break;77 }78 }79 }80 }81 68 82 69 //Enable/Disable VoIP Service -> Voip Server Config … … 127 114 $language = $lang[0]; 128 115 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 116 // Load Template; 145 117 $template = new Template('templates/default'); … … 151 123 $template->set_var("value_country", $country); 152 124 $template->set_var("value_expresso", $SERVER_EXPRESSO); 153 $template->set_var("value_host", $_SESSION['phpgw_info']['jabberit_messenger'][' ip_server_jabberit']);125 $template->set_var("value_host", $_SESSION['phpgw_info']['jabberit_messenger']['name_jabberit']); 154 126 $template->set_var("value_javaPlugins", $javaPlugins); 155 127 $template->set_var("value_language", $language); 156 128 $template->set_var("value_password", $_SESSION['phpgw_info']['jabberit_messenger']['passwd']); 157 $template->set_var("value_port", $ port_jabber);129 $template->set_var("value_port", $_SESSION['phpgw_info']['jabberit_messenger']['port_jabberit']); 158 130 $template->set_var("value_resource", $_SESSION['phpgw_info']['jabberit_messenger']['resource_jabberit']); 159 131 $template->set_var("value_server", $_SESSION['phpgw_info']['jabberit_messenger']['name_jabberit']); 160 $template->set_var("value_ssl", $ conn_SSL);132 $template->set_var("value_ssl", $_SESSION['phpgw_info']['jabberit_messenger']['use_ssl_jabberit']); 161 133 $template->set_var("value_use_https", $PROTOCOL); 162 134 $template->set_var("value_user", $uid); 163 135 $template->set_var("value_userproxy", $_SESSION['phpgw_info']['jabberit_messenger']['use_proxy_java']); 136 164 137 if( strpos($_SERVER['HTTP_USER_AGENT'], "MSIE") ) 165 138 $template->set_file(Array('jabberit_messenger' => 'jabberIM_IE.tpl')); -
trunk/jabberit_messenger/inc/webservice.php
r1214 r1502 31 31 $handle = unserialize(base64_decode($LDAP_INTERNAL)); 32 32 33 $this->jabberName = $handle['jabberName'];34 $this->serverLdap = $handle['serverLdap'];33 $this->jabberName = $handle['jabberName']; 34 $this->serverLdap = $handle['serverLdap']; 35 35 $this->contextLdap = $handle['contextLdap']; 36 36 $this->userLDAP = $handle['user']; 37 $this->passwd = $handle['password'];37 $this->passwd = $handle['password']; 38 38 39 39 $this->refer = true; … … 170 170 171 171 if( $this->jabberName == (substr($pJid, strpos($pJid, "@") + 1 ))) 172 {173 172 $this->ldapConnect(); 174 175 if( $this->fileLdapInternal ) 176 { 177 if( $this->conn ) 178 { 173 else 174 $this->ldapConnectExternal(substr($pJid, strpos($pJid, "@") + 1 )); 175 176 if( $this->conn ) 177 { 178 // Verificando atributo que a organização utiliza para autenticar no servidor jabber 179 switch ($_SESSION['phpgw_info']['jabberit_messenger']['user_org_att']) 180 { 181 case 'description': 182 $filter = "(&(phpgwaccounttype=u)(description=".$uid.")(!(phpgwaccountvisible=-1)))"; 183 break; 184 case 'uid': 179 185 $filter = "(&(phpgwaccounttype=u)(uid=".$uid.")(!(phpgwaccountvisible=-1)))"; 180 $justthese = array("uid","cn","dn"); 181 $search = ldap_search( $this->conn, $this->contextLdap, $filter,$justthese); 182 $get_entries = ldap_get_entries( $this->conn, $search); 183 184 if( $get_entries['count'] > 0 ) 185 { 186 $cn = $get_entries[0]['cn'][0]; 187 $ou = explode("dc=", $get_entries[0]['dn']); 188 $ou = explode("ou=",$ou[0]); 189 $ou = array_pop($ou); 190 $dn = strtoupper(substr($ou,0,strlen($ou)-1)); 191 $return = utf8_encode("Nome : " . $cn . ";Organização : " . $dn); 192 } 193 } 194 } 195 } 196 else 197 { 198 $this->ldapConnectExternal(substr($pJid, strpos($pJid, "@") + 1 )); 199 200 if( $this->fileLdapExternal ) 201 { 202 if( $this->conn ) 203 { 186 break; 187 case 'mail': 204 188 $filter = "(&(phpgwaccounttype=u)(uid=".$uid.")(!(phpgwaccountvisible=-1)))"; 205 $justthese = array("uid","cn","dn"); 206 $search = ldap_search( $this->conn, $this->contextLdap, $filter, $justthese); 207 $get_entries = ldap_get_entries( $this->conn, $search); 189 break; 190 } 191 192 $justthese = array("uid","cn","dn"); 193 $search = ldap_search( $this->conn, $this->contextLdap, $filter, $justthese); 194 $get_entries = ldap_get_entries( $this->conn, $search); 208 195 209 if( $get_entries['count'] > 0 ) 210 { 211 $cn = $get_entries[0]['cn'][0]; 212 $ou = explode("dc=", $get_entries[0]['dn']); 213 $ou = explode("ou=",$ou[0]); 214 $ou = array_pop($ou); 215 $dn = strtoupper(substr($ou,0,strlen($ou)-1)); 216 $return = utf8_encode("Nome : " . $cn . ";Organização : " . $dn); 217 } 218 } 196 if( $get_entries['count'] > 0 ) 197 { 198 $cn = $get_entries[0]['cn'][0]; 199 $ou = explode("dc=", $get_entries[0]['dn']); 200 $ou = explode("ou=",$ou[0]); 201 $ou = array_pop($ou); 202 $dn = strtoupper(substr($ou,0,strlen($ou)-1)); 203 $return = utf8_encode("Nome : " . $cn . ";Organização : " . $dn); 219 204 } 220 205 } … … 239 224 240 225 $this->ldapConnect(); 241 242 if( $this->conn )243 {244 $filter = "(&(phpgwaccounttype=u)(uid=".$uid.")(!(phpgwaccountvisible=-1)))";245 $justthese = array("uid","jpegPhoto");246 $search = ldap_search($this->conn,$this->contextLdap,$filter,$justthese);247 $get_entries = ldap_get_entries($this->conn,$search);248 249 if( $get_entries['count'] > 0 )250 {251 $first_entry = ldap_first_entry( $this->conn, $search );252 $photo = @ldap_get_values_len($this->conn, $first_entry, 'jpegphoto');253 254 if ( $photo )255 return $photo[0];256 257 return false;258 }259 }260 226 } 261 227 } … … 271 237 if( !$this->fileLdapExternal ) 272 238 return false; 273 274 if( $this->conn ) 275 { 276 $filter = "(&(phpgwaccounttype=u)(uid=".$uid.")(!(phpgwaccountvisible=-1)))"; 277 $justthese = array("uid","jpegPhoto"); 278 $search = ldap_search($this->conn,$this->contextLdap,$filter,$justthese); 279 $get_entries = ldap_get_entries($this->conn,$search); 239 } 240 241 if( $this->conn ) 242 { 243 // Verificando atributo que a organização utiliza para autenticar no servidor jabber 244 switch ($_SESSION['phpgw_info']['jabberit_messenger']['user_org_att']) 245 { 246 case 'description': 247 $filter = "(&(phpgwaccounttype=u)(description=".$uid.")(!(phpgwaccountvisible=-1)))"; 248 $justthese = array("description","jpegPhoto"); 249 break; 250 case 'uid': 251 $filter = "(&(phpgwaccounttype=u)(uid=".$uid.")(!(phpgwaccountvisible=-1)))"; 252 $justthese = array("uid","jpegPhoto"); 253 break; 254 case 'mail': 255 $filter = "(&(phpgwaccounttype=u)(uid=".$uid.")(!(phpgwaccountvisible=-1)))"; 256 $justthese = array("uid","jpegPhoto"); 257 break; 258 } 259 260 $search = ldap_search($this->conn,$this->contextLdap,$filter,$justthese); 261 $get_entries = ldap_get_entries($this->conn,$search); 280 262 281 if( $get_entries['count'] > 0 ) 282 { 283 $first_entry = ldap_first_entry( $this->conn, $search ); 284 $photo = @ldap_get_values_len($this->conn, $first_entry, 'jpegphoto'); 285 286 if ( $photo ) 287 return $photo[0]; 288 289 return false; 290 } 263 if( $get_entries['count'] > 0 ) 264 { 265 $first_entry = ldap_first_entry( $this->conn, $search ); 266 $photo = @ldap_get_values_len($this->conn, $first_entry, 'jpegphoto'); 267 268 if ( $photo ) 269 return $photo[0]; 270 271 return false; 291 272 } 292 273 }
Note: See TracChangeset
for help on using the changeset viewer.