From 8cd2537f7b44f7e2d319c659731ef72848ccd956 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Carlos=20Ra=C3=B1a?= Date: Thu, 17 Dec 2009 21:03:27 +0100 Subject: [PATCH] students can upload files to his shared folder --- main/document/document.inc.php | 15 +++++++++++ main/document/document.php | 43 ++++++++++++++++++++++++------- main/document/upload.php | 47 +++++++++++++++++++--------------- 3 files changed, 75 insertions(+), 30 deletions(-) diff --git a/main/document/document.inc.php b/main/document/document.inc.php index 24b08a8578..251d83b925 100644 --- a/main/document/document.inc.php +++ b/main/document/document.inc.php @@ -546,4 +546,19 @@ function create_dir_form() return $new_folder_text; } + +/** + * get if the user is in his shared folder + * @return return bool Return true when user is in his shared folder + */ + +function is_my_shared_folder($user_id, $path) +{ + if('/shared_folder/sf_user_'.$user_id==Security::remove_XSS($path)) + { + return true; + } + return false; +} + ?> diff --git a/main/document/document.php b/main/document/document.php index aa4b4ec7ca..1b066136cb 100644 --- a/main/document/document.php +++ b/main/document/document.php @@ -140,6 +140,9 @@ $dbl_click_id = 0; // used to avoid double-click $is_allowed_to_edit = api_is_allowed_to_edit(null,true); $group_member_with_upload_rights = false; + + + //if the group id is set, we show them group documents if(isset($_SESSION['_gid']) && $_SESSION['_gid']!='') { @@ -240,6 +243,21 @@ if (!(DocumentManager::is_visible($curdirpath, $_course)||$is_allowed_to_edit)){ $course_quota = DocumentManager::get_course_quota(); $current_session_id = api_get_session_id(); + +/* +----------------------------------------------------------- + Create the current user shared folder if no exist +----------------------------------------------------------- +*/ + +if (!file_exists($base_work_dir.'/shared_folder/sf_user_'.api_get_user_id())) +{ + $usf_dir_title=api_get_person_name($_user['firstName'], $_user['lastName']); + $usf_dir_name='/shared_folder/sf_user_'.api_get_user_id(); + $to_group_id=0; + create_unexisting_directory($_course,$_user['user_id'],$to_group_id,$to_user_id,$base_work_dir,$usf_dir_name,$usf_dir_title); +} + /* ============================================================================== MAIN SECTION @@ -760,6 +778,7 @@ if(isset($docs_and_folders) && is_array($docs_and_folders)) //data for checkbox if (($is_allowed_to_edit || $group_member_with_upload_rights) AND count($docs_and_folders)>1) { $row[] = $id['path']; + } // Show the Owner of the file only in groups @@ -824,22 +843,28 @@ else $column_show=array(); - - if ($is_allowed_to_edit || $group_member_with_upload_rights) + if ($is_allowed_to_edit || $group_member_with_upload_rights || is_my_shared_folder($_user['user_id'],$curdirpath))// TODO:check enable more options for shared folders { /* CREATE NEW DOCUMENT OR NEW DIRECTORY / GO TO UPLOAD / DOWNLOAD ZIPPED FOLDER */ ?> - -    + + +    + - -   + + +   - -   - + + +   + '; //show the form //Display::display_normal_message($new_folder_text, false); - + echo create_dir_form(); } @@ -517,7 +520,7 @@ echo '
'; echo ''.Display::return_icon('back.png',get_lang('BackTo').' '.get_lang('DocumentsOverview')).get_lang('BackTo').' '.get_lang('DocumentsOverview').''; // link to create a folder -if(!isset($_GET['createdir'])) +if(!isset($_GET['createdir']) && !is_my_shared_folder($_user['user_id'], $path)) { echo ''.Display::return_icon('folder_new.gif', get_lang('CreateDir')).get_lang('CreateDir').''; } @@ -525,7 +528,9 @@ echo '
'; //form to select directory $folders = DocumentManager::get_all_document_folders($_course,$to_group_id,$is_allowed_to_edit); + echo(build_directory_selector($folders,$path,$group_properties['directory'])); + ?>