From 0ca8f9b2d759777fdf367b61d1c6fca1a331058d Mon Sep 17 00:00:00 2001 From: Angie Byron <webchick@24967.no-reply.drupal.org> Date: Fri, 9 Oct 2009 18:38:52 +0000 Subject: [PATCH] #573292 by eMPee584: Allow enable file_unmanaged_delete() to handle stream wrapper URIs. --- includes/file.inc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/includes/file.inc b/includes/file.inc index 7729544f1724..0ff21f25bb16 100644 --- a/includes/file.inc +++ b/includes/file.inc @@ -948,7 +948,7 @@ function file_delete(stdClass $file, $force = FALSE) { * entry recorded in the files table. * * @param $path - * A string containing a filepath or URI. + * A string containing a file path or (streamwrapper) URI. * @return * TRUE for success or path does not exist, or FALSE in the event of an * error. @@ -957,6 +957,8 @@ function file_delete(stdClass $file, $force = FALSE) { * @see file_unmanaged_delete_recursive() */ function file_unmanaged_delete($path) { + // Resolve streamwrapper URI to local path. + $path = drupal_realpath($path); if (is_dir($path)) { watchdog('file', '%path is a directory and cannot be removed using file_unmanaged_delete().', array('%path' => $path), WATCHDOG_ERROR); return FALSE; @@ -989,14 +991,16 @@ function file_unmanaged_delete($path) { * Note that this only deletes visible files with write permission. * * @param $path - * A string containing a URI, filepath. or directory path. + * A string containing eiher an URI or a file or directory path. * @return - * TRUE for success or path does not exist, or FALSE in the event of an + * TRUE for success or if path does not exist, FALSE in the event of an * error. * * @see file_unmanaged_delete() */ function file_unmanaged_delete_recursive($path) { + // Resolve streamwrapper URI to local path. + $path = drupal_realpath($path); if (is_dir($path)) { $dir = dir($path); while (($entry = $dir->read()) !== FALSE) { -- GitLab