Changeset 3065


Ignore:
Timestamp:
07/16/10 17:38:16 (14 years ago)
Author:
alexandrecorreia
Message:

Ticket #1091 - Implementado a busca de salas para bate-papo no novo modulo Expresso messenger XEP-0045-MUC.

Location:
trunk/jabberit_messenger/jmessenger/js
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/jabberit_messenger/jmessenger/js/jscode/loadIM.js

    r3059 r3065  
    345345                                                ['Adicionar Contato', 'loadscript.addContact();' ], 
    346346                                                ['Preferências', 'loadscript.preferences();'], 
    347                                                 ['Sala(s) de Bate-Papo', 'loadscript.teste();'], 
     347                                                ['Sala(s) de Bate-Papo', 'loadscript.getListRooms();'], 
    348348                                                   ]; 
    349349 
     
    12501250        } 
    12511251 
    1252         function teste() 
    1253         { 
    1254                 TrophyIM.testeSala(); 
    1255                  
    1256         } 
    1257          
    1258         loadIM.prototype.teste = teste; 
     1252        // TESTE  
     1253         
     1254        function listRooms( element ) 
     1255        { 
     1256                element = element.getElementsByTagName( 'item' ); 
     1257                var _rooms = 0; 
     1258                var _list = document.createElement( 'div' ); 
     1259                 
     1260                var show = function( ) 
     1261                { 
     1262                        if ( _rooms != element.length ) 
     1263                                return false; 
     1264 
     1265                        var winTeste = 
     1266                {        
     1267                         id_window              : "window_Teste", 
     1268                         width                  : 450, 
     1269                         height                 : 300, 
     1270                         top                    : 100, 
     1271                         left                   : 400, 
     1272                         draggable              : true, 
     1273                         visible                : "display", 
     1274                         resizable              : true, 
     1275                         zindex                 : loadscript.getZIndex(), 
     1276                         title                  : "Expresso Messenger - Salas de Bate Papo", 
     1277                         closeAction    : "remove", 
     1278                         content                : _list.innerHTML 
     1279                }; 
     1280                         
     1281                        _winBuild( winTeste ); 
     1282                }; 
     1283 
     1284                var _add_room = function( _room ) 
     1285        { 
     1286                        _rooms++; 
     1287 
     1288                        // Name Room 
     1289                        var nameRoom = _room.getAttribute( 'from' ); 
     1290                                nameRoom = nameRoom.substring(0, nameRoom.indexOf("@")); 
     1291                         
     1292                        var _desc = document.createElement("div"); 
     1293                                _desc.setAttribute("style","margin:5px 3px 10px 3px; border-bottom:1px dashed #cecece"); 
     1294                                _desc.appendChild(document.createTextNode( "Nome da Sala : " + nameRoom.toUpperCase() )); 
     1295                                 
     1296                        var _fields = _room.getElementsByTagName( 'field' ); 
     1297                        for ( var f = 0; f < _fields.length; f++ ) 
     1298                        { 
     1299                                if ( _fields[ f ].hasAttribute( 'var' ) ) 
     1300                                { 
     1301                                        if ( _fields[ f ].firstChild.hasChildNodes( ) && _fields[ f ].getAttribute( 'var' ) == 'muc#roominfo_description' ) 
     1302                                                _desc.innerHTML += "<br/> Descrição : " + _fields[ f ].firstChild.firstChild.nodeValue;                                          
     1303                                                 
     1304                                        if ( _fields[ f ].firstChild.hasChildNodes( ) && _fields[ f ].getAttribute( 'var' ) == 'muc#roominfo_occupants' ) 
     1305                                                _desc.innerHTML += "<br/> Ocupantes : " + _fields[ f ].firstChild.firstChild.nodeValue; 
     1306                                } 
     1307                        } 
     1308 
     1309                        _list.appendChild( _desc ); 
     1310                         
     1311                        show( ); 
     1312        }; 
     1313                 
     1314                var _get_room_info = function( _room ) 
     1315                { 
     1316                TrophyIM.connection.sendIQ( 
     1317                                $iq( { "to" : _room, "type" : "get" } ).c( "query",{xmlns: Strophe.NS.DISCO_INFO } ), 
     1318                                _add_room, 
     1319                                function( a ) 
     1320                                { 
     1321                                        _rooms++; 
     1322                                 
     1323                                        show( ); 
     1324                                }, 
     1325                                500 
     1326                        ); 
     1327                }; 
     1328 
     1329                for ( var i = 0; i < element.length; i++ ) 
     1330                { 
     1331                        _get_room_info( element[ i ].getAttribute( 'jid' ) ); 
     1332                } 
     1333                                 
     1334                 
     1335                 
     1336                /* 
     1337                element = element.getElementsByTagName( 'item' ); 
     1338                var _rooms = 0; 
     1339                var _list = document.createElement( 'ul' ); 
     1340                 
     1341                var show = function( ) 
     1342                { 
     1343                        if ( _rooms != element.length ) 
     1344                                return false; 
     1345 
     1346                        var winTeste = 
     1347                {        
     1348                         id_window              : "window_Teste", 
     1349                         width                  : 400, 
     1350                         height                 : 300, 
     1351                         top                    : 100, 
     1352                         left                   : 400, 
     1353                         draggable              : true, 
     1354                         visible                : "display", 
     1355                         resizable              : true, 
     1356                         zindex                 : loadscript.getZIndex(), 
     1357                         title                  : "Expresso Messenger - Salas de Bate Papo", 
     1358                         closeAction    : "remove", 
     1359                         content                : '<ul>' + _list.innerHTML + '</ul>' 
     1360                }; 
     1361                         
     1362                        _winBuild( winTeste ); 
     1363                }; 
     1364 
     1365                var _add_room = function( _room ) 
     1366        { 
     1367                        _rooms++; 
     1368                         
     1369                        var _desc = _room.getAttribute( 'from' ); 
     1370                         
     1371                        var _fields = _room.getElementsByTagName( 'field' ); 
     1372                        for ( var f = 0; f < _fields.length; f++ ) 
     1373                                if ( ! ( _fields[ f ].hasAttribute( 'type' ) && _fields[ f ].getAttribute( 'type' ) == 'hidden' ) ) 
     1374                                        if ( _fields[ f ].hasAttribute( 'label' ) && _fields[ f ].firstChild.hasChildNodes( ) ) 
     1375                                                _desc += ' :: ' + _fields[ f ].getAttribute( 'label' ) + ' ( ' + _fields[ f ].firstChild.firstChild.nodeValue + ' ) ';  
     1376                 
     1377                        _list.appendChild( 
     1378                                document.createElement( 'li' ) 
     1379                        ).appendChild( 
     1380                                document.createTextNode( _desc ) 
     1381                        ); 
     1382                         
     1383                        show( ); 
     1384        }; 
     1385                 
     1386                var _get_room_info = function( _room ) 
     1387                { 
     1388                TrophyIM.connection.sendIQ( 
     1389                                $iq( { "to" : _room, "type" : "get" } ).c( "query",{xmlns: Strophe.NS.DISCO_INFO } ), 
     1390                                _add_room, 
     1391                                function( a ) 
     1392                                { 
     1393                                        _rooms++; 
     1394                                 
     1395                                        show( ); 
     1396                                }, 
     1397                                500 
     1398                        ); 
     1399                }; 
     1400 
     1401                for ( var i = 0; i < element.length; i++ ) 
     1402                { 
     1403                        _get_room_info( element[ i ].getAttribute( 'jid' ) ); 
     1404                } 
     1405                 */ 
     1406                 
     1407        } 
     1408         
     1409        function getListRooms() 
     1410        { 
     1411                TrophyIM.getListRooms(); 
     1412        } 
     1413         
     1414        loadIM.prototype.getListRooms   = getListRooms; 
     1415        loadIM.prototype.listRooms              = listRooms; 
     1416         
     1417         
     1418         
    12591419         
    12601420         
  • trunk/jabberit_messenger/jmessenger/js/trophyim.js

    r3059 r3065  
    10521052        },500); 
    10531053    }, 
    1054      
    1055     testeSala : function() 
     1054 
     1055     
     1056    /** Function : getlistRooms 
     1057     *  
     1058     *  
     1059     */ 
     1060     
     1061    getListRooms : function() 
    10561062    { 
    1057         var deu_certo = function(element) 
     1063        var _error_return = function(element) 
    10581064        { 
    1059                 element = element.getElementsByTagName( 'item' ); 
    1060                 var _rooms = 0; 
    1061                 var _list = document.createElement( 'ul' ); 
    1062                  
    1063                 function show( ) 
    1064                 { 
    1065                         if ( _rooms != element.length ) 
    1066                                 return false; 
    1067  
    1068                         var winTeste = 
    1069                         {        
    1070                                  id_window              : "window_Teste", 
    1071                                  width                  : 400, 
    1072                                  height                 : 300, 
    1073                                  top                    : 100, 
    1074                                  left                   : 400, 
    1075                                  draggable              : true, 
    1076                                  visible                : "display", 
    1077                                  resizable              : true, 
    1078                                  zindex                 : loadscript.getZIndex(), 
    1079                                  title                  : "Expresso Messenger - Salas de Bate Papo", 
    1080                                  closeAction    : "remove", 
    1081                                  content                : '<ul>' + _list.innerHTML + '</ul>' 
    1082                         }; 
    1083                          
    1084                         _winBuild( winTeste ); 
    1085                 } 
    1086  
    1087                 function _add_room( _room ) 
    1088                 { 
    1089                         _rooms++; 
    1090                          
    1091                         var _desc = _room.getAttribute( 'from' ); 
    1092                          
    1093                         var _fields = _room.getElementsByTagName( 'field' ); 
    1094                         for ( var f = 0; f < _fields.length; f++ ) 
    1095                                 if ( ! ( _fields[ f ].hasAttribute( 'type' ) && _fields[ f ].getAttribute( 'type' ) == 'hidden' ) ) 
    1096                                         if ( _fields[ f ].hasAttribute( 'label' ) && _fields[ f ].firstChild.hasChildNodes( ) ) 
    1097                                                 _desc += ' :: ' + _fields[ f ].getAttribute( 'label' ) + '( ' + _fields[ f ].firstChild.firstChild.nodeValue + ')';  
    1098                  
    1099                         _list.appendChild( 
    1100                                 document.createElement( 'li' ) 
    1101                         ).appendChild( 
    1102                                 document.createTextNode( _desc ) 
    1103                         ); 
    1104                          
    1105                         show( ); 
    1106                 } 
    1107                  
    1108                 function _get_room_info( _room ) 
    1109                 { 
    1110                         TrophyIM.connection.sendIQ( 
    1111                                         $iq( { "to" : _room, "type" : "get" } ).c( "query",{xmlns: Strophe.NS.DISCO_INFO } ), 
    1112                                         _add_room, 
    1113                                         function( a ) 
    1114                                         { 
    1115                                                 _rooms++; 
    1116                                          
    1117                                                 show( ); 
    1118                                         }, 
    1119                                         500 
    1120                                 ); 
    1121                 } 
    1122  
    1123                 for ( var i = 0; i < element.length; i++ ) 
    1124                         _get_room_info( element[ i ].getAttribute( 'jid' ) ); 
    1125                  
    1126                 /* 
    1127                 var winTeste = 
    1128                 {        
    1129                          id_window              : "window_Teste", 
    1130                          width                  : 400, 
    1131                          height                 : 300, 
    1132                          top                    : 100, 
    1133                          left                   : 400, 
    1134                          draggable              : true, 
    1135                          visible                : "display", 
    1136                          resizable              : true, 
    1137                          zindex                 : loadscript.getZIndex(), 
    1138                          title                  : "Expresso Messenger - Salas de Bate Papo", 
    1139                          closeAction    : "remove", 
    1140                          content                : ( new xtools( path_jabberit ) ).parse( element, "listRooms.xsl") 
    1141                 };*/ 
    1142  
    1143                          //loadscript.parse("group","groups.xsl", paramsGroup); 
     1065                alert( " ERROR : " + element ); 
    11441066        }; 
    1145          
    1146         var deu_errado = function(element) 
    1147         { 
    1148                 alert( "DEU ERRADO  " + element ); 
    1149         }; 
    1150          
    1151         var jid = "alexandrecorreia@im.pr.gov.br/OI"; 
    11521067         
    11531068                var iq = $iq({to: "conference.im.pr.gov.br", type: "get"}).c("query",{xmlns: Strophe.NS.DISCO_ITEMS});                   
    11541069                 
    1155         TrophyIM.connection.sendIQ( iq, deu_certo, deu_errado, 500 );                    
     1070        TrophyIM.connection.sendIQ( iq, loadscript.listRooms, _error_return, 500 );              
    11561071    }, 
    11571072     
Note: See TracChangeset for help on using the changeset viewer.