Ignore:
Timestamp:
06/21/07 08:32:34 (17 years ago)
Author:
niltonneto
Message:

* empty log message *

Location:
trunk/instant_messenger/js
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/instant_messenger/js/im_functions.js

    r32 r33  
    77      this.array_users    = new Array(); 
    88      this.vcard_user     = new Array(); 
     9      this.array_prefe    = new Array(); 
     10           this.array_prefe['ch_offline'] = true;        
    911      this.load_photo     = false; 
    1012   } 
     
    6769      } 
    6870   } 
    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   { 
    7678                // Manutencao 
    7779        // 
     
    8183                // 
    8284                // 
    83                  
     85        } 
     86 
     87   /* 
     88        * Monta Lista de Contatos 
     89        */ 
     90         
     91        IM.prototype.mount_list = function(pList) 
     92        { 
    8493                var _this = this; 
    8594                var group = ""; 
     
    95104 
    96105                        var div_agroups = document.getElementById("all_groups"); 
     106                        var div_group = document.createElement('DIV');                   
    97107                        group = decodeURI(pList[i].group); 
    98108                        group = group.rm_space(); 
     
    103113 
    104114                                if(group != 'sem_grupo'){ 
    105                                         var div_group = document.createElement('DIV'); 
    106115                                                div_group.id = group; 
    107116                                                if(pList[i].subscription.rm_space() == "both") 
     
    111120                                                div_agroups.appendChild(div_group); 
    112121                                }else{ 
    113                                         var div_group = document.createElement('DIV'); 
    114122                                                div_group.id = group; 
    115123                                                div_group.innerHTML += '<div id="'+pList[i].jid+'" onclick=Preferences.updateLoad("'+pList[i].jid+'") style="cursor:pointer;padding-left:32px;">'+ 
     
    134142                        } 
    135143                } 
     144         
     145                // Contatos Offline; 
     146                _this.ContactsOffline(); 
     147                 
     148                // Usuários Não Autorizados;             
    136149                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                } 
    137173        } 
    138174 
     
    201237                         
    202238                        im_win.get_photo_ldap(decodeURI(data['VCARD_JID'])); 
     239                        Preferences.GetPreferences(); 
    203240                        _this.load_photo = true; 
    204241                } 
     
    295332                                        jid          = data[i].from; 
    296333                                        body_message = data[i].body; 
    297                                         TimeStamp        = data[i].timestamp; 
     334                                        TimeStamp        = (_this.array_prefe['ch_time']) ? "[" + data[i].timestamp + "] " : " "; 
    298335                                         
    299336                                        jid = jid.substr(0,jid.indexOf('/')); 
     
    312349                        if ( window_message ) 
    313350                        { 
    314                            window_message.innerHTML += '<strong>' + '['+ TimeStamp +'] ' + nickname + '</strong>&nbsp;' + IM.get_lang('speak') + ':<br/> ' + _this.emotions_icons(body_message) + '<br/><br/>'; 
     351                           window_message.innerHTML += '<strong>' + TimeStamp + nickname + '</strong>&nbsp;' + IM.get_lang('speak') + ':<br/> ' + _this.emotions_icons(body_message) + '<br/><br/>'; 
    315352                       if ( windowItems[jid].state != WINDOW_STATE_REGULAR && windowItems[jid].state != WINDOW_STATE_MAXIMIZED ) 
    316353                          im_win.showWindowItem(jid); 
     
    320357                           im_win.open_chat(jid); 
    321358                           window_message = document.getElementById(jid + '_chatMessages'); 
    322                            window_message.innerHTML += '<strong>' + '['+ TimeStamp +'] ' + nickname + '</strong>&nbsp;' + IM.get_lang('speak') + ':<br/> ' + _this.emotions_icons(body_message) + '<br/><br/>'; 
     359                           window_message.innerHTML += '<strong>' + TimeStamp + nickname + '</strong>&nbsp;' + IM.get_lang('speak') + ':<br/> ' + _this.emotions_icons(body_message) + '<br/><br/>'; 
    323360                        } 
    324361                                } 
  • trunk/instant_messenger/js/im_preferences.js

    r32 r33  
    3939        Preferences.prototype.SearchContacts = function() 
    4040        { 
    41  
    4241                var select_org = document.getElementById('ImSelOrg'); 
    4342                var select_contact = document.getElementById('ImSelAddContact'); 
     
    6362                                for(var i in data){ 
    6463                                        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); 
    6665                                                select_contact[select_contact.length] = options; 
    6766                                        } 
     
    8180                        for(var i=0; i < select.options.length; i++){ 
    8281                                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('@'));     
    8586                                        document.getElementById('text2').focus();                        
     87                                        document.getElementById('text3').value = uid; 
    8688                                } 
    8789                        } 
     
    9496                var text1 = document.getElementById('text1'); 
    9597                var text2 = document.getElementById('text2'); 
     98                var text3 = (document.getElementById('text3') != null) ? document.getElementById('text3') : false ; 
     99                 
    96100                var _this = this; 
    97101                var jid   = text0.value; 
     
    116120                        else 
    117121                                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); 
    119127                }else{ 
    120128                        alert("Informe todos os campos!"); 
     
    344352                var pElement = "teste"; 
    345353                var uid = pJid.substr(0,pJid.indexOf('@')); 
    346                  
    347354 
    348355                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                        } 
    364373                } 
    365374                cIM.cExecute("$this.ldap_im.info_user",handler_ldap,"uid="+uid); 
     
    395404        Preferences.prototype.yourPreferences = function() 
    396405        { 
    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 
    400483        } 
    401484         
  • trunk/instant_messenger/js/im_templates.js

    r32 r33  
    5050                                                        "<tr><td><b>"+IM.get_lang('Nickname')+".:</b></td><td><input id='text1' type='text' size='20' maxlength='20'></td></tr>"+ 
    5151                                                        "<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>"+                                                   
    5253                                                        "<tr><td colspan='2'><input type='button' value='"+IM.get_lang('Add')+"' onclick='Preferences.Add_user(\"divAddUser_im\")'></td></tr>"+ 
    5354                                                        "</table>" 
    54                 _this.conf_form("divAddUser",500,285,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 ::"); 
    5556        } 
    5657 
     
    9495                var auth_user = ""; 
    9596                 
    96                 auth_user = '<table border="0" cellpadding="0" cellspacing="0" width="99%">' +   
    97                                         '<tr style="background-color:#cccccc;font-weight:bold;height:20px"><td>&nbsp;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>&nbsp;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                                } 
    107111                        } 
    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                        } 
    124128                } 
    125129        } 
     
    370374        Templates.prototype.yourPreferences = function() 
    371375        {        
    372                 /************* 
    373                  Preferências  
    374                  Marcação de tempo 
    375                  Exibir amigos desconectados 
    376                  Desativar aviso de novos contatos       
    377                  Ativar aviso de mensagens recebidas  
    378                         - Aviso Normal 
    379                         - Aviso Médio 
    380                         - Aviso Chato 
    381                  Bloquear recebimento de mensagens  
    382                  Cadastro de novos grupos; 
    383                 /*************/ 
    384                                                            
    385376            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>&nbsp;Opções&nbsp;:</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>&nbsp;Ativar aviso de mensagens recebidas&nbsp;:</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 ::"); 
    399396        } 
    400397 
Note: See TracChangeset for help on using the changeset viewer.