Example #1
0
                $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();
Example #2
0
$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:
Example #3
0
    $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"';
Example #4
0
            $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);
Example #5
0
    $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'];
Example #6
0
    }
    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();
Example #7
0
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">';
Example #8
0
    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
Example #9
0
/*=====================================================================
 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'))) . '">&lt;&lt; ' . 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'] ? '&nbsp;-&nbsp;' . get_lang('tutor') : '';*/
        $enrollmentLabel = get_lang('Enrol as');
        $regUrlAddParam = '';
        if ($userData['courseTutor']) {
            $regUrlAddParam .= '&courseTutor=1';
        }
        if ($userData['courseAdmin']) {
            $regUrlAddParam .= '&courseAdmin=1';
        }
Example #10
0
    // 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);