### Eclipse Workspace Patch 1.0
#P moodle
Index: lib/moodlelib.php
===================================================================
RCS file: /cvsroot/moodle/moodle/lib/moodlelib.php,v
retrieving revision 1.960.2.132
diff -u -r1.960.2.132 moodlelib.php
--- lib/moodlelib.php	15 May 2009 07:22:23 -0000	1.960.2.132
+++ lib/moodlelib.php	10 Jun 2009 06:23:56 -0000
@@ -7572,6 +7572,7 @@
                         //override existing files
                         unlink($descfile);
                     }
+                    mkdirs(cleardoubleslashes($fullfile), cleardoubleslashes($descfile));
                     rename($fullfile, $descfile);
                     chmod($descfile, $filepermissions);
                 }
@@ -7581,6 +7582,29 @@
     }
 }
 
+function mkdirs($tempdir, $dir) {
+	//This function creates directories from files
+	//Is needded to move from dataRoot to other directory with subfolders
+  if( is_null($tempdir) || $tempdir === "" || is_null($dir) || $dir === "" ){
+	   return FALSE;
+  }
+  if( is_dir($dir) || $dir === "/" ){
+    return TRUE;
+  }
+  if (is_dir($tempdir)){
+	  if(mkdirs(dirname($tempdir), dirname($dir)) ){
+	  	global $CFG;  
+	    return mkdir($dir, $CFG->directorypermissions);
+	  }
+  } else {
+  	if (is_file($tempdir))
+  		return mkdirs(dirname($tempdir), dirname($dir));
+  	else 
+  		return FALSE;
+  }
+  return FALSE;
+}
+
 function unzip_cleanfilename ($p_event, &$p_header) {
 //This function is used as callback in unzip_file() function
 //to clean illegal characters for given platform and to prevent directory traversal.

