You are here

function quiz_question_node_presave in Quiz 8.4

Same name and namespace in other branches
  1. 8.6 question_types/quiz_question/quiz_question.module \quiz_question_node_presave()
  2. 8.5 question_types/quiz_question/quiz_question.module \quiz_question_node_presave()
  3. 7.6 question_types/quiz_question/quiz_question.module \quiz_question_node_presave()
  4. 7 question_types/quiz_question/quiz_question.module \quiz_question_node_presave()
  5. 7.4 question_types/quiz_question/quiz_question.module \quiz_question_node_presave()
  6. 7.5 question_types/quiz_question/quiz_question.module \quiz_question_node_presave()

Implements hook_node_presave().

File

question_types/quiz_question/quiz_question.module, line 503
Quiz Question module. This module provides the basic facilities for adding quiz question types to a quiz.

Code

function quiz_question_node_presave(\Drupal\Core\Entity\EntityInterface $node) {
  $q_types = _quiz_question_get_implementations();
  foreach ($q_types as $q_type => $info) {
    if ($node
      ->getType() == $q_type) {
      if (drupal_strlen($node
        ->getTitle()) == 0 || !user_access('edit question titles')) {
        $body = field_get_items('node', $node, 'body');
        $markup = strip_tags(check_markup($body[0]['value'], $body[0]['format']));
        if (drupal_strlen($markup) > variable_get('quiz_autotitle_length', 50)) {
          $node->title = drupal_substr($markup, 0, variable_get('quiz_autotitle_length', 50) - 3) . '...';
        }
        else {
          $node->title = $markup;
        }
      }
    }
  }
}