From aff2b96895992ae3b1043847d45218e798070d7e Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Mon, 23 Feb 2009 15:55:33 +0100 Subject: [PATCH] [svn r18631] Fixing SVN#18553 and rewrite permissions settings see FS#2867 --- .../ImageManager/Classes/ImageManager.php | 12 ++++------ .../inc/lib/fckeditor/repositories_config.php | 23 +++++++++---------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/main/inc/lib/fckeditor/editor/plugins/ImageManager/Classes/ImageManager.php b/main/inc/lib/fckeditor/editor/plugins/ImageManager/Classes/ImageManager.php index 6de28d4a6e..b279358514 100644 --- a/main/inc/lib/fckeditor/editor/plugins/ImageManager/Classes/ImageManager.php +++ b/main/inc/lib/fckeditor/editor/plugins/ImageManager/Classes/ImageManager.php @@ -146,17 +146,15 @@ class ImageManager continue; } - if (strpos($fullpath, '/shared_folder/') !== false) - { - if (!preg_match('/.*\/shared_folder\/$/', $fullpath)) - { + /* if (strpos($fullpath, '/shared_folder/') !== false) { + if (!preg_match('/.*\/shared_folder\/$/', $fullpath)) { //all students can see the shared_folder - if (strpos($fullpath, '/shared_folder/sf_user_'.$user_id.'/') === true) { + if (strpos($fullpath, '/shared_folder/sf_user_'.$user_id.'/') !== false) { continue; } } - } - + } + */ $dirs[$relative] = $fullpath; $dirs = array_merge($dirs, $this->_dirs($fullpath, $relative)); } diff --git a/main/inc/lib/fckeditor/repositories_config.php b/main/inc/lib/fckeditor/repositories_config.php index 08003587d7..8013e3891a 100644 --- a/main/inc/lib/fckeditor/repositories_config.php +++ b/main/inc/lib/fckeditor/repositories_config.php @@ -8,13 +8,12 @@ require_once api_get_path(LIBRARY_PATH).'/fileUpload.lib.php'; $permissions_for_new_directories = api_get_setting('permissions_for_new_directories'); -$permissions_for_new_directories = octdec(!empty($permissions_for_new_directories) ? $permissions_for_new_directories : '0777'); +$permissions_for_new_directories = octdec(!empty($permissions_for_new_directories) ? $permissions_for_new_directories : octdec(0777)); $permissions_for_new_files = api_get_setting('permissions_for_new_files'); -$permissions_for_new_files = octdec(!empty($permissions_for_new_files) ? $permissions_for_new_files : '0777'); +$permissions_for_new_files = octdec(!empty($permissions_for_new_files) ? $permissions_for_new_files : octdec(0777)); -if (!empty($_course['path'])) -{ +if (!empty($_course['path'])) { require_once api_get_path(LIBRARY_PATH).'/document.lib.php'; require_once api_get_path(LIBRARY_PATH).'/groupmanager.lib.php'; @@ -31,24 +30,25 @@ $user_folder = api_get_path(SYS_PATH).'main/upload/users/'.api_get_user_id().'/m // Creation of a user owned folder if it does not exist. if (!file_exists($user_folder)) { // A recursive call of mkdir function. - @mkdir(api_get_path(SYS_PATH).'main/upload/users/'.api_get_user_id().'/my_files/', 0777, true); + @mkdir($user_folder, 0777, true); + chmod($user_folder, $permissions_for_new_directories); } // Creation of repository used by paltform administrators if it does not exist. if (api_is_platform_admin()) { $homepage_folder = api_get_path(SYS_PATH).'home/default_platform_document/'; - - if (!file_exists($homepage_folder)) { - @mkdir(api_get_path(SYS_PATH).'home/default_platform_document/', 0777); + if (!file_exists($homepage_folder)) { + @mkdir($homepage_folder); + chmod($homepage_folder, $permissions_for_new_directories); } } // Creation in the course document repository of a shared folder if it does not exist. if (api_is_in_course()) { $course_shared_folder = api_get_path(SYS_PATH).'courses/'.$_course['path'].'/document/shared_folder/'; - - if (!file_exists($course_shared_folder)) { - @mkdir(api_get_path(SYS_PATH).'courses/'.$_course['path'].'/document/shared_folder/', 0777); + if (!file_exists($course_shared_folder)) { + @mkdir($course_shared_folder); + chmod($course_shared_folder, $permissions_for_new_directories); $doc_id = add_document($_course, '/shared_folder', 'folder', 0, 'shared_folder'); api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'FolderCreated', api_get_user_id()); api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'invisible', api_get_user_id()); @@ -56,7 +56,6 @@ if (api_is_in_course()) { // Added by Ivan Tcholakov. // When the current user is inside a course, his/her own hidden folder is created (if it does not exist) under shared_folder. - if (!file_exists($course_shared_folder.'sf_user_'.api_get_user_id())) { //@todo call the create_unexisting_directory function and replace this code Julio Montoya $new_user_dir = api_get_path(SYS_PATH).'courses/'.$_course['path'].'/document/shared_folder/sf_user_'.api_get_user_id().'/';