$cmdList[] = array('name' => get_lang('Full review'), 'url' => claro_htmlspecialchars(Url::Contextualize($viewallUrl))); } } } $out .= $postLister->disp_pager_tool_bar($pagerUrl); try { $display = new ModuleTemplate('CLFRM', 'forum_viewtopic.tpl.php'); $display->assign('forum_id', $forumId); $display->assign('topic_id', $topicId); $display->assign('topic_subject', $topicSettingList['topic_title']); $display->assign('postList', $postList); $display->assign('is_allowedToEdit', $is_allowedToEdit); $display->assign('anonymity', $anonymityStatus); $display->assign('claro_notifier', $claro_notifier); $display->assign('is_post_allowed', $is_postAllowed); $out .= $display->render(); } catch (Exception $ex) { $dialogBox->error($ex); } if ($is_postAllowed) { $replyUrl = Url::Contextualize($_SERVER['PHP_SELF'] . '?topic=' . $topicId . '&cmd=rqPost' . '&mode=reply'); $toolBar[] = claro_html_cmd_link(claro_htmlspecialchars($replyUrl), '<img src="' . get_icon_url('reply') . '" alt="" />' . ' ' . get_lang('Reply')); $out .= '<p>' . claro_html_menu_horizontal($toolBar) . '</p>'; } $out .= $postLister->disp_pager_tool_bar($pagerUrl); } // Page title $out = claro_html_tool_title($nameTools, $is_allowedToEdit ? get_help_page_url('blockForumsHelp', 'CLFRM') : false, $cmdList) . $out; ClaroBreadCrumbs::getInstance()->setCurrent(get_lang('Forums'), 'index.php'); $claroline->display->body->appendContent($out); echo $claroline->display->render();
$total_categories = count($categories); $forum_list = get_forum_list(); if (claro_is_user_authenticated()) { $userGroupList = get_user_group_list(claro_get_current_user_id()); $userGroupList = array_keys($userGroupList); $tutorGroupList = get_tutor_group_list(claro_get_current_user_id()); } else { $userGroupList = array(); $tutorGroupList = array(); } //add javascript control for "dangerous" commands (delete-empty) $htmlHeadXtra[] = "<script type=\"text/javascript\">\n function confirm_delete(name)\n {\n if(confirm('" . clean_str_for_javascript(get_lang('Are you sure to delete')) . " ' + name + ' ?'))\n {return true;}\n else\n {return false;}\n }\n \n function confirm_empty(name)\n {\n if(confirm('" . clean_str_for_javascript(get_lang('Delete all messages of')) . " ' + name + ' ?'))\n {return true;}\n else\n {return false;}\n }\n </script>"; //prepare display $nameTools = get_lang('Forums'); $pagetype = 'index'; $helpUrl = $is_allowedToEdit ? get_help_page_url('blockForumsHelp', 'CLFRM') : null; $toolList = disp_forum_toolbar_array($pagetype, 0, 0, 0); $out = ''; $out .= claro_html_tool_title($nameTools, $helpUrl, $toolList); $out .= disp_search_box(); $out .= $dialogBox->render(); // Forum toolbar $displayList = array(); foreach ($forum_list as $this_forum) { //temporary fix for 1.9 releases : avoids change in database definition (using unused 'forum_type' field) //TODO : use a specific enum field (field name: anonymity) in bb_forum table switch ($this_forum['forum_type']) { case 0: $this_forum['anonymity'] = 'forbidden'; break; case 1:
$tbl_topics = $tbl_cdb_names['bb_topics']; $tbl_forums = $tbl_cdb_names['bb_forums']; $sql = "SELECT pt.post_id,\n pt.post_text,\n p.nom AS lastname,\n p.prenom AS firstname,\n p.`poster_id`,\n p.post_time,\n t.topic_id,\n t.topic_title,\n f.forum_id,\n f.forum_name,\n f.group_id\n FROM `" . $tbl_posts_text . "` AS pt,\n `" . $tbl_posts . "` AS p,\n `" . $tbl_topics . "` AS t,\n `" . $tbl_forums . "` AS f\n WHERE ( " . $sqlClauseString . ")\n AND pt.post_id = p.post_id\n AND p.topic_id = t.topic_id\n AND t.forum_id = f.forum_id\n ORDER BY p.post_time DESC, t.topic_id"; $searchResultList = claro_sql_query_fetch_all($sql); $userGroupList = get_user_group_list(claro_get_current_user_id()); $userGroupList = array_keys($userGroupList); $tutorGroupList = get_tutor_group_list(claro_get_current_user_id()); } else { $searchResultList = array(); } $pagetype = 'viewsearch'; ClaroBreadCrumbs::getInstance()->prepend(get_lang('Forums'), 'index.php'); CssLoader::getInstance()->load('clfrm', 'screen'); $noPHP_SELF = true; $out = ''; $out .= claro_html_tool_title(get_lang('Forums'), $is_allowedToEdit ? get_help_page_url('blockForumsHelp', 'CLFRM') : false); $out .= claro_html_menu_horizontal(disp_forum_toolbar($pagetype, null)) . disp_forum_breadcrumb($pagetype, null, null, null) . '<h4>' . get_lang('Search result') . ' : ' . (isset($_REQUEST['searchPattern']) ? claro_htmlspecialchars($_REQUEST['searchPattern']) : '') . '</h4>' . "\n"; if (count($searchResultList) < 1) { $out .= '<p>' . get_lang('No result') . '</p>'; } else { foreach ($searchResultList as $thisPost) { // PREVENT USER TO CONSULT POST FROM A GROUP THEY ARE NOT ALLOWED if (!is_null($thisPost['group_id']) && $is_groupPrivate && !(in_array($thisPost['group_id'], $userGroupList) || in_array($thisPost['group_id'], $tutorGroupList) || claro_is_course_manager())) { continue; } else { // notify if is new message $post_time = datetime_to_timestamp($thisPost['post_time']); if ($post_time < $last_visit) { $class = ' class="item"'; } else { $class = ' class="item hot"';
$toolTitle['subTitle'] = $wikiTitle; } break; // delete form // delete form case 'rqDelete': $toolTitle['mainTitle'] = get_lang("Delete Wiki"); break; // list wiki // list wiki case 'list': $toolTitle['mainTitle'] = sprintf(get_lang("Wiki : %s"), get_lang("List of Wiki")); break; } // Help URL $helpUrl = claro_htmlspecialchars(get_help_page_url('blockWikiHelpAdminContent', 'CLWIKI')); // Command list $cmdList = array(); switch ($action) { // an error occurs case 'error': break; case 'exExport': $out .= '<blockquote>' . get_lang("Wiki %TITLE% exported to course documents. (this file is visible)", array('%TITLE%' => $wikiTitle)) . '</blockquote>'; $cmdList[] = array('name' => get_lang("Go to documents tool"), 'url' => claro_htmlspecialchars(Url::Contextualize(get_module_url('CLDOC') . '/document.php?gidReset=1'))); $cmdList[] = array('name' => get_lang("Go back to Wiki list"), 'url' => claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF']))); break; // edit form // edit form case 'rqEdit': $out .= claro_disp_wiki_properties_form($wikiId, $wikiTitle, $wikiDesc, $groupId, $wikiACL);
$downloadArgument = 'file=' . download_url_encode($curDirPath); } if (claro_is_user_authenticated() && (claro_is_allowed_to_edit() || get_conf('cldoc_allowNonManagersToDownloadFolder', true)) || get_conf('cldoc_allowNonManagersToDownloadFolder', true) && get_conf('cldoc_allowAnonymousToDownloadFolder', true)) { if (isset($fileList) && count($fileList) > 0) { // Download current folder $cmdList[] = array('img' => 'save', 'name' => get_lang('Download current directory'), 'url' => claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF'] . '?cmd=exDownload&' . $downloadArgument))); } } if ($is_allowedToEdit) { // Create directory, document, hyperlink or upload file $cmdList[] = array('img' => 'upload', 'name' => get_lang('Upload file'), 'url' => claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF'] . '?cmd=rqUpload&cwd=' . $cmdCurDirPath))); $cmdList[] = array('img' => 'folder', 'name' => get_lang('Create directory'), 'url' => claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF'] . '?cmd=rqMkDir&cwd=' . $cmdCurDirPath))); $cmdList[] = array('img' => 'link', 'name' => get_lang('Create hyperlink'), 'url' => claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF'] . '?cmd=rqMkUrl&cwd=' . $cmdCurDirPath))); $cmdList[] = array('img' => 'html', 'name' => get_lang('Create Document'), 'url' => claro_htmlspecialchars(Url::Contextualize('rqmkhtml.php?cmd=rqMkHtml&cwd=' . $cmdCurDirPath))); } $helpUrl = $is_allowedToEdit ? get_help_page_url('blockDocumentsHelp', 'CLDOC') : null; // Display title $out .= claro_html_tool_title($titleElement, $helpUrl, $cmdList); //, 3); // Display dialog box $out .= $dialogBox->render(); // Define colspan $is_allowedToEdit ? $colspan = 7 : ($colspan = 3); /*---------------------------------------------------------------- VIEW IMAGES ($docView == 'image') ----------------------------------------------------------------*/ if ($docView == 'image' && isset($imageList) && count($imageList) > 0) { $colspan = 3; // Get requested image name if (isset($_REQUEST['file']) && !isset($_REQUEST['viewMode'])) { $file = $_REQUEST['file'];
} if (isset($_GET['sort'])) { $sortKeyList[$_GET['sort']] = isset($_GET['dir']) ? $_GET['dir'] : SORT_ASC; } else { $sortKeyList['end_date'] = SORT_ASC; $sortKeyList['title'] = SORT_ASC; } } $offset = isset($_REQUEST['offset']) && !empty($_REQUEST['offset']) ? $_REQUEST['offset'] : 0; $assignmentPager = new claro_sql_pager($sql, $offset, $assignmentsPerPage); foreach ($sortKeyList as $thisSortKey => $thisSortDir) { $assignmentPager->add_sort_key($thisSortKey, $thisSortDir); } $assignmentList = $assignmentPager->get_result_list(); // Help URL $helpUrl = $is_allowedToEdit ? get_help_page_url('blockAssignmentsHelp', 'CLWRK') : null; // Command list $cmdList = array(); if ($is_allowedToEdit) { $cmdList[] = array('img' => 'assignment', 'name' => get_lang('Create a new assignment'), 'url' => claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF'] . '?cmd=rqMkAssig'))); if (claro_is_platform_admin() || get_conf('allow_download_all_submissions')) { $cmdList[] = array('img' => 'save', 'name' => get_lang('Download submissions'), 'url' => claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF'] . '?cmd=rqDownload'))); } if (get_conf('mail_notification', false) && !get_conf('automatic_mail_notification', false)) { $cmdList[] = array('img' => 'settings', 'name' => get_lang('Assignments preferences'), 'url' => claro_htmlspecialchars(Url::Contextualize('work_settings.php'))); } } $out = ''; $out .= claro_html_tool_title($nameTools, $helpUrl, $cmdList); if ($is_allowedToEdit) { $out .= $dialogBox->render();
if ('recent' != $action && 'all' != $action && 'rqSearch' != $action && 'exSearch' != $action) { if ('show' == $action || 'edit' == $action || 'history' == $action) { $cmdList[] = array('img' => 'back', 'name' => get_lang("Back to page"), 'url' => claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF'] . '?wikiId=' . $wiki->getWikiId() . '&action=show' . '&title=' . rawurlencode($title)))); } if ($is_allowedToEdit || $is_allowedToCreate) { // Show context if ('show' == $action || 'edit' == $action || 'diff' == $action) { $cmdList[] = array('img' => 'edit', 'name' => get_lang("Edit this page"), 'url' => claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF'] . '?wikiId=' . $wiki->getWikiId() . '&action=edit' . '&title=' . rawurlencode($title) . '&versionId=' . $versionId))); } } if ('show' == $action || 'edit' == $action || 'history' == $action || 'diff' == $action) { // active $cmdList[] = array('img' => 'versions', 'name' => get_lang("Page history"), 'url' => claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF'] . '?wikiId=' . $wiki->getWikiId() . '&action=history' . '&title=' . rawurlencode($title)))); } if ('edit' == $action || 'diff' == $action) { $helpUrl = get_help_page_url('blockWikiHelpSyntaxContent', 'CLWIKI'); } } switch ($action) { case 'conflict': if ('__MainPage__' === $title) { $displaytitle = get_lang("Main page"); } else { $displaytitle = $title; } $out .= '<div class="wikiTitle">' . "\n"; $out .= '<h1>' . $displaytitle . ' : ' . get_lang("Edit conflict") . '</h1>' . "\n"; $out .= '</div>' . "\n"; $message = get_block('blockWikiConflictHowTo'); $dialogBox->info($message); $out .= '<form id="editConflict" action="' . claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF'])) . '" method="post">';
function warnCannotDeleteClassStudent () { alert(\'' . clean_str_for_javascript(get_lang("This student is enroled from a class and cannot be removed directly from the course. You have to delete the whole class instead")) . '\'); return false; }; </script>' . "\n"; } if (get_conf('allow_profile_picture', true)) { $cmdList[] = array('img' => 'picture', 'name' => get_lang('Users\' pictures'), 'url' => claro_htmlspecialchars(Url::Contextualize(get_path('clarolineRepositoryWeb') . 'user/user_pictures.php'))); } // Tool name $titleParts = array('mainTitle' => $nameTools, 'subTitle' => '(' . get_lang('number') . ' : ' . $userTotalNb . ')'); // Help url $helpUrl = $is_allowedToEdit ? get_help_page_url('blockUsersHelp', 'CLUSR') : null; /*===================================================================== Display section =====================================================================*/ $out = ''; $out .= claro_html_tool_title($titleParts, $helpUrl, $cmdList, $advancedCmdList); //, 3); // Display Forms or dialog box (if needed) $out .= $dialogBox->render(); /*---------------------------------------------------------------------- Display pager ----------------------------------------------------------------------*/ $out .= $myPager->disp_pager_tool_bar($_SERVER['PHP_SELF']); $sortUrlList = $myPager->get_sort_url_list($_SERVER['PHP_SELF']); /*---------------------------------------------------------------------- Display table header
/*===================================================================== Display Section =====================================================================*/ $cmdList = array(); $cmdList[] = array('name' => get_lang('Search and add an existing user'), 'img' => 'search', 'url' => claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF']))); if (get_conf('is_coursemanager_allowed_to_register_single_user') || claro_is_platform_admin()) { $cmdList[] = array('name' => get_lang('Create a new user'), 'img' => 'user', 'url' => claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF'] . '?cmd=rqRegistration'))); } $titleArray = array('mainTitle' => $nameTools, 'supraTitle' => get_lang('Users')); if ((get_conf('is_coursemanager_allowed_to_register_single_user') || claro_is_platform_admin()) && $displayForm && $formToDisplay == CLUSER_ADD_FORM) { $titleArray['subTitle'] = get_lang('Create a new user'); } else { $titleArray['subTitle'] = get_lang('Search and add an existing user'); } $out = ''; $out .= claro_html_tool_title($titleArray, get_help_page_url('blockUsersHelp', 'CLUSR'), $cmdList); $out .= $dialogBox->render(); if ($courseRegSucceed) { $out .= '<p><a href="' . claro_htmlspecialchars(Url::Contextualize(get_module_entry_url('CLUSR'))) . '"><< ' . get_lang('Back to user list') . '</a></p>' . "\n"; } else { if ($displayResultTable) { /*$enrollmentLabel = $userData['courseAdmin'] ? get_lang('Enrol as teacher') : get_lang('Enrol as student'); $enrollmentLabel .= $userData['courseTutor'] ? ' - ' . get_lang('tutor') : '';*/ $enrollmentLabel = get_lang('Enrol as'); $regUrlAddParam = ''; if ($userData['courseTutor']) { $regUrlAddParam .= '&courseTutor=1'; } if ($userData['courseAdmin']) { $regUrlAddParam .= '&courseAdmin=1'; }
// we need to check if exercise is used as a module in a learning path // to display a more complete confirm message for delete aciton $sql = "SELECT E.`id`, E.`title`, E.`visibility`, M.`module_id`\n FROM `" . $tbl_quiz_exercise . "` AS E\n LEFT JOIN `" . $tbl_lp_asset . "` AS A\n ON (A.`path` = E.`id` OR A.`path` IS NULL)\n LEFT JOIN `" . $tbl_lp_module . "` AS M\n ON A.`module_id` = M.`module_id`\n AND M.`contentType` = 'EXERCISE'\n ORDER BY `id`"; } else { if (claro_is_user_authenticated()) { $sql = "SELECT `id`, `title`\n FROM `" . $tbl_quiz_exercise . "`\n WHERE `visibility` = 'VISIBLE'\n ORDER BY `id`"; } else { $sql = "SELECT `id`, `title`\n FROM `" . $tbl_quiz_exercise . "`\n WHERE `visibility` = 'VISIBLE'\n AND `anonymousAttempts` = 'ALLOWED'\n ORDER BY `id`"; } } $myPager = new claro_sql_pager($sql, $offset, get_conf('exercisesPerPage', 25)); $exerciseList = $myPager->get_result_list(); // Display $nameTools = get_lang('Exercises'); $noQUERY_STRING = true; $helpUrl = $is_allowedToEdit ? get_help_page_url('blockExercisesHelp', 'CLQWZ') : null; $out = ''; if (!$inLP) { // Command list $cmdList = array(); $advancedCmdList = array(); if ($is_allowedToEdit) { $cmdList[] = array('img' => 'quiz_new', 'name' => get_lang('New exercise'), 'url' => claro_htmlspecialchars(Url::Contextualize('admin/edit_exercise.php?cmd=rqEdit'))); $advancedCmdList[] = array('img' => 'question_pool', 'name' => get_lang('Question pool'), 'url' => claro_htmlspecialchars(Url::Contextualize('admin/question_pool.php'))); $advancedCmdList[] = array('img' => 'question_pool', 'name' => get_lang('Question categories'), 'url' => claro_htmlspecialchars(Url::Contextualize('admin/question_category.php'))); $advancedCmdList[] = array('img' => 'import', 'name' => get_lang('Import exercise'), 'url' => claro_htmlspecialchars(Url::Contextualize('exercise.php?cmd=rqImport'))); } if (get_conf('is_trackingEnabled') && claro_is_user_authenticated()) { $cmdList[] = array('img' => 'statistics', 'name' => get_lang('My results'), 'url' => claro_htmlspecialchars(Url::Contextualize('../tracking/userReport.php?userId=' . claro_get_current_user_id()))); } $out .= claro_html_tool_title($nameTools, $helpUrl, $cmdList, $advancedCmdList);