better listen on toggle_dir and remember

This commit is contained in:
Ian 2015-10-26 11:36:57 +01:00
parent 52730e6b0e
commit d1baaf4983
3 changed files with 19 additions and 14 deletions

View File

@ -14,10 +14,19 @@ if (!is_object($serendipity['smarty'])) {
serendipity_smarty_init(); serendipity_smarty_init();
} }
// No echo output here, before the switch, since that matters renaming alerts!
// unset adminAction type to default, if an image was bulkmoved and the origin page reloaded // unset adminAction type to default, if an image was bulkmoved and the origin page reloaded
if (!is_array($serendipity['POST']) && $serendipity['GET']['adminAction'] == 'multidelete') { if (!is_array($serendipity['POST']) && $serendipity['GET']['adminAction'] == 'multidelete') {
unset($serendipity['GET']['adminAction']); unset($serendipity['GET']['adminAction']);
} }
// Listens on toggle_dir STRICT to list items per directory, or include all sub directory items
if (empty($serendipity['GET']['toggle_dir']) && empty($serendipity['COOKIE']['serendipity_toggle_dir'])) {
$serendipity['GET']['toggle_dir'] = 'no'; // default
}
if (!empty($serendipity['COOKIE']['serendipity_toggle_dir'])) {
serendipity_restoreVar($serendipity['COOKIE']['serendipity_toggle_dir'], $serendipity['GET']['toggle_dir']);
}
switch ($serendipity['GET']['adminAction']) { switch ($serendipity['GET']['adminAction']) {
@ -72,7 +81,6 @@ switch ($serendipity['GET']['adminAction']) {
unset($messages); unset($messages);
break; break;
case 'doMultiDelete': case 'doMultiDelete':
if (!serendipity_checkFormToken() || !serendipity_checkPermission('adminImagesDelete')) { if (!serendipity_checkFormToken() || !serendipity_checkPermission('adminImagesDelete')) {
break; break;

View File

@ -1452,16 +1452,8 @@ function serendipity_displayImageList($page = 0, $lineBreak = NULL, $manage = fa
global $serendipity; global $serendipity;
static $debug = false; static $debug = false;
$extraParems = serendipity_generateImageSelectorParems(); $extraParems = serendipity_generateImageSelectorParems();
$rootDirStrict = ($serendipity['GET']['toggle_dir'] == 'yes') ? true : false; // default
$rootDirStrict = false; // default
if (empty($serendipity['GET']['toggle_dir'])) {
$serendipity['GET']['toggle_dir'] = $serendipity['COOKIE']['serendipity_toggle_dir'] = 'yes';
}
serendipity_restoreVar($serendipity['GET']['toggle_dir'], $serendipity['COOKIE']['serendipity_toggle_dir']);
if ($serendipity['GET']['toggle_dir'] == 'yes') {
$rootDirStrict = true;
}
$serendipity['GET']['only_path'] = serendipity_uploadSecure($limit_path . $serendipity['GET']['only_path'], true); $serendipity['GET']['only_path'] = serendipity_uploadSecure($limit_path . $serendipity['GET']['only_path'], true);
$serendipity['GET']['only_filename'] = serendipity_specialchars(str_replace(array('*', '?'), array('%', '_'), $serendipity['GET']['only_filename'])); $serendipity['GET']['only_filename'] = serendipity_specialchars(str_replace(array('*', '?'), array('%', '_'), $serendipity['GET']['only_filename']));
@ -2945,6 +2937,7 @@ function serendipity_showMedia(&$file, &$paths, $url = '', $manage = false, $lin
'keywords_selected' => $serendipity['GET']['keywords'], 'keywords_selected' => $serendipity['GET']['keywords'],
'filter' => $serendipity['GET']['filter'], 'filter' => $serendipity['GET']['filter'],
'sort_order' => serendipity_getImageFields(), 'sort_order' => serendipity_getImageFields(),
'toggle_dir' => empty($serendipity['GET']['toggle_dir']) ? 'no' : $serendipity['GET']['toggle_dir'],
'authors' => serendipity_fetchUsers(), 'authors' => serendipity_fetchUsers(),
'sort_row_interval' => array(8, 16, 50, 100), 'sort_row_interval' => array(8, 16, 50, 100),
'nr_files' => count($file), 'nr_files' => count($file),
@ -2965,6 +2958,7 @@ function serendipity_showMedia(&$file, &$paths, $url = '', $manage = false, $lin
$media = array_merge($media, $smarty_vars); $media = array_merge($media, $smarty_vars);
$media['files'] =& $file; $media['files'] =& $file;
if (count($paths) > 0) { if (count($paths) > 0) {
$media['paths'] =& $paths; $media['paths'] =& $paths;
} else { } else {

View File

@ -12,7 +12,7 @@
<div class="form_select"> <div class="form_select">
<label for="serendipity_only_path" class="visuallyhidden">{$CONST.FILTER_DIRECTORY}</label> <label for="serendipity_only_path" class="visuallyhidden">{$CONST.FILTER_DIRECTORY}</label>
<select id="serendipity_only_path" name="serendipity[only_path]"> <select id="serendipity_only_path" name="serendipity[only_path]">
<option value="">{if NOT $media.limit_path}{$CONST.ALL_DIRECTORIES}{else}{$media.blimit_path}{/if}</option> <option value="">{if NOT $media.limit_path}{if $media.toggle_dir == 'yes'}{$CONST.BASE_DIRECTORY}{else}{$CONST.ALL_DIRECTORIES}{/if}{else}{$media.blimit_path}{/if}</option>
{foreach $media.paths AS $folderHead} {foreach $media.paths AS $folderHead}
<option{if ($media.only_path == $media.limit_path|cat:$folderHead.relpath)} selected{/if} value="{$folderHead.relpath}">{'&nbsp;'|str_repeat:($folderHead.depth*2)}{$folderHead.name}</option> <option{if ($media.only_path == $media.limit_path|cat:$folderHead.relpath)} selected{/if} value="{$folderHead.relpath}">{'&nbsp;'|str_repeat:($folderHead.depth*2)}{$folderHead.name}</option>
@ -35,12 +35,12 @@
<li id="media_dir_radio" class="media_select_strict"> <li id="media_dir_radio" class="media_select_strict">
<div class="clearfix"> <div class="clearfix">
<div class="form_radio"> <div class="form_radio">
<input id="radio_link_no" name="serendipity[toggle_dir]" type="radio" value="no" {'toggle_dir'|ifRemember:'no'}> <input id="radio_link_no" name="serendipity[toggle_dir]" type="radio" value="no" {if $media.toggle_dir == 'no'}checked="checked"{/if}>
<label for="radio_link_no">Strict {$CONST.NO}</label> <label for="radio_link_no">Strict {$CONST.NO}</label>
</div> </div>
<div class="form_radio"> <div class="form_radio">
<input id="radio_link_yes" name="serendipity[toggle_dir]" type="radio" value="yes" {'toggle_dir'|ifRemember:'yes':true}> <input id="radio_link_yes" name="serendipity[toggle_dir]" type="radio" value="yes" {if $media.toggle_dir == 'yes'}checked="checked"{/if}>
<label for="radio_link_yes">Strict {$CONST.YES}</label> <label for="radio_link_yes">Strict {$CONST.YES}</label>
</div> </div>
</div> </div>
@ -169,6 +169,8 @@
</fieldset> </fieldset>
<script> <script>
$(document).ready(function() { $(document).ready(function() {
// alert(serendipity.GetCookie('serendipity[only_path]'));
// write: is plain "foo", read: is "serendipity[foo]"!
{foreach $media.sortParams AS $sortParam} {foreach $media.sortParams AS $sortParam}
serendipity.SetCookie("sortorder_{$sortParam}","{$get_sortorder_{$sortParam}}"); serendipity.SetCookie("sortorder_{$sortParam}","{$get_sortorder_{$sortParam}}");
@ -178,6 +180,7 @@
serendipity.SetCookie("{$filterParam}", "{$get_{$filterParam}}"); serendipity.SetCookie("{$filterParam}", "{$get_{$filterParam}}");
{/foreach} {/foreach}
serendipity.SetCookie("serendipity_toggle_dir", "{$media.toggle_dir}");
}); });
</script> </script>
</form> </form>