public static function get_from_record($record) { if ($context = context::cache_get(CONTEXT_COURSE, $record->id)) { return $context; } $context = new context_course($record); context::cache_add($context); return $context; }
/** * Returns block context instance. * * @static * @param int $instanceid * @param int $strictness * @return context_block context instance */ public static function instance($instanceid, $strictness = MUST_EXIST) { global $DB; if ($context = context::cache_get(CONTEXT_BLOCK, $instanceid)) { return $context; } if (!($record = $DB->get_record('context', array('contextlevel' => CONTEXT_BLOCK, 'instanceid' => $instanceid)))) { if ($bi = $DB->get_record('block_instances', array('id' => $instanceid), 'id,parentcontextid', $strictness)) { $parentcontext = context::instance_by_id($bi->parentcontextid); $record = context::insert_context_record(CONTEXT_BLOCK, $bi->id, $parentcontext->path); } } if ($record) { $context = new context_block($record); context::cache_add($context); return $context; } return false; }
/** * Returns costcenter context instance. * * @static * @param int $instanceid * @param int $strictness * @return context_costcenter context instance */ public static function instance($instanceid, $strictness = MUST_EXIST) { global $DB; if ($context = context::cache_get(CONTEXT_COSTCENTER, $instanceid)) { return $context; } if (!$record = $DB->get_record('context', array('contextlevel' => CONTEXT_COSTCENTER, 'instanceid' => $instanceid))) { if ($costcenter = $DB->get_record('local_costcenter', array('id' => $instanceid), 'id,parentid', $strictness)) { if ($costcenter->parentid) { $parentcontext = context_costcenter::instance($costcenter->parentid); $record = context::insert_context_record(CONTEXT_COSTCENTER, $costcenter->id, $parentcontext->path); } else { $record = context::insert_context_record(CONTEXT_COSTCENTER, $costcenter->id, '/' . SYSCONTEXTID, 0); } } } if ($record) { $context = new context_costcenter($record); context::cache_add($context); return $context; } return false; }