Changeset 33 for trunk/instant_messenger/js
- Timestamp:
- 06/21/07 08:32:34 (17 years ago)
- Location:
- trunk/instant_messenger/js
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/instant_messenger/js/im_functions.js
r32 r33 7 7 this.array_users = new Array(); 8 8 this.vcard_user = new Array(); 9 this.array_prefe = new Array(); 10 this.array_prefe['ch_offline'] = true; 9 11 this.load_photo = false; 10 12 } … … 67 69 } 68 70 } 69 /*70 * Monta Lista de Contatos 71 */ 72 73 IM.prototype.mount_list = function(pList) 74 { 75 71 72 /* 73 * Manutenção 74 */ 75 76 IM.prototype.Manutencao = function() 77 { 76 78 // Manutencao 77 79 // … … 81 83 // 82 84 // 83 85 } 86 87 /* 88 * Monta Lista de Contatos 89 */ 90 91 IM.prototype.mount_list = function(pList) 92 { 84 93 var _this = this; 85 94 var group = ""; … … 95 104 96 105 var div_agroups = document.getElementById("all_groups"); 106 var div_group = document.createElement('DIV'); 97 107 group = decodeURI(pList[i].group); 98 108 group = group.rm_space(); … … 103 113 104 114 if(group != 'sem_grupo'){ 105 var div_group = document.createElement('DIV');106 115 div_group.id = group; 107 116 if(pList[i].subscription.rm_space() == "both") … … 111 120 div_agroups.appendChild(div_group); 112 121 }else{ 113 var div_group = document.createElement('DIV');114 122 div_group.id = group; 115 123 div_group.innerHTML += '<div id="'+pList[i].jid+'" onclick=Preferences.updateLoad("'+pList[i].jid+'") style="cursor:pointer;padding-left:32px;">'+ … … 134 142 } 135 143 } 144 145 // Contatos Offline; 146 _this.ContactsOffline(); 147 148 // Usuários Não Autorizados; 136 149 setTimeout("Templates.Users_Not_Auth()",2500); 150 151 } 152 153 /* 154 * Deixar contatos Offline 155 */ 156 157 IM.prototype.ContactsOffline = function() 158 { 159 var _this = this; 160 var display = "block"; 161 162 if(!_this.array_prefe['ch_offline']){ 163 display = "none"; 164 } 165 166 for(var i = 1; i < _this.array_users.length; i++){ 167 var div_child = document.getElementById(_this.array_users[i].jid); 168 var img_src = div_child.firstChild.src 169 if(img_src === img_offline.src){ 170 div_child.style.display = display; 171 } 172 } 137 173 } 138 174 … … 201 237 202 238 im_win.get_photo_ldap(decodeURI(data['VCARD_JID'])); 239 Preferences.GetPreferences(); 203 240 _this.load_photo = true; 204 241 } … … 295 332 jid = data[i].from; 296 333 body_message = data[i].body; 297 TimeStamp = data[i].timestamp;334 TimeStamp = (_this.array_prefe['ch_time']) ? "[" + data[i].timestamp + "] " : " "; 298 335 299 336 jid = jid.substr(0,jid.indexOf('/')); … … 312 349 if ( window_message ) 313 350 { 314 window_message.innerHTML += '<strong>' + '['+ TimeStamp +'] '+ nickname + '</strong> ' + IM.get_lang('speak') + ':<br/> ' + _this.emotions_icons(body_message) + '<br/><br/>';351 window_message.innerHTML += '<strong>' + TimeStamp + nickname + '</strong> ' + IM.get_lang('speak') + ':<br/> ' + _this.emotions_icons(body_message) + '<br/><br/>'; 315 352 if ( windowItems[jid].state != WINDOW_STATE_REGULAR && windowItems[jid].state != WINDOW_STATE_MAXIMIZED ) 316 353 im_win.showWindowItem(jid); … … 320 357 im_win.open_chat(jid); 321 358 window_message = document.getElementById(jid + '_chatMessages'); 322 window_message.innerHTML += '<strong>' + '['+ TimeStamp +'] '+ nickname + '</strong> ' + IM.get_lang('speak') + ':<br/> ' + _this.emotions_icons(body_message) + '<br/><br/>';359 window_message.innerHTML += '<strong>' + TimeStamp + nickname + '</strong> ' + IM.get_lang('speak') + ':<br/> ' + _this.emotions_icons(body_message) + '<br/><br/>'; 323 360 } 324 361 } -
trunk/instant_messenger/js/im_preferences.js
r32 r33 39 39 Preferences.prototype.SearchContacts = function() 40 40 { 41 42 41 var select_org = document.getElementById('ImSelOrg'); 43 42 var select_contact = document.getElementById('ImSelAddContact'); … … 63 62 for(var i in data){ 64 63 if(data[i].cn != ""){ 65 var options = new Option(data[i].cn + " ( "+ data[i].mail + " )", data[i].mail , false, false);64 var options = new Option(data[i].cn + " ( "+ data[i].mail + " )", data[i].mail + ";" + data[i].uid, false, false); 66 65 select_contact[select_contact.length] = options; 67 66 } … … 81 80 for(var i=0; i < select.options.length; i++){ 82 81 if(select.options[i].selected == true){ 83 document.getElementById('text0').value = select.options[i].value; 84 document.getElementById('text1').value = select.options[i].value.substr(0,select.options[i].value.indexOf('@')); 82 var email = select.options[i].value.substr(0,select.options[i].value.indexOf(';')); 83 var uid = select.options[i].value.substr((select.options[i].value.indexOf(';')+1),select.options[i].value.length); 84 document.getElementById('text0').value = email; 85 document.getElementById('text1').value = email.substr(0,email.indexOf('@')); 85 86 document.getElementById('text2').focus(); 87 document.getElementById('text3').value = uid; 86 88 } 87 89 } … … 94 96 var text1 = document.getElementById('text1'); 95 97 var text2 = document.getElementById('text2'); 98 var text3 = (document.getElementById('text3') != null) ? document.getElementById('text3') : false ; 99 96 100 var _this = this; 97 101 var jid = text0.value; … … 116 120 else 117 121 subscription = "to"; 118 cIM.cExecute("$this.Ujabber.AddNewContacts",handler_add_contact,"email="+text0.value+"&name="+name+"&group="+group+"&subscription="+subscription); 122 if(text3) 123 var email = text3.value + "@" + text0.value.substr((text0.value.indexOf('@')+1),text0.value.length); 124 else 125 var email = text0.value; 126 cIM.cExecute("$this.Ujabber.AddNewContacts",handler_add_contact,"email="+email+"&name="+name+"&group="+group+"&subscription="+subscription); 119 127 }else{ 120 128 alert("Informe todos os campos!"); … … 344 352 var pElement = "teste"; 345 353 var uid = pJid.substr(0,pJid.indexOf('@')); 346 347 354 348 355 var handler_ldap = function(data){ 349 350 var form_details = '<table cellpadding="0" cellspacing="0" style="background-color:#cbdae4;width:80%;border:1px solid #809aa9">' + 351 '<tr><td style="vertical-align:top;width:80%">' + 352 '<div style="padding-bottom">' + 353 '<span><label>'+IM.get_lang('Name')+'</label></br>'+ data[0].cn + '</span></br></br>' + 354 '<span><label>'+IM.get_lang('E-mail')+'</label></br>'+ data[0].mail + '</span></br>' + 355 '</div></td>' + 356 '<td style="vertical-align:top"><img id="' + pJid + '_avatar" src="' + img_photo.src + '" style="height:65px;width:60px;align:right">' + 357 '</td></tr>'+ 358 '</table>'; 359 360 im_menu_action.menu(element, form_details); 361 362 // Foto Ldap; 363 im_win.get_photo_ldap(pJid); 356 357 if(data){ 358 var form_details = '<table cellpadding="0" cellspacing="0" style="background-color:#cbdae4;width:80%;border:1px solid #809aa9">' + 359 '<tr><td style="vertical-align:top;width:80%">' + 360 '<div style="padding-bottom">' + 361 '<span><label>'+IM.get_lang('Name')+'</label></br>'+ data[0].cn + '</span></br></br>' + 362 '<span><label>'+IM.get_lang('E-mail')+'</label></br>'+ data[0].mail + '</span></br>' + 363 '</div></td>' + 364 '<td style="vertical-align:top"><img id="' + pJid + '_avatar" src="' + img_photo.src + '" style="height:65px;width:60px;align:right">' + 365 '</td></tr>'+ 366 '</table>'; 367 368 im_menu_action.menu(element, form_details); 369 370 // Foto Ldap; 371 im_win.get_photo_ldap(pJid); 372 } 364 373 } 365 374 cIM.cExecute("$this.ldap_im.info_user",handler_ldap,"uid="+uid); … … 395 404 Preferences.prototype.yourPreferences = function() 396 405 { 397 398 //Templates.yourPreferences(); 399 406 Templates.yourPreferences(); 407 if( IM.array_prefe['sizeof'] > 0 ){ 408 document.getElementById('ch_time').checked = eval(IM.array_prefe['ch_time']); 409 document.getElementById('ch_offline').checked = eval(IM.array_prefe['ch_offline']); 410 document.getElementById('ch_contacts').checked = eval(IM.array_prefe['ch_contacts']); 411 document.getElementById('rd_nm').checked = eval(IM.array_prefe['rd_nm']); 412 document.getElementById('rd_al').checked = eval(IM.array_prefe['rd_al']); 413 document.getElementById('rd_ch').checked = eval(IM.array_prefe['rd_ch']); 414 }else{ 415 this.GetPreferences(); 416 } 417 418 } 419 420 Preferences.prototype.SetPreferences = function() 421 { 422 var EcheckBox = new Array(); 423 EcheckBox[0] = 'ch_time'; 424 EcheckBox[1] = 'ch_offline'; 425 EcheckBox[2] = 'ch_contacts'; 426 var Eradio = new Array() 427 Eradio[0] = 'rd_nm'; 428 Eradio[1] = 'rd_al'; 429 Eradio[2] = 'rd_ch'; 430 var preferences = ''; 431 var _this = this; 432 433 for(var i in EcheckBox){ 434 if(document.getElementById(EcheckBox[i]).checked){ 435 preferences += EcheckBox[i] + ':' + true + ';'; 436 IM.array_prefe[EcheckBox[i]] = true; 437 }else{ 438 preferences += EcheckBox[i] + ':' + false + ';'; 439 IM.array_prefe[EcheckBox[i]] = false; 440 } 441 IM.array_prefe['sizeof'] = i; 442 } 443 444 for(var i in Eradio){ 445 if(document.getElementById(Eradio[i]).checked){ 446 preferences += Eradio[i] + ':' + true + ';'; 447 IM.array_prefe[Eradio[i]] = true; 448 }else{ 449 preferences += Eradio[i] + ':' + false + ';'; 450 IM.array_prefe[Eradio[i]] = false; 451 } 452 IM.array_prefe['sizeof'] = IM.array_prefe['sizeof'] = i + 1; 453 } 454 455 var handler_set_preferences = function(data) 456 { 457 if(data) 458 alert('Preferências cadastradas com sucesso!'); 459 IM.ContactsOffline(); 460 } 461 cIM.cExecute("$this.db_im.set_preferences",handler_set_preferences,"preferences="+preferences); 462 463 } 464 465 Preferences.prototype.GetPreferences = function() 466 { 467 var handler_get_preferences = function(data){ 468 var opt = data.split(";"); 469 for(var i in opt){ 470 if(opt[i] != ""){ 471 var el = opt[i].split(":"); 472 if(document.getElementById(el[0]) != null){ 473 var id_el = document.getElementById(el[0]); 474 id_el.checked = eval(el[1]); 475 } 476 IM.array_prefe[el[0]] = eval(el[1]); 477 IM.array_prefe['sizeof'] = i; 478 } 479 } 480 } 481 cIM.cExecute("$this.db_im.get_preferences",handler_get_preferences); 482 400 483 } 401 484 -
trunk/instant_messenger/js/im_templates.js
r32 r33 50 50 "<tr><td><b>"+IM.get_lang('Nickname')+".:</b></td><td><input id='text1' type='text' size='20' maxlength='20'></td></tr>"+ 51 51 "<tr><td><b>"+IM.get_lang('Group')+".:</b></td><td><input id='text2' type='text' size='20' maxlength='20'></td></tr>"+ 52 "<tr><td><input id='text3' type='hidden' size='30' maxlength='30'></td></tr>"+ 52 53 "<tr><td colspan='2'><input type='button' value='"+IM.get_lang('Add')+"' onclick='Preferences.Add_user(\"divAddUser_im\")'></td></tr>"+ 53 54 "</table>" 54 _this.conf_form("divAddUser",500,2 85,form_add_user,":: " + IM.get_lang('Add New Contact') + " - Expresso ::");55 _this.conf_form("divAddUser",500,250,form_add_user,":: " + IM.get_lang('Add New Contact') + " - Expresso ::"); 55 56 } 56 57 … … 94 95 var auth_user = ""; 95 96 96 auth_user = '<table border="0" cellpadding="0" cellspacing="0" width="99%">' + 97 '<tr style="background-color:#cccccc;font-weight:bold;height:20px"><td> Contato</td><td align="center">Detalhes</td><td align="center">Aceitar S/N</td></tr>'; 98 99 for(var i=0 ; i < IM.array_users.length; i++){ 100 if(IM.array_users[i].group == 'sem_grupo'){ 101 auth_user += '<tr id="_cell_'+IM.array_users[i].jid+'">'+ 102 '<td><img src="' + img_not_authorized.src + '">' + decodeURI(IM.array_users[i].name).substr(0,decodeURI(IM.array_users[i].name).indexOf('@')) + '<span id="_span_not_' + IM.array_users[i].jid + '"></span></td>'+ 103 '<td align="center"><a href="javascript:void(0);" onclick=Preferences.Info_Contact("'+IM.array_users[i].jid+'")> ? </a></td>'+ 104 '<td align="center"><a href="javascript:void(0);" onclick=Preferences.updateLoad("'+IM.array_users[i].jid+'")> Sim </a>/<a href="javascript:void(0);" onclick=Preferences.Remove_Contact("'+IM.array_users[i].jid+'")> Não </a></td>'+ 105 '</tr>'; 106 count++; 97 if(!IM.array_prefe['ch_contacts']) 98 { 99 auth_user = '<table border="0" cellpadding="0" cellspacing="0" width="99%">' + 100 '<tr style="background-color:#cccccc;font-weight:bold;height:20px"><td> Contato</td><td align="center">Detalhes</td><td align="center">Aceitar S/N</td></tr>'; 101 102 for(var i=0 ; i < IM.array_users.length; i++){ 103 if(IM.array_users[i].group == 'sem_grupo'){ 104 auth_user += '<tr id="_cell_'+IM.array_users[i].jid+'">'+ 105 '<td><img src="' + img_not_authorized.src + '">' + decodeURI(IM.array_users[i].name).substr(0,decodeURI(IM.array_users[i].name).indexOf('@')) + '<span id="_span_not_' + IM.array_users[i].jid + '"></span></td>'+ 106 '<td align="center"><a href="javascript:void(0);" onclick=Preferences.Info_Contact("'+IM.array_users[i].jid+'")> ? </a></td>'+ 107 '<td align="center"><a href="javascript:void(0);" onclick=Preferences.updateLoad("'+IM.array_users[i].jid+'")> Sim </a>/<a href="javascript:void(0);" onclick=Preferences.Remove_Contact("'+IM.array_users[i].jid+'")> Não </a></td>'+ 108 '</tr>'; 109 count++; 110 } 107 111 } 108 }109 110 auth_user += '</table>';111 112 if( count > 0 ){113 var form_auth_user = '<div style="margin-left:5px;margin-top:2px">'+114 '</br>'+115 '<b>O(s) contato(s) abaixo aguarda(m) sua autorização.' +116 '</br>Para adicionar este(s) novo(s) contato(s), basta dar um' +117 'clique em cima do contato.' +118 '<p>Contato(s) :' +119 '</b></br>' +120 '<div id="divChildrenFormAuthUser">';121 form_auth_user += auth_user + '</div></div>';122 _this.conf_form("divFormAuthUser",360,250,form_auth_user, ":: Contatos sem Cadastro - Expresso ::");123 112 113 auth_user += '</table>'; 114 115 if( count > 0 ){ 116 var form_auth_user = '<div style="margin-left:5px;margin-top:2px">' + 117 '</br>'+ 118 '<b>O(s) contato(s) abaixo aguarda(m) sua autorização.' + 119 '</br>Para adicionar este(s) novo(s) contato(s), basta dar um ' + 120 'clique em cima do contato.' + 121 '<p>Contato(s) :' + 122 '</b></br>' + 123 '<div id="divChildrenFormAuthUser">'; 124 form_auth_user += auth_user + '</div></div>'; 125 _this.conf_form("divFormAuthUser",360,250,form_auth_user, ":: Contatos sem Cadastro - Expresso ::"); 126 127 } 124 128 } 125 129 } … … 370 374 Templates.prototype.yourPreferences = function() 371 375 { 372 /*************373 Preferências374 Marcação de tempo375 Exibir amigos desconectados376 Desativar aviso de novos contatos377 Ativar aviso de mensagens recebidas378 - Aviso Normal379 - Aviso Médio380 - Aviso Chato381 Bloquear recebimento de mensagens382 Cadastro de novos grupos;383 /*************/384 385 376 var form_your_prefe = '<div style="margin-left:10px;margin-top:5px"><dl>' + 386 '<dt><input type="checkbox"> Mostar marcação de tempo </dt> ' + 387 '<dt><input type="checkbox"> Exibir amigos desconectados </dt> ' + 388 '<dt><input type="checkbox"> Desativar aviso de novos contatos </dt> ' + 389 '<dt><input type="checkbox"> Cadastro de novos grupos </dt> ' + 390 '<dl></div>' + 391 '<div style="margin-top:10px;margin-left:15px"> Ativar aviso de mensagens recebidas </div>' + 392 '<div style="margin-left:20px;margin-top:5px">' + 393 '<input type="radio" id="rd_normal" value="normal"> Modo Normal</br>' + 394 '<input type="radio" id="rd_medio" value="alerta"> Modo com Alertas</br>' + 395 '<input type="radio" id="rd_chato" value="chato"> Modo Chato' + 396 '</div>' ; 397 398 this.conf_form("divYourPrefe",340,200,form_your_prefe,":: " + IM.get_lang('Preferences') + " - Expresso ::"); 377 '<fieldset><legend> Opções :</legend>'+ 378 '<dt><input id="ch_time" type="checkbox"> Mostar marcação de tempo </dt> ' + 379 '<dt><input id="ch_offline" type="checkbox"> Exibir amigos desconectados </dt> ' + 380 '<dt><input id="ch_contacts" type="checkbox"> Desativar aviso de novos contatos </dt> ' + 381 '<dl></fieldset></div>' + 382 '<div style="margin-left:10px;margin-top:5px">' + 383 '<fieldset><legend> Ativar aviso de mensagens recebidas :</legend>'+ 384 '<input id="rd_nm" type="radio" name="rd_aviso"> Normal <i>(Função Indisponível)</i></br>' + 385 '<input id="rd_al" type="radio" name="rd_aviso"> Com Alertas <i>(Função Indisponível)</i></br>' + 386 '<input id="rd_ch" type="radio" name="rd_aviso"> Treme Tela <i>(Função Indisponível)</i>' + 387 '</fieldset>'+ 388 '</div>'+ 389 '<div style="margin-left:10px;margin-top:5px">'+ 390 '<font style="size:8pt;color:red">* É necessário salvar as opções *</p>'+ 391 '<input type="button" value="Salvar" onclick="javascript:Preferences.SetPreferences()">'+ 392 '<input type="button" value="Cancelar" onclick="javascript:im_win.windowClose(\'divYourPrefe_im_window\')">'+ 393 '</div>'; 394 395 this.conf_form("divYourPrefe",345,230,form_your_prefe,":: " + IM.get_lang('Preferences') + " - Expresso ::"); 399 396 } 400 397
Note: See TracChangeset
for help on using the changeset viewer.