Changeset 68
- Timestamp:
- 09/14/07 17:43:09 (17 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoAdmin1_2/inc/class.ldap_functions.inc.php
r64 r68 801 801 // MailLists 802 802 $result['maillists_info'] = $this->get_user_maillists($result['mail']); 803 foreach ($result['maillists_info'] as $maillist) 804 { 805 $result['maillists'][] = $maillist['uidnumber']; 806 } 803 if($result['maillists_info']) 804 foreach ($result['maillists_info'] as $maillist) 805 { 806 $result['maillists'][] = $maillist['uidnumber']; 807 } 807 808 808 809 // Groups … … 845 846 } 846 847 847 natcasesort($a_tmp); 848 if($a_tmp) { 849 natcasesort($a_tmp); 848 850 849 foreach ($a_tmp as $uid) 850 { 851 $return[$uid]['uidnumber'] = $result[$uid]['uidnumber']; 852 $return[$uid]['uid'] = $result[$uid]['uid']; 853 $return[$uid]['mail'] = $result[$uid]['mail']; 854 } 851 foreach ($a_tmp as $uid) 852 { 853 $return[$uid]['uidnumber'] = $result[$uid]['uidnumber']; 854 $return[$uid]['uid'] = $result[$uid]['uid']; 855 $return[$uid]['mail'] = $result[$uid]['mail']; 856 } 857 } 855 858 return $return; 856 859 } … … 907 910 } 908 911 909 // Retira o count do array910 array_shift($entry[0]['memberuid']);911 912 912 // Checamos e-mails que não fazem parte do expresso. 913 913 // Criamos um array temporario 914 914 $tmp_array = array(); 915 foreach ($result['memberuid_info'] as $uid => $user_data) 916 { 917 $tmp_array[] = $uid; 918 } 919 920 // Vemos a diferença 921 $array_diff = array_diff($entry[0]['memberuid'], $tmp_array); 922 923 // Incluimos no resultado 924 foreach ($array_diff as $index=>$uid) 925 { 926 $result['memberuid_info'][$uid]['cn'] = $uid; 915 if($result['memberuid_info']) 916 foreach ($result['memberuid_info'] as $uid => $user_data) 917 { 918 $tmp_array[] = $uid; 919 } 920 921 if($entry[0]['memberuid']) { 922 // Retira o count do array 923 array_shift($entry[0]['memberuid']); 924 // Vemos a diferença 925 $array_diff = array_diff($entry[0]['memberuid'], $tmp_array); 926 // Incluimos no resultado 927 foreach ($array_diff as $index=>$uid) 928 { 929 $result['memberuid_info'][$uid]['cn'] = $uid; 930 } 927 931 } 928 932 -
trunk/expressoAdmin1_2/setup/tables_current.inc.php
r27 r68 62 62 ), 63 63 64 'phpgw_expressoadmin_samba' ,array(64 'phpgw_expressoadmin_samba' => array( 65 65 'fd' => array( 66 66 'samba_domain_name' => array( 'type' => 'varchar', 'precision' => 50), -
trunk/expressoAdmin1_2/setup/tables_update.inc.php
r64 r68 9 9 * option) any later version. * 10 10 \**************************************************************************/ 11 $test[] = '1.2 21';12 function expressoAdmin1_2_upgrade1_2 21()11 $test[] = '1.21'; 12 function expressoAdmin1_2_upgrade1_21() 13 13 { 14 14 $oProc = $GLOBALS['phpgw_setup']->oProc; 15 15 16 16 $oProc->CreateTable( 17 'phpgw_expressoadmin_samba', array(17 'phpgw_expressoadmin_samba', array( 18 18 'fd' => array( 19 19 'samba_domain_name' => array( 'type' => 'varchar', 'precision' => 50), -
trunk/instant_messenger/inc/class.Ujabber.inc.php
r67 r68 434 434 } 435 435 436 function requireVcard() 437 { 438 436 function Vcard() 437 { 439 438 $contacts = array(); 440 439 $contacts = $_SESSION['phpgw_info']['instant_messenger']['contacts']; 441 $jid_user = $_SESSION['phpgw_info']['instant_messenger']['user']; 442 $jid_user .= "@" . $_SESSION['phpgw_info']['instant_messenger']['name_jabber']; 443 440 $jid_user = $this->getJid(); 441 444 442 if( count($contacts) > 0 ) 445 443 { … … 454 452 } 455 453 454 function VcardUser() 455 { 456 $_SESSION['phpgw_info']['instant_messenger']['socket']['out']['vcard'][] = $this->getJid();; 457 } 458 456 459 function getJid() 457 460 { -
trunk/instant_messenger/inc/class.contacts_im.inc.php
r41 r68 29 29 foreach($db_acls as $tmp) 30 30 $search_groups .= "(gidNumber=".$tmp['acl_account'].")"; 31 31 32 32 // Busca Grupos 33 33 $groups = $this->ldap->list_groups_ldap($search_groups); 34 34 35 $search_uids = "|"; 35 36 if($groups) 36 37 { 37 $search_uids = "|";38 foreach($groups as $tmp){38 foreach($groups as $tmp) 39 { 39 40 $members = $tmp['members']; 40 41 foreach($members as $mb) 41 42 $search_uids .= "(uid=".$mb.")"; 42 43 } 43 44 $uids_members = $this->ldap->list_users_ldap($search_uids);45 46 foreach($uids_members as $tmp)47 $uids[] = $tmp;48 44 } 45 46 if($uids) 47 { 48 foreach($uids as $tmp) 49 $search_uids .= "(uid=".$tmp['uid'].")"; 50 } 51 $uids_members = $this->ldap->list_users_ldap($search_uids); 49 52 50 if(count($uids ) > 0)51 return $uids ;53 if(count($uids_members) > 0) 54 return $uids_members; 52 55 else 53 56 return 0; 54 55 57 } 56 58 -
trunk/instant_messenger/inc/class.ldap_im.inc.php
r55 r68 78 78 function list_users_ldap($search) 79 79 { 80 80 81 81 if($this->conn){ 82 82 $filter = "(&(".$search.")(phpgwAccountType=u))"; -
trunk/instant_messenger/index.php
r67 r68 8 8 $GLOBALS['phpgw_info']['flags'] = array( 9 9 'currentapp' => 'instant_messenger', 10 'im_version' => '0. 001'10 'im_version' => '0.2' 11 11 ); 12 12 -
trunk/instant_messenger/js/im_functions.js
r67 r68 7 7 this.UsersNot = []; 8 8 this.userPrefe = false; 9 this.count_Vcard = 0; 9 10 } 10 11 11 12 IM.prototype.load_im = function() 12 13 { 13 IM.listen(); 14 IM.requireContacts(); 14 this.listen(); 15 this.requireContacts(); 16 this.atalho(); 15 17 16 18 var handler_Status = function(XmlData) … … 51 53 if(!_this.vcards) 52 54 { 53 _this. requireVcard();55 _this.Vcard(); 54 56 _this.vcards = true; 55 57 } … … 125 127 group = group.nextSibling; 126 128 } 127 this.atalho();129 //this.atalho(); 128 130 } 129 131 }catch(e){} … … 309 311 nickname = nickname.substr(0,nickname.indexOf('|')); 310 312 nickname = nickname.substr(nickname.indexOf(':') + 1 , nickname.length); 311 nickname = func.trim(nickname);313 nickname = ( func.trim(nickname) != "" ) ? nickname : from ; 312 314 } 313 315 else … … 374 376 } 375 377 376 envio.innerHTML = func.trim(envio.innerHTML.replace(/ | +/g, ' '));377 envio.innerHTML = func.trim(envio.innerHTML.replace(/<br>/g, '<br/>'));378 378 envio.innerHTML = func.trim(envio.innerHTML); 379 envio.innerHTML = envio.innerHTML.replace(/ | +/gi, ' '); 380 envio.innerHTML = envio.innerHTML.replace(/<br[^>]*>/gi, '<br />'); 379 381 380 382 if ( envio.innerHTML != "" ) … … 389 391 message_text += envio.innerHTML + "</div>"; 390 392 393 message_text = message_text.replace(/ | +/gi, ' '); 394 message_text = message_text.replace(/<br[^>]*>/gi, '<br />'); 395 391 396 envio.innerHTML = ''; 392 397 … … 399 404 nickname = nickname.substr(0,nickname.indexOf('|')); 400 405 nickname = nickname.substr(nickname.indexOf(':') + 1 , nickname.length); 406 nickname = (func.trim(nickname) != "") ? nickname : IM_Preferences.jid; 401 407 } 402 408 … … 559 565 */ 560 566 561 IM.prototype. requireVcard = function()567 IM.prototype.Vcard = function() 562 568 { 563 569 var _this = this; 564 var handler_getVcard = function(_XMLdata)570 if( _this.count_Vcard < 3) 565 571 { 566 var data = _XMLdata.getElementsByTagName('retorno').item(0); 567 data = eval(data.firstChild.nodeValue); 568 if(!data) 569 setTimeout("IM.requireVcard()",2000); 570 }; 571 XMLTools.request('$this.Ujabber.requireVcard','GET',handler_getVcard); 572 } 572 var handler_getVcard = function(_XMLdata) 573 { 574 var data = _XMLdata.getElementsByTagName('retorno').item(0); 575 data = eval(data.firstChild.nodeValue); 576 if(!data) 577 setTimeout("IM.Vcard()",2000); 578 _this.count_Vcard++; 579 }; 580 XMLTools.request('$this.Ujabber.Vcard','GET',handler_getVcard); 581 }else{ 582 var handler_getVcardUser = function(XMLdata) 583 { 584 }; 585 XMLTools.request('$this.Ujabber.VcardUser','GET',handler_getVcardUser); 586 } 587 588 }; 573 589 574 590 IM.prototype.getVcard = function(data) … … 585 601 div.innerHTML = ""; 586 602 div.innerHTML += XMLTools.transform(data, xsl); 587 IM_Preferences.vCardInit();603 IM_Preferences.vCardInit(); 588 604 } 605 589 606 590 607 }catch(e){} -
trunk/instant_messenger/js/im_preferences.js
r67 r68 53 53 } 54 54 } 55 var handler_contacts = function( data)56 { 57 var data = func.interface( data);55 var handler_contacts = function(XMLdata) 56 { 57 var data = func.interface(XMLdata); 58 58 var select_contact = document.getElementById('ImSelAddContact'); 59 59 var text0 = document.getElementById('text0'); … … 63 63 text0.value = ""; 64 64 text1.value = ""; 65 if(data){ 65 if(data) 66 { 66 67 for(var i in data) 67 68 { … … 108 109 { 109 110 IM.vcards = false; 110 IM. requireVcard();111 IM.Vcard(); 111 112 112 113 text0.value = ""; … … 178 179 { 179 180 IM.vcards = false; 180 IM. requireVcard();181 IM.Vcard(); 181 182 var div_child = document.getElementById(pJid); 182 183 div_child.parentNode.removeChild(div_child); … … 317 318 { 318 319 var _this = this; 320 var nickname = ""; 321 var message = ""; 322 var vcards = ""; 323 319 324 var handler_getId = function(_XMLdata) 320 325 { … … 322 327 jid = jid.firstChild.nodeValue; 323 328 _this.jid = jid; 324 325 var vcards = _this.vCardLoad(jid);326 329 327 var nickname = vcards.substr(vcards.indexOf('NICKNAME'),vcards.length); 330 if((vcards = _this.vCardLoad(jid))) 331 { 332 nickname = vcards.substr(vcards.indexOf('NICKNAME'),vcards.length); 328 333 nickname = nickname.substr(0,nickname.indexOf('|')); 329 334 nickname = nickname.substr(nickname.indexOf(':') + 1 , nickname.length); 330 335 331 varmessage = vcards.substr(vcards.indexOf('DESC'),vcards.length);336 message = vcards.substr(vcards.indexOf('DESC'),vcards.length); 332 337 message = message.substr(0,message.indexOf('|')); 333 338 message = message.substr(message.indexOf(':') + 1 , message.length); 334 339 } 340 341 nickname = (func.trim(nickname) != "" ) ? nickname : _this.jid ; 342 message = (func.trim(message) != "" ) ? message : "Sua Mensagem"; 343 335 344 var span_nick = document.getElementById('span_nickname'); 336 345 span_nick.innerHTML = ( nickname ) ? "<b> " + decodeURI(nickname.substring(0,15)) + "</b>" : "<b> " + IM.get_lang('Nickname') + "</b>"; … … 389 398 var Nvcard = new Array('FN','NICKNAME','ORGNAME','ORGUNIT','ROLE','BDAY','DESC'); 390 399 var vcard = ""; 400 var value = ""; 391 401 for(var i in Nvcard) 392 402 { 393 if( Nvcard[i] === 'NICKNAME' ) 394 document.getElementById('span_nickname').innerHTML = "<b> " + document.getElementById(Nvcard[i]).value.substring(0,15) + "</b>"; 403 if( Nvcard[i] === 'NICKNAME' ) 404 { 405 var nn = ( func.trim(document.getElementById(Nvcard[i]).value) != "") ? document.getElementById(Nvcard[i]).value : this.jid; 406 document.getElementById('span_nickname').innerHTML = "<b> " + nn.substring(0,15) + "</b>"; 407 } 395 408 if( Nvcard[i] === 'DESC' ) 409 { 396 410 document.getElementById('span_message').innerHTML = "<b> " + document.getElementById(Nvcard[i]).value.substring(0,20) + "...</b>"; 397 vcard += document.getElementById(Nvcard[i]).value + "_vkrd_"; 411 } 412 value = document.getElementById(Nvcard[i]).value; 413 value = (func.trim(value) != "") ? value : ""; 414 vcard += value + "_vkrd_"; 398 415 } 399 416 -
trunk/instant_messenger/js/im_templates.js
r67 r68 169 169 var grid = ''; 170 170 171 for( var i in fonts_n)171 for( var i = 0 ; i < fonts_n.length; i++ ) 172 172 grid += '<div class="menuitems" onMouseover="im_win.highlightie5(this)" onMouseout="im_win.lowlightie5(this)" onclick="im_conf_font.changeFont(\'' + fonts_n[i].substr(0,fonts_n[i].indexOf(':') + 1 )+'\')" id="fontStyle1" style="width:120px;font-family:'+fonts_n[i].substr(fonts_n[i].indexOf(':') + 1 )+'">' + fonts_n[i].substr(fonts_n[i].indexOf(':') + 1 ) + '</div>'; 173 173 … … 183 183 var grid = ''; 184 184 185 for( var i in fonts_s)185 for( var i = 0 ; i < fonts_s.length ; i++ ) 186 186 grid += '<div class="menuitems" onMouseover="im_win.highlightie5(this)" onMouseout="im_win.lowlightie5(this)" onclick="im_conf_font.changeSizeFont(\'' + fonts_s[i].substr(0,fonts_s[i].indexOf(':')) + '\');" id="fontStyle1" style="width:100px">' + fonts_s[i].substr(fonts_s[i].indexOf(':') + 1 ) + '</div>'; 187 187 … … 197 197 var grid = ''; 198 198 199 for( var i in fonts_c)199 for( var i = 0; i < fonts_c.length ; i++ ) 200 200 grid += '<div class="menuitems" onMouseover="im_win.highlightie5(this)" onMouseout="im_win.lowlightie5(this)" onclick="im_conf_font.changeFontColor(\'' + fonts_c[i].substr(0,fonts_c[i].indexOf(':')) + '\')" id="fontStyle1" style="width:100px">' + fonts_c[i].substr(fonts_c[i].indexOf(':') + 1 ) + '</div>'; 201 201 … … 208 208 Templates.prototype.font_style = function() 209 209 { 210 var fonts = new Array("normal:Regular","italic:Italic","bold:Bold");210 var fonts_st = new Array("normal:Regular","italic:Italic","bold:Bold"); 211 211 var grid = ''; 212 212 213 for( var i in fonts)214 grid += '<div class="menuitems" onMouseover="im_win.highlightie5(this)" onMouseout="im_win.lowlightie5(this)" onclick="im_conf_font.changeFontStyle(\'' + fonts [i].substr(0,fonts.indexOf(':')) + '\')" id="fontStyle1" style="width:100px">' + fonts[i].substr( fonts[i].indexOf(':') + 1 ) + '</div>';213 for( var i = 0 ; i < fonts_st.length; i++ ) 214 grid += '<div class="menuitems" onMouseover="im_win.highlightie5(this)" onMouseout="im_win.lowlightie5(this)" onclick="im_conf_font.changeFontStyle(\'' + fonts_st[i].substr(0,fonts_st.indexOf(':')) + '\')" id="fontStyle1" style="width:100px">' + fonts_st[i].substr( fonts_st[i].indexOf(':') + 1 ) + '</div>'; 215 215 grid += '<hr style="background:#cccccc;margin:1px:size:1px;width:120px;"/>'; 216 216 grid += '<div class="menuitems" onMouseover="im_win.highlightie5(this)" onMouseout="im_win.lowlightie5(this)" onclick="im_win.hideFontStyleSelection()" id="fontStyle1" style="width:100px">Close This Menu</div>'; -
trunk/instant_messenger/js/im_win.js
r64 r68 68 68 func.confEl(main_menu_body, 'id', 'div_contacts'); 69 69 func.confEl(main_menu_body, 'style', 'border: 1px solid #809aa9;'); 70 main_menu_body.innerHTML = '<b>Nenhum Contato</b>'; 70 71 71 72 func.insEl(main_menu_head, main_menu_vcard, main_menu_body, main_menu_all); -
trunk/instant_messenger/setup/setup.inc.php
r20 r68 8 8 $setup_info['instant_messenger']['name'] = 'instant_messenger'; 9 9 $setup_info['instant_messenger']['title'] = 'Mensageiro Instantâneo'; 10 $setup_info['instant_messenger']['version'] = '0. 001';10 $setup_info['instant_messenger']['version'] = '0.2'; 11 11 $setup_info['instant_messenger']['app_order'] = 9; 12 12 $setup_info['instant_messenger']['enable'] = 1; … … 23 23 24 24 /* The hooks this app includes, needed for hooks registration */ 25 $setup_info['instant_messenger']['hooks'][] = 'preferences';26 25 $setup_info['instant_messenger']['hooks'][] = 'admin'; 27 $setup_info['instant_messenger']['hooks'][] = 'home'; 28 26 29 27 /* Dependencies for this app to work */ 30 28 $setup_info['instant_messenger']['depends'][] = array( -
trunk/instant_messenger/templates/default/config.tpl
r67 r68 18 18 <tr bgcolor="{row_on}"> 19 19 <td>Digite o nome da máquina Servidor Jabber:</td> 20 <td><input name="newsettings[name_jabber]" value="{value_name_jabber}"></td>20 <td><input id="IM_name_jabber" name="newsettings[name_jabber]" value="{value_name_jabber}"></td> 21 21 </tr> 22 22 23 23 <tr bgcolor="{row_off}"> 24 24 <td>Digite Nome da Conexão:</td> 25 <td><input name="newsettings[resource_jabber]" value="{value_resource_jabber}"></td>25 <td><input id="IM_resource_jabber" name="newsettings[resource_jabber]" value="{value_resource_jabber}"></td> 26 26 </tr> 27 27 28 28 <tr bgcolor="{row_on}"> 29 29 <td>Digite a porta do Servidor Jabber:</td> 30 <td><input name="newsettings[port_jabber]" value="{value_port_jabber}"></td>30 <td><input id="IM_port_jabber" name="newsettings[port_jabber]" value="{value_port_jabber}"></td> 31 31 </tr> 32 32 33 33 <tr bgcolor="{row_off}"> 34 34 <td>Servidor Ldap:</td> 35 <td><input name="newsettings[server_ldap_jabber]" value="{value_server_ldap_jabber}"></td>35 <td><input id="IM_server_ldap_jabber" name="newsettings[server_ldap_jabber]" value="{value_server_ldap_jabber}"></td> 36 36 </tr> 37 37 38 38 <tr bgcolor="{row_on}"> 39 39 <td>Contexto:</td> 40 <td><input name="newsettings[context_ldap_jabber]" value="{value_context_ldap_jabber}" size="30"></td>40 <td><input id="IM_context_ldap_jabber" name="newsettings[context_ldap_jabber]" value="{value_context_ldap_jabber}" size="30"></td> 41 41 </tr> 42 42 43 43 <tr bgcolor="{row_off}"> 44 44 <td>Usuário Ldap:</td> 45 <td><input name="newsettings[user_ldap_jabber]" value="{value_user_ldap_jabber}" size="30"></td>45 <td><input id="IM_user_ldap_jabber" name="newsettings[user_ldap_jabber]" value="{value_user_ldap_jabber}" size="30"></td> 46 46 </tr> 47 47 … … 49 49 <td>Password:</td> 50 50 <td><input type="password" name="newsettings[password_ldap_jabber]" value="{value_password_ldap_jabber}"></td> 51 </tr> 52 53 <tr bgcolor="{row_off}"> 54 <td colspan="2"> Gerenciamento IMManager</td> 55 </tr> 56 57 <tr bgcolor="{row_on}"> 58 <td colspan="2"> 59 <iframe src ="instant_messenger/templates/default/script_load.php" frameborder="0" height="60px" scrolling="no"></iframe> 60 </td> 51 61 </tr> 52 62 <!-- END body -->
Note: See TracChangeset
for help on using the changeset viewer.