Transform contextless strict/no-strict in ML

Follow up on d1baaf498377773e1803aaea729ee307adbf9cec and 7554623cffc4e6c0720209c8084f6dea444c6fd4, also moving this to the extended filterset.
This commit is contained in:
onli 2016-01-15 02:18:34 +01:00
parent 6001a9aaf4
commit 30982e446d
3 changed files with 29 additions and 25 deletions

View File

@ -46,7 +46,7 @@ function serendipity_isActiveFile($file) {
* @param boolean Apply strict directory checks, or include subdirectories?
* @return array Resultset of images
*/
function serendipity_fetchImagesFromDatabase($start=0, $limit=0, &$total=null, $order = false, $ordermode = false, $directory = '', $filename = '', $keywords = '', $filter = array(), $strict_directory = false) {
function serendipity_fetchImagesFromDatabase($start=0, $limit=0, &$total=null, $order = false, $ordermode = false, $directory = '', $filename = '', $keywords = '', $filter = array(), $hideSubdirFiles = false) {
global $serendipity;
$cond = array(
@ -75,12 +75,19 @@ function serendipity_fetchImagesFromDatabase($start=0, $limit=0, &$total=null, $
$limitsql = serendipity_db_limit_sql(serendipity_db_limit($start, $limit));
}
if ($strict_directory) {
$cond['parts']['directory'] = " AND i.path = '" . serendipity_db_escape_string($directory) . "'\n";
} elseif (!empty($directory)) {
$cond['parts']['directory'] = " AND i.path LIKE '" . serendipity_db_escape_string($directory) . "%'\n";
if ($hideSubdirFiles == false) {
if (!empty($directory)) {
$cond['parts']['directory'] = " AND i.path LIKE '" . serendipity_db_escape_string($directory) . "%'\n";
}
// if in root, having no directory set, the query fetches all files by default, meaning we are done
} else {
if (!empty($directory)) {
$cond['parts']['directory'] = " AND i.path LIKE '" . serendipity_db_escape_string($directory) . "%'\n";
} else {
$cond['parts']['directory'] = " AND i.path = ''\n";
}
}
if (!empty($filename)) {
$cond['parts']['filename'] = " AND (i.name like '%" . serendipity_db_escape_string($filename) . "%' OR
i.realname like '%" . serendipity_db_escape_string($filename) . "%')\n";
@ -1452,9 +1459,8 @@ function serendipity_displayImageList($page = 0, $lineBreak = NULL, $manage = fa
global $serendipity;
static $debug = false;
$extraParems = serendipity_generateImageSelectorParems();
$rootDirStrict = ($serendipity['GET']['toggle_dir'] == 'yes') ? true : false; // default
$extraParems = serendipity_generateImageSelectorParems();
$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']));
@ -1601,6 +1607,7 @@ function serendipity_displayImageList($page = 0, $lineBreak = NULL, $manage = fa
if (!isset($serendipity['GET']['filter'])) {
serendipity_restoreVar($serendipity['COOKIE']['filter'], $serendipity['GET']['filter']);
}
$serendipity['imageList'] = serendipity_fetchImagesFromDatabase(
$start,
$perPage,
@ -1611,7 +1618,7 @@ function serendipity_displayImageList($page = 0, $lineBreak = NULL, $manage = fa
(isset($serendipity['GET']['only_filename']) ? $serendipity['GET']['only_filename'] : ''),
(isset($serendipity['GET']['keywords']) ? $serendipity['GET']['keywords'] : ''),
(isset($serendipity['GET']['filter']) ? $serendipity['GET']['filter'] : ''),
$rootDirStrict
isset($serendipity['GET']['hideSubdirFiles'])
);
$pages = ceil($totalImages / $perPage);
@ -2945,7 +2952,7 @@ function serendipity_showMedia(&$file, &$paths, $url = '', $manage = false, $lin
'filter' => $serendipity['GET']['filter'],
'sort_order' => $order_fields,
'simpleFilters' => $serendipity['simpleFilters'],
'toggle_dir' => empty($serendipity['GET']['toggle_dir']) ? 'no' : $serendipity['GET']['toggle_dir'],
'hideSubdirFiles' => $serendipity['GET']['hideSubdirFiles'],
'authors' => serendipity_fetchUsers(),
'sort_row_interval' => array(8, 16, 50, 100),
'nr_files' => count($file),

View File

@ -8,3 +8,4 @@
@define('DIRECTORY_INFO', 'Directory info');
@define('DIRECTORY_INFO_DESC', 'Directories reflect their physical folder directory name. If you want to change or move directories which contain items, you have two choices. Either create the directory or subdirectory you want, then move the items to the new directory via the media library and afterwards, delete the empty old directory there. Or completely change the whole old directory via the edit directory button below and rename it to whatever you like (existing subdir/ + newname). This will move all directories and items and change referring blog entries.');
@define('MEDIA_RESIZE_EXISTS', 'File dimensions already exist!');
@define('HIDE_SUBDIR_FILES', 'Hide Files of Subdirectories');

View File

@ -39,19 +39,6 @@
<label for="serendipity[filter][fileCategory][Video]" class="media_selector button_link">{$CONST.VIDEO}</label>
</fieldset>
</li>
<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" {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" {if $media.toggle_dir == 'yes'}checked="checked"{/if}>
<label for="radio_link_yes">Strict {$CONST.YES}</label>
</div>
</div>
</li>
</ul>
<fieldset id="media_pane_filter" class="additional_info filter_pane">
@ -177,6 +164,15 @@
</select>
</div>
{if !$media.simpleFilters}
<div class="form_field">
<div class="form_radio">
<input type="checkbox" id="hide_subdir_files" name="serendipity[hideSubdirFiles]" {if $media.hideSubdirFiles}checked{/if} value="on">
<label for="hide_subdir_files">{$CONST.HIDE_SUBDIR_FILES}</label>
</div>
</div>
{/if}
</li>
</div>
<div class="form_buttons">
<input name="go" type="submit" value="{$CONST.GO}"> <input class="reset_media_filters" name="media_filters_reset" type="reset" value="Reset">
@ -198,7 +194,7 @@
serendipity.SetCookie("only_filename", "{$media.only_filename}");
serendipity.SetCookie("serendipity_toggle_dir", "{$media.toggle_dir}");
serendipity.SetCookie("hideSubdirFiles", "{$media.hideSubdirFiles}");
{foreach $media.filter AS $k => $v}
{if !is_array($media.filter[{$k}])}