} if (isset($_REQUEST['category'])) { $category = $_REQUEST['category']; } else { $category = ""; } if (isset($_REQUEST['searchLang'])) { $searchLang = $_REQUEST['searchLang']; } else { $searchLang = ""; } // Search needed info in db to create the right formulaire $arrayFaculty = course_category_get_list(); $category_array = claro_get_cat_flat_list(); $category_array = array_merge(array(get_lang('All') => ''), $category_array); $language_list = claro_get_lang_flat_list(); $language_list = array_merge(array(get_lang('All') => ''), $language_list); //---------------------------------- // DISPLAY //---------------------------------- $out = ''; //tool title $out .= claro_html_tool_title($nameTools . ' : '); $tpl = new PhpTemplate(get_path('incRepositorySys') . '/templates/advancedCourseSearch.tpl.php'); $tpl->assign('code', $code); $tpl->assign('intitule', $intitule); $tpl->assign('category_array', $category_array); $tpl->assign('language_list', $language_list); $tpl->assign('access', $access); $tpl->assign('subscription', $subscription); $tpl->assign('visibility', $visibility);
/** * Display form. * * @param string $cancelUrl url of the cancel button * @return string html output of form */ public function displayForm($cancelUrl = null) { $languageList = claro_get_lang_flat_list(); $categoriesList = self::getAllCategories(); $coursesList = isset($this->id) ? claroCourse::getAllCourses($this->id) : array(); // Generate HTML options list for categories $categoriesHtmlList = '<option value="0">' . get_lang("None") . '</option>'; $disabled = false; $tempLevel = null; foreach ($categoriesList as $elmt) { // Enable/disable elements in the drop down list if (!empty($elmt['id']) && $elmt['id'] == $this->id) { $disabled = true; $tempLevel = $elmt['level']; } elseif (isset($tempLevel) && $elmt['level'] > $tempLevel) { $disabled = true; } else { $disabled = false; $tempLevel = null; } $categoriesHtmlList .= '<option value="' . $elmt['id'] . '" ' . (!empty($elmt['id']) && $elmt['id'] == $this->idParent ? 'selected="selected"' : '') . ($disabled ? 'disabled="disabled"' : '') . '>' . str_repeat(' ', 4 * $elmt['level']) . $elmt['name'] . ' (' . $elmt['code'] . ') </option>'; } // Generate HTML options list for courses $coursesHtmlList = '<option value="0">' . get_lang("None") . '</option>'; foreach ($coursesList as $elmt) { // Session courses can't become category courses if (is_null($elmt['sourceCourseId'])) { $coursesHtmlList .= '<option value="' . $elmt['id'] . '" ' . (!empty($elmt['id']) && $elmt['id'] == $this->rootCourse ? 'selected="selected"' : '') . '>' . $elmt['title'] . ' (' . $elmt['sysCode'] . ')</option>'; } } // TODO use a template if (is_null($cancelUrl)) { $cancelUrl = get_path('clarolineRepositoryWeb') . 'course/index.php?cid=' . claro_htmlspecialchars($this->id); } $html = ''; $html .= '<form method="post" id="categorySettings" action="' . $_SERVER['PHP_SELF'] . '" >' . "\n" . claro_form_relay_context() . '<input type="hidden" name="cmd" value="' . (empty($this->id) ? 'exAdd' : 'exEdit') . '" />' . "\n" . '<input type="hidden" name="claroFormId" value="' . uniqid('') . '" />' . "\n"; $html .= '<fieldset>' . "\n" . '<dl>' . "\n"; // Category identifier $html .= '<input type="hidden" name="category_id" value="' . $this->id . '" />' . "\n"; // Category name $html .= '<dt>' . '<label for="category_name">' . get_lang('Category name') . (get_conf('human_label_needed') ? '<span class="required">*</span> ' : '') . '</label></dt>' . '<dd>' . '<input type="text" name="category_name" id="category_name" value="' . claro_htmlspecialchars($this->name) . '" size="30" maxlength="100" />' . (empty($this->id) ? '<br /><span class="notice">' . get_lang('e.g. <em>Sciences of Economics</em>') . '</span>' : '') . '</dd>' . "\n"; // Category code $html .= '<dt>' . '<label for="category_code">' . get_lang('Category code') . '<span class="required">*</span> ' . '</label></dt>' . '<dd><input type="text" id="category_code" name="category_code" value="' . claro_htmlspecialchars($this->code) . '" size="30" maxlength="12" />' . (empty($this->id) ? '<br /><span class="notice">' . get_lang('max. 12 characters, e.g. <em>ROM2121</em>') . '</span>' : '') . '</dd>' . "\n"; // Category's parent $html .= '<dt>' . '<label for="category_parent">' . get_lang('Parent category') . '</label></dt>' . '<dd>' . '<select id="category_parent" name="category_parent" />' . $categoriesHtmlList . '</select>' . '</dd>' . "\n"; // Category's rank $html .= '<input type="hidden" name="category_rank" value="' . (empty($this->rank) ? 0 : $this->rank) . '" />' . "\n"; // Category's visibility $html .= '<dt>' . get_lang('Category visibility') . '<span class="required">*</span>' . '</dt>' . '<dd>' . '<input type="radio" id="visible" name="category_visible" value="1" ' . ($this->visible == 1 || !isset($this->visible) ? 'checked="checked"' : null) . ' />' . ' ' . '<label for="visible">' . get_lang('Visible') . '</label><br />' . '<input type="radio" id="hidden" name="category_visible" value="0" ' . ($this->visible == 0 && isset($this->visible) ? 'checked="checked"' : null) . ' />' . ' ' . '<label for="hidden">' . get_lang('Hidden') . '</label>' . '</dd>' . "\n"; // Category's right to possess courses $html .= '<dt>' . get_lang('Can have courses') . '<span class="required">*</span>' . '</dt>' . '<dd>' . '<input type="radio" id="can_have_courses" name="category_can_have_courses" value="1" ' . ($this->canHaveCoursesChild == 1 || !isset($this->canHaveCoursesChild) ? 'checked="checked"' : '') . ' />' . ' ' . '<label for="can_have_courses">' . get_lang('Yes') . '</label><br />' . '<input type="radio" id="cant_have_courses" name="category_can_have_courses" value="0" ' . ($this->canHaveCoursesChild == 0 && isset($this->canHaveCoursesChild) ? 'checked="checked"' : '') . ' />' . ' ' . '<label for="cant_have_courses">' . get_lang('No') . '</label><br />' . '<span class="notice">' . get_lang('Authorize the category to possess courses or not (opened or closed category)') . '</span>' . '</dd>' . "\n"; // Category's dedicated course/board $html .= '<dt>' . '<label for="category_root_course">' . get_lang('Category\'s board') . '</label></dt>' . '<dd>' . '<select id="category_root_course" name="category_root_course" />' . $coursesHtmlList . '</select><br />' . '<span class="notice">' . get_lang('Dedicate a course to this category. The course has to be linked to the category first.') . '</span>' . '</dd>' . "\n"; // Form's footer $html .= '</dl></fieldset>' . "\n" . '<span class="required">*</span> ' . get_lang('Denotes required fields') . '<br />' . "\n" . '<input type="submit" value="' . get_lang('Ok') . '" />' . "\n" . claro_html_button($_SERVER['PHP_SELF'], get_lang('Cancel')) . '</form>' . "\n"; return $html; }