|
|
|
@ -1946,7 +1946,7 @@ class learnpath |
|
|
|
|
error_log('New LP - In learnpath::get_last()', 0); |
|
|
|
|
} |
|
|
|
|
//This is just in case the lesson doesn't cointain a valid scheme, just to avoid "Notices" |
|
|
|
|
if ($this->index > 0) { |
|
|
|
|
if (count($this->ordered_items) > 0) { |
|
|
|
|
$this->index = count($this->ordered_items) - 1; |
|
|
|
|
return $this->ordered_items[$this->index]; |
|
|
|
|
} |
|
|
|
@ -5613,7 +5613,11 @@ class learnpath |
|
|
|
|
if (file_exists('../img/lp_' . $icon_name . '.gif')) { |
|
|
|
|
$icon = Display::return_icon('lp_'.$icon_name.'.gif'); |
|
|
|
|
} else { |
|
|
|
|
$icon = Display::return_icon('folder_document.gif'); |
|
|
|
|
if ($arrLP[$i]['item_type'] === 'final_item') { |
|
|
|
|
$icon = Display::return_icon('certificate.png'); |
|
|
|
|
} else { |
|
|
|
|
$icon = Display::return_icon('folder_document.gif'); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -6289,6 +6293,7 @@ class learnpath |
|
|
|
|
$res_step = Database::query($sql); |
|
|
|
|
$row_step = Database :: fetch_array($res_step); |
|
|
|
|
$return .= $this->display_manipulate($item_id, $row['item_type']); |
|
|
|
|
var_dump($item_id, $row_step); |
|
|
|
|
$return .= $this->display_document_form('edit', $item_id, $row_step); |
|
|
|
|
break; |
|
|
|
|
case TOOL_LINK : |
|
|
|
@ -6364,20 +6369,23 @@ class learnpath |
|
|
|
|
// Get al the forums. |
|
|
|
|
$forums = $this->get_forums(null, $course_code); |
|
|
|
|
|
|
|
|
|
$finish = $this->getFinalItemForm(); |
|
|
|
|
|
|
|
|
|
$headers = array( |
|
|
|
|
Display::return_icon('folder_document.png', get_lang('Documents'), array(), ICON_SIZE_BIG), |
|
|
|
|
Display::return_icon('quiz.png', get_lang('Quiz'), array(), ICON_SIZE_BIG), |
|
|
|
|
Display::return_icon('links.png', get_lang('Links'), array(), ICON_SIZE_BIG), |
|
|
|
|
Display::return_icon('works.png', get_lang('Works'), array(), ICON_SIZE_BIG), |
|
|
|
|
Display::return_icon('forum.png', get_lang('Forums'), array(), ICON_SIZE_BIG), |
|
|
|
|
Display::return_icon('add_learnpath_section.png', get_lang('NewChapter'), array(), ICON_SIZE_BIG) |
|
|
|
|
Display::return_icon('add_learnpath_section.png', get_lang('NewChapter'), array(), ICON_SIZE_BIG), |
|
|
|
|
Display::return_icon('certificate.png', get_lang('Certificate'), [], ICON_SIZE_BIG), |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
echo Display::display_normal_message(get_lang('ClickOnTheLearnerViewToSeeYourLearningPath')); |
|
|
|
|
$chapter = $_SESSION['oLP']->display_item_form('chapter', get_lang('EnterDataNewChapter'), 'add_item'); |
|
|
|
|
echo Display::tabs( |
|
|
|
|
$headers, |
|
|
|
|
array($documents, $exercises, $links, $works, $forums, $chapter), 'resource_tab' |
|
|
|
|
array($documents, $exercises, $links, $works, $forums, $chapter, $finish), 'resource_tab' |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
@ -10691,6 +10699,102 @@ EOD; |
|
|
|
|
return $forumId; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private function getFinalItem() |
|
|
|
|
{ |
|
|
|
|
if (empty($this->items)) { |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
foreach ($this->items as $item) { |
|
|
|
|
if ($item->type !== 'final_item') { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return $item; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private function getFinalItemTemplate() |
|
|
|
|
{ |
|
|
|
|
$finalItem = $this->getFinalItem(); |
|
|
|
|
|
|
|
|
|
if (!$finalItem) { |
|
|
|
|
return file_get_contents(api_get_path(SYS_CODE_PATH) . 'newscorm/final_item_template/template.html'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$doc = DocumentManager::get_document_data_by_id($finalItem->path, $this->cc); |
|
|
|
|
|
|
|
|
|
return file_get_contents($doc['absolute_path']); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* |
|
|
|
|
* @return html |
|
|
|
|
*/ |
|
|
|
|
public function getFinalItemForm() |
|
|
|
|
{ |
|
|
|
|
$finalItem = $this->getFinalItem(); |
|
|
|
|
$title = ''; |
|
|
|
|
$content = ''; |
|
|
|
|
|
|
|
|
|
if ($finalItem) { |
|
|
|
|
$title = $finalItem->title; |
|
|
|
|
$content = $this->getFinalItemTemplate(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$courseInfo = api_get_course_info(); |
|
|
|
|
$result = $this->generate_lp_folder($courseInfo); |
|
|
|
|
$relative_path = api_substr($result['dir'], 1, strlen($result['dir'])); |
|
|
|
|
$relative_prefix = '../../'; |
|
|
|
|
|
|
|
|
|
$editorConfig = [ |
|
|
|
|
'ToolbarSet' => 'LearningPathDocuments', |
|
|
|
|
'Width' => '100%', |
|
|
|
|
'Height' => '500', |
|
|
|
|
'FullPage' => true, |
|
|
|
|
'CreateDocumentDir' => $relative_prefix, |
|
|
|
|
'CreateDocumentWebDir' => api_get_path(WEB_COURSE_PATH) . api_get_course_path() . '/document/', |
|
|
|
|
'BaseHref' => api_get_path(WEB_COURSE_PATH) . api_get_course_path() . '/document/' . $relative_path |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
$url = api_get_self() . '?' . api_get_cidreq() . '&' . http_build_query([ |
|
|
|
|
'type' => 'document', |
|
|
|
|
'lp_id' => $this->lp_id |
|
|
|
|
]); |
|
|
|
|
|
|
|
|
|
$form = new FormValidator('final_item', 'POST', $url); |
|
|
|
|
$form->addText('title', get_lang('Title')); |
|
|
|
|
$form->addButtonSave(get_lang('LPCreateDocument')); |
|
|
|
|
$renderer = $form->defaultRenderer(); |
|
|
|
|
$renderer->setElementTemplate('<div class="editor-lp"> {label}{element}</div>', 'content'); |
|
|
|
|
$form->addHtmlEditor('content', null, null, true, $editorConfig, true); |
|
|
|
|
$form->addHidden('action', 'add_final_item'); |
|
|
|
|
$form->addHidden('previous', $this->get_last()); |
|
|
|
|
|
|
|
|
|
$form->setDefaults(['title' => $title, 'content' => $content]); |
|
|
|
|
|
|
|
|
|
if ($form->validate()) { |
|
|
|
|
$values = $form->exportValues(); |
|
|
|
|
|
|
|
|
|
$lastItemId = $this->get_last(); |
|
|
|
|
|
|
|
|
|
if (!$finalItem) { |
|
|
|
|
$documentId = $this->create_document($this->course_info, $values['content'], $values['title']); |
|
|
|
|
$this->add_item( |
|
|
|
|
0, |
|
|
|
|
$lastItemId, |
|
|
|
|
'final_item', |
|
|
|
|
$documentId, |
|
|
|
|
$values['title'], |
|
|
|
|
'' |
|
|
|
|
); |
|
|
|
|
} else { |
|
|
|
|
$this->edit_document($this->course_info); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return $form->returnForm(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!function_exists('trim_value')) { |
|
|
|
|