source: trunk/jabberit_messenger/js/glocked.js @ 560

Revision 560, 3.1 KB checked in by niltonneto, 15 years ago (diff)

resolve #376

  • Property svn:executable set to *
Line 
1(function()
2{
3        var _conn = '';
4        var _xtools = '';
5
6        function addGroup()
7        {
8                var select_ldap = document.getElementById('groups_ldap_jabberit');
9                var select_locked =  document.getElementById('groups_locked_jabberit');
10               
11                for(var i = 0; i < select_locked.options.length; i++)
12                {
13                        if(select_locked.options[i].value === "")
14                        {
15                                select_locked.options[i].parentNode.removeChild(select_locked.options[i]);
16                                i--;
17                        }
18                }
19               
20                for(var i = 0; i < select_ldap.options.length ; i++)
21                {
22                        if( select_ldap.options[i].selected )
23                        {
24                               
25                                var flag = false;
26                                for(var j = 0; j < select_locked.options.length ; j++ )
27                                {
28                                        if( select_locked.options[j].value === select_ldap.options[i].value )
29                                                flag = true;
30                                }
31                               
32                                if ( !flag )
33                                {                                       
34                                        var option = select_ldap.options[i].value.split(":");
35                                        select_locked.options[select_locked.length] = new Option(option[0], select_ldap.options[i].value, false, true);
36                                }
37                        }
38                }
39        }
40
41        function createObject()
42        {
43                if ( typeof(_conn) != "object" )
44                        _conn   = new JITConnector(path_jabberit + 'jabberit_messenger/');                             
45
46                if ( typeof(_xtools) != "object" )
47                        _xtools = new JITXTools(path_jabberit + 'jabberit_messenger/');
48        }
49
50        function CompleteSelect(data)
51        {
52                var select_ldap = document.getElementById('groups_ldap_jabberit');
53                data = _xtools.convert(data);
54
55                while( select_ldap.hasChildNodes())
56                        select_ldap.removeChild(select_ldap.firstChild);
57               
58                try
59                {
60                        if ( data && data.documentElement && data.documentElement.hasChildNodes() )
61                        {
62                                data = data.documentElement.firstChild;
63                                var label = "";
64                                var value = "";
65                               
66                                while(data)
67                                {
68                                        var no = data.firstChild;
69                                        while(no)
70                                        {
71                                                if( label == "" )
72                                                        var label = no.firstChild.nodeValue;
73                                                else
74                                                        var value = no.firstChild.nodeValue;
75                                                no = no.nextSibling;
76                                        }
77                                        select_ldap.options[select_ldap.options.length] = new Option(label,label + ":" + value, false, false);
78                                        label = value = "";
79                                        data = data.nextSibling;
80                                }
81                        }
82                }catch(e){}
83        }
84
85        function groupsLdap()
86        {
87                createObject();
88                var organization = "";
89               
90                if( arguments.length > 0 )
91                {
92                        var element = arguments[0];
93                       
94                        if( element.options.length > 0 )
95                                for(var i = 0; i < element.options.length ; i++ )
96                                        if( element.options[i].selected )
97                                                organization =  'ou=' + element.options[i].value;
98       
99                        _conn.go('$this.ldap_im.getGroupsLdap', CompleteSelect, organization);
100                }
101        }
102
103        function Selected()
104        {
105                var select_locked = document.getElementById('groups_locked_jabberit');
106                for( var i = 0 ; i < select_locked.options.length; i++ )
107                        select_locked.options[i].selected = true;
108        }
109       
110        function removeGroup()
111        {
112                var select_locked = document.getElementById('groups_locked_jabberit');
113               
114                for(var i = 0 ; i < select_locked.options.length; i++ )
115                {
116                        if( select_locked.options[i].selected )
117                        {
118                                select_locked.options[i].parentNode.removeChild(select_locked.options[i]);
119                                i--;
120                        }
121                }
122        }
123       
124        function Locked(){}
125
126        Locked.prototype.add = addGroup;
127        Locked.prototype.remove = removeGroup;
128        Locked.prototype.gLdap = groupsLdap;
129        Locked.prototype.selectAll = Selected;
130        window.locked = new Locked;
131
132})();
Note: See TracBrowser for help on using the repository browser.