Category::getUrl(), 'name' => get_lang('ToolGradebook'), ]; } $interbreadcrumb[] = [ 'url' => 'lp_controller.php?action=list&'.api_get_cidreq(), 'name' => get_lang('LearningPaths'), ]; $interbreadcrumb[] = [ 'url' => api_get_self()."?action=build&lp_id=$lpId&".api_get_cidreq(), 'name' => $lp->getNameNoTags(), ]; $audioPreview = DocumentManager::generateAudioJavascript([]); $htmlHeadXtra[] = ""; switch ($type) { case 'dir': $interbreadcrumb[] = [ 'url' => 'lp_controller.php?action=add_item&type=step&lp_id='.$lp->get_id().'&'.api_get_cidreq(), 'name' => get_lang('NewStep'), ]; $interbreadcrumb[] = ['url' => '#', 'name' => get_lang('NewChapter')]; break; case 'document': $interbreadcrumb[] = [ 'url' => 'lp_controller.php?action=add_item&type=step&lp_id='.$lp->get_id().'&'.api_get_cidreq(), 'name' => get_lang('NewStep'), ]; break; default: $interbreadcrumb[] = [ 'url' => api_get_self()."?action=add_item&type=step&lp_id=$lpId&".api_get_cidreq(), 'name' => get_lang('NewStep'), ]; break; } if ('add_item' === $action && 'document' === $type) { $interbreadcrumb[] = ['url' => '#', 'name' => get_lang('NewDocumentCreated')]; } // Theme calls. $show_learn_path = true; $lp_item = new learnpathItem($lp_item_id); $form = new FormValidator( 'add_audio', 'post', api_get_self().'?action=add_audio&id='.$lp_item_id.'&'.api_get_cidreq().'&lp_id='.$lpId, null, ['enctype' => 'multipart/form-data'] ); $lpPathInfo = $lp->generate_lp_folder($courseInfo); $document = DocumentManager::createDefaultAudioFolder($courseInfo); $currentDir = '/audio'; $audioFolderId = $document->getIid(); if (isset($_REQUEST['folder_id'])) { $folderIdFromRequest = isset($_REQUEST['folder_id']) ? (int) $_REQUEST['folder_id'] : 0; $documentRepo = Container::getDocumentRepository(); /** @var \Chamilo\CourseBundle\Entity\CDocument $documentData */ $documentData = $documentRepo->find($folderIdFromRequest); if ($documentData) { $audioFolderId = $documentData->getIid(); } else { $audioFolderId = false; } } $file = null; if (!empty($lp_item->audio)) { //$file = api_get_path(SYS_COURSE_PATH).$courseInfo['path'].'/document/'.$lp_item->audio; $urlFile = api_get_path(WEB_COURSE_PATH).$courseInfo['path'].'/document/'.$lp_item->audio.'?'.api_get_cidreq(); } $page = $lp->build_action_menu( true, true, false, true, $action ); $page .= '
'; $page .= $lp->showBuildSideBar(null, true); $recordVoiceForm = ''; $page .= '
'; $htmlHeadXtra[] = ''; $tpl = new Template(get_lang('Add')); $tpl->assign('unique_file_id', api_get_unique_id()); $tpl->assign('course_code', api_get_course_id()); $tpl->assign('filename', $lp_item->get_title().'_nano.wav'); $tpl->assign('enable_record_audio', true); $tpl->assign('cur_dir_path', '/audio'); $tpl->assign('lp_item_id', $lp_item_id); //$tpl->assign('lp_dir', api_remove_trailing_slash($lpPathInfo['dir'])); $recordVoiceForm .= $tpl->fetch('@ChamiloCore/LearnPath/record_voice.html.twig'); $form->addElement('header', ''.get_lang('Or').' '.get_lang('AudioFile')); $audioLabel = ''; if (!empty($lp_item->audio)) { $audioLabel = '
'.get_lang('FileName').': '.$lp_item->audio.''; } $form->addLabel(null, sprintf(get_lang('Audio file for item %s'), $lp_item->get_title()).$audioLabel); if (!empty($file)) { $audioPlayer = '
'. Display::getMediaPlayer($file, ['url' => $urlFile]). "
"; $form->addElement('label', get_lang('Listen'), $audioPlayer); $url = api_get_path(WEB_CODE_PATH). 'lp/lp_controller.php?lp_id='.$lp->get_id().'&action=add_audio&id='.$lp_item_id.'&delete_file=1&'.api_get_cidreq(); $form->addElement( 'label', null, Display::url( get_lang('RemoveAudio'), $url, ['class' => 'btn btn--danger'] ) ); } $form->addElement('file', 'file'); $form->addElement('hidden', 'id', $lp_item_id); $form->addButtonSave(get_lang('Save recorded audio')); $documentTree = DocumentManager::get_document_preview( api_get_course_entity(), $lp->get_id(), null, api_get_session_id(), false, '', api_get_path(WEB_CODE_PATH).'lp/lp_controller.php?action=add_audio&lp_id='.$lp->get_id().'&id='.$lp_item_id, false, true, $audioFolderId, true, true, ['mp3', 'ogg', 'wav'] ); $page .= $recordVoiceForm; $page .= '
'; $page .= $form->returnForm(); $page .= ''; $folders = DocumentManager::get_all_document_folders( $courseInfo, null, true, false, $currentDir ); $form = new FormValidator( 'selector', 'POST', api_get_self().'?view=build&id='.$lp_item_id.'&lp_id='.$lpId.'&action=add_audio&'.api_get_cidreq() ); $attributes = ['onchange' => 'javascript: document.selector.submit();']; $selector = DocumentManager::build_directory_selector( $folders, $audioFolderId, null, false, $form, 'folder_id', $attributes ); $page .= $selector; $page .= '
    '; $page .= '
  • '.get_lang('Audio').'
  • '; $page .= '
  • '; $page .= '
      '.$documentTree.'
    '; $page .= '
'; $page .= ''; $page .= '
'; $page .= ''; $tpl->assign('content', $page); $tpl->display_one_col_template();