original_string: final public function update() {
          global $DB, $USER;
  
          if ($this->raw_get('id') <= 0) {
              throw new coding_exception('id is required to update');
          } else if (!$this->is_valid()) {
              throw new invalid_persistent_exception($this->get_errors());
          }
  
          // Before update hook.
          $this->before_update();
  
          // We can safely set those values after the validation because we know what we're doing.
          $this->raw_set('timemodified', time());
          $this->raw_set('usermodified', $USER->id);
  
          $record = $this->to_record();
          unset($record->timecreated);
          $record = (array) $record;
  
          // Save the record.
          $result = $DB->update_record(static::TABLE, $record);
  
          // We ensure that this is flagged as validated.
          $this->validated = true;
  
          // After update hook.
          $this->after_update($result);
  
          return $result;
      }
code: final public function update() {
          global $DB, $USER;
  
          if ($this->raw_get('id') <= 0) {
              throw new coding_exception('id is required to update');
          } else if (!$this->is_valid()) {
              throw new invalid_persistent_exception($this->get_errors());
          }
  
          // Before update hook.
          $this->before_update();
  
          // We can safely set those values after the validation because we know what we're doing.
          $this->raw_set('timemodified', time());
          $this->raw_set('usermodified', $USER->id);
  
          $record = $this->to_record();
          unset($record->timecreated);
          $record = (array) $record;
  
          // Save the record.
          $result = $DB->update_record(static::TABLE, $record);
  
          // We ensure that this is flagged as validated.
          $this->validated = true;
  
          // After update hook.
          $this->after_update($result);
  
          return $result;
      }
code_tokens: final public function update ( ) { global $ DB , $ USER ; if ( $ this -> raw_get ( 'id' ) <= 0 ) { throw new coding_exception ( 'id is required to update' ) ; } else if ( ! $ this -> is_valid ( ) ) { throw new invalid_persistent_exception ( $ this -> get_errors ( ) ) ; } // Before update hook. $ this -> before_update ( ) ; // We can safely set those values after the validation because we know what we're doing. $ this -> raw_set ( 'timemodified' , time ( ) ) ; $ this -> raw_set ( 'usermodified' , $ USER -> id ) ; $ record = $ this -> to_record ( ) ; unset ( $ record -> timecreated ) ; $ record = ( array ) $ record ; // Save the record. $ result = $ DB -> update_record ( static :: TABLE , $ record ) ; // We ensure that this is flagged as validated. $ this -> validated = true ; // After update hook. $ this -> after_update ( $ result ) ; return $ result ; }
docstring: Update the existing record in the DB.
  
  @return bool True on success.
docstring_tokens: Update the existing record in the DB .