MDL-30340 blocks - add back 'any page' support to course cats
[moodle.git] / admin / lib.php
1 <?php
3 // This file is part of Moodle - http://moodle.org/
4 //
5 // Moodle is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // Moodle is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
18 /**
19  * This file contains functions used by the admin pages
20  *
21  * @since 2.1
22  * @package admin
23  * @copyright 2011 Andrew Davis
24  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
25  */
27 /**
28  * Return a list of page types
29  * @param string $pagetype current page type
30  * @param stdClass $parentcontext Block's parent context
31  * @param stdClass $currentcontext Current context of block
32  */
33 function admin_page_type_list($pagetype, $parentcontext, $currentcontext) {
34     $array = array(
35         'admin-*' => get_string('page-admin-x', 'pagetype'),
36         $pagetype => get_string('page-admin-current', 'pagetype')
37     );
38     // Add the missing * (any page) option for them. MDL-30340
39     // TODO: These pages are really 'pagetype-varying' - MDL-30564 -
40     // and some day we should stop behaving that way, so proper pagetypes
41     // can be specified for it (like course-category-* or so).
42     // Luckly... the option we are introducing '*' is independent
43     // of that varying behavior, so will work.
44     if ($pagetype == 'admin-course-category') {
45         $array += array(
46             '*' => get_string('page-x', 'pagetype')
47         );
48     }
49     return $array;
50 }