You are here

public function OpignoModule::getBestScore in Opigno module 3.x

Same name and namespace in other branches
  1. 8 src/Entity/OpignoModule.php \Drupal\opigno_module\Entity\OpignoModule::getBestScore()

Get module attempt if user didn't finish training.

Parameters

\Drupal\user\Entity\User $user: User entity.

Return value

numeric Best score result.

File

src/Entity/OpignoModule.php, line 538

Class

OpignoModule
Defines the Module entity.

Namespace

Drupal\opigno_module\Entity

Code

public function getBestScore(User $user) {

  // For each attempt, check the score and save the best one.
  $user_attempts = $this
    ->getModuleAttempts($user, 'best');
  $best_score = 0;

  /* @var \Drupal\opigno_module\Entity\UserModuleStatus $user_attempt */
  foreach ($user_attempts as $user_attempt) {

    // Get the scores.
    $actual_score = $user_attempt
      ->getAttemptScore();

    // Save the best score.
    if ($actual_score > $best_score) {
      $best_score = $actual_score;
    }
  }
  return $best_score;
}