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 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,

@ -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;

@ -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']) : '';

@ -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;

Loading…
Cancel
Save