You are here

class QuizResult in Quiz 7.5

Same name and namespace in other branches
  1. 7.6 includes/QuizResult.class.inc \QuizResult

Hierarchy

Expanded class hierarchy of QuizResult

1 string reference to 'QuizResult'
quiz_entity_info in ./quiz.module
Implements hook_entity_info().

File

includes/QuizResult.class.inc, line 3

View source
class QuizResult extends Entity {

  /**
   * Get the layout for this quiz result.
   *
   * The layout contains the questions to be delivered.
   *
   * @return QuizResultAnswer[]
   */
  public function getLayout() {
    $layouts = drupal_static('quiz_result_layout', array());
    if (!isset($layouts[$this
      ->identifier()])) {
      $quiz_node_relationships = entity_load('quiz_question_relationship', FALSE, array(
        'parent_nid' => $this->nid,
        'parent_vid' => $this->vid,
      ));
      $relationships = array();
      foreach ($quiz_node_relationships as $quiz_node_relationship) {
        $relationships[$quiz_node_relationship->child_nid] = $quiz_node_relationship;
      }
      $layout = array();
      $quiz_result_answers = entity_load('quiz_result_answer', FALSE, array(
        'result_id' => array(
          $this
            ->identifier(),
        ),
      ));
      if ($quiz_result_answers) {
        foreach ($quiz_result_answers as $quiz_result_answer) {
          if (!empty($relationships[$quiz_result_answer->question_nid])) {
            $relationship = $relationships[$quiz_result_answer->question_nid];
          }
          $layout[$quiz_result_answer->number] = array(
            'result_answer_id' => $quiz_result_answer->result_answer_id,
            'display_number' => $quiz_result_answer->display_number,
            'nid' => $quiz_result_answer->question_nid,
            'vid' => $quiz_result_answer->question_vid,
            'tid' => $quiz_result_answer->tid,
            'number' => $quiz_result_answer->number,
            'qnr_id' => isset($relationship) ? $relationship->qnr_id : NULL,
            'qnr_pid' => isset($relationship) ? $relationship->qnr_pid : NULL,
          );
        }
        ksort($layout, SORT_NUMERIC);
        $layouts[$this
          ->identifier()] = $layout;
      }
    }
    return $layouts[$this
      ->identifier()];
  }

  /**
   * Get the label for this quiz result.
   *
   * @return string
   */
  protected function defaultLabel() {
    $quiz = node_load($this->nid, $this->vid);
    $user = user_load($this->uid);
    return t('@user\'s @quiz result in "@title"', array(
      '@user' => format_username($user),
      '@quiz' => QUIZ_NAME,
      '@title' => $quiz->title,
    ));
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Entity::$defaultLabel protected property 1
Entity::$entityInfo protected property
Entity::$entityType protected property
Entity::$idKey protected property
Entity::$wrapper protected property
Entity::buildContent public function Builds a structured array representing the entity's content. Overrides EntityInterface::buildContent 1
Entity::bundle public function Returns the bundle of the entity. Overrides EntityInterface::bundle
Entity::defaultUri protected function Override this in order to implement a custom default URI and specify 'entity_class_uri' as 'uri callback' hook_entity_info().
Entity::delete public function Permanently deletes the entity. Overrides EntityInterface::delete
Entity::entityInfo public function Returns the info of the type of the entity. Overrides EntityInterface::entityInfo
Entity::entityType public function Returns the type of the entity. Overrides EntityInterface::entityType
Entity::export public function Exports the entity. Overrides EntityInterface::export
Entity::getTranslation public function Gets the raw, translated value of a property or field. Overrides EntityInterface::getTranslation
Entity::hasStatus public function Checks if the entity has a certain exportable status. Overrides EntityInterface::hasStatus
Entity::identifier public function Returns the entity identifier, i.e. the entities name or numeric id. Overrides EntityInterface::identifier
Entity::internalIdentifier public function Returns the internal, numeric identifier. Overrides EntityInterface::internalIdentifier
Entity::isDefaultRevision public function Checks whether the entity is the default revision. Overrides EntityInterface::isDefaultRevision
Entity::label public function Returns the label of the entity. Overrides EntityInterface::label
Entity::save public function Permanently saves the entity. Overrides EntityInterface::save
Entity::setUp protected function Set up the object instance on construction or unserializiation.
Entity::uri public function Returns the uri of the entity just as entity_uri(). Overrides EntityInterface::uri
Entity::view public function Generate an array for rendering the entity. Overrides EntityInterface::view
Entity::wrapper public function Returns the EntityMetadataWrapper of the entity. Overrides EntityInterface::wrapper
Entity::__construct public function 1
Entity::__sleep public function Magic method to only serialize what's necessary.
Entity::__wakeup public function Magic method to invoke setUp() on unserialization.
QuizResult::defaultLabel protected function Get the label for this quiz result. Overrides Entity::defaultLabel
QuizResult::getLayout public function Get the layout for this quiz result.