As the $rootpath is concatenated with the $relpath, we would end with a
path like course_files//file.txt. Such a path is detected as not-valid
later and an error would be thrown.
So the patch makes sure that the trailing slash is cut off and a
debugging for the developer is displayed.
*/
public function migrate_directory($rootpath, $relpath='/') {
+ // Check the trailing slash in the $rootpath
+ if (substr($rootpath, -1) === '/') {
+ debugging('moodle1_file_manager::migrate_directory() expects $rootpath without the trailing slash', DEBUG_DEVELOPER);
+ $rootpath = substr($rootpath, 0, strlen($rootpath) - 1);
+ }
+
if (!file_exists($this->basepath.'/'.$rootpath.$relpath)) {
return array();
}