Moodle
  1. Moodle
  2. MDL-38089

Course Category Block Producing Notices and Warnings

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Cannot Reproduce
    • Affects Version/s: 2.5
    • Fix Version/s: None
    • Component/s: Course, Libraries
    • Labels:
      None
    • Affected Branches:
      MOODLE_25_STABLE
    • Rank:
      47889

      Description

      Without being logged in the Course Categories block lists all the categories in the site. If a category does not have any subcategories a php notice and warning is generated. This is with debugging turned on.

        Activity

        Hide
        Matthew Cannings added a comment - - edited

        Getting the following notice/warning when debugging is turned on. These will not appear if debugging off/normal.

        Notice: Undefined property: stdClass::$categories in /srv/www/htdocs/student/course/lib.php on line 1496

        Warning: Invalid argument supplied for foreach() in /srv/www/htdocs/student/course/lib.php on line 1496

        adding an isset check to the function get_category_courses_array_recursively removes the errors

         
        function get_category_courses_array_recursively(array &$flattened, $category) {
            $flattened[$category->id] = $category->courses;
        	if (isset($category->categories)){
        		foreach ($category->categories as $childcategory) {
        			get_category_courses_array_recursively($flattened, $childcategory);
        		}
        	}
        }
        
        Show
        Matthew Cannings added a comment - - edited Getting the following notice/warning when debugging is turned on. These will not appear if debugging off/normal. Notice: Undefined property: stdClass::$categories in /srv/www/htdocs/student/course/lib.php on line 1496 Warning: Invalid argument supplied for foreach() in /srv/www/htdocs/student/course/lib.php on line 1496 adding an isset check to the function get_category_courses_array_recursively removes the errors function get_category_courses_array_recursively(array &$flattened, $category) { $flattened[$category->id] = $category->courses; if (isset($category->categories)){ foreach ($category->categories as $childcategory) { get_category_courses_array_recursively($flattened, $childcategory); } } }
        Hide
        Dan Poltawski added a comment -

        Hi Matthew,

        Thanks for the report - which block do you mean by the Course category block? Is it in core?

        thanks,

        Dan

        Show
        Dan Poltawski added a comment - Hi Matthew, Thanks for the report - which block do you mean by the Course category block? Is it in core? thanks, Dan
        Hide
        Matthew Cannings added a comment -

        Hi Dan,
        This is a little embarrassing as I can not say for certain. It is the "block" that appears on the from page when you select List Of Categories from Front Page Settings -> Frontpage. I do not think it is actually a real block.

        I have attached a screenshot that shows the settings

        Show
        Matthew Cannings added a comment - Hi Dan, This is a little embarrassing as I can not say for certain. It is the "block" that appears on the from page when you select List Of Categories from Front Page Settings -> Frontpage. I do not think it is actually a real block. I have attached a screenshot that shows the settings
        Hide
        Matthew Cannings added a comment -

        Screen shot of settings that trigger "block" on the first page

        Show
        Matthew Cannings added a comment - Screen shot of settings that trigger "block" on the first page
        Hide
        Dan Poltawski added a comment -

        Ahha, I understand now thanks!

        Show
        Dan Poltawski added a comment - Ahha, I understand now thanks!
        Hide
        Dan Poltawski added a comment -

        Hi Matthew,

        I can't actually reproduce this, are you able to update to the latest master and see if its still an issue?

        Show
        Dan Poltawski added a comment - Hi Matthew, I can't actually reproduce this, are you able to update to the latest master and see if its still an issue?

          People

          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: