Changeset 5458
- Timestamp:
- 02/01/12 08:50:42 (12 years ago)
- Location:
- trunk/expressoMail1_2
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/js/common_functions.js
r5456 r5458 651 651 var handler_imap_getacl = function(data) 652 652 { 653 var options = '';654 for (var x in data)655 {656 options += "<option value='"+data[x].uid+"'>"+data[x].cn+"</option>";657 }658 653 connector.loadScript("finder", "../services/"); 659 654 connector.loadScript("sharemailbox"); 655 660 656 if (typeof(sharemailbox) == 'undefined') 661 657 { … … 663 659 return false; 664 660 } 665 sharemailbox.makeWindow(options); 661 662 sharemailbox.makeWindow(data); 666 663 } 667 664 cExecute ("$this.imap_functions.getacl", handler_imap_getacl); -
trunk/expressoMail1_2/js/sharemailbox.js
r5134 r5458 1 1 function cShareMailbox() 2 2 { 3 this.arrayWin = new Array(); 4 this.el; 5 this.alert = false; 3 this.xtools = new xtools('../expressoMail1_2/templates/'); 6 4 } 7 5 … … 37 35 var handler_getaclfromuser = function(data) 38 36 { 39 Element('em_input_readAcl').checked = false; 40 Element('em_input_deleteAcl').checked = false; 41 Element('em_input_writeAcl').checked = false; 42 Element('em_input_sendAcl').checked = false; 43 Element('em_input_saveAcl').checked = false; 44 Element('em_input_saveAcl').disabled = true; 45 Element('em_input_deleteAcl').disabled = true; 46 Element('em_input_writeAcl').disabled = true; 37 Element('em_input_readAcl').checked = false; 38 Element('em_input_deleteAcl').checked = false; 39 Element('em_input_writeAcl').checked = false; 40 Element('em_input_sendAcl').checked = false; 41 Element('em_input_saveAcl').checked = false; 42 43 Element('em_input_saveAcl').disabled = true; 44 Element('em_input_deleteAcl').disabled = true; 45 Element('em_input_writeAcl').disabled = true; 47 46 48 47 if (data[user].indexOf('lrs',0) >= 0) 49 48 { 50 49 Element('em_input_sendAcl').disabled = false; 51 52 50 Element('em_input_deleteAcl').disabled = false; 51 Element('em_input_writeAcl').disabled = false ; 53 52 Element('em_input_readAcl').checked = true; 54 53 } … … 56 55 { 57 56 Element('em_input_sendAcl').disabled = true; 58 59 } 57 } 58 60 59 if (data[user].indexOf('d',0) >= 0) 61 60 { 62 61 Element('em_input_deleteAcl').checked = true; 63 Element('em_input_deleteAcl').disabled = false; 64 } 62 Element('em_input_deleteAcl').disabled = false; 63 } 64 65 65 if (data[user].indexOf('wi',0) >= 0) 66 66 { 67 67 Element('em_input_writeAcl').checked = true; 68 68 Element('em_input_writeAcl').disabled = false 69 69 } 70 70 … … 74 74 Element('em_input_sendAcl').checked = true; 75 75 } 76 76 77 if (data[user] != "false" && data[user].indexOf('p',0) >= 0) 77 78 { 78 79 Element('em_input_saveAcl').disabled = false; 79 80 Element('em_input_saveAcl').checked = true; 80 } 81 if( data[user] != "false" && Element('em_input_writeAcl').checked && Element('em_input_sendAcl').checked ){ 81 } 82 83 if( data[user] != "false" && Element('em_input_writeAcl').checked && Element('em_input_sendAcl').checked ) 84 { 82 85 Element('em_input_saveAcl').disabled = false; 83 } else Element('em_input_saveAcl').disabled = true; 84 } 86 } 87 else 88 { 89 Element('em_input_saveAcl').disabled = true; 90 } 91 } 92 85 93 cExecute ("$this.imap_functions.getaclfromuser&user="+user, handler_getaclfromuser); 86 94 } … … 91 99 var select = Element('em_select_sharefolders_users'); 92 100 93 if(select.selectedIndex == "-1"){ 94 alert("Selecione antes um usuário!"); 101 if( select.selectedIndex == "-1" ) 102 { 103 alert(get_lang("Select a user!")); 95 104 return false; 96 105 } 106 97 107 var user = select.options[select.selectedIndex].value; 98 108 99 if (Element('em_input_readAcl').checked) { 100 Element('em_input_sendAcl').disabled = false; 101 Element('em_input_deleteAcl').disabled = false; 102 Element('em_input_writeAcl').disabled = false; 109 if ( Element('em_input_readAcl').checked ) 110 { 111 Element('em_input_sendAcl').disabled = false; 112 Element('em_input_deleteAcl').disabled = false; 113 Element('em_input_writeAcl').disabled = false; 103 114 acl = 'lrs'; 104 115 } 105 else{ 106 Element('em_input_sendAcl').disabled = true; 107 Element('em_input_sendAcl').checked = false; 108 Element('em_input_deleteAcl').disabled = true; 109 Element('em_input_deleteAcl').checked = false; 110 Element('em_input_writeAcl').disabled = true; 111 Element('em_input_writeAcl').checked = false; 116 else 117 { 118 Element('em_input_sendAcl').disabled = true; 119 Element('em_input_sendAcl').checked = false; 120 Element('em_input_deleteAcl').disabled = true; 121 Element('em_input_deleteAcl').checked = false; 122 Element('em_input_writeAcl').disabled = true; 123 Element('em_input_writeAcl').checked = false; 112 124 113 125 } … … 140 152 } 141 153 142 cShareMailbox.prototype.makeWindow = function(options) 143 { 144 _this = this; 145 146 var el = document.createElement("DIV"); 147 el.style.visibility = "hidden"; 148 el.style.position = "absolute"; 149 el.style.left = "0px"; 150 el.style.top = "0px"; 151 el.style.width = "0px"; 152 el.style.height = "0px"; 153 el.id = 'dJSWin_sharefolders'; 154 document.body.appendChild(el); 155 156 if (Element('em_select_sharefolders_users')) 157 { 158 var select_users = Element('em_select_sharefolders_users'); 159 select_users.innerHTML = '#' + options; 160 select_users.outerHTML = select_users.outerHTML; 161 162 Element('em_input_readAcl').checked = false; 163 Element('em_input_deleteAcl').checked = false; 164 Element('em_input_writeAcl').checked = false; 165 Element('em_input_sendAcl').checked = false; 166 Element('em_input_saveAcl').checked = false; 167 } 168 else 169 { 170 el.innerHTML = "<table border=0><tbody><tr>"+ 171 172 "<td valign='bottom'>"+ 173 '<font color="red">'+ 174 get_lang('Note: This sharing will take action on all of your folders and messages.')+ 175 '<br><br>'+ 176 '</font>'+ 177 get_lang('Your mailbox is shared with') 178 +":<br><br>"+ 179 "<select onchange=sharemailbox.getaclfromuser(this.value); id='em_select_sharefolders_users' size='13' style='width:250px;height:200px'>" + options + "</select>"+ 180 "</td>"+ 181 182 "<td>"+ 183 '<br><br><br><br><br><br>'+ 184 '<img onClick="javascript:sharemailbox.add_user();" src="templates/'+template+'/images/arrow_left.gif" style="vertical-align:middle;cursor:pointer;">' + 185 '<br><br>'+ 186 '<img onClick="javascript:sharemailbox.remove_user();" src="templates/'+template+'/images/arrow_right.gif" style="vertical-align:middle;cursor:pointer;">' + 187 "</td>"+ 188 189 "<td valign='bottom'><br>"+ 190 get_lang('Organization')+": " + 191 "<select id='em_combo_org'></select>"+ 192 193 "<br><br>"+get_lang('Search user')+":<br>" + 194 '<input id="em_input_searchUser" size="35" autocomplete="off" onkeyup="javascript:sharemailbox.optionFinderTimeout(this, event);"><br>'+ 195 196 '<font color="red"><span id="em_span_searching"> </span></font><br>'+ 197 198 "<select id='em_select_available_users' style='width:250px;height:200px' multiple></select></td>"+ 199 '</tr>'+ 200 '<tr><td>'+ 201 '<table border=0><tbody><tr><td colspan=2>'+ 202 get_lang('Access right')+':'+ 203 '</td></tr>'+ 204 '<tr><td>'+get_lang('Read')+':</td><td><input id=\'em_input_readAcl\' onClick="return sharemailbox.setaclfromuser();" type="checkbox"><img title="'+get_lang("hlp_msg_read_acl")+'." src=\'./templates/'+template+'/images/ajuda.jpg\'></td></tr>'+ 205 '<tr><td>'+get_lang('Exclusion')+':</td><td><input id=\'em_input_deleteAcl\' onClick="return sharemailbox.setaclfromuser();" type="checkbox"><img title="'+get_lang('hlp_msg_delmov_acl')+'." src=\'./templates/'+template+'/images/ajuda.jpg\'></td></tr>'+ 206 '<tr><td>'+get_lang('Write')+':</td><td><input id=\'em_input_writeAcl\' onClick="return sharemailbox.setaclfromuser();" type="checkbox"><img title="'+get_lang('hlp_msg_addcreate_acl')+'." src=\'./templates/'+template+'/images/ajuda.jpg\'></td></tr>'+ 207 '<tr><td>'+get_lang('Send')+':</td><td><input id=\'em_input_sendAcl\' onClick="return sharemailbox.setaclfromuser();" type="checkbox"><img title="'+get_lang('hlp_msg_sendlike_acl')+'." src=\'./templates/'+template+'/images/ajuda.jpg\'></td></tr>'+ 208 '<tr><td>'+get_lang('Save')+':</td><td><input id=\'em_input_saveAcl\' onClick="return sharemailbox.setaclfromuser();" type="checkbox"><img title="'+get_lang('hlp_msg_savelike_acl')+'." src=\'./templates/'+template+'/images/ajuda.jpg\'></td></tr></tbody></table>'+ 209 '</td></tr>'+ 210 "</tbody></table>"; 211 } 212 213 var handler_organizations = function(data){ 214 var user_organization = Element('user_organization').value; 215 216 for(i = 0; i < data.length; i++) { 217 Element('em_combo_org').options[i] = new Option(data[i].ou,data[i].dn); 218 if(data[i].ou.indexOf("dc=") != -1 || user_organization.toUpperCase() == data[i].ou.toUpperCase()) 154 cShareMailbox.prototype.makeWindow = function(optionsData) 155 { 156 var div = null; 157 var args = null; 158 159 args = 160 { 161 'button_1' : ">>", 162 'button_2' : "<<", 163 'Note_This_sharing_will_take_action_on_all_of_your_folders_and_messages' : get_lang('Note: This sharing will take action on all of your folders and messages.'), 164 'Organization' : get_lang('Organization'), 165 'Search_user' : get_lang('Search user'), 166 'Users' : get_lang('Users'), 167 'Your_mailbox_is_shared_with' : get_lang('Your mailbox is shared with'), 168 'Access_right' : get_lang('Access right'), 169 'Read' : get_lang('Read'), 170 'Exclusion' : get_lang('Exclusion'), 171 'Write' : get_lang('Write'), 172 'Send' : get_lang('Send'), 173 'Save' : get_lang('Save'), 174 'hlp_msg_read_acl' : get_lang('hlp_msg_read_acl'), 175 'hlp_msg_delmov_acl' : get_lang('hlp_msg_delmov_acl'), 176 'hlp_msg_addcreate_acl' : get_lang('hlp_msg_addcreate_acl'), 177 'hlp_msg_sendlike_acl' : get_lang('hlp_msg_sendlike_acl'), 178 'hlp_msg_savelike_acl' : get_lang('hlp_msg_savelike_acl') 179 }; 180 181 div = document.createElement("div"); 182 div.innerHTML = this.xtools.parse(this.xtools.xml('sharedFolders'), 'sharedFolders.xsl', args ); 183 div.setAttribute( "style","overflow:hidden"); 184 185 $(div).dialog( 186 { 187 resizable : false, 188 title : get_lang("Mailbox Sharing"), 189 position : 'center', 190 width : 750, 191 height : 400, 192 modal : false, 193 buttons : [ 194 { 195 text: get_lang("Close"), 196 click: function() 197 { 198 $(this).dialog("destroy"); 199 div.removeChild(div.firstChild); 200 }, 201 style: "margin-top: -2.1em" 202 }, 203 { 204 text: get_lang("Save"), 205 click: function() 206 { 207 // Needed select all options from select 208 var users_setacl = new Array(); 209 var select_users = Element('em_select_sharefolders_users'); 210 211 for(var i = 0; i < select_users.options.length; i++) 212 { 213 users_setacl[i] = select_users.options[i].value; 214 } 215 var attributes = connector.serialize(users_setacl); 216 217 var handler_save = function(data) 218 { 219 if (data) 220 { 221 var sharedFoldersUsers = document.getElementById('em_select_sharefolders_users'); 222 223 for( var i = 0;i < sharedFoldersUsers.options.length; i++ ) 224 { 225 if( sharedFoldersUsers.options[i].selected ) 226 { 227 var value = sharedFoldersUsers.options[i].value; 228 var text = sharedFoldersUsers.options[i].text; 229 sharedFoldersUsers.options[i].parentNode.removeChild(sharedFoldersUsers.options[i]); 230 sharedFoldersUsers.options[sharedFoldersUsers.options.length] = new Option( text, value, false, false); 231 } 232 } 233 234 Element('em_input_readAcl').checked = false; 235 Element('em_input_deleteAcl').checked = false; 236 Element('em_input_writeAcl').checked = false; 237 Element('em_input_sendAcl').checked = false; 238 Element('em_input_saveAcl').checked = false; 239 240 Element('em_input_deleteAcl').disabled = true; 241 Element('em_input_writeAcl').disabled = true; 242 Element('em_input_sendAcl').disabled = true; 243 Element('em_input_saveAcl').disabled = true; 244 245 write_msg(get_lang('Shared options saved with success')); 246 } 247 } 248 cExecute ("$this.imap_functions.setacl", handler_save, 'users='+attributes); 249 }, 250 style: "margin-top: -2.1em" 251 } 252 ], 253 beforeClose : function() 254 { 255 $(this).dialog("destroy"); 256 div.removeChild(div.firstChild); 257 } 258 }); 259 260 261 setTimeout(function() 262 { 263 var handler_organizations = function(data) 264 { 265 var user_organization = Element('user_organization').value; 266 267 for(i = 0; i < data.length; i++) 219 268 { 220 Element('em_combo_org').options[i].selected = true; 221 _this.get_available_users(data[i].dn); 269 Element('em_combo_org').options[i] = new Option(data[i].ou,data[i].dn); 270 271 if(data[i].ou.indexOf("dc=") != -1 || user_organization.toUpperCase() == data[i].ou.toUpperCase()) 272 { 273 Element('em_combo_org').options[i].selected = true; 274 sharemailbox.get_available_users(data[i].dn); 275 } 222 276 } 223 277 } 224 } 225 cExecute ("$this.ldap_functions.get_organizations2&referral=false", handler_organizations); 226 227 var butt = Element('dJSWin_wfolders_bok') 228 if (!butt){ 229 butt = document.createElement('INPUT'); 230 butt.id = 'dJSWin_wfolders_bok'; 231 butt.type = 'button'; 232 butt.value = get_lang('Save'); 233 el.appendChild(butt); 234 } 235 butt.onclick = function () 236 { 237 // Needed select all options from select 238 var users_setacl = new Array(); 239 select_users = Element('em_select_sharefolders_users'); 240 for(var i=0; i<select_users.options.length; i++) 241 { 242 users_setacl[i] = select_users.options[i].value; 243 } 244 attributes = connector.serialize(users_setacl); 245 246 var handler_save = function(data) 247 { 248 if (data) 249 { 250 alert(get_lang('Shared options saved with success')); 251 sharemailbox.arrayWin[el.id].close(); 252 } 253 } 254 255 cExecute ("$this.imap_functions.setacl", handler_save, 'users='+attributes); 256 257 } 258 259 var space = document.createElement('SPAN'); 260 space.innerHTML = " "; 261 el.appendChild(space); 262 263 var butt = document.createElement('BUTTON'); 264 var buttext = document.createTextNode(get_lang('Close')); 265 butt.appendChild(buttext); 266 butt.onclick = function () {sharemailbox.arrayWin[el.id].close();}; 267 el.appendChild(butt); 268 269 _this.showWindow(el); 270 } 271 272 cShareMailbox.prototype.showWindow = function (div) 273 { 274 if(! div) { 275 alert(get_lang('This list has no participants')); 276 return; 277 } 278 279 if(! this.arrayWin[div.id]) 280 { 281 div.style.height = "480px"; 282 div.style.width = "540px"; 283 var title = ":: "+get_lang("Mailbox Sharing")+" ::"; 284 var wHeight = div.offsetHeight + "px"; 285 var wWidth = div.offsetWidth + "px"; 286 div.style.width = div.offsetWidth - 5; 287 288 win = new dJSWin({ 289 id: 'win_'+div.id, 290 content_id: div.id, 291 width: wWidth, 292 height: wHeight, 293 title_color: '#3978d6', 294 bg_color: '#eee', 295 title: title, 296 title_text_color: 'white', 297 button_x_img: '../phpgwapi/images/winclose.gif', 298 border: true }); 299 300 this.arrayWin[div.id] = win; 301 win.draw(); 302 } 303 else { 304 win = this.arrayWin[div.id]; 305 } 306 Element('em_input_sendAcl').disabled = true; 307 Element('em_input_saveAcl').disabled = true; 308 Element('em_input_deleteAcl').disabled = true; 309 Element('em_input_writeAcl').disabled = true; 310 win.open(); 278 279 cExecute ("$this.ldap_functions.get_organizations2&referral=false", handler_organizations); 280 281 },100); 282 283 Element('em_input_sendAcl').disabled = true; 284 Element('em_input_saveAcl').disabled = true; 285 Element('em_input_deleteAcl').disabled = true; 286 Element('em_input_writeAcl').disabled = true; 287 288 var selectSharedFolders = Element('em_select_sharefolders_users'); 289 290 for( var i in optionsData ) 291 { 292 selectSharedFolders.options[selectSharedFolders.options.length] = new Option(optionsData[i].cn, optionsData[i].uid, false, false); 293 } 311 294 } 312 295 313 296 var finderTimeout = ''; 297 314 298 cShareMailbox.prototype.optionFinderTimeout = function(obj, event) 315 299 { … … 322 306 } 323 307 324 cShareMailbox.prototype.optionFinder = function(id) { 308 cShareMailbox.prototype.optionFinder = function(id) 309 { 325 310 326 311 var sentence = Element(id).value; 327 312 328 var url = '$this.ldap_functions.get_available_users2&context=' + 329 Element('em_combo_org').value + 330 ( sentence ? '&sentence=' + sentence: '' ); 313 var url = '$this.ldap_functions.get_available_users2&context=' + Element('em_combo_org').value + ( sentence ? '&sentence=' + sentence: '' ); 331 314 332 315 return userFinder( sentence, 'em_select_available_users', url, 'em_span_searching'); … … 371 354 } 372 355 373 if ( new_options != '')356 if ( new_options != '' ) 374 357 { 375 358 select_users.innerHTML = '#' + new_options + select_users.innerHTML; … … 382 365 select_users = document.getElementById('em_select_sharefolders_users'); 383 366 384 for(var i = 0;i < select_users.options.length; i++) 385 if(select_users.options[i].selected) 367 for( var i = 0 ; i < select_users.options.length; i++ ) 368 { 369 if( select_users.options[i].selected ) 370 { 386 371 select_users.options[i--] = null; 372 } 373 } 387 374 388 375 Element('em_input_readAcl').checked = false; … … 392 379 Element('em_input_saveAcl').checked = false; 393 380 } 394 395 381 396 382 /* Build the Object */ 397 var sharemailbox; 398 sharemailbox = new cShareMailbox(); 383 var sharemailbox = new cShareMailbox(); -
trunk/expressoMail1_2/setup/phpgw_pt-br.lang
r5443 r5458 446 446 Sector expressoMail1_2 pt-br Setor 447 447 Seen expressoMail1_2 pt-br Lida 448 Select a user! expressoMail1_2 pt-br Selecione um usuário! 448 449 Select a folder! expressoMail1_2 pt-br Selecione uma pasta! 449 450 Select a folder expressoMail1_2 pt-br Selecione uma pasta
Note: See TracChangeset
for help on using the changeset viewer.