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 | })(); |
---|