/** * Get course data to display * @param int $from * @param int $number_of_items * @param int $column * @param string $direction * * @return array */ function get_course_data($from, $number_of_items, $column, $direction) { $course_table = Database::get_main_table(TABLE_MAIN_COURSE); $sql = "SELECT code AS col0,\n title AS col1,\n code AS col2,\n course_language AS col3,\n category_code AS col4,\n subscribe AS col5,\n unsubscribe AS col6,\n code AS col7,\n visibility AS col8,\n directory as col9,\n visual_code\n \t\tFROM {$course_table}"; if ((api_is_platform_admin() || api_is_session_admin()) && api_is_multiple_url_enabled() && api_get_current_access_url_id() != -1) { $access_url_rel_course_table = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); $sql .= " INNER JOIN {$access_url_rel_course_table} url_rel_course ON (id = url_rel_course.c_id)"; } if (isset($_GET['keyword'])) { $keyword = Database::escape_string("%" . trim($_GET['keyword']) . "%"); $sql .= " WHERE (\n title LIKE '" . $keyword . "' OR\n code LIKE '" . $keyword . "' OR\n visual_code LIKE '" . $keyword . "'\n )\n "; } elseif (isset($_GET['keyword_code'])) { $keyword_code = Database::escape_string("%" . $_GET['keyword_code'] . "%"); $keyword_title = Database::escape_string("%" . $_GET['keyword_title'] . "%"); $keyword_category = Database::escape_string("%" . $_GET['keyword_category'] . "%"); $keyword_language = Database::escape_string("%" . $_GET['keyword_language'] . "%"); $keyword_visibility = Database::escape_string("%" . $_GET['keyword_visibility'] . "%"); $keyword_subscribe = Database::escape_string($_GET['keyword_subscribe']); $keyword_unsubscribe = Database::escape_string($_GET['keyword_unsubscribe']); $sql .= " WHERE\n (code LIKE '" . $keyword_code . "' OR visual_code LIKE '" . $keyword_code . "') AND\n title LIKE '" . $keyword_title . "' AND\n category_code LIKE '" . $keyword_category . "' AND\n course_language LIKE '" . $keyword_language . "' AND\n visibility LIKE '" . $keyword_visibility . "' AND\n subscribe LIKE '" . $keyword_subscribe . "' AND\n unsubscribe LIKE '" . $keyword_unsubscribe . "'"; } // Adding the filter to see the user's only of the current access_url. if ((api_is_platform_admin() || api_is_session_admin()) && api_is_multiple_url_enabled() && api_get_current_access_url_id() != -1) { $sql .= " AND url_rel_course.access_url_id=" . api_get_current_access_url_id(); } $sql .= " ORDER BY col{$column} {$direction} "; $sql .= " LIMIT {$from}, {$number_of_items}"; $res = Database::query($sql); $courses = array(); $languages = api_get_languages_to_array(); while ($course = Database::fetch_array($res)) { // Place colour icons in front of courses. $show_visual_code = $course['visual_code'] != $course[2] ? Display::label($course['visual_code'], 'info') : null; $course[1] = get_course_visibility_icon($course[8]) . '<a href="' . api_get_path(WEB_COURSE_PATH) . $course[9] . '/index.php">' . $course[1] . '</a> ' . $show_visual_code; $course[5] = $course[5] == SUBSCRIBE_ALLOWED ? get_lang('Yes') : get_lang('No'); $course[6] = $course[6] == UNSUBSCRIBE_ALLOWED ? get_lang('Yes') : get_lang('No'); $language = isset($languages[$course[3]]) ? $languages[$course[3]] : $course[3]; $course_rem = array($course[0], $course[1], $course[2], $language, $course[4], $course[5], $course[6], $course[7]); $courses[] = $course_rem; } return $courses; }
* (Chamilo configuration settings->Plugins) * @package chamilo.plugin * @author Julio Montoya <*****@*****.**> */ /* Plugin config */ // The plugin title. $plugin_info['title'] = 'Show HTML before login'; // The comments that go with the plugin. $plugin_info['comment'] = "Show a content before loading the login page."; // The plugin version. $plugin_info['version'] = '1.0'; // The plugin author. $plugin_info['author'] = 'Julio Montoya'; // The plugin configuration. $form = new FormValidator('form'); $form->addElement('select', 'language', get_lang('Language'), api_get_languages_to_array()); $form->addElement('header', 'Option 1'); $form->addElement('textarea', 'option1', get_lang('Description'), array('rows' => 10, 'class' => 'span6')); $form->addElement('text', 'option1_url', get_lang('RedirectTo')); $form->addElement('header', 'Option 2'); $form->addElement('textarea', 'option2', get_lang('Description'), array('rows' => 10, 'class' => 'span6')); $form->addElement('text', 'option2_url', get_lang('RedirectTo')); $form->addElement('button', 'submit_button', get_lang('Save')); // Get default value for form $defaults = array(); $defaults['language'] = api_get_plugin_setting('before_login', 'language'); $defaults['option1'] = api_get_plugin_setting('before_login', 'option1'); $defaults['option2'] = api_get_plugin_setting('before_login', 'option2'); $defaults['option1_url'] = api_get_plugin_setting('before_login', 'option1_url'); $defaults['option2_url'] = api_get_plugin_setting('before_login', 'option2_url'); $plugin_info['templates'] = array('template.tpl');