Esempio n. 1
0
 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;
 }
Esempio n. 2
0
 /**
  * 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;
 }
Esempio n. 3
0
    /**
     * 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;
    }