diff --git a/main/inc/lib/userportal.lib.php b/main/inc/lib/userportal.lib.php
index e85c9d60eb..b8ee77d96d 100644
--- a/main/inc/lib/userportal.lib.php
+++ b/main/inc/lib/userportal.lib.php
@@ -6,10 +6,10 @@ use \ChamiloSession as Session;
class IndexManager
{
//An instance of the template engine
- public $tpl = false;
- public $name = '';
- public $home = '';
- public $default_home = 'home/';
+ public $tpl = false;
+ public $name = '';
+ public $home = '';
+ public $default_home = 'home/';
public function __construct($title)
{
@@ -28,14 +28,14 @@ class IndexManager
*/
function set_login_form($setLoginForm = true)
{
- global $loginFailed;
+ global $loginFailed;
- $login_form = '';
+ $login_form = '';
- if (!($this->user_id) || api_is_anonymous($this->user_id)) {
+ if (!($this->user_id) || api_is_anonymous($this->user_id)) {
- // Only display if the user isn't logged in.
- $this->tpl->assign('login_language_form', api_display_language_form(true));
+ // Only display if the user isn't logged in.
+ $this->tpl->assign('login_language_form', api_display_language_form(true));
if ($setLoginForm) {
@@ -57,225 +57,225 @@ class IndexManager
}
$this->tpl->assign('login_options', $login_form);
}
- }
- }
+ }
+ }
- function return_exercise_block($personal_course_list)
+ function return_exercise_block($personal_course_list)
{
- require_once api_get_path(SYS_CODE_PATH).'exercice/exercise.lib.php';
- $exercise_list = array();
- if (!empty($personal_course_list)) {
- foreach($personal_course_list as $course_item) {
- $course_code = $course_item['c'];
- $session_id = $course_item['id_session'];
-
- $exercises = get_exercises_to_be_taken($course_code, $session_id);
-
- foreach($exercises as $exercise_item) {
- $exercise_item['course_code'] = $course_code;
- $exercise_item['session_id'] = $session_id;
- $exercise_item['tms'] = api_strtotime($exercise_item['end_time'], 'UTC');
-
- $exercise_list[] = $exercise_item;
- }
- }
- if (!empty($exercise_list)) {
- $exercise_list = msort($exercise_list, 'tms');
- $my_exercise = $exercise_list[0];
- $url = Display::url($my_exercise['title'], api_get_path(WEB_CODE_PATH).'exercice/overview.php?exerciseId='.$my_exercise['id'].'&cidReq='.$my_exercise['course_code'].'&id_session='.$my_exercise['session_id']);
- $this->tpl->assign('exercise_url', $url);
- $this->tpl->assign('exercise_end_date', api_convert_and_format_date($my_exercise['end_time'], DATE_FORMAT_SHORT));
- }
- }
- }
-
- function return_announcements($show_slide = true) {
- // Display System announcements
- $announcement = isset($_GET['announcement']) ? $_GET['announcement'] : null;
- $announcement = intval($announcement);
-
- if (!api_is_anonymous() && $this->user_id) {
- $visibility = api_is_allowed_to_create_course() ? SystemAnnouncementManager::VISIBLE_TEACHER : SystemAnnouncementManager::VISIBLE_STUDENT;
- if ($show_slide) {
- $announcements = SystemAnnouncementManager :: display_announcements_slider($visibility, $announcement);
- } else {
- $announcements = SystemAnnouncementManager :: display_all_announcements($visibility, $announcement);
- }
- } else {
- if ($show_slide) {
- $announcements = SystemAnnouncementManager :: display_announcements_slider(SystemAnnouncementManager::VISIBLE_GUEST, $announcement);
- } else {
- $announcements = SystemAnnouncementManager :: display_all_announcements(SystemAnnouncementManager::VISIBLE_GUEST, $announcement);
- }
- }
- return $announcements;
- }
-
- /**
+ require_once api_get_path(SYS_CODE_PATH).'exercice/exercise.lib.php';
+ $exercise_list = array();
+ if (!empty($personal_course_list)) {
+ foreach($personal_course_list as $course_item) {
+ $course_code = $course_item['c'];
+ $session_id = $course_item['id_session'];
+
+ $exercises = get_exercises_to_be_taken($course_code, $session_id);
+
+ foreach($exercises as $exercise_item) {
+ $exercise_item['course_code'] = $course_code;
+ $exercise_item['session_id'] = $session_id;
+ $exercise_item['tms'] = api_strtotime($exercise_item['end_time'], 'UTC');
+
+ $exercise_list[] = $exercise_item;
+ }
+ }
+ if (!empty($exercise_list)) {
+ $exercise_list = msort($exercise_list, 'tms');
+ $my_exercise = $exercise_list[0];
+ $url = Display::url($my_exercise['title'], api_get_path(WEB_CODE_PATH).'exercice/overview.php?exerciseId='.$my_exercise['id'].'&cidReq='.$my_exercise['course_code'].'&id_session='.$my_exercise['session_id']);
+ $this->tpl->assign('exercise_url', $url);
+ $this->tpl->assign('exercise_end_date', api_convert_and_format_date($my_exercise['end_time'], DATE_FORMAT_SHORT));
+ }
+ }
+ }
+
+ function return_announcements($show_slide = true) {
+ // Display System announcements
+ $announcement = isset($_GET['announcement']) ? $_GET['announcement'] : null;
+ $announcement = intval($announcement);
+
+ if (!api_is_anonymous() && $this->user_id) {
+ $visibility = api_is_allowed_to_create_course() ? SystemAnnouncementManager::VISIBLE_TEACHER : SystemAnnouncementManager::VISIBLE_STUDENT;
+ if ($show_slide) {
+ $announcements = SystemAnnouncementManager :: display_announcements_slider($visibility, $announcement);
+ } else {
+ $announcements = SystemAnnouncementManager :: display_all_announcements($visibility, $announcement);
+ }
+ } else {
+ if ($show_slide) {
+ $announcements = SystemAnnouncementManager :: display_announcements_slider(SystemAnnouncementManager::VISIBLE_GUEST, $announcement);
+ } else {
+ $announcements = SystemAnnouncementManager :: display_all_announcements(SystemAnnouncementManager::VISIBLE_GUEST, $announcement);
+ }
+ }
+ return $announcements;
+ }
+
+ /**
* Alias for the online_logout() function
- */
- function logout() {
+ */
+ function logout() {
online_logout($this->user_id, true);
- }
-
- /**
- * This function checks if there are courses that are open to the world in the platform course categories (=faculties)
- *
- * @param string $category
- * @return boolean
- */
- function category_has_open_courses($category) {
- $setting_show_also_closed_courses = api_get_setting('show_closed_courses') == 'true';
- $main_course_table = Database :: get_main_table(TABLE_MAIN_COURSE);
+ }
+
+ /**
+ * This function checks if there are courses that are open to the world in the platform course categories (=faculties)
+ *
+ * @param string $category
+ * @return boolean
+ */
+ function category_has_open_courses($category) {
+ $setting_show_also_closed_courses = api_get_setting('show_closed_courses') == 'true';
+ $main_course_table = Database :: get_main_table(TABLE_MAIN_COURSE);
$category = Database::escape_string($category);
- $sql_query = "SELECT * FROM $main_course_table WHERE category_code='$category'";
- $sql_result = Database::query($sql_query);
- while ($course = Database::fetch_array($sql_result)) {
- if (!$setting_show_also_closed_courses) {
- if ((api_get_user_id() > 0 && $course['visibility'] == COURSE_VISIBILITY_OPEN_PLATFORM) || ($course['visibility'] == COURSE_VISIBILITY_OPEN_WORLD)) {
- return true; //at least one open course
- }
- } else {
- if (isset($course['visibility'])) {
- return true; // At least one course (it does not matter weither it's open or not because $setting_show_also_closed_courses = true).
- }
- }
- }
- return false;
- }
-
-
- /**
- * Displays the right-hand menu for anonymous users:
- * login form, useful links, help section
- * Warning: function defines globals
- * @version 1.0.1
- * @todo does $_plugins need to be global?
- */
- function display_anonymous_right_menu() {
- global $loginFailed, $_user;
- $display_add_course_link = api_is_allowed_to_create_course() && ($_SESSION['studentview'] != 'studentenview');
- $current_user_id = api_get_user_id();
-
- echo self::set_login_form(false);
- echo self::return_teacher_link();
- echo self::return_notice();
- }
-
- function return_teacher_link() {
- $html = '';
- if (!empty($this->user_id)) {
- // tabs that are deactivated are added here
-
- $show_menu = false;
- $show_create_link = false;
- $show_course_link = false;
-
- if (api_is_platform_admin() || api_is_course_admin() || api_is_allowed_to_create_course()) {
- $show_menu = true;
- $show_course_link = true;
- } else {
- if (api_get_setting('allow_students_to_browse_courses') == 'true') {
- $show_menu = true;
- $show_course_link = true;
- }
- }
-
- if ($show_menu && ($show_create_link || $show_course_link )) {
- $show_menu = true;
- } else {
- $show_menu = false;
- }
- }
-
- // My Account section
-
- if ($show_menu) {
- $html .= '
';
- }
-
- if (!empty($html)) {
- $html = self::show_right_block(get_lang('Courses'), $html, 'teacher_block');
- }
- return $html;
- }
-
- /* Includes a created page */
- function return_home_page()
+ $sql_query = "SELECT * FROM $main_course_table WHERE category_code='$category'";
+ $sql_result = Database::query($sql_query);
+ while ($course = Database::fetch_array($sql_result)) {
+ if (!$setting_show_also_closed_courses) {
+ if ((api_get_user_id() > 0 && $course['visibility'] == COURSE_VISIBILITY_OPEN_PLATFORM) || ($course['visibility'] == COURSE_VISIBILITY_OPEN_WORLD)) {
+ return true; //at least one open course
+ }
+ } else {
+ if (isset($course['visibility'])) {
+ return true; // At least one course (it does not matter weither it's open or not because $setting_show_also_closed_courses = true).
+ }
+ }
+ }
+ return false;
+ }
+
+
+ /**
+ * Displays the right-hand menu for anonymous users:
+ * login form, useful links, help section
+ * Warning: function defines globals
+ * @version 1.0.1
+ * @todo does $_plugins need to be global?
+ */
+ function display_anonymous_right_menu() {
+ global $loginFailed, $_user;
+ $display_add_course_link = api_is_allowed_to_create_course() && ($_SESSION['studentview'] != 'studentenview');
+ $current_user_id = api_get_user_id();
+
+ echo self::set_login_form(false);
+ echo self::return_teacher_link();
+ echo self::return_notice();
+ }
+
+ function return_teacher_link() {
+ $html = '';
+ if (!empty($this->user_id)) {
+ // tabs that are deactivated are added here
+
+ $show_menu = false;
+ $show_create_link = false;
+ $show_course_link = false;
+
+ if (api_is_platform_admin() || api_is_course_admin() || api_is_allowed_to_create_course()) {
+ $show_menu = true;
+ $show_course_link = true;
+ } else {
+ if (api_get_setting('allow_students_to_browse_courses') == 'true') {
+ $show_menu = true;
+ $show_course_link = true;
+ }
+ }
+
+ if ($show_menu && ($show_create_link || $show_course_link )) {
+ $show_menu = true;
+ } else {
+ $show_menu = false;
+ }
+ }
+
+ // My Account section
+
+ if ($show_menu) {
+ $html .= '';
+ }
+
+ if (!empty($html)) {
+ $html = self::show_right_block(get_lang('Courses'), $html, 'teacher_block');
+ }
+ return $html;
+ }
+
+ /* Includes a created page */
+ function return_home_page()
{
$userId = api_get_user_id();
global $_configuration;
- // Including the page for the news
- $html = '';
+ // Including the page for the news
+ $html = '';
- if (!empty($_GET['include']) && preg_match('/^[a-zA-Z0-9_-]*\.html$/', $_GET['include'])) {
- $open = @(string)file_get_contents(api_get_path(SYS_PATH).$this->home.$_GET['include']);
- $html = api_to_system_encoding($open, api_detect_encoding(strip_tags($open)));
- } else {
+ if (!empty($_GET['include']) && preg_match('/^[a-zA-Z0-9_-]*\.html$/', $_GET['include'])) {
+ $open = @(string)file_get_contents(api_get_path(SYS_PATH).$this->home.$_GET['include']);
+ $html = api_to_system_encoding($open, api_detect_encoding(strip_tags($open)));
+ } else {
// Hiding home top when user not connected.
if (isset($_configuration['hide_home_top_when_connected']) && $_configuration['hide_home_top_when_connected'] && !empty($userId)) {
return $html;
}
- if (!empty($_SESSION['user_language_choice'])) {
- $user_selected_language = $_SESSION['user_language_choice'];
- } elseif (!empty($_SESSION['_user']['language'])) {
- $user_selected_language = $_SESSION['_user']['language'];
- } else {
- $user_selected_language = api_get_setting('platformLanguage');
- }
-
- if (!file_exists($this->home.'home_news_'.$user_selected_language.'.html')) {
- if (file_exists($this->home.'home_top.html')) {
- $home_top_temp = file($this->home.'home_top.html');
- } else {
- $home_top_temp = file($this->default_home.'home_top.html');
- }
- $home_top_temp = implode('', $home_top_temp);
- } else {
- if (file_exists($this->home.'home_top_'.$user_selected_language.'.html')) {
- $home_top_temp = file_get_contents($this->home.'home_top_'.$user_selected_language.'.html');
- } else {
- $home_top_temp = file_get_contents($this->home.'home_top.html');
- }
- }
- if (trim($home_top_temp) == '' && api_is_platform_admin()) {
- $home_top_temp = get_lang('PortalHomepageDefaultIntroduction');
- }
- $open = str_replace('{rel_path}', api_get_path(REL_PATH), $home_top_temp);
- $html = api_to_system_encoding($open, api_detect_encoding(strip_tags($open)));
- }
- return $html;
- }
-
- function return_notice() {
- $sys_path = api_get_path(SYS_PATH);
- $user_selected_language = api_get_interface_language();
-
- $html = '';
- // Notice
- $home_notice = @(string)file_get_contents($sys_path.$this->home.'home_notice_'.$user_selected_language.'.html');
- if (empty($home_notice)) {
- $home_notice = @(string)file_get_contents($sys_path.$this->home.'home_notice.html');
- }
-
- if (!empty($home_notice)) {
- $home_notice = api_to_system_encoding($home_notice, api_detect_encoding(strip_tags($home_notice)));
+ if (!empty($_SESSION['user_language_choice'])) {
+ $user_selected_language = $_SESSION['user_language_choice'];
+ } elseif (!empty($_SESSION['_user']['language'])) {
+ $user_selected_language = $_SESSION['_user']['language'];
+ } else {
+ $user_selected_language = api_get_setting('platformLanguage');
+ }
+
+ if (!file_exists($this->home.'home_news_'.$user_selected_language.'.html')) {
+ if (file_exists($this->home.'home_top.html')) {
+ $home_top_temp = file($this->home.'home_top.html');
+ } else {
+ $home_top_temp = file($this->default_home.'home_top.html');
+ }
+ $home_top_temp = implode('', $home_top_temp);
+ } else {
+ if (file_exists($this->home.'home_top_'.$user_selected_language.'.html')) {
+ $home_top_temp = file_get_contents($this->home.'home_top_'.$user_selected_language.'.html');
+ } else {
+ $home_top_temp = file_get_contents($this->home.'home_top.html');
+ }
+ }
+ if (trim($home_top_temp) == '' && api_is_platform_admin()) {
+ $home_top_temp = get_lang('PortalHomepageDefaultIntroduction');
+ }
+ $open = str_replace('{rel_path}', api_get_path(REL_PATH), $home_top_temp);
+ $html = api_to_system_encoding($open, api_detect_encoding(strip_tags($open)));
+ }
+ return $html;
+ }
+
+ function return_notice() {
+ $sys_path = api_get_path(SYS_PATH);
+ $user_selected_language = api_get_interface_language();
+
+ $html = '';
+ // Notice
+ $home_notice = @(string)file_get_contents($sys_path.$this->home.'home_notice_'.$user_selected_language.'.html');
+ if (empty($home_notice)) {
+ $home_notice = @(string)file_get_contents($sys_path.$this->home.'home_notice.html');
+ }
+
+ if (!empty($home_notice)) {
+ $home_notice = api_to_system_encoding($home_notice, api_detect_encoding(strip_tags($home_notice)));
$home_notice = Display::div($home_notice, array('class' => 'homepage_notice'));
- $html = self::show_right_block(get_lang('Notice'), $home_notice, 'notice_block');
- }
+ $html = self::show_right_block(get_lang('Notice'), $home_notice, 'notice_block');
+ }
return $html;
}
@@ -284,23 +284,23 @@ class IndexManager
$sys_path = api_get_path(SYS_PATH);
$platformLanguage = api_get_setting('platformLanguage');
- // Help section.
- /* Hide right menu "general" and other parts on anonymous right menu. */
+ // Help section.
+ /* Hide right menu "general" and other parts on anonymous right menu. */
- if (!isset($user_selected_language)) {
- $user_selected_language = $platformLanguage;
- }
+ if (!isset($user_selected_language)) {
+ $user_selected_language = $platformLanguage;
+ }
$html = null;
- $home_menu = @(string)file_get_contents($sys_path.$this->home.'home_menu_'.$user_selected_language.'.html');
- if (!empty($home_menu)) {
- $home_menu_content = '';
- $home_menu_content .= api_to_system_encoding($home_menu, api_detect_encoding(strip_tags($home_menu)));
- $home_menu_content .= '
';
- $html .= self::show_right_block(get_lang('MenuGeneral'), $home_menu_content, 'help_block');
- }
- return $html;
- }
+ $home_menu = @(string)file_get_contents($sys_path.$this->home.'home_menu_'.$user_selected_language.'.html');
+ if (!empty($home_menu)) {
+ $home_menu_content = '';
+ $home_menu_content .= api_to_system_encoding($home_menu, api_detect_encoding(strip_tags($home_menu)));
+ $home_menu_content .= '
';
+ $html .= self::show_right_block(get_lang('MenuGeneral'), $home_menu_content, 'help_block');
+ }
+ return $html;
+ }
function return_skills_links() {
$html = '';
@@ -318,38 +318,38 @@ class IndexManager
return $html;
}
- /**
- * Reacts on a failed login:
- * Displays an explanation with a link to the registration form.
- *
- * @version 1.0.1
- */
- function handle_login_failed() {
+ /**
+ * Reacts on a failed login:
+ * Displays an explanation with a link to the registration form.
+ *
+ * @version 1.0.1
+ */
+ function handle_login_failed() {
$message = get_lang('InvalidId');
- if (!isset($_GET['error'])) {
- if (api_is_self_registration_allowed()) {
- $message = get_lang('InvalidForSelfRegistration');
- }
- } else {
- switch ($_GET['error']) {
- case '':
- if (api_is_self_registration_allowed()) {
- $message = get_lang('InvalidForSelfRegistration');
- }
- break;
- case 'account_expired':
- $message = get_lang('AccountExpired');
- break;
- case 'account_inactive':
- $message = get_lang('AccountInactive');
- break;
- case 'user_password_incorrect':
- $message = get_lang('InvalidId');
- break;
- case 'access_url_inactive':
- $message = get_lang('AccountURLInactive');
- break;
+ if (!isset($_GET['error'])) {
+ if (api_is_self_registration_allowed()) {
+ $message = get_lang('InvalidForSelfRegistration');
+ }
+ } else {
+ switch ($_GET['error']) {
+ case '':
+ if (api_is_self_registration_allowed()) {
+ $message = get_lang('InvalidForSelfRegistration');
+ }
+ break;
+ case 'account_expired':
+ $message = get_lang('AccountExpired');
+ break;
+ case 'account_inactive':
+ $message = get_lang('AccountInactive');
+ break;
+ case 'user_password_incorrect':
+ $message = get_lang('InvalidId');
+ break;
+ case 'access_url_inactive':
+ $message = get_lang('AccountURLInactive');
+ break;
case 'wrong_captcha':
$message = get_lang('TheTextYouEnteredDoesNotMatchThePicture');
break;
@@ -359,84 +359,84 @@ class IndexManager
case 'unrecognize_sso_origin':
//$message = get_lang('SSOError');
break;
- }
- }
- return Display::return_message($message, 'error');
- }
-
- /**
- * Display list of courses in a category.
- * (for anonymous users)
- *
- * @version 1.1
- * @author Patrick Cool , Ghent University - refactoring and code cleaning
+ }
+ }
+ return Display::return_message($message, 'error');
+ }
+
+ /**
+ * Display list of courses in a category.
+ * (for anonymous users)
+ *
+ * @version 1.1
+ * @author Patrick Cool , Ghent University - refactoring and code cleaning
* @author Julio Montoya , Beeznest template modifs
- */
- function return_courses_in_categories() {
+ */
+ function return_courses_in_categories() {
$result = '';
- $stok = Security::get_token();
-
- // Initialization.
- $user_identified = (api_get_user_id() > 0 && !api_is_anonymous());
- $web_course_path = api_get_path(WEB_COURSE_PATH);
- $category = Database::escape_string($_GET['category']);
- $setting_show_also_closed_courses = api_get_setting('show_closed_courses') == 'true';
-
- // Database table definitions.
- $main_course_table = Database :: get_main_table(TABLE_MAIN_COURSE);
- $main_category_table = Database :: get_main_table(TABLE_MAIN_CATEGORY);
-
- // Get list of courses in category $category.
- $sql_get_course_list = "SELECT * FROM $main_course_table cours
- WHERE category_code = '".Database::escape_string($_GET['category'])."'
- ORDER BY title, UPPER(visual_code)";
-
- // Showing only the courses of the current access_url_id.
- global $_configuration;
- if ($_configuration['multiple_access_urls']) {
- $url_access_id = api_get_current_access_url_id();
- if ($url_access_id != -1) {
- $tbl_url_rel_course = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
- $sql_get_course_list = "SELECT * FROM $main_course_table as course INNER JOIN $tbl_url_rel_course as url_rel_course
- ON (url_rel_course.course_code=course.code)
- WHERE access_url_id = $url_access_id AND category_code = '".Database::escape_string($_GET['category'])."' ORDER BY title, UPPER(visual_code)";
- }
- }
-
- // Removed: AND cours.visibility='".COURSE_VISIBILITY_OPEN_WORLD."'
- $sql_result_courses = Database::query($sql_get_course_list);
-
- while ($course_result = Database::fetch_array($sql_result_courses)) {
- $course_list[] = $course_result;
- }
-
- // $setting_show_also_closed_courses
- if ($user_identified) {
- if ($setting_show_also_closed_courses) {
- $platform_visible_courses = '';
- } else {
- $platform_visible_courses = " AND (t3.visibility='".COURSE_VISIBILITY_OPEN_WORLD."' OR t3.visibility='".COURSE_VISIBILITY_OPEN_PLATFORM."' )";
- }
- } else {
- if ($setting_show_also_closed_courses) {
- $platform_visible_courses = '';
- } else {
- $platform_visible_courses = " AND (t3.visibility='".COURSE_VISIBILITY_OPEN_WORLD."' )";
- }
- }
- $sqlGetSubCatList = "
- SELECT t1.name,
- t1.code,
- t1.parent_id,
- t1.children_count,COUNT(DISTINCT t3.code) AS nbCourse
- FROM $main_category_table t1
- LEFT JOIN $main_category_table t2 ON t1.code=t2.parent_id
- LEFT JOIN $main_course_table t3 ON (t3.category_code = t1.code $platform_visible_courses)
- WHERE t1.parent_id ". (empty ($category) ? "IS NULL" : "='$category'")."
- GROUP BY t1.name,t1.code,t1.parent_id,t1.children_count ORDER BY t1.tree_pos, t1.name";
-
- // Showing only the category of courses of the current access_url_id
- if (api_is_multiple_url_enabled()) {
+ $stok = Security::get_token();
+
+ // Initialization.
+ $user_identified = (api_get_user_id() > 0 && !api_is_anonymous());
+ $web_course_path = api_get_path(WEB_COURSE_PATH);
+ $category = Database::escape_string($_GET['category']);
+ $setting_show_also_closed_courses = api_get_setting('show_closed_courses') == 'true';
+
+ // Database table definitions.
+ $main_course_table = Database :: get_main_table(TABLE_MAIN_COURSE);
+ $main_category_table = Database :: get_main_table(TABLE_MAIN_CATEGORY);
+
+ // Get list of courses in category $category.
+ $sql_get_course_list = "SELECT * FROM $main_course_table cours
+ WHERE category_code = '".Database::escape_string($_GET['category'])."'
+ ORDER BY title, UPPER(visual_code)";
+
+ // Showing only the courses of the current access_url_id.
+ global $_configuration;
+ if ($_configuration['multiple_access_urls']) {
+ $url_access_id = api_get_current_access_url_id();
+ if ($url_access_id != -1) {
+ $tbl_url_rel_course = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
+ $sql_get_course_list = "SELECT * FROM $main_course_table as course INNER JOIN $tbl_url_rel_course as url_rel_course
+ ON (url_rel_course.course_code=course.code)
+ WHERE access_url_id = $url_access_id AND category_code = '".Database::escape_string($_GET['category'])."' ORDER BY title, UPPER(visual_code)";
+ }
+ }
+
+ // Removed: AND cours.visibility='".COURSE_VISIBILITY_OPEN_WORLD."'
+ $sql_result_courses = Database::query($sql_get_course_list);
+
+ while ($course_result = Database::fetch_array($sql_result_courses)) {
+ $course_list[] = $course_result;
+ }
+
+ // $setting_show_also_closed_courses
+ if ($user_identified) {
+ if ($setting_show_also_closed_courses) {
+ $platform_visible_courses = '';
+ } else {
+ $platform_visible_courses = " AND (t3.visibility='".COURSE_VISIBILITY_OPEN_WORLD."' OR t3.visibility='".COURSE_VISIBILITY_OPEN_PLATFORM."' )";
+ }
+ } else {
+ if ($setting_show_also_closed_courses) {
+ $platform_visible_courses = '';
+ } else {
+ $platform_visible_courses = " AND (t3.visibility='".COURSE_VISIBILITY_OPEN_WORLD."' )";
+ }
+ }
+ $sqlGetSubCatList = "
+ SELECT t1.name,
+ t1.code,
+ t1.parent_id,
+ t1.children_count,COUNT(DISTINCT t3.code) AS nbCourse
+ FROM $main_category_table t1
+ LEFT JOIN $main_category_table t2 ON t1.code=t2.parent_id
+ LEFT JOIN $main_course_table t3 ON (t3.category_code = t1.code $platform_visible_courses)
+ WHERE t1.parent_id ". (empty ($category) ? "IS NULL" : "='$category'")."
+ GROUP BY t1.name,t1.code,t1.parent_id,t1.children_count ORDER BY t1.tree_pos, t1.name";
+
+ // Showing only the category of courses of the current access_url_id
+ if (api_is_multiple_url_enabled()) {
require_once api_get_path(LIBRARY_PATH).'course_category.lib.php';
$courseCategoryCondition = null;
if (isMultipleUrlSupport()) {
@@ -444,30 +444,30 @@ class IndexManager
$courseCategoryCondition = " INNER JOIN $table a ON (t1.id = a.course_category_id)";
}
- $url_access_id = api_get_current_access_url_id();
- if ($url_access_id != -1) {
- $tbl_url_rel_course = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
- $sqlGetSubCatList = "
- SELECT t1.name,
- t1.code,
- t1.parent_id,
- t1.children_count,
- COUNT(DISTINCT t3.code) AS nbCourse
- FROM $main_category_table t1
- $courseCategoryCondition
- LEFT JOIN $main_category_table t2 ON t1.code = t2.parent_id
- LEFT JOIN $main_course_table t3 ON (t3.category_code=t1.code $platform_visible_courses)
- INNER JOIN $tbl_url_rel_course as url_rel_course
- ON (url_rel_course.course_code=t3.code)
- WHERE url_rel_course.access_url_id = $url_access_id AND t1.parent_id ".(empty($category) ? "IS NULL" : "='$category'")."
- GROUP BY t1.name,t1.code,t1.parent_id,t1.children_count ORDER BY t1.tree_pos, t1.name";
- }
- }
-
- $resCats = Database::query($sqlGetSubCatList);
- $thereIsSubCat = false;
- if (Database::num_rows($resCats) > 0) {
- $htmlListCat = Display::page_header(get_lang('CatList'));
+ $url_access_id = api_get_current_access_url_id();
+ if ($url_access_id != -1) {
+ $tbl_url_rel_course = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
+ $sqlGetSubCatList = "
+ SELECT t1.name,
+ t1.code,
+ t1.parent_id,
+ t1.children_count,
+ COUNT(DISTINCT t3.code) AS nbCourse
+ FROM $main_category_table t1
+ $courseCategoryCondition
+ LEFT JOIN $main_category_table t2 ON t1.code = t2.parent_id
+ LEFT JOIN $main_course_table t3 ON (t3.category_code=t1.code $platform_visible_courses)
+ INNER JOIN $tbl_url_rel_course as url_rel_course
+ ON (url_rel_course.course_code=t3.code)
+ WHERE url_rel_course.access_url_id = $url_access_id AND t1.parent_id ".(empty($category) ? "IS NULL" : "='$category'")."
+ GROUP BY t1.name,t1.code,t1.parent_id,t1.children_count ORDER BY t1.tree_pos, t1.name";
+ }
+ }
+
+ $resCats = Database::query($sqlGetSubCatList);
+ $thereIsSubCat = false;
+ if (Database::num_rows($resCats) > 0) {
+ $htmlListCat = Display::page_header(get_lang('CatList'));
$htmlListCat .= '';
$htmlTitre = '';
while ($catLine = Database::fetch_array($resCats)) {
@@ -479,19 +479,19 @@ class IndexManager
if (api_get_setting('show_number_of_courses') == 'true') {
$htmlListCat .= ' ('.$catLine['nbCourse'].' '.get_lang('Courses').')';
}
- $htmlListCat .= "";
- $thereIsSubCat = true;
+ $htmlListCat .= "";
+ $thereIsSubCat = true;
} elseif ($catLine['children_count'] > 0) {
- // The category has children, subcategories.
- $htmlListCat .= '- ';
- $htmlListCat .= ''.$catLine['name'].'';
- $htmlListCat .= "
";
- $thereIsSubCat = true;
+ // The category has children, subcategories.
+ $htmlListCat .= '- ';
+ $htmlListCat .= ''.$catLine['name'].'';
+ $htmlListCat .= "
";
+ $thereIsSubCat = true;
} elseif (api_get_setting('show_empty_course_categories') == 'true') {
/* End changed code to eliminate the (0 courses) after empty categories. */
- $htmlListCat .= '- ';
+ $htmlListCat .= '
- ';
$htmlListCat .= $catLine['name'];
- $htmlListCat .= "
";
+ $htmlListCat .= "";
$thereIsSubCat = true;
} // Else don't set thereIsSubCat to true to avoid printing things if not requested.
// TODO: deprecate this useless feature - this includes removing system variable
@@ -503,49 +503,49 @@ class IndexManager
$htmlTitre .= "";
}
}
- $htmlListCat .= "
";
- }
- $result .= $htmlTitre;
- if ($thereIsSubCat) {
+ $htmlListCat .= "";
+ }
+ $result .= $htmlTitre;
+ if ($thereIsSubCat) {
$result .= $htmlListCat;
- }
- while ($categoryName = Database::fetch_array($resCats)) {
+ }
+ while ($categoryName = Database::fetch_array($resCats)) {
$result .= '' . $categoryName['name'] . "
\n";
- }
- $numrows = Database::num_rows($sql_result_courses);
- $courses_list_string = '';
- $courses_shown = 0;
- if ($numrows > 0) {
- $courses_list_string .= Display::page_header(get_lang('CourseList'));
+ }
+ $numrows = Database::num_rows($sql_result_courses);
+ $courses_list_string = '';
+ $courses_shown = 0;
+ if ($numrows > 0) {
+ $courses_list_string .= Display::page_header(get_lang('CourseList'));
$courses_list_string .= "";
- if (api_get_user_id()) {
- $courses_of_user = self::get_courses_of_user(api_get_user_id());
- }
- foreach ($course_list as $course) {
- // $setting_show_also_closed_courses
+ if (api_get_user_id()) {
+ $courses_of_user = self::get_courses_of_user(api_get_user_id());
+ }
+ foreach ($course_list as $course) {
+ // $setting_show_also_closed_courses
if ($course['visibility'] == COURSE_VISIBILITY_HIDDEN) { continue; }
- if (!$setting_show_also_closed_courses) {
- // If we do not show the closed courses
- // we only show the courses that are open to the world (to everybody)
- // and the courses that are open to the platform (if the current user is a registered user.
- if (($user_identified && $course['visibility'] == COURSE_VISIBILITY_OPEN_PLATFORM) || ($course['visibility'] == COURSE_VISIBILITY_OPEN_WORLD)) {
- $courses_shown++;
- $courses_list_string .= "- ";
- $courses_list_string .= ''.$course['title'].'
';
+ if (!$setting_show_also_closed_courses) {
+ // If we do not show the closed courses
+ // we only show the courses that are open to the world (to everybody)
+ // and the courses that are open to the platform (if the current user is a registered user.
+ if (($user_identified && $course['visibility'] == COURSE_VISIBILITY_OPEN_PLATFORM) || ($course['visibility'] == COURSE_VISIBILITY_OPEN_WORLD)) {
+ $courses_shown++;
+ $courses_list_string .= " - ";
+ $courses_list_string .= ''.$course['title'].'
';
$course_details = array();
- if (api_get_setting('display_coursecode_in_courselist') == 'true') {
- $course_details[] = $course['visual_code'];
- }
- if (api_get_setting('display_teacher_in_courselist') == 'true') {
- $course_details[] = CourseManager::get_teacher_list_from_course_code_to_string($course['code']);
- }
- if (api_get_setting('show_different_course_language') == 'true' && $course['course_language'] != api_get_setting('platformLanguage')) {
- $course_details[] = $course['course_language'];
- }
+ if (api_get_setting('display_coursecode_in_courselist') == 'true') {
+ $course_details[] = $course['visual_code'];
+ }
+ if (api_get_setting('display_teacher_in_courselist') == 'true') {
+ $course_details[] = CourseManager::get_teacher_list_from_course_code_to_string($course['code']);
+ }
+ if (api_get_setting('show_different_course_language') == 'true' && $course['course_language'] != api_get_setting('platformLanguage')) {
+ $course_details[] = $course['course_language'];
+ }
$courses_list_string .= implode(' - ', $course_details);
- $courses_list_string .= " ";
- }
- } else {
+ $courses_list_string .= "";
+ }
+ } else {
// We DO show the closed courses.
// The course is accessible if (link to the course homepage):
// 1. the course is open to the world (doesn't matter if the user is logged in or not): $course['visibility'] == COURSE_VISIBILITY_OPEN_WORLD);
@@ -555,8 +555,8 @@ class IndexManager
// 5. the user is the platform admin api_is_platform_admin().
//
$courses_shown++;
- $courses_list_string .= "- ";
- if ($course['visibility'] == COURSE_VISIBILITY_OPEN_WORLD
+ $courses_list_string .= "
- ";
+ if ($course['visibility'] == COURSE_VISIBILITY_OPEN_WORLD
|| ($user_identified && $course['visibility'] == COURSE_VISIBILITY_OPEN_PLATFORM)
|| ($user_identified && key_exists($course['code'], $courses_of_user)
&& $course['visibility'] != COURSE_VISIBILITY_CLOSED)
@@ -566,33 +566,33 @@ class IndexManager
}
$courses_list_string .= $course['title'];
if ($course['visibility'] == COURSE_VISIBILITY_OPEN_WORLD
- || ($user_identified && $course['visibility'] == COURSE_VISIBILITY_OPEN_PLATFORM)
- || ($user_identified && key_exists($course['code'], $courses_of_user)
+ || ($user_identified && $course['visibility'] == COURSE_VISIBILITY_OPEN_PLATFORM)
+ || ($user_identified && key_exists($course['code'], $courses_of_user)
&& $course['visibility'] != COURSE_VISIBILITY_CLOSED)
- || $courses_of_user[$course['code']]['status'] == '1'
- || api_is_platform_admin()) {
+ || $courses_of_user[$course['code']]['status'] == '1'
+ || api_is_platform_admin()) {
$courses_list_string .= '
';
}
$course_details = array();
if (api_get_setting('display_coursecode_in_courselist') == 'true') {
$course_details[] = $course['visual_code'];
}
-// if (api_get_setting('display_coursecode_in_courselist') == 'true' && api_get_setting('display_teacher_in_courselist') == 'true') {
-// $courses_list_string .= ' - ';
-// }
+// if (api_get_setting('display_coursecode_in_courselist') == 'true' && api_get_setting('display_teacher_in_courselist') == 'true') {
+// $courses_list_string .= ' - ';
+// }
if (api_get_setting('display_teacher_in_courselist') == 'true') {
if (!empty($course['tutor_name'])) {
- $course_details[] = $course['tutor_name'];
+ $course_details[] = $course['tutor_name'];
}
- }
- if (api_get_setting('show_different_course_language') == 'true' && $course['course_language'] != api_get_setting('platformLanguage')) {
- $course_details[] = $course['course_language'];
- }
+ }
+ if (api_get_setting('show_different_course_language') == 'true' && $course['course_language'] != api_get_setting('platformLanguage')) {
+ $course_details[] = $course['course_language'];
+ }
$courses_list_string .= implode(' - ', $course_details);
- // We display a subscription link if:
- // 1. it is allowed to register for the course and if the course is not already in the courselist of the user and if the user is identiefied
- // 2.
+ // We display a subscription link if:
+ // 1. it is allowed to register for the course and if the course is not already in the courselist of the user and if the user is identiefied
+ // 2.
if ($user_identified && !array_key_exists($course['code'], $courses_of_user)) {
if ($course['subscribe'] == '1') {
/*$courses_list_string .= ' ";
- } //end else
- } // end foreach
- $courses_list_string .= "
";
+ } //end else
+ } // end foreach
+ $courses_list_string .= "";
}
if ($courses_shown > 0) {
// Only display the list of courses and categories if there was more than
// 0 courses visible to the world (we're in the anonymous list here).
$result .= $courses_list_string;
}
- if ($category != '') {
- $result .= ' ' . Display :: return_icon('back.png', get_lang('BackToHomePage')) . get_lang('BackToHomePage') . '
';
- }
+ if ($category != '') {
+ $result .= ' ' . Display :: return_icon('back.png', get_lang('BackToHomePage')) . get_lang('BackToHomePage') . '
';
+ }
return $result;
- }
-
- /**
- * retrieves all the courses that the user has already subscribed to
- * @author Patrick Cool , Ghent University, Belgium
- * @param int $user_id: the id of the user
- * @return array an array containing all the information of the courses of the given user
- */
- function get_courses_of_user($user_id) {
- $table_course = Database::get_main_table(TABLE_MAIN_COURSE);
- $table_course_user = Database::get_main_table(TABLE_MAIN_COURSE_USER);
- // Secondly we select the courses that are in a category (user_course_cat <> 0) and sort these according to the sort of the category
- $user_id = intval($user_id);
- $sql_select_courses = "SELECT course.code k, course.visual_code vc, course.subscribe subscr, course.unsubscribe unsubscr,
- course.title i, course.tutor_name t, course.db_name db, course.directory dir, course_rel_user.status status,
- course_rel_user.sort sort, course_rel_user.user_course_cat user_course_cat
- FROM $table_course course,
- $table_course_user course_rel_user
- WHERE course.code = course_rel_user.course_code
- AND course_rel_user.user_id = '".$user_id."'
+ }
+
+ /**
+ * retrieves all the courses that the user has already subscribed to
+ * @author Patrick Cool , Ghent University, Belgium
+ * @param int $user_id: the id of the user
+ * @return array an array containing all the information of the courses of the given user
+ */
+ function get_courses_of_user($user_id) {
+ $table_course = Database::get_main_table(TABLE_MAIN_COURSE);
+ $table_course_user = Database::get_main_table(TABLE_MAIN_COURSE_USER);
+ // Secondly we select the courses that are in a category (user_course_cat <> 0) and sort these according to the sort of the category
+ $user_id = intval($user_id);
+ $sql_select_courses = "SELECT course.code k, course.visual_code vc, course.subscribe subscr, course.unsubscribe unsubscr,
+ course.title i, course.tutor_name t, course.db_name db, course.directory dir, course_rel_user.status status,
+ course_rel_user.sort sort, course_rel_user.user_course_cat user_course_cat
+ FROM $table_course course,
+ $table_course_user course_rel_user
+ WHERE course.code = course_rel_user.course_code
+ AND course_rel_user.user_id = '".$user_id."'
AND course_rel_user.relation_type<>".COURSE_RELATION_TYPE_RRHH."
ORDER BY course_rel_user.sort ASC";
- $result = Database::query($sql_select_courses);
- $courses = array();
- while ($row = Database::fetch_array($result)) {
- // We only need the database name of the course.
- $courses[$row['k']] = array('db' => $row['db'], 'code' => $row['k'], 'visual_code' => $row['vc'], 'title' => $row['i'], 'directory' => $row['dir'], 'status' => $row['status'], 'tutor' => $row['t'], 'subscribe' => $row['subscr'], 'unsubscribe' => $row['unsubscr'], 'sort' => $row['sort'], 'user_course_category' => $row['user_course_cat']);
- }
- return $courses;
- }
+ $result = Database::query($sql_select_courses);
+ $courses = array();
+ while ($row = Database::fetch_array($result)) {
+ // We only need the database name of the course.
+ $courses[$row['k']] = array('db' => $row['db'], 'code' => $row['k'], 'visual_code' => $row['vc'], 'title' => $row['i'], 'directory' => $row['dir'], 'status' => $row['status'], 'tutor' => $row['t'], 'subscribe' => $row['subscr'], 'unsubscribe' => $row['unsubscr'], 'sort' => $row['sort'], 'user_course_category' => $row['user_course_cat']);
+ }
+ return $courses;
+ }
/**
* @todo use the template system
*/
- function show_right_block($title, $content, $id = null, $params = null) {
- if (!empty($id)) {
+ function show_right_block($title, $content, $id = null, $params = null) {
+ if (!empty($id)) {
$params['id'] = $id;
}
$params['class'] = 'well sidebar-nav';
$html = null;
- if (!empty($title)) {
- $html.= ''.$title.'
';
- }
- $html.= $content;
+ if (!empty($title)) {
+ $html.= ''.$title.'
';
+ }
+ $html.= $content;
$html = Display::div($html, $params);
- return $html;
- }
-
- /**
- * Adds a form to let users login
- * @version 1.1
- */
- function display_login_form()
+ return $html;
+ }
+
+ /**
+ * Adds a form to let users login
+ * @version 1.1
+ */
+ function display_login_form()
{
- $form = new FormValidator('formLogin', 'POST', null, null, array('class'=>'form-vertical'));
- $form->addElement('text', 'login', get_lang('UserName'), array('class' => 'span2 autocapitalize_off', 'autofocus' => 'autofocus'));
- $form->addElement('password', 'password', get_lang('Pass'), array('class' => 'span2'));
+ $form = new FormValidator('formLogin', 'POST', null, null, array('class'=>'form-vertical'));
+ $form->addElement('text', 'login', get_lang('UserName'), array('class' => 'span2 autocapitalize_off', 'autofocus' => 'autofocus'));
+ $form->addElement('password', 'password', get_lang('Pass'), array('class' => 'span2'));
global $_configuration;
// Captcha
@@ -716,76 +716,76 @@ class IndexManager
}
}
- $form->addElement('style_submit_button','submitAuth', get_lang('LoginEnter'), array('class' => 'btn'));
+ $form->addElement('style_submit_button','submitAuth', get_lang('LoginEnter'), array('class' => 'btn'));
- $html = $form->return_form();
+ $html = $form->return_form();
// The validation is located in the local.inc
/*if ($form->validate()) {
// Prevent re-use of the same CAPTCHA phrase
$captcha_question->destroy();
}*/
- if (api_get_setting('openid_authentication') == 'true') {
- include_once 'main/auth/openid/login.php';
- $html .= ''.openid_form().'
';
- }
- return $html;
- }
-
- function return_search_block() {
- $html = '';
- if (api_get_setting('search_enabled') == 'true') {
- $html .= '';
- $search_btn = get_lang('Search');
- $search_content = '
-
';
- $html .= self::show_right_block(get_lang('Search'), $search_content, 'search_block');
- }
- return $html;
- }
-
- function return_classes_block() {
- $html = '';
- if (api_get_setting('show_groups_to_users') == 'true') {
- require_once api_get_path(LIBRARY_PATH).'usergroup.lib.php';
- $usergroup = new Usergroup();
- $usergroup_list = $usergroup->get_usergroup_by_user(api_get_user_id());
- $classes = '';
- if (!empty($usergroup_list)) {
- foreach($usergroup_list as $group_id) {
- $data = $usergroup->get($group_id);
- $data['name'] = Display::url($data['name'], api_get_path(WEB_CODE_PATH).'user/classes.php?id='.$data['id']);
- $classes .= Display::tag('li', $data['name']);
- }
- }
- if (api_is_platform_admin()) {
- $classes .= Display::tag('li', Display::url(get_lang('AddClasses') ,api_get_path(WEB_CODE_PATH).'admin/usergroups.php?action=add'));
- }
- if (!empty($classes)) {
- $classes = Display::tag('ul', $classes, array('class'=>'nav nav-list'));
- $html .= self::show_right_block(get_lang('Classes'), $classes, 'classes_block');
- }
- }
- return $html;
- }
-
- function return_reservation_block() {
- $html = '';
- if (api_get_setting('allow_reservation') == 'true' && api_is_allowed_to_create_course()) {
- $booking_content .='';
- $html .= self::show_right_block(get_lang('Booking'), $booking_content, 'reservation_block');
- }
- return $html;
- }
+ if (api_get_setting('openid_authentication') == 'true') {
+ include_once 'main/auth/openid/login.php';
+ $html .= ''.openid_form().'
';
+ }
+ return $html;
+ }
+
+ function return_search_block() {
+ $html = '';
+ if (api_get_setting('search_enabled') == 'true') {
+ $html .= '';
+ $search_btn = get_lang('Search');
+ $search_content = '
+
';
+ $html .= self::show_right_block(get_lang('Search'), $search_content, 'search_block');
+ }
+ return $html;
+ }
+
+ function return_classes_block() {
+ $html = '';
+ if (api_get_setting('show_groups_to_users') == 'true') {
+ require_once api_get_path(LIBRARY_PATH).'usergroup.lib.php';
+ $usergroup = new Usergroup();
+ $usergroup_list = $usergroup->get_usergroup_by_user(api_get_user_id());
+ $classes = '';
+ if (!empty($usergroup_list)) {
+ foreach($usergroup_list as $group_id) {
+ $data = $usergroup->get($group_id);
+ $data['name'] = Display::url($data['name'], api_get_path(WEB_CODE_PATH).'user/classes.php?id='.$data['id']);
+ $classes .= Display::tag('li', $data['name']);
+ }
+ }
+ if (api_is_platform_admin()) {
+ $classes .= Display::tag('li', Display::url(get_lang('AddClasses') ,api_get_path(WEB_CODE_PATH).'admin/usergroups.php?action=add'));
+ }
+ if (!empty($classes)) {
+ $classes = Display::tag('ul', $classes, array('class'=>'nav nav-list'));
+ $html .= self::show_right_block(get_lang('Classes'), $classes, 'classes_block');
+ }
+ }
+ return $html;
+ }
+
+ function return_reservation_block() {
+ $html = '';
+ if (api_get_setting('allow_reservation') == 'true' && api_is_allowed_to_create_course()) {
+ $booking_content .='';
+ $html .= self::show_right_block(get_lang('Booking'), $booking_content, 'reservation_block');
+ }
+ return $html;
+ }
function return_user_image_block() {
- $img_array = UserManager::get_user_picture_path_by_id(api_get_user_id(), 'web', true, true);
- $img_array = UserManager::get_picture_user(api_get_user_id(), $img_array['file'], 50, USER_IMAGE_SIZE_MEDIUM, ' width="90" height="90" ');
+ $img_array = UserManager::get_user_picture_path_by_id(api_get_user_id(), 'web', true, true);
+ $img_array = UserManager::get_picture_user(api_get_user_id(), $img_array['file'], 50, USER_IMAGE_SIZE_MEDIUM, ' width="90" height="90" ');
$profile_content = null;
if (api_get_setting('allow_social_tool') == 'true') {
$profile_content .='
';
@@ -796,44 +796,44 @@ class IndexManager
return $html;
}
- function return_profile_block()
+ function return_profile_block()
{
global $_configuration;
- $user_id = api_get_user_id();
+ $user_id = api_get_user_id();
- if (empty($user_id)) {
- return;
- }
+ if (empty($user_id)) {
+ return;
+ }
- $profile_content = '';
+ $profile_content = '';
- // @todo Add a platform setting to add the user image.
- if (api_get_setting('allow_message_tool') == 'true') {
- require_once api_get_path(LIBRARY_PATH).'group_portal_manager.lib.php';
+ // @todo Add a platform setting to add the user image.
+ if (api_get_setting('allow_message_tool') == 'true') {
+ require_once api_get_path(LIBRARY_PATH).'group_portal_manager.lib.php';
- // New messages.
- $number_of_new_messages = MessageManager::get_new_messages();
- // New contact invitations.
- $number_of_new_messages_of_friend = SocialManager::get_message_number_invitation_by_user_id(api_get_user_id());
+ // New messages.
+ $number_of_new_messages = MessageManager::get_new_messages();
+ // New contact invitations.
+ $number_of_new_messages_of_friend = SocialManager::get_message_number_invitation_by_user_id(api_get_user_id());
- // New group invitations sent by a moderator.
- $group_pending_invitations = GroupPortalManager::get_groups_by_user(api_get_user_id(), GROUP_USER_PERMISSION_PENDING_INVITATION, false);
- $group_pending_invitations = count($group_pending_invitations);
+ // New group invitations sent by a moderator.
+ $group_pending_invitations = GroupPortalManager::get_groups_by_user(api_get_user_id(), GROUP_USER_PERMISSION_PENDING_INVITATION, false);
+ $group_pending_invitations = count($group_pending_invitations);
- $total_invitations = $number_of_new_messages_of_friend + $group_pending_invitations;
+ $total_invitations = $number_of_new_messages_of_friend + $group_pending_invitations;
$cant_msg = Display::badge($number_of_new_messages);
- $link = '';
- if (api_get_setting('allow_social_tool') == 'true') {
- $link = '?f=social';
- }
- $profile_content .= '- '.get_lang('Inbox').$cant_msg.'
';
- $profile_content .= '- '.get_lang('Compose').'
';
+ $link = '';
+ if (api_get_setting('allow_social_tool') == 'true') {
+ $link = '?f=social';
+ }
+ $profile_content .= '- '.get_lang('Inbox').$cant_msg.'
';
+ $profile_content .= '- '.get_lang('Compose').'
';
- if (api_get_setting('allow_social_tool') == 'true') {
- $total_invitations = Display::badge($total_invitations);
- $profile_content .= '- '.get_lang('PendingInvitations').$total_invitations.'
';
- }
+ if (api_get_setting('allow_social_tool') == 'true') {
+ $total_invitations = Display::badge($total_invitations);
+ $profile_content .= '- '.get_lang('PendingInvitations').$total_invitations.'
';
+ }
if (isset($_configuration['allow_my_files_link_in_homepage']) && $_configuration['allow_my_files_link_in_homepage']) {
$profile_content .= '- '.get_lang('MyFiles').'
';
@@ -841,64 +841,64 @@ class IndexManager
}
$profile_content .= '- '.get_lang('EditProfile').'
';
$profile_content .= '
';
- $html = self::show_right_block(get_lang('Profile'), $profile_content, 'profile_block');
- return $html;
- }
-
- function return_navigation_links() {
- $html = '';
-
- // Deleting the myprofile link.
- if (api_get_setting('allow_social_tool') == 'true') {
- unset($this->tpl->menu_navigation['myprofile']);
- }
-
- // Main navigation section.
- // Tabs that are deactivated are added here.
- if (!empty($this->tpl->menu_navigation)) {
- $content = '';
- foreach ($this->tpl->menu_navigation as $section => $navigation_info) {
- $current = $section == $GLOBALS['this_section'] ? ' id="current"' : '';
- $content .= '- ';
- $content .= ''.$navigation_info['title'].'';
- $content .= '
';
- }
- $content .= '
';
- $html = self::show_right_block(get_lang('MainNavigation'), $content, 'navigation_link_block');
- }
- return $html;
- }
-
- function return_course_block() {
- $html = '';
-
- $show_create_link = false;
- $show_course_link = false;
-
- if ((api_get_setting('allow_users_to_create_courses') == 'false' && !api_is_platform_admin()) || api_is_student()) {
+ $html = self::show_right_block(get_lang('Profile'), $profile_content, 'profile_block');
+ return $html;
+ }
+
+ function return_navigation_links() {
+ $html = '';
+
+ // Deleting the myprofile link.
+ if (api_get_setting('allow_social_tool') == 'true') {
+ unset($this->tpl->menu_navigation['myprofile']);
+ }
+
+ // Main navigation section.
+ // Tabs that are deactivated are added here.
+ if (!empty($this->tpl->menu_navigation)) {
+ $content = '';
+ foreach ($this->tpl->menu_navigation as $section => $navigation_info) {
+ $current = $section == $GLOBALS['this_section'] ? ' id="current"' : '';
+ $content .= '- ';
+ $content .= ''.$navigation_info['title'].'';
+ $content .= '
';
+ }
+ $content .= '
';
+ $html = self::show_right_block(get_lang('MainNavigation'), $content, 'navigation_link_block');
+ }
+ return $html;
+ }
+
+ function return_course_block() {
+ $html = '';
+
+ $show_create_link = false;
+ $show_course_link = false;
+
+ if ((api_get_setting('allow_users_to_create_courses') == 'false' && !api_is_platform_admin()) || api_is_student()) {
$display_add_course_link = false;
} else {
$display_add_course_link = true;
}
//$display_add_course_link = api_is_allowed_to_create_course() && ($_SESSION['studentview'] != 'studentenview');
- if ($display_add_course_link) {
- $show_create_link = true;
- }
+ if ($display_add_course_link) {
+ $show_create_link = true;
+ }
- if (api_is_platform_admin() || api_is_course_admin() || api_is_allowed_to_create_course()) {
- $show_course_link = true;
- } else {
- if (api_get_setting('allow_students_to_browse_courses') == 'true') {
- $show_course_link = true;
- }
- }
+ if (api_is_platform_admin() || api_is_course_admin() || api_is_allowed_to_create_course()) {
+ $show_course_link = true;
+ } else {
+ if (api_get_setting('allow_students_to_browse_courses') == 'true') {
+ $show_course_link = true;
+ }
+ }
- // My account section
- $my_account_content = '';
+ // My account section
+ $my_account_content = '';
-
- if (!empty($my_account_content)) {
- $html = self::show_right_block(get_lang('Courses'), $my_account_content, 'course_block');
- }
- return $html;
- }
-
- /**
- * The most important function here, prints the session and course list (user_portal.php)
- *
- * */
- function return_courses_and_sessions($user_id)
+ if ($show_course_link) {
+ if (!api_is_drh()) {
+ $my_account_content .= '- '.get_lang('CourseCatalog').'
';
+ } else {
+ $my_account_content .= '- '.get_lang('Dashboard').'
';
+ }
+ }
+
+ $my_account_content .= '
';
+
+ if (!empty($my_account_content)) {
+ $html = self::show_right_block(get_lang('Courses'), $my_account_content, 'course_block');
+ }
+ return $html;
+ }
+
+ /**
+ * The most important function here, prints the session and course list (user_portal.php)
+ *
+ * */
+ function return_courses_and_sessions($user_id)
{
global $_configuration;
$load_history = (isset($_GET['history']) && intval($_GET['history']) == 1) ? true : false;
- if ($load_history) {
+ if ($load_history) {
//Load sessions in category in *history*
- $session_categories = UserManager::get_sessions_by_category($user_id, true);
- } else {
+ $session_categories = UserManager::get_sessions_by_category($user_id, true);
+ } else {
//Load sessions in category
- $session_categories = UserManager::get_sessions_by_category($user_id, false);
- }
+ $session_categories = UserManager::get_sessions_by_category($user_id, false);
+ }
$html = '';
// Showing history title
- if ($load_history) {
- $html .= Display::page_subheader(get_lang('HistoryTrainingSession'));
- if (empty($session_categories)) {
- $html .= get_lang('YouDoNotHaveAnySessionInItsHistory');
- }
- }
+ if ($load_history) {
+ $html .= Display::page_subheader(get_lang('HistoryTrainingSession'));
+ if (empty($session_categories)) {
+ $html .= get_lang('YouDoNotHaveAnySessionInItsHistory');
+ }
+ }
$courses_html = '';
$special_courses = '';
@@ -979,7 +979,7 @@ class IndexManager
$sessions_with_category = '';
$sessions_with_no_category = '';
- if (is_array($session_categories)) {
+ if (is_array($session_categories)) {
foreach ($session_categories as $session_category) {
$session_category_id = $session_category['session_category']['id'];
@@ -1087,8 +1087,8 @@ class IndexManager
$sessions_with_no_category .= CourseManager::course_item_parent($parentInfo, $html_courses_session);
}
}
- } else {
- // All sessions included in
+ } else {
+ // All sessions included in
$count_courses_session = 0;
$html_sessions = '';
foreach ($session_category['sessions'] as $session) {
@@ -1202,11 +1202,11 @@ class IndexManager
);
}
- }
- }
- }
+ }
+ }
+ }
return $sessions_with_category.$sessions_with_no_category.$courses_html.$special_courses;
- }
+ }
/**
* Shows a welcome message when the user doesn't have any content in the course list
@@ -1227,7 +1227,7 @@ class IndexManager
return $this->tpl->fetch($tpl);
}
- function return_hot_courses() {
- return CourseManager::return_hot_courses();
- }
+ function return_hot_courses() {
+ return CourseManager::return_hot_courses();
+ }
}