You are here

function _quiz_add_fields_for_creating_questions in Quiz 7.4

Same name and namespace in other branches
  1. 8.4 quiz.admin.inc \_quiz_add_fields_for_creating_questions()
  2. 6.4 quiz.admin.inc \_quiz_add_fields_for_creating_questions()
  3. 7.6 quiz.admin.inc \_quiz_add_fields_for_creating_questions()
  4. 7 quiz.admin.inc \_quiz_add_fields_for_creating_questions()
  5. 7.5 quiz.admin.inc \_quiz_add_fields_for_creating_questions()

Fields for creating new questions are added to the quiz_questions_form

Parameters

$form: FAPI form(array)

$types: All the question types(array)

$quiz: The quiz node

1 call to _quiz_add_fields_for_creating_questions()
quiz_questions_form in ./quiz.admin.inc
Handles "manage questions" tab.

File

./quiz.admin.inc, line 839
Administrator interface for Quiz module.

Code

function _quiz_add_fields_for_creating_questions(&$form, &$types, &$quiz) {

  // Display links to create other questions.
  $form['additional_questions'] = array(
    '#type' => 'fieldset',
    '#title' => t('Create new question'),
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
  );
  $url_query = drupal_get_destination();
  $url_query['quiz_nid'] = $quiz->nid;
  $url_query['quiz_vid'] = $quiz->vid;
  $create_question = FALSE;
  foreach ($types as $type => $info) {
    $url_type = str_replace('_', '-', $type);
    $options = array(
      'attributes' => array(
        'title' => t('Create @name', array(
          '@name' => $info['name'],
        )),
      ),
      'query' => $url_query,
    );
    $access = node_access('create', $type);
    if ($access) {
      $create_question = TRUE;
    }
    $form['additional_questions'][$type] = array(
      '#markup' => '<div class="add-questions">' . l($info['name'], "node/add/{$url_type}", $options) . '</div>',
      '#access' => $access,
    );
  }
  if (!$create_question) {
    $form['additional_questions']['create'] = array(
      '#type' => 'markup',
      '#markup' => t('You have not enabled any question type module or no has permission been given to create any question.'),
    );
  }
}