diff --git a/main/inc/lib/api.lib.php b/main/inc/lib/api.lib.php index 835ae76ce8..3c6053f469 100644 --- a/main/inc/lib/api.lib.php +++ b/main/inc/lib/api.lib.php @@ -6870,12 +6870,13 @@ function api_is_global_chat_enabled() * @param int $group_id * @param array $courseInfo */ -function api_set_default_visibility($item_id, $tool_id, $group_id = 0, $courseInfo = array(), $sessionId = null) +function api_set_default_visibility($item_id, $tool_id, $group_id = 0, $courseInfo = array(), $sessionId = 0, $userId = 0) { $courseInfo = empty($courseInfo) ? api_get_course_info() : $courseInfo; $courseId = $courseInfo['real_id']; $courseCode = $courseInfo['code']; $sessionId = empty($sessionId) ? api_get_session_id() : $sessionId; + $userId = empty($userId) ? api_get_user_id() : $userId; $original_tool_id = $tool_id; @@ -6924,7 +6925,7 @@ function api_set_default_visibility($item_id, $tool_id, $group_id = 0, $courseIn $original_tool_id, $item_id, $visibility, - api_get_user_id(), + $userId, $group_id, null, null, diff --git a/main/inc/lib/fileUpload.lib.php b/main/inc/lib/fileUpload.lib.php index 6f9b0ffe55..e015677b70 100755 --- a/main/inc/lib/fileUpload.lib.php +++ b/main/inc/lib/fileUpload.lib.php @@ -1201,6 +1201,8 @@ function filter_extension(&$filename) * @param bool $save_visibility * @param int $group_id * @param int $session_id Session ID, if any + * @param int $userId creator id + * * @return int id if inserted document */ function add_document( @@ -1213,13 +1215,11 @@ function add_document( $readonly = 0, $save_visibility = true, $group_id = null, - $session_id = 0 + $session_id = 0, + $userId = 0 ) { - $session_id = intval($session_id); - - if (empty($session_id)) { - $session_id = api_get_session_id(); - } + $session_id = empty($session_id) ? api_get_session_id() : $session_id; + $userId = empty($userId) ? api_get_user_id() : $userId; $readonly = intval($readonly); $c_id = $_course['real_id']; @@ -1241,7 +1241,7 @@ function add_document( Database::query($sql); if ($save_visibility) { - api_set_default_visibility($documentId, TOOL_DOCUMENT, $group_id, $_course); + api_set_default_visibility($documentId, TOOL_DOCUMENT, $group_id, $_course, $session_id, $userId); } return $documentId; diff --git a/main/newscorm/learnpath.class.php b/main/newscorm/learnpath.class.php index 076644ba40..518e59f10d 100755 --- a/main/newscorm/learnpath.class.php +++ b/main/newscorm/learnpath.class.php @@ -233,7 +233,6 @@ class learnpath $sql = "UPDATE $lp_table SET id = iid WHERE iid = ".$this->lp_view_id; Database::query($sql); - } // Initialise items. @@ -484,6 +483,8 @@ class learnpath * @param string $description * @param int $prerequisites * @param int $max_time_allowed + * @param int $userId + * * @return int */ public function add_item( @@ -494,7 +495,8 @@ class learnpath $title, $description, $prerequisites = 0, - $max_time_allowed = 0 + $max_time_allowed = 0, + $userId = 0 ) { $course_id = $this->course_info['real_id']; if ($this->debug > 0) { @@ -505,6 +507,8 @@ class learnpath $this->course_info = api_get_course_info($this->cc); $course_id = $this->course_info['real_id']; } + $userId = empty($userId) ? api_get_user_id() : $userId; + $sessionId = api_get_session_id(); $tbl_lp_item = Database :: get_course_table(TABLE_LP_ITEM); $_course = $this->course_info; $parent = intval($parent); @@ -658,31 +662,37 @@ class learnpath '/audio', 'folder', 0, - 'audio' + 'audio', + '', + 0, + true, + null, + $sessionId, + $userId ); api_item_property_update( $_course, TOOL_DOCUMENT, $audio_id, 'FolderCreated', - api_get_user_id(), + $userId, null, null, null, null, - api_get_session_id() + $sessionId ); api_item_property_update( $_course, TOOL_DOCUMENT, $audio_id, 'invisible', - api_get_user_id(), + $userId, null, null, null, null, - api_get_session_id() + $sessionId ); } @@ -691,7 +701,7 @@ class learnpath $_FILES['mp3'], api_get_path(SYS_COURSE_PATH) . $_course['path'] . '/document', '/audio', - api_get_user_id(), + $userId, '', '', '', @@ -733,7 +743,8 @@ class learnpath $zipname = '', $publicated_on = '', $expired_on = '', - $categoryId = 0 + $categoryId = 0, + $userId = 0 ) { global $charset; @@ -755,6 +766,8 @@ class learnpath // Session id. $session_id = api_get_session_id(); + $userId = empty($userId) ? api_get_user_id() : $userId; + $check_name = "SELECT * FROM $tbl_lp WHERE c_id = $course_id AND name = '$name'"; @@ -861,9 +874,9 @@ class learnpath TOOL_LEARNPATH, $id, 'LearnpathAdded', - api_get_user_id() + $userId ); - api_set_default_visibility($id, TOOL_LEARNPATH, 0, $courseInfo); + api_set_default_visibility($id, TOOL_LEARNPATH, 0, $courseInfo, $session_id, $userId); return $id; } break; @@ -5942,16 +5955,19 @@ class learnpath * @param string $content * @param string $title * @param string $extension + * @param int $userId creator id * * @return string */ - public function create_document($courseInfo, $content = '', $title = '', $extension = 'html') + public function create_document($courseInfo, $content = '', $title = '', $extension = 'html', $userId = 0) { if (!empty($courseInfo)) { $course_id = $courseInfo['real_id']; } else { $course_id = api_get_course_int_id(); } + $userId = empty($userId) ? api_get_user_id() : $userId; + $sessionId = api_get_session_id(); global $charset; $postDir = isset($_POST['dir']) ? $_POST['dir'] : ''; @@ -5994,11 +6010,8 @@ class learnpath } $title = disable_dangerous_file($title); - $filename = $title; - $content = !empty($content) ? $content : $_POST['content_lp']; - $tmp_filename = $filename; $i = 0; @@ -6053,7 +6066,13 @@ class learnpath $save_file_path, 'file', $file_size, - $tmp_filename + $tmp_filename, + '', + 0, //readonly + true, + null, + $sessionId, + $userId ); if ($document_id) { @@ -6062,12 +6081,12 @@ class learnpath TOOL_DOCUMENT, $document_id, 'DocumentAdded', - api_get_user_id(), + $userId, null, null, null, null, - api_get_session_id() + $sessionId ); $new_comment = (isset($_POST['comment'])) ? trim($_POST['comment']) : ''; diff --git a/main/webservices/lp.php b/main/webservices/lp.php index ed4bbae849..00c840f593 100644 --- a/main/webservices/lp.php +++ b/main/webservices/lp.php @@ -592,6 +592,7 @@ function WSCreateLp($params) } } + $userId = 1; $courseId = $courseInfo['real_id']; $courseCode = $courseInfo['code']; @@ -611,8 +612,22 @@ function WSCreateLp($params) return 'Session not found'; } }*/ + if ($debug) { + error_log('add_lp'); + } + $lpId = learnpath::add_lp( + $courseCode, + $lpName, + '', + 'chamilo', + 'manual', + '', + '', + '', + 0, + $userId + ); - $lpId = learnpath::add_lp($courseCode, $lpName, '', 'chamilo', 'manual'); if ($lpId) { if ($debug) { error_log('LP created'); @@ -630,7 +645,8 @@ function WSCreateLp($params) $courseInfo, $data, $info['filename'], - $extension + $extension, + $userId ); if ($documentId) { @@ -644,7 +660,9 @@ function WSCreateLp($params) $documentId, $lpItem['title'], '', - '' + '', + 0, + $userId ); $previousId = $itemId;