You are here

function opigno_quiz_app_form_alter in Opigno Quiz App 7

Quiz node form alter

Shows/Hides calendar date field

File

./opigno_quiz_app.module, line 1552
Module file. Defines module hooks.

Code

function opigno_quiz_app_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == "quiz_node_form" && isset($form['type']['#value']) && $form['type']['#value'] == "quiz") {
    $form['field_add_to_calendar']['#parent'] = 'quiz_availability';
    $form['opigno_calendar_date']['#parent'] = 'quiz_availability';
    $form['opigno_calendar_date']['#states'] = array(
      'invisible' => array(
        '#edit-field-add-to-calendar-und' => array(
          'checked' => FALSE,
        ),
      ),
    );
    $form['quiz_availability']['field_add_to_calendar'] = $form['field_add_to_calendar'];
    $form['quiz_availability']['opigno_calendar_date'] = $form['opigno_calendar_date'];
    $form['#submit'][] = 'opigno_quiz_app_unset_opigno_calendar_date';
    unset($form['field_add_to_calendar']);
    unset($form['opigno_calendar_date']);
    $form['#validate'][] = "opigno_quiz_app_check_questions_for_type";
  }
  elseif ($form_id == 'quiz_question_answering_form') {

    /// Hides the finish quiz for users not registered

    //$form['question']['#weight']=-1;

    // Add touch support on mobile.
    if (isset($form['question_nid'])) {
      $q_node = node_load($form['question_nid']['#value']);
      if ($q_node->type === 'quiz_drag_drop') {
        $form['#attached']['js'][] = drupal_get_path('module', 'opigno_quiz_app') . '/js/jquery.ui.touch-punch.min.js';
      }
    }
    $form['is_doubtful']['#weight'] = 49;
    $form['navigation']['#weight'] = 50;
    if (!user_is_logged_in()) {

      /// Is it the last question?
      if (isset($form['#attributes']['data-confirm-message'])) {
        unset($form['navigation']['submit']);
        unset($form['navigation']['op']);
      }
    }

    /////////////////////////////////////////////////////
    $path = drupal_get_path('module', 'opigno_quiz_app');
    drupal_add_js("{$path}/js/opigno_quiz_app.js");
  }
}