diff --git a/main/css/base.css b/main/css/base.css index a6b5c5f4df..681ad0a875 100644 --- a/main/css/base.css +++ b/main/css/base.css @@ -4259,6 +4259,10 @@ footer { float:left; } +.doc_folder_hidden { + color : grey; +} + .doc_resource{ margin: 5px; width: 100%; diff --git a/main/inc/lib/document.lib.php b/main/inc/lib/document.lib.php index 98b2cec75a..53411265fd 100644 --- a/main/inc/lib/document.lib.php +++ b/main/inc/lib/document.lib.php @@ -2687,13 +2687,19 @@ class DocumentManager { $add_folder_filter = " AND docs.path LIKE '" . Database::escape_string($filter_by_folder) . "%'"; } + // If we are in LP display hidden folder https://support.chamilo.org/issues/6679 + $lp_visibility_condition = ""; + if ($lp_id) { + $lp_visibility_condition = " OR filetype='folder'"; + } + $sql_doc = "SELECT last.visibility, docs.* FROM $tbl_item_prop AS last, $tbl_doc AS docs WHERE docs.id = last.ref AND docs.path LIKE '" . $path . $added_slash . "%' AND docs.path NOT LIKE '%_DELETED_%' AND last.tool = '" . TOOL_DOCUMENT . "' $condition_session AND - last.visibility = '1' AND + (last.visibility = '1' $lp_visibility_condition) AND docs.c_id = {$course_info['real_id']} AND last.c_id = {$course_info['real_id']} $add_folder_filter @@ -2760,6 +2766,7 @@ class DocumentManager { } else { eval('$resources_sorted' . $path_to_eval . '["' . $last_path . '"]["id"]=' . $resource['id'] . ';'); eval('$resources_sorted' . $path_to_eval . '["' . $last_path . '"]["title"]= "' . api_htmlentities($resource['title']) . '";'); + eval('$resources_sorted' . $path_to_eval . '["' . $last_path . '"]["visible"]= "'.$resource['visibility'].'";'); // for LP display hidden folder in grey } } } @@ -2808,6 +2815,7 @@ class DocumentManager { if (!$user_in_course) { $return = ''; } + return $return; } @@ -2834,7 +2842,6 @@ class DocumentManager { if (empty($title)) { $title = $key; } - //echo '
'; print_r($resource);
                 if (isset($resource['id']) && is_int($resource['id'])) {
                     // It's a folder.
                     //hide some folders
@@ -2863,12 +2870,17 @@ class DocumentManager {
 
                     $onclick = '';
 
+                    // if in LP, hidden folder are displayed in grey
+                    $folder_class_hidden = "";
                     if ($lp_id) {
+                        if (isset($resource['visible']) && $resource['visible'] == 0) {
+                            $folder_class_hidden = "doc_folder_hidden"; // in base.css
+                        }
                         $onclick = 'onclick="javascript: testResources(\'res_' . $resource['id'] . '\',\'img_' . $resource['id'] . '\')"';
                     }
 
                     $return .= '