original_string: public static function validate_context($context) {
          global $CFG, $PAGE;
  
          if (empty($context)) {
              throw new invalid_parameter_exception('Context does not exist');
          }
          if (empty(self::$contextrestriction)) {
              self::$contextrestriction = context_system::instance();
          }
          $rcontext = self::$contextrestriction;
  
          if ($rcontext->contextlevel == $context->contextlevel) {
              if ($rcontext->id != $context->id) {
                  throw new restricted_context_exception();
              }
          } else if ($rcontext->contextlevel > $context->contextlevel) {
              throw new restricted_context_exception();
          } else {
              $parents = $context->get_parent_context_ids();
              if (!in_array($rcontext->id, $parents)) {
                  throw new restricted_context_exception();
              }
          }
  
          $PAGE->reset_theme_and_output();
          list($unused, $course, $cm) = get_context_info_array($context->id);
          require_login($course, false, $cm, false, true);
          $PAGE->set_context($context);
      }
code: public static function validate_context($context) {
          global $CFG, $PAGE;
  
          if (empty($context)) {
              throw new invalid_parameter_exception('Context does not exist');
          }
          if (empty(self::$contextrestriction)) {
              self::$contextrestriction = context_system::instance();
          }
          $rcontext = self::$contextrestriction;
  
          if ($rcontext->contextlevel == $context->contextlevel) {
              if ($rcontext->id != $context->id) {
                  throw new restricted_context_exception();
              }
          } else if ($rcontext->contextlevel > $context->contextlevel) {
              throw new restricted_context_exception();
          } else {
              $parents = $context->get_parent_context_ids();
              if (!in_array($rcontext->id, $parents)) {
                  throw new restricted_context_exception();
              }
          }
  
          $PAGE->reset_theme_and_output();
          list($unused, $course, $cm) = get_context_info_array($context->id);
          require_login($course, false, $cm, false, true);
          $PAGE->set_context($context);
      }
code_tokens: public static function validate_context ( $ context ) { global $ CFG , $ PAGE ; if ( empty ( $ context ) ) { throw new invalid_parameter_exception ( 'Context does not exist' ) ; } if ( empty ( self :: $ contextrestriction ) ) { self :: $ contextrestriction = context_system :: instance ( ) ; } $ rcontext = self :: $ contextrestriction ; if ( $ rcontext -> contextlevel == $ context -> contextlevel ) { if ( $ rcontext -> id != $ context -> id ) { throw new restricted_context_exception ( ) ; } } else if ( $ rcontext -> contextlevel > $ context -> contextlevel ) { throw new restricted_context_exception ( ) ; } else { $ parents = $ context -> get_parent_context_ids ( ) ; if ( ! in_array ( $ rcontext -> id , $ parents ) ) { throw new restricted_context_exception ( ) ; } } $ PAGE -> reset_theme_and_output ( ) ; list ( $ unused , $ course , $ cm ) = get_context_info_array ( $ context -> id ) ; require_login ( $ course , false , $ cm , false , true ) ; $ PAGE -> set_context ( $ context ) ; }
docstring: Makes sure user may execute functions in this context.
  
  @param stdClass $context
  @since Moodle 2.0
docstring_tokens: Makes sure user may execute functions in this context .