function check_unzip() { if (document.upload.unzip.checked){ document.upload.if_exists[0].disabled=true; document.upload.if_exists[1].checked=true; document.upload.if_exists[2].disabled=true; } else { document.upload.if_exists[0].checked=true; document.upload.if_exists[0].disabled=false; document.upload.if_exists[2].disabled=false; } } function setFocus() { $("#title_file").focus(); } '; // The next javascript script is to manage ajax upload file $htmlHeadXtra[] = api_get_jquery_libraries_js(['jquery-ui', 'jquery-upload']); // Recover Thread ID, will be used to generate delete attachment URL to do ajax $threadId = isset($_REQUEST['thread']) ? (int) ($_REQUEST['thread']) : 0; $forumId = isset($_REQUEST['forum']) ? (int) ($_REQUEST['forum']) : 0; $ajaxUrl = api_get_path(WEB_AJAX_PATH).'forum.ajax.php?'.api_get_cidreq(); // The next javascript script is to delete file by ajax $htmlHeadXtra[] = ''; $forumId = isset($_GET['forum']) ? (int) $_GET['forum'] : 0; $threadId = isset($_GET['thread']) ? (int) $_GET['thread'] : 0; $repo = Container::getForumRepository(); /** @var CForum $forum */ $forum = $repo->find($forumId); if (empty($forum)) { api_not_allowed(); } $repoThread = Container::getForumThreadRepository(); $threadEntity = null; if (!empty($threadId)) { /** @var CForumThread $threadEntity */ $threadEntity = $repoThread->find($threadId); } $courseEntity = api_get_course_entity(api_get_course_int_id()); $sessionEntity = api_get_session_entity(api_get_session_id()); $current_forum_category = $forum->getForumCategory(); /* Is the user allowed here? */ // The user is not allowed here if // 1. the forumcategory, forum or thread is invisible (visibility==0 // 2. the forumcategory, forum or thread is locked (locked <>0) // 3. if anonymous posts are not allowed // The only exception is the course manager // I have split this is several pieces for clarity. if (!api_is_allowed_to_create_course() && (($current_forum_category && !$current_forum_category->isVisible($courseEntity)) || !$forum->isVisible($courseEntity)) ) { api_not_allowed(true); } if (!api_is_allowed_to_edit(false, true) && (($current_forum_category && 0 != $current_forum_category->getLocked()) || 0 != $forum->getLocked() || 0 != $threadEntity->getLocked()) ) { api_not_allowed(true); } if (!$_user['user_id'] && 0 == $forum->getAllowAnonymous()) { api_not_allowed(true); } if (0 != $forum->getForumOfGroup()) { $show_forum = GroupManager::userHasAccess( api_get_user_id(), api_get_group_entity($forum->getForumOfGroup()), GroupManager::GROUP_TOOL_FORUM ); if (!$show_forum) { api_not_allowed(); } } if (api_is_in_gradebook()) { $interbreadcrumb[] = [ 'url' => Category::getUrl(), 'name' => get_lang('Assessments'), ]; } $groupId = api_get_group_id(); if (!empty($groupId)) { $group_properties = GroupManager::get_group_properties($groupId); $interbreadcrumb[] = [ 'url' => api_get_path(WEB_CODE_PATH).'group/group.php?'.api_get_cidreq(), 'name' => get_lang('Groups'), ]; $interbreadcrumb[] = [ 'url' => api_get_path(WEB_CODE_PATH).'group/group_space.php?'.api_get_cidreq(), 'name' => get_lang('Group area').' '.$group_properties['name'], ]; $interbreadcrumb[] = [ 'url' => api_get_path(WEB_CODE_PATH).'forum/viewforum.php?forum='.$forumId.'&'.api_get_cidreq(), 'name' => $forum->getTitle(), ]; $interbreadcrumb[] = [ 'url' => api_get_path(WEB_CODE_PATH).'forum/viewthread.php?forum='.$forumId.'&thread='.$threadId.'&'.api_get_cidreq(), 'name' => $threadEntity->getTitle(), ]; $interbreadcrumb[] = [ 'url' => 'javascript: void(0);', 'name' => get_lang('Reply'), ]; } else { $interbreadcrumb[] = [ 'url' => 'index.php?'.api_get_cidreq(), 'name' => $nameTools, ]; $interbreadcrumb[] = [ 'url' => api_get_path(WEB_CODE_PATH).'forum/index.php?forumcategory='.$current_forum_category->getIid().'&'.api_get_cidreq(), 'name' => $current_forum_category->getTitle(), ]; $interbreadcrumb[] = [ 'url' => api_get_path(WEB_CODE_PATH).'forum/viewforum.php?forum='.$forumId.'&'.api_get_cidreq(), 'name' => $forum->getTitle(), ]; $interbreadcrumb[] = [ 'url' => api_get_path(WEB_CODE_PATH).'forum/viewthread.php?forum='.$forumId.'&thread='.$threadId.'&'.api_get_cidreq(), 'name' => $threadEntity->getTitle(), ]; $interbreadcrumb[] = ['url' => '#', 'name' => get_lang('Reply')]; } /* Header */ $htmlHeadXtra[] = << $(function() { $('#reply-add-attachment').on('click', function(e) { e.preventDefault(); var newInputFile = $('', { type: 'file', name: 'user_upload[]' }); $('[name="user_upload[]"]').parent().append(newInputFile); }) }); JS; /* End new display forum */ // The form for the reply $my_action = isset($_GET['action']) ? Security::remove_XSS($_GET['action']) : ''; $my_post = isset($_GET['post']) ? Security::remove_XSS($_GET['post']) : ''; $my_elements = isset($_SESSION['formelements']) ? $_SESSION['formelements'] : ''; $logInfo = [ 'tool' => TOOL_FORUM, 'tool_id' => $forumId, 'tool_id_detail' => $threadId, 'action' => !empty($my_action) ? $my_action : 'reply', ]; Event::registerLog($logInfo); $postRepo = Container::getForumPostRepository(); $post = $postRepo->find($my_post); $form = show_add_post_form( $forum, $threadEntity, $post, $my_action, $my_elements ); Display::display_header(); if ('learnpath' !== $origin) { //$actionsLeft = ''.search_link().''; $actionsLeft = ''; $actionsLeft .= Display::getMdiIcon(ActionIcon::BACK, 'ch-tool-icon', null, ICON_SIZE_MEDIUM, get_lang('Back to thread')).''; echo Display::toolbarAction('toolbar', [$actionsLeft]); } /*New display forum div*/ echo '
'; echo '

'; echo Display::url( prepare4display($forum->getTitle()), 'viewforum.php?'.api_get_cidreq().'&'.http_build_query(['forum' => $forumId]), ['class' => empty($forum->isVisible($courseEntity)) ? 'text-muted' : null] ); echo '

'; echo '

'.prepare4display($forum->getForumComment()).'

'; echo '
'; if ($form) { $form->display(); } if ('learnpath' === $origin) { Display::display_reduced_footer(); } else { Display::display_footer(); }