From 28765cfcb5f37197b01f0b0cfabfce5beaa45948 Mon Sep 17 00:00:00 2001
From: Petr Skoda <commits@skodak.org>
Date: Sun, 13 Feb 2011 18:59:53 +0100
Subject: [PATCH] MDL-25575 fix broken block support in
 get_courseid_from_context()

---
 lib/accesslib.php | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/accesslib.php b/lib/accesslib.php
index e36c12616f2..f59fe2e198a 100755
--- a/lib/accesslib.php
+++ b/lib/accesslib.php
@@ -2352,6 +2352,10 @@ function get_context_info_array($contextid) {
  * @return int|bool related course id or false
  */
 function get_courseid_from_context($context) {
+    if (empty($context->contextlevel)) {
+        debugging('Invalid context object specified in get_courseid_from_context() call');
+        return false;
+    }
     if ($context->contextlevel == CONTEXT_COURSE) {
         return $context->instanceid;
     }
@@ -2370,7 +2374,7 @@ function get_courseid_from_context($context) {
     if ($context->contextlevel == CONTEXT_BLOCK) {
         $parentcontexts = get_parent_contexts($context, false);
         $parent = reset($parentcontexts);
-        return get_courseid_from_context($parent);
+        return get_courseid_from_context(get_context_instance_by_id($parent));
     }
 
     return false;