dirroot.'/my/pagelib.php'); require_once($CFG->dirroot.'/lib/pagelib.php'); require_once($CFG->dirroot.'/lib/blocklib.php'); $pt = optional_param('pt', null, PARAM_SAFEDIR); //alhanumeric and - $pagetypes = array(PAGE_MY_MOODLE => array('id' => PAGE_MY_MOODLE, 'lib' => '/my/pagelib.php', 'name' => get_string('mymoodle','admin')), PAGE_COURSE_VIEW => array('id' => PAGE_COURSE_VIEW, 'lib' => '/lib/pagelib.php', 'name' => get_string('stickyblockscourseview','admin')) // ... more? ); // for choose_from_menu $options = array(); foreach ($pagetypes as $p) { $options[$p['id']] = $p['name']; } require_login(); require_capability('moodle/site:manageblocks', get_context_instance(CONTEXT_SYSTEM, SITEID)); // first thing to do is print the dropdown menu $strtitle = get_string('stickyblocks','admin'); $strheading = get_string('adminhelpstickyblocks'); if (!empty($pt)) { require_once($CFG->dirroot.$pagetypes[$pt]['lib']); define('ADMIN_STICKYBLOCKS',$pt); $PAGE = page_create_object($pt, SITEID); $blocks = blocks_setup($PAGE,BLOCKS_PINNED_TRUE); $blocks_preferred_width = bounded_number(180, blocks_preferred_width($blocks[BLOCK_POS_LEFT]), 210); print_header($strtitle,$strtitle,''. get_string('administration').' -> '.$strtitle); echo ''; echo ''; echo ''; echo ''; echo ''; echo '
'; blocks_print_group($PAGE, $blocks, BLOCK_POS_LEFT); echo ''; } else { require_once($CFG->libdir.'/adminlib.php'); $adminroot = admin_get_root(); admin_externalpage_setup('stickyblocks', $adminroot); admin_externalpage_print_header($adminroot); } print_box_start(); print_heading($strheading); popup_form("$CFG->wwwroot/$CFG->admin/stickyblocks.php?pt=", $options, 'selecttype', $pt, 'choose', '', '', false, 'self', get_string('stickyblockspagetype','admin').': '); echo '

'.get_string('stickyblocksduplicatenotice','admin').'

'; print_box_end(); if (!empty($pt)) { echo '
'; blocks_print_group($PAGE, $blocks, BLOCK_POS_RIGHT); echo '
'; print_footer(); } else { admin_externalpage_print_footer($adminroot); } ?>