allow array items for SetCookie and now use a ML-Filter cookie

(We will have to decide before release, if we want to keep this, though.)
This commit is contained in:
Ian 2015-10-29 12:08:33 +01:00
parent 98acb4963d
commit 897337cb8e
3 changed files with 23 additions and 3 deletions

View File

@ -1597,6 +1597,10 @@ function serendipity_displayImageList($page = 0, $lineBreak = NULL, $manage = fa
## Aply ACL afterwards:
serendipity_directoryACL($paths, 'read');
// set remember filter settings for SetCookie
if (!isset($serendipity['GET']['filter'])) {
serendipity_restoreVar($serendipity['COOKIE']['filter'], $serendipity['GET']['filter']);
}
$serendipity['imageList'] = serendipity_fetchImagesFromDatabase(
$start,
$perPage,

View File

@ -102,7 +102,7 @@
</div>
{/if}
</div>{* media filter end *}
</div>
{/foreach}
<div id="media_filter_file" class="form_field {if $media.simpleFilters}center{else}left{/if}">
@ -122,7 +122,7 @@
{/foreach}
</div>
</div>
</div>{* media filter end *}
</fieldset>
<fieldset id="media_pane_sort" class="additional_info filter_pane">
@ -178,6 +178,17 @@
{/foreach}
serendipity.SetCookie("serendipity_toggle_dir", "{$media.toggle_dir}");
{foreach $media.filter AS $k => $v}
{if !is_array($media.filter[{$k}])}
serendipity.SetCookie("[filter][{$k}]", "{$media.filter[{$k}]}");
{else}
{foreach $media.filter[{$k}] AS $key => $val}
serendipity.SetCookie("[filter][{$k}][{$key}]", "{$media.filter[{$k}][{$key}]}");
{/foreach}
{/if}
{/foreach}
$('#media_pane_filter').find('.reset_media_filters').addClass('reset_filter');
$('#media_pane_sort').find('.reset_media_filters').addClass('reset_sort');

View File

@ -26,7 +26,12 @@
var today = new Date();
var expire = new Date();
expire.setTime(today.getTime() + (60*60*24*30*1000));
document.cookie = 'serendipity[' + name + ']='+escape(value) + ';expires=' + expire.toGMTString();
// get array like or simple string argument items
if (name.indexOf("[") != -1) {
document.cookie = 'serendipity' + name + '=' + escape(value) + ';expires=' + expire.toGMTString();
} else {
document.cookie = 'serendipity[' + name + ']=' + escape(value) + ';expires=' + expire.toGMTString();
}
}
serendipity.GetCookie = function(name) {