[10303] | 1 | {combine_script id="jquery.ui" path="themes/default/js/ui/minified/jquery.ui.core.min.js"} |
---|
| 2 | {combine_script id="jquery.ui.sortable" path="themes/default/js/ui/minified/jquery.ui.sortable.min.js"} |
---|
[4382] | 3 | |
---|
| 4 | <div id="containerMenu"> |
---|
[4389] | 5 | {foreach from=$sections item=sectionName key=section} |
---|
[4382] | 6 | <div id="containerMenu_{$section}" class="containerMenuSection"> |
---|
[4389] | 7 | <h3>{$sectionName|@translate}</h3> |
---|
[4382] | 8 | <ul class="connectedSortable categoryUl" id="menu_{$section}"> |
---|
| 9 | {foreach from=$items item=data key=id} |
---|
| 10 | {if $data.container==$section} |
---|
| 11 | <li class="categoryLi menuItem {if $id=='qsearch'}menuItemDisabled{/if}" id="i{$id}"> |
---|
[4389] | 12 | {if $id=="qsearch"} |
---|
| 13 | {else} |
---|
[4382] | 14 | <img src="{$themeconf.admin_icon_dir}/cat_move.png" class="button drag_button" alt="{'Drag to re-order'|@translate}" title="{'Drag to re-order'|@translate}"/> |
---|
[4389] | 15 | {/if} |
---|
[4382] | 16 | {$data.translation|@translate} |
---|
[4389] | 17 | <a onclick="switchVisibility('i{$id}_visibility');"> |
---|
| 18 | <img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/permissions.png" class="button drag_button" alt="{'g002_click_to_manage_rights'|@translate}" title="{'g002_click_to_manage_rights'|@translate}" |
---|
| 19 | style="float:right;"/></a> |
---|
| 20 | <div id="i{$id}_visibility" class="visibility"> |
---|
| 21 | {$data.visibilityForm} |
---|
| 22 | </div> |
---|
[4382] | 23 | </li> |
---|
| 24 | {/if} |
---|
| 25 | {/foreach} |
---|
| 26 | </ul> |
---|
| 27 | </div> |
---|
| 28 | {/foreach} |
---|
[4389] | 29 | <br/> |
---|
| 30 | <input type="button" value="{'g002_cancel'|@translate}" onclick="resetMenu('cancel');"/> |
---|
| 31 | <input type="button" value="{'g002_piwigo_default'|@translate}" onclick="resetMenu('default');"/> |
---|
| 32 | <p><input type="button" value="{'g002_apply_changes'|@translate}" onclick="submitChanges();"></p> |
---|
[4382] | 33 | <form id="submitForm" method="POST" action=""> |
---|
| 34 | <input type="hidden" name="fList" id="iList" value=""/> |
---|
| 35 | </form> |
---|
| 36 | </div> |
---|
| 37 | |
---|
| 38 | |
---|
[3681] | 39 | {literal} |
---|
| 40 | <script type="text/javascript"> |
---|
| 41 | |
---|
[4382] | 42 | var resetValues = new Array(new Array(), new Array()); |
---|
[3681] | 43 | |
---|
[4382] | 44 | {/literal} |
---|
| 45 | |
---|
| 46 | // initialization for cancel et reset functions |
---|
| 47 | {foreach from=$defaultValues item=value key=id} |
---|
[4389] | 48 | resetValues[0].push( {literal} { {/literal} id:"{$id}", section:"{$value.container}", order:{$value.order}, visibility:"{$value.visibility}" {literal} } {/literal} ); |
---|
[4382] | 49 | {/foreach} |
---|
| 50 | {foreach from=$items item=value key=id} |
---|
[4389] | 51 | resetValues[1].push( {literal} { {/literal} id:"{$id}", section:"{$value.container}", order:{$value.order}, visibility:"{$value.visibility}" {literal} } {/literal} ); |
---|
[4382] | 52 | {/foreach} |
---|
| 53 | {literal} |
---|
| 54 | |
---|
| 55 | $("#containerMenu").sortable( |
---|
[3681] | 56 | { |
---|
[4382] | 57 | connectWith: '.connectedSortable', |
---|
| 58 | cursor: 'move', |
---|
| 59 | opacity:0.6, |
---|
| 60 | items: 'li:not(.menuItemDisabled)', |
---|
| 61 | tolerance:'pointer' |
---|
[3681] | 62 | } |
---|
[4382] | 63 | ); |
---|
| 64 | |
---|
| 65 | function resetMenu(mode) |
---|
| 66 | { |
---|
| 67 | (mode=='default')?key=0:key=1; |
---|
| 68 | |
---|
| 69 | for(i=0;i<resetValues[key].length;i++) |
---|
[3681] | 70 | { |
---|
[4382] | 71 | $("#menu_"+resetValues[key][i].section).get(0).appendChild($("#i"+resetValues[key][i].id).get(0)); |
---|
[4389] | 72 | |
---|
| 73 | {/literal} |
---|
| 74 | {foreach from=$visibility.users item=value} |
---|
| 75 | $("#i"+resetValues[key][i].id+"_vis_user_{$value.id}").get(0).checked=/(.*,|^){$value.id}(?!\w)(\/)?/.test(resetValues[key][i].visibility); |
---|
| 76 | {/foreach} |
---|
| 77 | |
---|
| 78 | {foreach from=$visibility.groups item=value} |
---|
| 79 | $("#i"+resetValues[key][i].id+"_vis_group_{$value.id}").get(0).checked=/(\/.*,|\/){$value.id}(?!\w)(\/)?/.test(resetValues[key][i].visibility); |
---|
| 80 | {/foreach} |
---|
| 81 | {literal} |
---|
| 82 | |
---|
[3681] | 83 | } |
---|
[4382] | 84 | } |
---|
| 85 | |
---|
| 86 | function submitChanges() |
---|
| 87 | { |
---|
| 88 | datas=""; |
---|
| 89 | |
---|
| 90 | items=$("#menu_menu").children(); |
---|
| 91 | for(i=0;i<items.length;i++) |
---|
[3681] | 92 | { |
---|
[4389] | 93 | datas+=items.get(i).id.substr(1)+",menu,"+i+"#"+makeVisibility(items.get(i).id)+";"; |
---|
[3681] | 94 | } |
---|
| 95 | |
---|
[4382] | 96 | items=$("#menu_special").children(); |
---|
| 97 | for(i=0;i<items.length;i++) |
---|
[3681] | 98 | { |
---|
[4389] | 99 | datas+=items.get(i).id.substr(1)+",special,"+i+"#"+makeVisibility(items.get(i).id)+";"; |
---|
[3681] | 100 | } |
---|
[4382] | 101 | |
---|
| 102 | $("#iList").val(datas); |
---|
| 103 | $("#submitForm").get(0).submit(); |
---|
[3681] | 104 | } |
---|
| 105 | |
---|
[4389] | 106 | function switchVisibility(id) |
---|
| 107 | { |
---|
| 108 | if($("#"+id).css('display')!='none') |
---|
| 109 | { |
---|
| 110 | $("#"+id).css({display:'none'}); |
---|
| 111 | } |
---|
| 112 | else |
---|
| 113 | { |
---|
| 114 | $("#"+id).css({display:'block'}); |
---|
| 115 | } |
---|
| 116 | } |
---|
| 117 | |
---|
| 118 | function makeVisibility(id) |
---|
| 119 | { |
---|
| 120 | {/literal} |
---|
| 121 | returned=""; |
---|
| 122 | {foreach from=$visibility.users item=value} |
---|
| 123 | returned+=($("#"+id+"_vis_user_{$value.id}").get(0).checked)?((returned=="")?"":",")+"{$value.id}":""; |
---|
| 124 | {/foreach} |
---|
| 125 | |
---|
| 126 | returned2=""; |
---|
| 127 | {foreach from=$visibility.groups item=value} |
---|
| 128 | returned2+=($("#"+id+"_vis_group_{$value.id}").get(0).checked)?((returned2=="")?"":",")+"{$value.id}":""; |
---|
| 129 | {/foreach} |
---|
| 130 | {literal} |
---|
| 131 | |
---|
| 132 | return(returned+"/"+returned2); |
---|
| 133 | } |
---|
| 134 | |
---|
[3681] | 135 | </script> |
---|
| 136 | {/literal} |
---|