Fix fatal error see BT#10936

1.10.x
jmontoya 9 years ago
parent 1cc473c72e
commit db12470781
  1. 5
      main/inc/lib/api.lib.php
  2. 14
      main/inc/lib/fileUpload.lib.php
  3. 55
      main/newscorm/learnpath.class.php
  4. 24
      main/webservices/lp.php

@ -6870,12 +6870,13 @@ function api_is_global_chat_enabled()
* @param int $group_id * @param int $group_id
* @param array $courseInfo * @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; $courseInfo = empty($courseInfo) ? api_get_course_info() : $courseInfo;
$courseId = $courseInfo['real_id']; $courseId = $courseInfo['real_id'];
$courseCode = $courseInfo['code']; $courseCode = $courseInfo['code'];
$sessionId = empty($sessionId) ? api_get_session_id() : $sessionId; $sessionId = empty($sessionId) ? api_get_session_id() : $sessionId;
$userId = empty($userId) ? api_get_user_id() : $userId;
$original_tool_id = $tool_id; $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, $original_tool_id,
$item_id, $item_id,
$visibility, $visibility,
api_get_user_id(), $userId,
$group_id, $group_id,
null, null,
null, null,

@ -1201,6 +1201,8 @@ function filter_extension(&$filename)
* @param bool $save_visibility * @param bool $save_visibility
* @param int $group_id * @param int $group_id
* @param int $session_id Session ID, if any * @param int $session_id Session ID, if any
* @param int $userId creator id
*
* @return int id if inserted document * @return int id if inserted document
*/ */
function add_document( function add_document(
@ -1213,13 +1215,11 @@ function add_document(
$readonly = 0, $readonly = 0,
$save_visibility = true, $save_visibility = true,
$group_id = null, $group_id = null,
$session_id = 0 $session_id = 0,
$userId = 0
) { ) {
$session_id = intval($session_id); $session_id = empty($session_id) ? api_get_session_id() : $session_id;
$userId = empty($userId) ? api_get_user_id() : $userId;
if (empty($session_id)) {
$session_id = api_get_session_id();
}
$readonly = intval($readonly); $readonly = intval($readonly);
$c_id = $_course['real_id']; $c_id = $_course['real_id'];
@ -1241,7 +1241,7 @@ function add_document(
Database::query($sql); Database::query($sql);
if ($save_visibility) { 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; return $documentId;

@ -233,7 +233,6 @@ class learnpath
$sql = "UPDATE $lp_table SET id = iid WHERE iid = ".$this->lp_view_id; $sql = "UPDATE $lp_table SET id = iid WHERE iid = ".$this->lp_view_id;
Database::query($sql); Database::query($sql);
} }
// Initialise items. // Initialise items.
@ -484,6 +483,8 @@ class learnpath
* @param string $description * @param string $description
* @param int $prerequisites * @param int $prerequisites
* @param int $max_time_allowed * @param int $max_time_allowed
* @param int $userId
*
* @return int * @return int
*/ */
public function add_item( public function add_item(
@ -494,7 +495,8 @@ class learnpath
$title, $title,
$description, $description,
$prerequisites = 0, $prerequisites = 0,
$max_time_allowed = 0 $max_time_allowed = 0,
$userId = 0
) { ) {
$course_id = $this->course_info['real_id']; $course_id = $this->course_info['real_id'];
if ($this->debug > 0) { if ($this->debug > 0) {
@ -505,6 +507,8 @@ class learnpath
$this->course_info = api_get_course_info($this->cc); $this->course_info = api_get_course_info($this->cc);
$course_id = $this->course_info['real_id']; $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); $tbl_lp_item = Database :: get_course_table(TABLE_LP_ITEM);
$_course = $this->course_info; $_course = $this->course_info;
$parent = intval($parent); $parent = intval($parent);
@ -658,31 +662,37 @@ class learnpath
'/audio', '/audio',
'folder', 'folder',
0, 0,
'audio' 'audio',
'',
0,
true,
null,
$sessionId,
$userId
); );
api_item_property_update( api_item_property_update(
$_course, $_course,
TOOL_DOCUMENT, TOOL_DOCUMENT,
$audio_id, $audio_id,
'FolderCreated', 'FolderCreated',
api_get_user_id(), $userId,
null, null,
null, null,
null, null,
null, null,
api_get_session_id() $sessionId
); );
api_item_property_update( api_item_property_update(
$_course, $_course,
TOOL_DOCUMENT, TOOL_DOCUMENT,
$audio_id, $audio_id,
'invisible', 'invisible',
api_get_user_id(), $userId,
null, null,
null, null,
null, null,
null, null,
api_get_session_id() $sessionId
); );
} }
@ -691,7 +701,7 @@ class learnpath
$_FILES['mp3'], $_FILES['mp3'],
api_get_path(SYS_COURSE_PATH) . $_course['path'] . '/document', api_get_path(SYS_COURSE_PATH) . $_course['path'] . '/document',
'/audio', '/audio',
api_get_user_id(), $userId,
'', '',
'', '',
'', '',
@ -733,7 +743,8 @@ class learnpath
$zipname = '', $zipname = '',
$publicated_on = '', $publicated_on = '',
$expired_on = '', $expired_on = '',
$categoryId = 0 $categoryId = 0,
$userId = 0
) { ) {
global $charset; global $charset;
@ -755,6 +766,8 @@ class learnpath
// Session id. // Session id.
$session_id = api_get_session_id(); $session_id = api_get_session_id();
$userId = empty($userId) ? api_get_user_id() : $userId;
$check_name = "SELECT * FROM $tbl_lp $check_name = "SELECT * FROM $tbl_lp
WHERE c_id = $course_id AND name = '$name'"; WHERE c_id = $course_id AND name = '$name'";
@ -861,9 +874,9 @@ class learnpath
TOOL_LEARNPATH, TOOL_LEARNPATH,
$id, $id,
'LearnpathAdded', '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; return $id;
} }
break; break;
@ -5942,16 +5955,19 @@ class learnpath
* @param string $content * @param string $content
* @param string $title * @param string $title
* @param string $extension * @param string $extension
* @param int $userId creator id
* *
* @return string * @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)) { if (!empty($courseInfo)) {
$course_id = $courseInfo['real_id']; $course_id = $courseInfo['real_id'];
} else { } else {
$course_id = api_get_course_int_id(); $course_id = api_get_course_int_id();
} }
$userId = empty($userId) ? api_get_user_id() : $userId;
$sessionId = api_get_session_id();
global $charset; global $charset;
$postDir = isset($_POST['dir']) ? $_POST['dir'] : ''; $postDir = isset($_POST['dir']) ? $_POST['dir'] : '';
@ -5994,11 +6010,8 @@ class learnpath
} }
$title = disable_dangerous_file($title); $title = disable_dangerous_file($title);
$filename = $title; $filename = $title;
$content = !empty($content) ? $content : $_POST['content_lp']; $content = !empty($content) ? $content : $_POST['content_lp'];
$tmp_filename = $filename; $tmp_filename = $filename;
$i = 0; $i = 0;
@ -6053,7 +6066,13 @@ class learnpath
$save_file_path, $save_file_path,
'file', 'file',
$file_size, $file_size,
$tmp_filename $tmp_filename,
'',
0, //readonly
true,
null,
$sessionId,
$userId
); );
if ($document_id) { if ($document_id) {
@ -6062,12 +6081,12 @@ class learnpath
TOOL_DOCUMENT, TOOL_DOCUMENT,
$document_id, $document_id,
'DocumentAdded', 'DocumentAdded',
api_get_user_id(), $userId,
null, null,
null, null,
null, null,
null, null,
api_get_session_id() $sessionId
); );
$new_comment = (isset($_POST['comment'])) ? trim($_POST['comment']) : ''; $new_comment = (isset($_POST['comment'])) ? trim($_POST['comment']) : '';

@ -592,6 +592,7 @@ function WSCreateLp($params)
} }
} }
$userId = 1;
$courseId = $courseInfo['real_id']; $courseId = $courseInfo['real_id'];
$courseCode = $courseInfo['code']; $courseCode = $courseInfo['code'];
@ -611,8 +612,22 @@ function WSCreateLp($params)
return 'Session not found'; 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 ($lpId) {
if ($debug) { if ($debug) {
error_log('LP created'); error_log('LP created');
@ -630,7 +645,8 @@ function WSCreateLp($params)
$courseInfo, $courseInfo,
$data, $data,
$info['filename'], $info['filename'],
$extension $extension,
$userId
); );
if ($documentId) { if ($documentId) {
@ -644,7 +660,9 @@ function WSCreateLp($params)
$documentId, $documentId,
$lpItem['title'], $lpItem['title'],
'', '',
'' '',
0,
$userId
); );
$previousId = $itemId; $previousId = $itemId;

Loading…
Cancel
Save