original_string: public function execute() {
          if ($this->progress >= self::PROGRESS_EXECUTED) {
              throw new restore_ui_exception('restoreuialreadyexecuted');
          }
          if ($this->stage->get_stage() < self::STAGE_PROCESS) {
              throw new restore_ui_exception('restoreuifinalisedbeforeexecute');
          }
          if ($this->controller->get_target() == backup::TARGET_CURRENT_DELETING || $this->controller->get_target() == backup::TARGET_EXISTING_DELETING) {
              $options = array();
              $options['keep_roles_and_enrolments'] = $this->get_setting_value('keep_roles_and_enrolments');
              $options['keep_groups_and_groupings'] = $this->get_setting_value('keep_groups_and_groupings');
              restore_dbops::delete_course_content($this->controller->get_courseid(), $options);
          }
          $this->controller->execute_plan();
          $this->progress = self::PROGRESS_EXECUTED;
          $this->stage = new restore_ui_stage_complete($this, $this->stage->get_params(), $this->controller->get_results());
          return true;
      }
code: public function execute() {
          if ($this->progress >= self::PROGRESS_EXECUTED) {
              throw new restore_ui_exception('restoreuialreadyexecuted');
          }
          if ($this->stage->get_stage() < self::STAGE_PROCESS) {
              throw new restore_ui_exception('restoreuifinalisedbeforeexecute');
          }
          if ($this->controller->get_target() == backup::TARGET_CURRENT_DELETING || $this->controller->get_target() == backup::TARGET_EXISTING_DELETING) {
              $options = array();
              $options['keep_roles_and_enrolments'] = $this->get_setting_value('keep_roles_and_enrolments');
              $options['keep_groups_and_groupings'] = $this->get_setting_value('keep_groups_and_groupings');
              restore_dbops::delete_course_content($this->controller->get_courseid(), $options);
          }
          $this->controller->execute_plan();
          $this->progress = self::PROGRESS_EXECUTED;
          $this->stage = new restore_ui_stage_complete($this, $this->stage->get_params(), $this->controller->get_results());
          return true;
      }
code_tokens: public function execute ( ) { if ( $ this -> progress >= self :: PROGRESS_EXECUTED ) { throw new restore_ui_exception ( 'restoreuialreadyexecuted' ) ; } if ( $ this -> stage -> get_stage ( ) < self :: STAGE_PROCESS ) { throw new restore_ui_exception ( 'restoreuifinalisedbeforeexecute' ) ; } if ( $ this -> controller -> get_target ( ) == backup :: TARGET_CURRENT_DELETING || $ this -> controller -> get_target ( ) == backup :: TARGET_EXISTING_DELETING ) { $ options = array ( ) ; $ options [ 'keep_roles_and_enrolments' ] = $ this -> get_setting_value ( 'keep_roles_and_enrolments' ) ; $ options [ 'keep_groups_and_groupings' ] = $ this -> get_setting_value ( 'keep_groups_and_groupings' ) ; restore_dbops :: delete_course_content ( $ this -> controller -> get_courseid ( ) , $ options ) ; } $ this -> controller -> execute_plan ( ) ; $ this -> progress = self :: PROGRESS_EXECUTED ; $ this -> stage = new restore_ui_stage_complete ( $ this , $ this -> stage -> get_params ( ) , $ this -> controller -> get_results ( ) ) ; return true ; }
docstring: Executes the restore plan
  @throws restore_ui_exception if the progress or stage is wrong.
  @return bool
docstring_tokens: Executes the restore plan