Exemplo n.º 1
0
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 '';
}
Exemplo n.º 2
0
    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');
}