public static function SetContext($name, $save = false) { // Save previous context if ($save) { self::$_SavedContextPks = self::$_ContextPks; self::$_SavedContext = self::$_Context; } // Check for unsetting of context if ('*' == $name) { self::$_ContextPks = array(); self::$_Context = null; } else { self::$_ContextPks = self::GetContextPks($name); self::$_Context = $name; if (empty(self::$_ContextPks)) { throw new Exception("Unknown context '$name'"); } } return; }