Fixing php notices and document list bug when adding default course content

skala
Julio Montoya 13 years ago
parent e16a5508f6
commit da115d7767
  1. 14
      main/inc/lib/course.lib.php
  2. 2
      main/inc/lib/database.constants.inc.php
  3. 26
      main/inc/lib/document.lib.php

@ -3902,7 +3902,7 @@ class CourseManager {
static function sort_pictures($files, $type) {
$pictures = array();
foreach ($files as $key => $value){
if ($value[$type] != '') {
if (isset($value[$type]) && !empty($value[$type])) {
$pictures[][$type] = $value[$type];
}
}
@ -3933,7 +3933,7 @@ class CourseManager {
$audio_code_path = api_get_path(SYS_CODE_PATH).'default_course_document/audio/';
$flash_code_path = api_get_path(SYS_CODE_PATH).'default_course_document/flash/';
$video_code_path = api_get_path(SYS_CODE_PATH).'default_course_document/video/';
$cert_code_path = api_get_path(SYS_CODE_PATH).'default_course_document/certificates/';
$cert_code_path = api_get_path(SYS_CODE_PATH).'default_course_document/certificates/';
$course_documents_folder_images = $sys_course_path.$course_repository.'/document/images/gallery/';
$course_documents_folder_audio = $sys_course_path.$course_repository.'/document/audio/';
@ -3942,7 +3942,7 @@ class CourseManager {
$course_documents_folder_cert = $sys_course_path.$course_repository.'/document/certificates/';
/* Images */
$files = self::browse_folders($img_code_path, $files, 'images');
$files = self::browse_folders($img_code_path, array(), 'images');
$pictures_array = self::sort_pictures($files, 'dir');
$pictures_array = array_merge($pictures_array, self::sort_pictures($files, 'file'));
@ -4271,14 +4271,12 @@ class CourseManager {
$default_document_array = array();
foreach ($folders_to_copy_from_default_course as $folder) {
$default_course_folder_path = $default_course_path.$folder.'/';
$files = browse_folders($default_course_folder_path, array(), $folder);
$sorted_array = sort_pictures($files, 'dir');
$sorted_array = array_merge($sorted_array, sort_pictures($files, 'file'));
$files = self::browse_folders($default_course_folder_path, array(), $folder);
$sorted_array = self::sort_pictures($files, 'dir');
$sorted_array = array_merge($sorted_array, self::sort_pictures($files, 'file'));
$default_document_array[$folder] = $sorted_array;
}
//echo '<pre>'; print_r($default_document_array);exit;
//Light protection (adding index.html in every document folder)
$htmlpage = "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\">\n <title>Not authorized</title>\n </head>\n <body>\n </body>\n</html>";

@ -73,7 +73,7 @@ define('TABLE_MAIN_USER_REL_TAG', 'user_rel_tag');
define('TABLE_MAIN_GROUP', 'groups');
define('TABLE_MAIN_USER_REL_GROUP', 'group_rel_user');
define('TABLE_MAIN_GROUP_REL_TAG', 'group_rel_tag');
define('TABLE_MAIN_GROUP_REL_GROUP', 'group_rel_group');
define('TABLE_MAIN_GROUP_REL_GROUP', 'group_rel_group');
// Search engine
define('TABLE_MAIN_SPECIFIC_FIELD', 'specific_field');

@ -469,14 +469,16 @@ class DocumentManager
$_course,
$path = '/',
$to_group_id = 0,
$to_user_id = null,
$to_user_id = 0,
$can_see_invisible = false,
$search = false
) {
$TABLE_ITEMPROPERTY = Database::get_course_table(TABLE_ITEM_PROPERTY);
$TABLE_DOCUMENT = Database::get_course_table(TABLE_DOCUMENT);
if (!is_null($to_user_id)) {
$to_user_id = Database::escape_string($to_user_id);
if (!empty($to_user_id)) {
$to_field = 'last.to_user_id';
$to_value = $to_user_id;
} else {
@ -486,7 +488,7 @@ class DocumentManager
//escape underscores in the path so they don't act as a wildcard
$path = Database::escape_string(str_replace('_', '\_', $path));
$to_user_id = Database::escape_string($to_user_id);
$to_value = Database::escape_string($to_value);
$visibility_bit = ' <> 2';
@ -497,8 +499,7 @@ class DocumentManager
//condition for the session
$current_session_id = api_get_session_id();
$condition_session = " AND (id_session = '$current_session_id' OR id_session = '0')";
$condition_session = " AND (id_session = '$current_session_id' OR id_session = '0' OR id_session IS NULL)";
//condition for search (get ALL folders and documents)
$sql = "SELECT docs.id,
@ -513,14 +514,13 @@ class DocumentManager
last.lastedit_date,
last.visibility,
last.insert_user_id
FROM ".$TABLE_ITEMPROPERTY." AS last INNER JOIN ".$TABLE_DOCUMENT." AS docs
ON (docs.id = last.ref AND last.tool = '".TOOL_DOCUMENT."' AND docs.c_id = {$_course['real_id']} AND last.c_id = {$_course['real_id']})
WHERE
docs.path LIKE '".$path.$added_slash."%' AND
docs.path NOT LIKE '".$path.$added_slash."%/%' AND
".$to_field." = ".$to_value." AND
last.visibility".$visibility_bit.$condition_session;
FROM ".$TABLE_ITEMPROPERTY." AS last INNER JOIN ".$TABLE_DOCUMENT." AS docs
ON (docs.id = last.ref AND last.tool = '".TOOL_DOCUMENT."' AND docs.c_id = {$_course['real_id']} AND last.c_id = {$_course['real_id']})
WHERE
docs.path LIKE '".$path.$added_slash."%' AND
docs.path NOT LIKE '".$path.$added_slash."%/%' AND
".$to_field." = ".$to_value." AND
last.visibility".$visibility_bit.$condition_session;
$result = Database::query($sql);
$doc_list = array();

Loading…
Cancel
Save