original_string: public function set_context($context) {
          if ($context === null) {
              // Extremely ugly hack which sets context to some value in order to prevent warnings,
              // use only for core error handling!!!!
              if (!$this->_context) {
                  $this->_context = context_system::instance();
              }
              return;
          }
          // Ideally we should set context only once.
          if (isset($this->_context) && $context->id !== $this->_context->id) {
              $current = $this->_context->contextlevel;
              if ($current == CONTEXT_SYSTEM or $current == CONTEXT_COURSE) {
                  // Hmm - not ideal, but it might produce too many warnings due to the design of require_login.
              } else if ($current == CONTEXT_MODULE and ($parentcontext = $context->get_parent_context()) and
                  $this->_context->id == $parentcontext->id) {
                  // Hmm - most probably somebody did require_login() and after that set the block context.
              } else {
                  // We do not want devs to do weird switching of context levels on the fly because we might have used
                  // the context already such as in text filter in page title.
                  debugging("Coding problem: unsupported modification of PAGE->context from {$current} to {$context->contextlevel}");
              }
          }
  
          $this->_context = $context;
      }
code: public function set_context($context) {
          if ($context === null) {
              // Extremely ugly hack which sets context to some value in order to prevent warnings,
              // use only for core error handling!!!!
              if (!$this->_context) {
                  $this->_context = context_system::instance();
              }
              return;
          }
          // Ideally we should set context only once.
          if (isset($this->_context) && $context->id !== $this->_context->id) {
              $current = $this->_context->contextlevel;
              if ($current == CONTEXT_SYSTEM or $current == CONTEXT_COURSE) {
                  // Hmm - not ideal, but it might produce too many warnings due to the design of require_login.
              } else if ($current == CONTEXT_MODULE and ($parentcontext = $context->get_parent_context()) and
                  $this->_context->id == $parentcontext->id) {
                  // Hmm - most probably somebody did require_login() and after that set the block context.
              } else {
                  // We do not want devs to do weird switching of context levels on the fly because we might have used
                  // the context already such as in text filter in page title.
                  debugging("Coding problem: unsupported modification of PAGE->context from {$current} to {$context->contextlevel}");
              }
          }
  
          $this->_context = $context;
      }
code_tokens: public function set_context ( $ context ) { if ( $ context === null ) { // Extremely ugly hack which sets context to some value in order to prevent warnings, // use only for core error handling!!!! if ( ! $ this -> _context ) { $ this -> _context = context_system :: instance ( ) ; } return ; } // Ideally we should set context only once. if ( isset ( $ this -> _context ) && $ context -> id !== $ this -> _context -> id ) { $ current = $ this -> _context -> contextlevel ; if ( $ current == CONTEXT_SYSTEM or $ current == CONTEXT_COURSE ) { // Hmm - not ideal, but it might produce too many warnings due to the design of require_login. } else if ( $ current == CONTEXT_MODULE and ( $ parentcontext = $ context -> get_parent_context ( ) ) and $ this -> _context -> id == $ parentcontext -> id ) { // Hmm - most probably somebody did require_login() and after that set the block context. } else { // We do not want devs to do weird switching of context levels on the fly because we might have used // the context already such as in text filter in page title. debugging ( "Coding problem: unsupported modification of PAGE->context from {$current} to {$context->contextlevel}" ) ; } } $ this -> _context = $ context ; }
docstring: Set the main context to which this page belongs.
  
  @param context $context a context object. You normally get this with context_xxxx::instance().
docstring_tokens: Set the main context to which this page belongs .