You are here

function quiz_get_defaults in Quiz 8.6

Same name and namespace in other branches
  1. 8.5 quiz.module \quiz_get_defaults()
  2. 7.6 quiz.module \quiz_get_defaults()
  3. 7.5 quiz.module \quiz_get_defaults()

Returns the users default settings.

Parameters

$node: Quiz node.

$uid: (optional) The uid of the user to get the settings for. Defaults to the current user (NULL).

Return value

An array of settings. The array is empty in case no settings are available.

2 calls to quiz_get_defaults()
quiz_node_prepare in ./quiz.module
Implements hook_node_prepare().
quiz_node_presave in ./quiz.module
Implements hook_node_presave().

File

./quiz.module, line 685
Contains quiz.module

Code

function quiz_get_defaults() {
  $user = Drupal::currentUser();
  $entity = entity_load('quiz', FALSE, array(
    'uid' => $user
      ->id(),
    'nid' => 0,
    'vid' => 0,
  ), TRUE);
  if (count($entity)) {

    // We found user defaults.
    $defaults = clone reset($entity);
    unset($defaults->nid, $defaults->uid, $defaults->vid);
    return $defaults;
  }
  $entity = entity_load('quiz', FALSE, array(
    'uid' => 0,
    'nid' => 0,
    'vid' => 0,
  ), TRUE);
  if (count($entity)) {

    // Found global defaults.
    $defaults = clone reset($entity);
    unset($defaults->nid, $defaults->uid, $defaults->vid);
    return $defaults;
  }

  // No defaults set yet.
  return _quiz_get_node_defaults();
}