1
0

Transform contextless strict/no-strict in ML

Follow up on d1baaf4983 and 7554623cff, 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),