diff --git a/main/coursecopy/classes/CourseRestorer.class.php b/main/coursecopy/classes/CourseRestorer.class.php index b49c4f41f1..5ffd8dfc69 100755 --- a/main/coursecopy/classes/CourseRestorer.class.php +++ b/main/coursecopy/classes/CourseRestorer.class.php @@ -197,18 +197,30 @@ class CourseRestorer $perm = api_get_setting('permissions_for_new_directories'); $perm = octdec(!empty($perm)?$perm:0770); $dirs = explode('/', dirname($document->path)); - if (count($dirs)==1) { - if ($this->file_type==FOLDER) { - $new = substr($document->path, 8); - $created_dir = create_unexisting_directory($destination_course,api_get_user_id(),0, 0 ,$path.'document',$new,basename($new)); - } - } else { + + //if (count($dirs)==1) { + + if ($document->file_type==FOLDER) { + $visibility = $document->item_properties[0]['visibility']; + $new = substr($document->path, 8); + if (!is_dir($path.'document/'.$new)) { + $sql = "SELECT id FROM ".$table." WHERE path='/".Database::escape_string($new)."'"; + $res = Database::query($sql, __FILE__, __LINE__); + $num_result = Database::num_rows($res); + if ($num_result==0) { + $created_dir = create_unexisting_directory($destination_course,api_get_user_id(),0, 0 ,$path.'document',$new,basename($new),$visibility); + } + } + } + + //} + /* + else { $my_temp = ''; for ($i=1; $i<=count($dirs); $i++) { $my_temp .= $dirs[$i]; if (!is_dir($path.'document/'.$my_temp)) { $sql = "SELECT id FROM ".$table." WHERE path='/".Database::escape_string($my_temp)."'"; - //echo '
'; $res = Database::query($sql, __FILE__, __LINE__); $num_result = Database::num_rows($res); if ($num_result==0) { @@ -218,6 +230,7 @@ class CourseRestorer $my_temp .= '/'; } } + */ /* echo '
'; echo '------------------------'; diff --git a/main/inc/lib/fileUpload.lib.php b/main/inc/lib/fileUpload.lib.php index 446392be11..2440fe0492 100755 --- a/main/inc/lib/fileUpload.lib.php +++ b/main/inc/lib/fileUpload.lib.php @@ -1380,7 +1380,7 @@ function search_img_from_html($htmlFile) * boolean false otherwise */ -function create_unexisting_directory($_course,$user_id,$to_group_id,$to_user_id,$base_work_dir,$desired_dir_name, $title = null) +function create_unexisting_directory($_course,$user_id,$to_group_id,$to_user_id,$base_work_dir,$desired_dir_name, $title = null, $visibility = '') { $nb = ''; while ( file_exists($base_work_dir.$desired_dir_name.$nb) ) @@ -1400,8 +1400,13 @@ function create_unexisting_directory($_course,$user_id,$to_group_id,$to_user_id, if ($document_id) { //update document item_property - $current_session_id = api_get_session_id(); - api_item_property_update($_course,TOOL_DOCUMENT,$document_id,'FolderCreated',$user_id,$to_group_id,$to_user_id,null,null,$current_session_id); + $current_session_id = api_get_session_id(); + if ($visibility !== '') { + $visibilities = array(0 => 'invisible', 1 => 'visible', 2 => 'delete'); + api_item_property_update($_course,TOOL_DOCUMENT,$document_id,$visibilities[$visibility],$user_id,$to_group_id,$to_user_id,null,null,$current_session_id); + } else { + api_item_property_update($_course,TOOL_DOCUMENT,$document_id,'FolderCreated',$user_id,$to_group_id,$to_user_id,null,null,$current_session_id); + } return $desired_dir_name.$nb; } }