original_string: public function process() {
          if ($this->progress >= self::PROGRESS_PROCESSED) {
              throw new backup_ui_exception('backupuialreadyprocessed');
          }
          $this->progress = self::PROGRESS_PROCESSED;
  
          if (optional_param('previous', false, PARAM_BOOL) && $this->stage->get_stage() > $this->get_first_stage_id()) {
              $this->stage = $this->initialise_stage($this->stage->get_prev_stage(), $this->stage->get_params());
              return false;
          }
  
          // Process the stage.
          $processoutcome = $this->stage->process();
  
          if ($processoutcome !== false) {
              $this->stage = $this->initialise_stage($this->stage->get_next_stage(), $this->stage->get_params());
          }
  
          // Process UI event after to check changes are valid.
          $this->controller->process_ui_event();
          return $processoutcome;
      }
code: public function process() {
          if ($this->progress >= self::PROGRESS_PROCESSED) {
              throw new backup_ui_exception('backupuialreadyprocessed');
          }
          $this->progress = self::PROGRESS_PROCESSED;
  
          if (optional_param('previous', false, PARAM_BOOL) && $this->stage->get_stage() > $this->get_first_stage_id()) {
              $this->stage = $this->initialise_stage($this->stage->get_prev_stage(), $this->stage->get_params());
              return false;
          }
  
          // Process the stage.
          $processoutcome = $this->stage->process();
  
          if ($processoutcome !== false) {
              $this->stage = $this->initialise_stage($this->stage->get_next_stage(), $this->stage->get_params());
          }
  
          // Process UI event after to check changes are valid.
          $this->controller->process_ui_event();
          return $processoutcome;
      }
code_tokens: public function process ( ) { if ( $ this -> progress >= self :: PROGRESS_PROCESSED ) { throw new backup_ui_exception ( 'backupuialreadyprocessed' ) ; } $ this -> progress = self :: PROGRESS_PROCESSED ; if ( optional_param ( 'previous' , false , PARAM_BOOL ) && $ this -> stage -> get_stage ( ) > $ this -> get_first_stage_id ( ) ) { $ this -> stage = $ this -> initialise_stage ( $ this -> stage -> get_prev_stage ( ) , $ this -> stage -> get_params ( ) ) ; return false ; } // Process the stage. $ processoutcome = $ this -> stage -> process ( ) ; if ( $ processoutcome !== false ) { $ this -> stage = $ this -> initialise_stage ( $ this -> stage -> get_next_stage ( ) , $ this -> stage -> get_params ( ) ) ; } // Process UI event after to check changes are valid. $ this -> controller -> process_ui_event ( ) ; return $ processoutcome ; }
docstring: This processes the current stage of the backup
  @throws backup_ui_exception
  @return bool
docstring_tokens: This processes the current stage of the backup