original_string: public function set_pagelayout($pagelayout) {
          global $SESSION;
  
          if (!empty($SESSION->forcepagelayout)) {
              $this->_pagelayout = $SESSION->forcepagelayout;
          } else {
              // Uncomment this to debug theme pagelayout issues like missing blocks.
              // if (!empty($this->_wherethemewasinitialised) && $pagelayout != $this->_pagelayout)
              //     debugging('Page layout has already been set and cannot be changed.', DEBUG_DEVELOPER);
              $this->_pagelayout = $pagelayout;
          }
      }
code: public function set_pagelayout($pagelayout) {
          global $SESSION;
  
          if (!empty($SESSION->forcepagelayout)) {
              $this->_pagelayout = $SESSION->forcepagelayout;
          } else {
              // Uncomment this to debug theme pagelayout issues like missing blocks.
              // if (!empty($this->_wherethemewasinitialised) && $pagelayout != $this->_pagelayout)
              //     debugging('Page layout has already been set and cannot be changed.', DEBUG_DEVELOPER);
              $this->_pagelayout = $pagelayout;
          }
      }
code_tokens: public function set_pagelayout ( $ pagelayout ) { global $ SESSION ; if ( ! empty ( $ SESSION -> forcepagelayout ) ) { $ this -> _pagelayout = $ SESSION -> forcepagelayout ; } else { // Uncomment this to debug theme pagelayout issues like missing blocks. // if (!empty($this->_wherethemewasinitialised) && $pagelayout != $this->_pagelayout) //     debugging('Page layout has already been set and cannot be changed.', DEBUG_DEVELOPER); $ this -> _pagelayout = $ pagelayout ; } }
docstring: Sets the layout to use for this page.
  
  The page layout determines how the page will be displayed, things such as
  block regions, content areas, etc are controlled by the layout.
  The theme in use for the page will determine that the layout contains.
  
  This properly defaults to 'base', so you only need to call this function if
  you want something different. The exact range of supported layouts is specified
  in the standard theme.
  
  For an idea of the common page layouts see
  {@link http://docs.moodle.org/dev/Themes_2.0#The_different_layouts_as_of_August_17th.2C_2010}
  But please keep in mind that it may be (and normally is) out of date.
  The only place to find an accurate up-to-date list of the page layouts
  available for your version of Moodle is {@link theme/base/config.php}
  
  @param string $pagelayout the page layout this is. For example 'popup', 'home'.
docstring_tokens: Sets the layout to use for this page .