You are here

function quiz_question_node_presave in Quiz 7.6

Same name and namespace in other branches
  1. 8.6 question_types/quiz_question/quiz_question.module \quiz_question_node_presave()
  2. 8.4 question_types/quiz_question/quiz_question.module \quiz_question_node_presave()
  3. 8.5 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 427
Quiz Question module. This module provides the basic facilities for adding quiz question types to a quiz.

Code

function quiz_question_node_presave($node) {
  $q_types = quiz_question_get_info();
  foreach ($q_types as $q_type => $info) {
    if ($node->type == $q_type) {
      if (drupal_strlen($node->title) == 0 || !user_access('edit question titles')) {
        $markup = strip_tags(drupal_render(field_view_field('node', $node, 'body', array(
          'label' => 'hidden',
        ))));
        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;
        }
      }
    }
  }
}