From 3c3ead2610f6d030656e340e02769ae8d892f20a Mon Sep 17 00:00:00 2001
From: garvinhicking <garvinhicking>
Date: Wed, 16 Aug 2006 10:39:06 +0000
Subject: [PATCH] Patch by Matthew: Allow strict dirs

---
 include/functions_images.inc.php | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/include/functions_images.inc.php b/include/functions_images.inc.php
index 782f964..eaa9c5c 100644
--- a/include/functions_images.inc.php
+++ b/include/functions_images.inc.php
@@ -36,9 +36,11 @@ function serendipity_isActiveFile($file) {
  * @param   string  Only fetch files from a specific directory
  * @param   string  Only fetch specific filenames
  * @param   string  Only fetch media with specific keyword
+ * @param   array   An array of restricting filter sets
+ * @param   boolean Apply strict directory checks, or include subdirectories?
  * @return  array   Resultset of images
  */
-function serendipity_fetchImagesFromDatabase($start=0, $limit=0, &$total, $order = false, $ordermode = false, $directory = '', $filename = '', $keywords = '', $filter = array()) {
+function serendipity_fetchImagesFromDatabase($start=0, $limit=0, &$total, $order = false, $ordermode = false, $directory = '', $filename = '', $keywords = '', $filter = array(), $strict_directory = false) {
     global $serendipity;
 
     $cond = array(
@@ -68,7 +70,11 @@ function serendipity_fetchImagesFromDatabase($start=0, $limit=0, &$total, $order
     }
 
     if (!empty($directory)) {
-        $cond['parts']['directory'] = " AND i.path LIKE '" . serendipity_db_escape_string($directory) . "%'\n";
+        if ($strict_directory) {
+            $cond['parts']['directory'] = " AND i.path = '" . serendipity_db_escape_string($directory) . "'\n";
+        } else {
+            $cond['parts']['directory'] = " AND i.path LIKE '" . serendipity_db_escape_string($directory) . "%'\n";
+        }
     }
 
     if (!empty($filename)) {
-- 
2.39.5