function filter_cms_page_replace($matches) { global $PAGE, $COURSE; if (is_numeric($matches[1])) { $renderer = $PAGE->get_renderer('local_cms'); $pagedata = cms_get_page_data_by_id(null, $matches[1]); $pagedata->nid = $pagedata->naviid; if ($pagedata->publish) { if ($COURSE->id > SITEID && $pagedata->course > SITEID) { if ($COURSE->id != $pagedata->course) { return ''; } } return $renderer->render_page($pagedata, $COURSE); } } return ''; }
error('Invalid course id'); } if (defined('SITEID') && SITEID == $course->id && $CFG->slasharguments) { // Support sitelevel slasharguments // in form /index.php/<pagename> $relativepath = get_file_argument(basename($_SERVER['SCRIPT_FILENAME'])); if (preg_match("/^(\\/[a-z0-9\\_\\-]+)/i", $relativepath)) { $args = explode("/", $relativepath); $pagename = clean_param($args[1], PARAM_FILE); } unset($args, $relativepath); } if (empty($pagename) && !empty($pageid)) { $pid = explode(',', $_GET['pid']); $pageid = array_pop($pid); if (!($pagedata = cms_get_page_data_by_id($courseid, $pageid))) { error("Error retrieving CMS page!"); } } elseif (!($pagedata = cms_get_page_data($course->id, $pagename))) { error("Error retrieving CMS page!"); } $contextinstance = null; if (empty($courseid)) { $contextinstance = CONTEXT_SYSTEM; $courseid = SITEID; } else { $contextinstance = CONTEXT_COURSE; } if (!($context = get_context_instance($contextinstance, $course->id))) { print_error('nocontext'); }