$t->set('aclurl', Horde::applicationUrl('acl.php'));
$t->set('forminput', Util::formInput());
$t->set('aclnavcell', Util::bufferOutput(array('Prefs_UI', 'generateNavigationCell'), 'acl'));
-$t->set('changefolder', Horde::link('#', _("Change Folder"), 'smallheader', '', 'ACLFolderChange(true); return false;'));
+$t->set('changefolder', Horde::link('#', _("Change Folder"), 'smallheader', '', '', '', '', array('id' => 'changefolder')));
$t->set('sharedimg', Horde::img('shared.png', _("Change Folder")));
$t->set('options', IMP::flistSelect(array('selected' => $folder)));
$t->set('current', sprintf(_("Current access to %s"), IMP::displayFolder($folder)));
-var acl_loading;function ACLFolderChange(a){if($F("aclfolder")){if(acl_loading==null||a!=null){acl_loading=true;$("acl").disable();$("folders").submit()}}};
\ No newline at end of file
+var ImpAcl={acl_loading:false,folderChange:function(b,a){if($F("aclfolder")){if(!this.acl_loading||a!=null){this.acl_loading=true;$("acl").disable();$("folders").submit();b.stop()}}},changeHandler:function(a){switch(a.element().readAttribute("id")){case"aclfolder":this.folderChange(a);break}},clickHandler:function(a){switch(a.element().readAttribute("id")){case"changefolder":case"resetbut":this.folderChange(a,true);break}}};document.observe("change",ImpAcl.changeHandler.bindAsEventListener(ImpAcl));document.observe("click",ImpAcl.clickHandler.bindAsEventListener(ImpAcl));
\ No newline at end of file
/**
- * Provides the javascript for the acl.php script
+ * Provides the javascript for the acl.php script (standard view).
*
* See the enclosed file COPYING for license information (GPL). If you
* did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
*/
-var acl_loading;
+var ImpAcl = {
-function ACLFolderChange(clear)
-{
- if ($F('aclfolder')) {
- if (acl_loading == null || clear != null) {
- acl_loading = true;
- $('acl').disable();
- $('folders').submit();
+ acl_loading: false,
+
+ folderChange: function(e, clear)
+ {
+ if ($F('aclfolder')) {
+ if (!this.acl_loading || clear != null) {
+ this.acl_loading = true;
+ $('acl').disable();
+ $('folders').submit();
+ e.stop();
+ }
+ }
+ },
+
+ changeHandler: function(e)
+ {
+ switch (e.element().readAttribute('id')) {
+ case 'aclfolder':
+ this.folderChange(e);
+ break;
+ }
+ },
+
+ clickHandler: function(e)
+ {
+ switch (e.element().readAttribute('id')) {
+ case 'changefolder':
+ case 'resetbut':
+ this.folderChange(e, true);
+ break;
}
}
-}
+
+};
+
+document.observe('change', ImpAcl.changeHandler.bindAsEventListener(ImpAcl));
+document.observe('click', ImpAcl.clickHandler.bindAsEventListener(ImpAcl));
<ul>
<li>
<label for="aclfolder" class="hidden"><gettext>Change Folder</gettext></label>
- <tag:changefolder /><tag:sharedimg /></a> <select id="aclfolder" name="folder" onchange="ACLFolderChange()"><tag:options /></select>
+ <tag:changefolder /><tag:sharedimg /></a> <select id="aclfolder" name="folder"><tag:options /></select>
</li>
</ul>
<span class="smallheader"><tag:current /></span>
<tr>
<td colspan = "<tag:maxrule />" class="header" valign="middle">
<input type="button" class="button" id="fbutton" name="fbutton" onclick="$('acl').submit(); $('acl').disable();" value="<gettext>Save</gettext>" />
- <input type="button" class="button" id="resetbut" name="resetbut" onclick="ACLFolderChange(true); return false;" value="<gettext>Reset</gettext>" />
+ <input type="button" class="button" id="resetbut" name="resetbut" value="<gettext>Reset</gettext>" />
<input type="button" class="button" id="back" name="back" onclick="$('acl').disable(); document.location.href='<tag:prefsurl />'" value="<gettext>Return to Options</gettext>" />
</td>
<td class="header"> </td>