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();
}
// 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
if (!is_array($serendipity['POST']) && $serendipity['GET']['adminAction'] == 'multidelete') {
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']) {
@ -72,7 +81,6 @@ switch ($serendipity['GET']['adminAction']) {
unset($messages);
break;
case 'doMultiDelete':
if (!serendipity_checkFormToken() || !serendipity_checkPermission('adminImagesDelete')) {
break;

View File

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

View File

@ -12,7 +12,7 @@
<div class="form_select">
<label for="serendipity_only_path" class="visuallyhidden">{$CONST.FILTER_DIRECTORY}</label>
<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}
<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">
<div class="clearfix">
<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>
</div>
<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>
</div>
</div>
@ -169,6 +169,8 @@
</fieldset>
<script>
$(document).ready(function() {
// alert(serendipity.GetCookie('serendipity[only_path]'));
// write: is plain "foo", read: is "serendipity[foo]"!
{foreach $media.sortParams AS $sortParam}
serendipity.SetCookie("sortorder_{$sortParam}","{$get_sortorder_{$sortParam}}");
@ -178,6 +180,7 @@
serendipity.SetCookie("{$filterParam}", "{$get_{$filterParam}}");
{/foreach}
serendipity.SetCookie("serendipity_toggle_dir", "{$media.toggle_dir}");
});
</script>
</form>