Ignore:
Timestamp:
05/03/10 18:03:21 (11 years ago)
Author:
alexandrecorreia
Message:

Ticket #986 - Implementado a parte de preferencias, autoStatus e conectar automaticamente.

Location:
sandbox/jabberit_messenger/trophy_expresso
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • sandbox/jabberit_messenger/trophy_expresso/inc/controller.xml

    r2607 r2696  
    2121                        <item ref="ff" alias="data_0" class="CommonFunctions" method="getUserCurrentUserJabber" prefix="class." suffix=".inc.php"/> 
    2222                        <item ref="ff" alias="data_1" class="CommonFunctions" method="getUserCurrentPassword" prefix="class." suffix=".inc.php"/> 
     23                        <item ref="pf" alias="setPreferences" class="preferencesJMessenger" method="setPreferences" prefix="" suffix=".php"/> 
    2324                </php> 
    2425                <xml></xml> 
  • sandbox/jabberit_messenger/trophy_expresso/inc/jabberit_acl.inc.php

    r2678 r2696  
    5858                $js .= "var theme_jabberit='".$theme."';"; 
    5959 
     60                // Preferences User 
     61                require_once PHPGW_SERVER_ROOT . '/jmessenger/inc/class.DataBaseIM.inc.php'; 
     62                 
     63                $_DbIM                  = new DataBaseIM(); 
     64                $preferences    = $_DbIM->getPreferences(); 
     65 
    6066                echo "<script type='text/javascript'>".$js."</script>"; 
    6167                echo "<script type='text/javascript' src='".$webserver_url . "js/jscode/loadIM.js'></script>"; 
    62                 echo "<script type='text/javascript'> var loadscript = new LoadIM('".$fullName."'); </script>"; 
     68                echo "<script type='text/javascript'> var loadscript = new LoadIM('".$fullName."','".$preferences."'); </script>"; 
    6369                 
    6470                break; 
  • sandbox/jabberit_messenger/trophy_expresso/js/jscode/loadIM.js

    r2689 r2696  
    11(function() 
    22{ 
     3        var _autoStatus; 
     4        var _autoStatusTime = 60000; // 1 minuto         
     5        var addUser                     = null; 
     6        var conn                        = null; 
    37        var fullName            = ""; 
    48        var path                        = ""; 
    5         var addUser                     = null; 
    6         var conn                        = null; 
     9        var _preferencesIM      = ""; 
    710        var selectEditable      = null; 
    811        var showhidden          = null; 
    9         var timeoutId           = null 
     12        var timeoutId           = null; 
    1013        var userCurrent         = null; 
    1114        var Xtools                      = null; 
     
    151154        } 
    152155 
     156        function autoStatus() 
     157        { 
     158                var _div_status = ( getElement('status_jabber_expresso') != null ) ?  getElement('status_jabber_expresso') : null; 
     159                 
     160                if ( _autoStatus ) 
     161                        clearTimeout(_autoStatus); 
     162 
     163                if ( _div_status != null ) 
     164                { 
     165                        var _status = _div_status.style.backgroundImage; 
     166                                _status = _status.substr(_status.lastIndexOf('/') + 1); 
     167                                _status = _status.substr(0, _status.indexOf('.')); 
     168                                 
     169                        if( _status == "xa" ) 
     170                        { 
     171                                TrophyIM.setPresence("available"); 
     172                                loadscript.setStatusJabber("Disponível","available"); 
     173                        } 
     174                } 
     175                 
     176                var TimeStatus = _preferencesIM[2].split(':'); 
     177 
     178                if( TimeStatus[1] ) 
     179                        _autoStatus = setTimeout( function(){ autoStatusHandler();}, parseInt(TimeStatus[1]) * _autoStatusTime ); 
     180                else 
     181                        _autoStatus = setTimeout( function(){ autoStatusHandler();}, parseInt(_autoStatusTime)); 
     182        } 
     183         
     184        function autoStatusHandler() 
     185        { 
     186                var _div_status = ( getElement('status_jabber_expresso') != null ) ?  getElement('status_jabber_expresso') : null; 
     187                 
     188                if ( _div_status != null ) 
     189                { 
     190                        var _status = _div_status.style.backgroundImage; 
     191                                _status = _status.substr(_status.lastIndexOf('/') + 1); 
     192                                _status = _status.substr(0, _status.indexOf('.')); 
     193                         
     194                        if( _status == "available" ) 
     195                        { 
     196                                TrophyIM.setPresence("xa"); 
     197                                loadscript.setStatusJabber("Não Disponível","xa"); 
     198                        } 
     199                } 
     200        } 
     201 
    153202        function clrAllContacts() 
    154203        { 
     
    182231                                                ['Adicionar Contato', 'loadscript.addContact();' ], 
    183232                                                ['Ajuda', 'alert("2")' ], 
    184                                                 ['Preferências', 'alert("3")'], 
     233                                                ['Preferências', 'loadscript.preferences();'], 
    185234                                                   ]; 
    186235 
     
    448497                if( arguments.length === 3 ) 
    449498                        return Xtools.parse(Xtools.xml(arguments[0]), arguments[1], arguments[2] ); 
     499        } 
     500         
     501        function preferences() 
     502        { 
     503                var paramPreferences = 
     504                { 
     505                        'path'  : path, 
     506                        'lang1' : 'Suas Preferências', 
     507                        'lang2' : 'Conexão',     
     508                        'lang3' : 'Conectar Automaticamente o IM', 
     509                        'lang4' : 'Usuários OffLine', 
     510                        'lang5' : 'Exibir amigos Offline', 
     511                        'lang6' : 'Salvar', 
     512                        'lang7' : 'Cancelar', 
     513                        'lang8' : 'Janela de Contatos', 
     514                        'lang9' : 'Abrir janela como Pop-up', 
     515                        'lang10' : 'Ausente', 
     516                        'lang11' : 'Definir status de ausente depois de', 
     517                        'lang12' : 'minutos',                                               
     518                        'langYes': 'Sim', 
     519                        'langNo' : 'Não'                                                                                            
     520                }; 
     521                 
     522                 
     523                var _win_preferences = 
     524                {  
     525                                id_window        : "jabberit_preferences", 
     526                                width            : 430, 
     527                                height           : 330, 
     528                                top                      : 150, 
     529                                left             : 100, 
     530                                draggable        : true, 
     531                                visible          : "display", 
     532                                resizable        : true, 
     533                                zindex           : zIndex++, 
     534                                title            : 'Expresso Messenger - Preferências', 
     535                                closeAction  : "remove", 
     536                                content          : Xtools.parse(Xtools.xml('preferences'), 'preferences.xsl', paramPreferences) 
     537                }; 
     538 
     539                _winBuild(_win_preferences); 
     540                 
     541                 
     542                var _pButtons = { 
     543                                'lang1' : 'Salvar', 
     544                                'lang2' : 'Fechar', 
     545                                'onclickClose' : '_winBuild("jabberit_preferences","remove");', 
     546                                'onclickSubmit' : 'javascript:loadscript.setPreferences();' 
     547                };  
     548                 
     549                document.getElementById('buttons_preferences_jabberit').innerHTML = Xtools.parse(Xtools.xml('buttons_main'), 'buttons.xsl', _pButtons); 
     550                 
     551                // Element openWindowJabberit 
     552                var value1                      = _preferencesIM[0].split(':'); 
     553                var element1            = document.getElementById(value1[0]); 
     554                var valueSelect1        = value1[1]; 
     555                 
     556                for(var i = 0; i < element1.options.length; i++) 
     557                        if( element1.options[i].value == valueSelect1 ) 
     558                                element1.options[i].selected = true; 
     559 
     560                // Element openWindowJabberitPopUp 
     561                var value2                      = _preferencesIM[1].split(':'); 
     562                var element2            = document.getElementById(value2[0]); 
     563                var valueSelect2        = value2[1]; 
     564                         
     565                for(var i = 0; i < element2.options.length; i++) 
     566                        if( element2.options[i].value == valueSelect2 ) 
     567                                element2.options[i].selected = true; 
     568 
     569                // Element flagAwayIM 
     570                var value3              = _preferencesIM[2].split(':'); 
     571                var element3    = document.getElementById(value3[0]); 
     572                element3.value  = value3[1]; 
    450573        } 
    451574         
     
    592715        } 
    593716         
     717         
     718        function setPreferences() 
     719        { 
     720                // Element openWindowJabberit 
     721                var elementOpenW        = document.getElementById('openWindowJabberit'); 
     722                var value                       = ''; 
     723                var flagReload          = false; 
     724                 
     725                for(var i = 0 ; i < elementOpenW.options.length; i++) 
     726                        if( elementOpenW.options[i].selected == true) 
     727                        { 
     728                                value = 'preferences1=openWindowJabberit:' + elementOpenW.options[i].value; 
     729                                _preferencesIM[0] = 'openWindowJabberit:' + elementOpenW.options[i].value; 
     730                        } 
     731 
     732                // Element openWindowJabberitPopUp 
     733                var elementOpenPop = document.getElementById('openWindowJabberitPopUp');         
     734 
     735                for(var i = 0; i < elementOpenPop.options.length; i++ ) 
     736                        if( elementOpenPop.options[i].selected ==  true ) 
     737                        { 
     738                                value += '&preferences2=openWindowJabberitPopUp:' + elementOpenPop.options[i].value; 
     739                                 
     740                                if( _preferencesIM[1] != 'openWindowJabberitPopUp:' + elementOpenPop.options[i].value) 
     741                                        flagReload = true; 
     742                                         
     743                                _preferencesIM[1] = 'openWindowJabberitPopUp:' + elementOpenPop.options[i].value; 
     744                        } 
     745                 
     746                // Element flagAwayIM 
     747                var elementFlagIM = document.getElementById('flagAwayIM'); 
     748                 
     749                if( elementFlagIM.value.length > 0 && parseInt(elementFlagIM.value) > 0 ) 
     750                { 
     751                        _preferencesIM[2] = 'flagAwayIM:' + elementFlagIM.value; 
     752                        value += '&preferences3=flagAwayIM:' + elementFlagIM.value; 
     753                } 
     754                else 
     755                { 
     756                        alert('Informe um valor igual ou maior que 1!'); 
     757                        return false; 
     758                } 
     759                 
     760                 
     761                // Save Preferences 
     762                conn.go('p.pf.setPreferences', 
     763                                 function(data) 
     764                                 { 
     765                                        if(data == 'true') 
     766                                        { 
     767                                                if( flagReload ) 
     768                                                { 
     769                                                        window.location.reload(); 
     770                                                        myWindow.close();                                                        
     771                                                } 
     772                                        } 
     773                                        else{ alert('Erro salvando suas preferências!'); } 
     774 
     775                                        _winBuild('jabberit_preferences', 'remove'); 
     776                                 }, 
     777                                 value); 
     778        } 
     779         
    594780        function setPresence() 
    595781        { 
     
    705891                        fullName = arguments[0]; 
    706892                         
     893                        // Preferences 
     894                        _preferencesIM = arguments[1].split(";"); 
     895 
    707896                        loadScripts(files); 
    708897                         
     
    733922                                        return true; 
    734923                                }; 
     924                                 
     925                                 
     926                                // Auto Connect 
     927                                setTimeout(function() 
     928                                { 
     929                                        if( _preferencesIM[0] === 'openWindowJabberit:true' ) 
     930                                                TrophyIM.load(); 
     931                                },1500); 
     932                                 
     933                                // Auto Status 
     934                                autoStatus(); 
     935                                configEvents( document, 'onmousemove', autoStatus ); 
     936                                configEvents( document, 'onkeypress', autoStatus ); 
    735937 
    736938                        }, 2000); 
     
    752954        loadIM.prototype.notification           = notificationNewMessage; 
    753955        loadIM.prototype.parse                          = parse; 
     956        loadIM.prototype.preferences            = preferences; 
    754957        loadIM.prototype.searchUser                     = searchUser 
    755958        loadIM.prototype.setAutorization        = setAutorization; 
     959        loadIM.prototype.setPreferences         = setPreferences; 
    756960        loadIM.prototype.setPresence            = setPresence; 
    757961        loadIM.prototype.setStatusJabber        = setStatusJabber; 
Note: See TracChangeset for help on using the changeset viewer.