@ -222,24 +222,46 @@ $course_quota = DocumentManager::get_course_quota();
$current_session_id = api_get_session_id();
/* Create shared folder */
/* Create shared folders */
if (!file_exists($base_work_dir.'/shared_folder')) {
$usf_dir_title = get_lang('SharedFolder');
$usf_dir_name = '/shared_folder';
$to_group_id = 0;
$visibility = 0;
create_unexisting_directory($_course, $_user['user_id'], $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
if($current_session_id==0){
//Create shared folder. Necessary for courses recycled. Allways session_id should be zero. Allway should be created from a base course, never from a session.
if (!file_exists($base_work_dir.'/shared_folder')) {
$usf_dir_title = get_lang('SharedFolder');
$usf_dir_name = '/shared_folder';
$to_group_id = 0;
$visibility = 0;
create_unexisting_directory($_course, $_user['user_id'], $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
}
// Create dynamic user shared folder
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;
$visibility = 1;
create_unexisting_directory($_course, $_user['user_id'], $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
}
}
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;
$visibility = 0;
create_unexisting_directory($_course, $_user['user_id'], $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
else{
//Create shared folder session
if (!file_exists($base_work_dir.'/shared_folder_session_'.$current_session_id)) {
$usf_dir_title = get_lang('SharedFolder').' ('.api_get_session_name($current_session_id).')';
$usf_dir_name = '/shared_folder_session_'.$current_session_id;
$to_group_id = 0;
$visibility = 0;
create_unexisting_directory($_course, $_user['user_id'], $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
}
//Create dynamic user shared folder into a shared folder session
if (!file_exists($base_work_dir.'/shared_folder_session_'.$current_session_id.'/sf_user_'.api_get_user_id())) {
$usf_dir_title = api_get_person_name($_user['firstName'], $_user['lastName']).' ('.api_get_session_name($current_session_id).')';
$usf_dir_name = '/shared_folder_session_'.$current_session_id.'/sf_user_'.api_get_user_id();
$to_group_id = 0;
$visibility = 1;
create_unexisting_directory($_course, $_user['user_id'], $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
}
}
/* MAIN SECTION */
if (isset($_GET['action']) & & $_GET['action'] == 'download') {
@ -277,13 +299,13 @@ if (isset($_GET['action']) && $_GET['action'] == 'download') {
// Download a folder
if (isset($_GET['action']) & & $_GET['action'] == 'downloadfolder' & & $curdirpath!='/' & & (api_get_setting('students_download_folders') == 'true' || api_is_allowed_to_edit() || api_is_platform_admin())) {
if (isset($_GET['action']) & & $_GET['action'] == 'downloadfolder' & & (api_get_setting('students_download_folders') == 'true' || api_is_allowed_to_edit() || api_is_platform_admin())) {
//filter when I am into shared folder, I can donwload only my shared folder
if(is_any_user_shared_folder($_GET['path']))
if(is_any_user_shared_folder($_GET['path'],$current_session_id ))
{
if(is_my_shared_folder($_user['user_id'], $_GET['path']) || api_is_allowed_to_edit() || api_is_platform_admin())
if(is_my_shared_folder($_user['user_id'], $_GET['path'], $current_session_id ) || api_is_allowed_to_edit() || api_is_platform_admin())
{
require 'downloadfolder.inc.php';
}
@ -323,12 +345,7 @@ if (!$is_certificate_mode) {
$dir_acum = '';
for ($i = 0; $i < $array_len; $i++) {
if ($dir_array[$i] == 'shared_folder') {
$dir_array[$i] = get_lang('SharedFolder');
} elseif (strpos($dir_array[$i], 'sf_user_') !== false) {
$userinfo = Database::get_user_info_from_id(substr($dir_array[$i], 8));
$dir_array[$i] = api_get_person_name($userinfo['firstname'], $userinfo['lastname']);
}
$url_dir = 'document.php?&curdirpath='.$dir_acum.$dir_array[$i];
@ -655,9 +672,11 @@ if ($is_certificate_mode && $curdirpath != '/certificates') {
}
if (isset($docs_and_folders) & & is_array($docs_and_folders)) {
//echo('< pre > ');
//print_r($docs_and_folders);
//echo('< / pre > ');
// Do we need the title field for the document name or not?
// We get the setting here, so we only have to do it once
$use_document_title = api_get_setting('use_document_title');
@ -676,15 +695,7 @@ if (isset($docs_and_folders) && is_array($docs_and_folders)) {
if ($use_document_title == 'true' & & $id['title'] != '') {
$document_name = $id['title'];
} else {
$document_name = basename($id['path']);
// Juan Carlos Raña: Get firstname and lastname when folder is in shared_folder.
// TODO: Check if is also necessary (above else)
if (strstr($document_name, 'sf_user_')) {
$userinfo = Database::get_user_info_from_id(substr($document_name, 8));
$document_name = api_get_person_name($userinfo['firstname'], $userinfo['lastname']);
} elseif (strpos($document_name, 'shared_folder') !== false) {
$document_name = get_lang('SharedFolder');
}
$document_name = basename($id['path']);
}
// Data for checkbox
if (($is_allowed_to_edit || $group_member_with_upload_rights) & & count($docs_and_folders) > 1) {
@ -746,13 +757,13 @@ if (isset($docs_and_folders) && is_array($docs_and_folders)) {
$column_show = array();
if ($is_allowed_to_edit || $group_member_with_upload_rights || is_my_shared_folder($_user['user_id'], $curdirpath)) {
if ($is_allowed_to_edit || $group_member_with_upload_rights || is_my_shared_folder($_user['user_id'], $curdirpath, $current_session_id )) {
// @ TODO:check enable more options for shared folders
// TODO:check enable more options for shared folders
/* CREATE NEW DOCUMENT OR NEW DIRECTORY / GO TO UPLOAD / DOWNLOAD ZIPPED FOLDER */
// Create new document
if (!$is_certificate_mode & & !is_my_shared_folder($_user['user_id'], $curdirpath)) {
if (!$is_certificate_mode & & !is_my_shared_folder($_user['user_id'], $curdirpath, $current_session_id )) {
?>
< a href = "create_document.php? <?php echo api_get_cidreq (); ?> &dir= <?php echo $curdirpathurl . $req_gid ; ?> " >
<?php Display :: display_icon ( 'filenew.gif' , get_lang ( 'CreateDoc' )); echo get_lang ( 'CreateDoc' ); ?> </ a >
@ -775,7 +786,7 @@ if ($is_allowed_to_edit || $group_member_with_upload_rights || is_my_shared_fold
<?php
// Create directory
if (!$is_certificate_mode & & !is_my_shared_folder($_user['user_id'], $curdirpath)) {
if (!$is_certificate_mode & & !is_my_shared_folder($_user['user_id'], $curdirpath, $current_session_id )) {
?>
< a href = " <?php echo api_get_self (); ?> ? <?php echo api_get_cidreq (); ?> &curdirpath= <?php echo $curdirpathurl . $req_gid ; ?> &createdir=1" >
<?php Display :: display_icon ( 'folder_new.gif' , get_lang ( 'CreateDir' )); echo get_lang ( 'CreateDir' ); ?> </ a >
@ -792,7 +803,7 @@ if (!is_null($docs_and_folders)) {
if (!$is_certificate_mode & & $total_size != 0 & & (api_get_setting('students_download_folders') == 'true' || api_is_allowed_to_edit() || api_is_platform_admin())) {
//don't show icon into shared folder, and don´t show into main path (root)
if (!is_shared_folder($curdirpath) & & $curdirpath!='/' || api_is_allowed_to_edit() || api_is_platform_admin())
if (!is_shared_folder($curdirpath, $current_session_id ) & & $curdirpath!='/' || api_is_allowed_to_edit() || api_is_platform_admin())
{
echo '< a href = "'.api_get_self().'?'.api_get_cidreq().'&action=downloadfolder&path='.$curdirpathurl.'" > '.Display::display_icon('zip_save.gif', get_lang('Save').' (ZIP)'). get_lang('Save').' (ZIP)< / a >  ';
}
@ -878,4 +889,5 @@ if (!empty($table_footer)) {
}
// Footer
Display::display_footer();
Display::display_footer()
?>