From fccf6d6765010dc2cef9b31b80cd1a2602b6f249 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Fri, 5 Oct 2012 17:12:35 +0200 Subject: [PATCH] Fixing group session id bug, when setting gidReq = 0 the group id must be removed + fixing menu link see #5610 --- main/inc/lib/course_home.lib.php | 7 ++++--- main/inc/local.inc.php | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/main/inc/lib/course_home.lib.php b/main/inc/lib/course_home.lib.php index b0a6550aa9..c42ad2fabc 100644 --- a/main/inc/lib/course_home.lib.php +++ b/main/inc/lib/course_home.lib.php @@ -920,7 +920,7 @@ class CourseHome { return $lp_id; } - function get_navigation_items($include_admin_tools = false) { + static function get_navigation_items($include_admin_tools = false) { $navigation_items = array(); $course_id = api_get_course_int_id(); @@ -971,7 +971,8 @@ class CourseHome { //link doesn't contain a parameter yet, add course id parameter with ? $parameter_separator = '?'; } - $navigation_items[$key]['link'] .= $parameter_separator.api_get_cidreq(); + //$navigation_items[$key]['link'] .= $parameter_separator.api_get_cidreq(); + $navigation_items[$key]['link'] .= $parameter_separator.'cidReq='.api_get_course_id().'&gidReq=0&id_session='.api_get_session_id(); } return $navigation_items; @@ -980,7 +981,7 @@ class CourseHome { /** * Show a navigation menu */ - function show_navigation_menu() { + static function show_navigation_menu() { $navigation_items = self::get_navigation_items(true); $course_id = api_get_course_id(); diff --git a/main/inc/local.inc.php b/main/inc/local.inc.php index 7436b923ad..236ff21c03 100644 --- a/main/inc/local.inc.php +++ b/main/inc/local.inc.php @@ -135,6 +135,7 @@ if (isset($_SESSION['conditional_login']['uid']) && $_SESSION['conditional_login $logout = isset($_GET["logout"]) ? $_GET["logout"] : ''; $gidReq = isset($_GET["gidReq"]) ? Database::escape_string($_GET["gidReq"]) : ''; + //this fixes some problems with generic functionalities like //My Agenda & What's New icons linking to courses // $cidReq can be set in the index.php file of a course-area @@ -576,11 +577,10 @@ if (!empty($cidReq) && (!isset($_SESSION['_cid']) or (isset($_SESSION['_cid']) & // if the requested group is different from the group in session $gid = isset($_SESSION['_gid']) ? $_SESSION['_gid'] : ''; -if ($gidReq && $gidReq != $gid) { +if (isset($gidReq) && $gidReq != $gid) { $gidReset = true; } - /* USER INIT */ if (isset($uidReset) && $uidReset) { // session data refresh requested