diff --git a/main/document/document.inc.php b/main/document/document.inc.php
index 3dac8f5126..fe0e7213b4 100755
--- a/main/document/document.inc.php
+++ b/main/document/document.inc.php
@@ -101,7 +101,7 @@ function build_directory_selector($folders, $curdirpath, $group_dir = '', $chang
* @param int $show_as_icon - if it is true, only a clickable icon will be shown
* @return string url
*/
-function create_document_link($document_data, $show_as_icon = false, $counter = null) {
+function create_document_link($document_data, $show_as_icon = false, $counter = null, $visibility) {
global $dbl_click_id;
if (isset($_SESSION['_gid'])) {
$req_gid = '&gidReq='.$_SESSION['_gid'];
@@ -120,13 +120,13 @@ function create_document_link($document_data, $show_as_icon = false, $counter =
}
$filetype = $document_data['filetype'];
- $size = $filetype == 'folder' ? get_total_folder_size($document_data['path'], api_is_allowed_to_edit(null, true)) : $document_data['size'];
- $visibility = $document_data['visibility'];
+ $size = $filetype == 'folder' ? get_total_folder_size($document_data['path'], api_is_allowed_to_edit(null, true)) : $document_data['size'];
$path = $document_data['path'];
$url_path = urlencode($document_data['path']);
+
// Add class="invisible" on invisible files
- $visibility_class = ($visibility == 0) ? ' class="invisible"' : '';
+ $visibility_class = ($visibility == false) ? ' class="invisible"' : '';
if (!$show_as_icon) {
// Build download link (icon)
@@ -259,7 +259,11 @@ function create_document_link($document_data, $show_as_icon = false, $counter =
) {
//yox view
$url = 'showinframesmin.php?'.api_get_cidreq().'&id='.$document_data['id'].$req_gid;
- return ''.$title.''.$force_download_html.$copy_to_myfiles.$open_in_new_window_link.$pdf_icon;
+ $class = 'yoxview';
+ if ($visibility == false) {
+ $class = "yoxview invisible";
+ }
+ return ''.$title.''.$force_download_html.$copy_to_myfiles.$open_in_new_window_link.$pdf_icon;
} else {
$url = 'showinframes.php?'.api_get_cidreq().'&id='.$document_data['id'].$req_gid;
//No yoxview
@@ -434,8 +438,7 @@ function build_document_icon_tag($type, $path) {
* @param int $id dbase id of the document
* @return string html img tags with hyperlinks
*/
-//function build_edit_icons($document_data, $curdirpath, $type, $path, $visibility, $id, $is_template, $is_read_only = 0, $session_id = 0) {
-function build_edit_icons($document_data, $id, $is_template, $is_read_only = 0, $session_id = 0) {
+function build_edit_icons($document_data, $id, $is_template, $is_read_only = 0, $visibility) {
if (isset($_SESSION['_gid'])) {
$req_gid = '&gidReq='.$_SESSION['_gid'];
} else {
@@ -444,7 +447,7 @@ function build_edit_icons($document_data, $id, $is_template, $is_read_only = 0,
$document_id = $document_data['id'];
$type = $document_data['filetype'];
- $visibility = $document_data['visibility'];
+
$is_read_only = $document_data['readonly'];
$path = $document_data['path'];
$parent_id = DocumentManager::get_document_id(api_get_course_info(), dirname($path));
diff --git a/main/document/document.php b/main/document/document.php
index 11b7e5d7b9..3cf9ea71f5 100755
--- a/main/document/document.php
+++ b/main/document/document.php
@@ -893,8 +893,13 @@ if (isset($docs_and_folders) && is_array($docs_and_folders)) {
$row['type'] = $document_data['filetype'];
// If the item is invisible, wrap it in a span with class invisible
- $invisibility_span_open = ($document_data['visibility'] == 0) ? '' : '';
- $invisibility_span_close = ($document_data['visibility'] == 0) ? '' : '';
+
+ $is_visible = DocumentManager::is_visible_by_id($document_data['id'], $course_info, api_get_session_id(), api_get_user_id(), false);
+
+ $invisibility_span_open = ($is_visible == 0) ? '' : '';
+ $invisibility_span_close = ($is_visible == 0) ? '' : '';
+
+
// Size (or total size of a directory)
$size = $document_data['filetype'] == 'folder' ? get_total_folder_size($document_data['path'], $is_allowed_to_edit) : $document_data['size'];
@@ -942,7 +947,8 @@ if (isset($docs_and_folders) && is_array($docs_and_folders)) {
}
// Icons (clickable)
- $row[] = create_document_link($document_data, true, $count);
+ $row[] = create_document_link($document_data, true, $count, $is_visible);
+
$path_info = pathinfo($document_data['path']);
if (isset($path_info['extension']) && in_array($path_info['extension'], array('ogg', 'mp3','wav'))) {
@@ -952,8 +958,8 @@ if (isset($docs_and_folders) && is_array($docs_and_folders)) {
// Validacion when belongs to a session
$session_img = api_get_session_image($document_data['session_id'], $_user['status']);
- // Document title with hyperlink
- $row[] = create_document_link($document_data).$session_img.'
'.$invisibility_span_open.''.nl2br(htmlspecialchars($document_data['comment'],ENT_QUOTES,$charset)).''.$invisibility_span_close.$user_link;
+ // Document title with link
+ $row[] = create_document_link($document_data, false, null, $is_visible).$session_img.'
'.$invisibility_span_open.''.nl2br(htmlspecialchars($document_data['comment'],ENT_QUOTES,$charset)).''.$invisibility_span_close.$user_link;
// Comments => display comment under the document name
$display_size = format_file_size($size);
@@ -971,9 +977,9 @@ if (isset($docs_and_folders) && is_array($docs_and_folders)) {
$is_template = isset($document_data['is_template']) ? $document_data['is_template'] : false;
// If readonly, check if it the owner of the file or if the user is an admin
if ($document_data['insert_user_id'] == api_get_user_id() || api_is_platform_admin()) {
- $edit_icons = build_edit_icons($document_data, $key, $is_template, 0);
+ $edit_icons = build_edit_icons($document_data, $key, $is_template, 0, $is_visible);
} else {
- $edit_icons = build_edit_icons($document_data, $key, $is_template, $document_data['readonly']);
+ $edit_icons = build_edit_icons($document_data, $key, $is_template, $document_data['readonly'], $is_visible);
}
$row[] = $edit_icons;
}
diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php
index cb7632ef3d..4430abd4fa 100755
--- a/main/inc/lib/course.lib.php
+++ b/main/inc/lib/course.lib.php
@@ -2583,7 +2583,7 @@ class CourseManager {
echo '