You are here

function _entityform_type_setttings_elements in Entityform 7

Create Form elements that are shared between EntityformType add/edit form and EntityformType default settings form This allows default settings to set for most form settings.

Parameters

$entityform_type:

$op:

Return value

array Form elements

2 calls to _entityform_type_setttings_elements()
entityform_settings in ./entityform_type.admin.inc
Entityform global setting form
entityform_type_form in ./entityform_type.admin.inc
Generates the entityform type editing form.

File

./entityform_type.admin.inc, line 343
Entityform type editing UI.

Code

function _entityform_type_setttings_elements($entityform_type, $op) {

  //****************DRAFT FIELDSET SETTINGS *********************//
  $form['data']['draft_set'] = array(
    '#type' => 'fieldset',
    '#title' => t('Draft settings'),
    '#collapsible' => TRUE,
    '#group' => 'additional_settings',
    '#weight' => 60,
  );
  $form['data']['draft_set']['draftable'] = array(
    '#type' => 'checkbox',
    '#title' => t('Draftable'),
    '#default_value' => !empty($entityform_type->data['draftable']),
    '#description' => t('Should users be able to save a draft of this form?'),
  );
  $form['data']['draft_set']['draft_button_text'] = array(
    '#type' => 'textfield',
    '#title' => t('Override draft button text'),
    '#default_value' => empty($entityform_type->data['draft_button_text']) ? '' : $entityform_type->data['draft_button_text'],
    '#description' => t('Text to use for draft save button.  If blank it will default to "Save Draft".'),
  );
  $form['data']['draft_set']['draft_save_text'] = array(
    '#type' => 'text_format',
    '#title' => t('Draft save text'),
    '#default_value' => empty($entityform_type->data['draft_save_text']['value']) ? '' : $entityform_type->data['draft_save_text']['value'],
    '#format' => empty($entityform_type->data['draft_save_text']['format']) ? NULL : $entityform_type->data['draft_save_text']['format'],
    '#description' => t('This text will be displayed to the user when the form is saved as a draft.'),
  );

  //****************NOTIFICATIONS FIELDSET SETTINGS *********************//
  $form['data']['notifications_set'] = array(
    '#type' => 'fieldset',
    '#title' => t('Notifications settings'),
    '#collapsible' => TRUE,
    '#group' => 'additional_settings',
    '#weight' => 80,
  );
  $form['data']['notifications_set']['submission_rules'] = _entityform_type_rules_select_element($entityform_type, 'submission', 'Select the Rules to invoke on submission');

  //****************VALIDATION FIELDSET SETTINGS *********************//
  $form['data']['validation_set'] = array(
    '#type' => 'fieldset',
    '#title' => t('Validation settings'),
    '#collapsible' => TRUE,
    '#group' => 'additional_settings',
    '#weight' => 85,
  );
  $form['data']['validation_set']['validation_rules'] = _entityform_type_rules_select_element($entityform_type, 'validation', 'Select the Rules to invoke on form validation');

  //****************FORM OVERRIDE FIELDSET SETTINGS *********************//
  $form['data']['formoverride_set'] = array(
    '#type' => 'fieldset',
    '#title' => t('Form overrides'),
    '#collapsible' => TRUE,
    '#group' => 'additional_settings',
    '#weight' => 120,
  );
  $form['data']['formoverride_set']['submit_button_text'] = array(
    '#type' => 'textfield',
    '#title' => t('Override Save Button Text'),
    '#default_value' => empty($entityform_type->data['submit_button_text']) ? '' : $entityform_type->data['submit_button_text'],
    '#description' => t('Text to use for submit button.  If blank it will default to "Submit Form".'),
  );

  //****************SUBMISSION PAGE FIELDSET SETTINGS *********************//
  $form['data']['submission_page_set'] = array(
    '#type' => 'fieldset',
    '#title' => t('Submission page settings'),
    '#collapsible' => TRUE,
    '#group' => 'additional_settings',
    '#weight' => 20,
  );
  $form['data']['submission_page_set']['submission_page_title'] = array(
    '#type' => 'textfield',
    '#title' => t('Submission page title'),
    '#default_value' => empty($entityform_type->data['submission_page_title']) ? '' : $entityform_type->data['submission_page_title'],
    '#description' => t('Page title for correct submission.') . ($op != 'defaults' ? ' ' . ENTITYFORM_TYPE_DEFAULT_PROP_TEXT : ''),
  );
  $form['data']['submission_page_set']['submission_text'] = array(
    '#type' => 'text_format',
    '#title' => t('Submission reply'),
    '#default_value' => empty($entityform_type->data['submission_text']['value']) ? '' : $entityform_type->data['submission_text']['value'],
    '#format' => empty($entityform_type->data['submission_text']['format']) ? NULL : $entityform_type->data['submission_text']['format'],
    '#description' => t('This text will be displayed to the user when a correct form is submitted.'),
  );
  $form['data']['submission_page_set']['submission_show_submitted'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show submission information'),
    '#default_value' => !empty($entityform_type->data['submission_show_submitted']),
    '#description' => t('Show submitted data on submission page?'),
  );

  //****************SUBMISSION VIEWS FIELDSET SETTINGS *********************//

  // Let Each entityform use a different View for viewing Submission
  $form['data']['submissions_set'] = array(
    '#type' => 'fieldset',
    '#title' => t('Submissions views'),
    '#collapsible' => TRUE,
    '#group' => 'additional_settings',
    '#weight' => 40,
  );
  $view_options = _entityform_get_entityform_views_options();
  if ($op != 'defaults') {
    $view_options['default'] = t('Use Default');
  }
  $user_view_options = $view_options;
  $user_view_options[''] = t('None');
  $submission_view = $entityform_type->data['submissions_view'];
  $user_submission_view = isset($entityform_type->data['user_submissions_view']) ? $entityform_type->data['user_submissions_view'] : '';
  $parts = explode(':', $submission_view);
  $submission_view = $parts[0];
  if ($op == 'defaults') {

    //If selected Views are no longer available select defaults.
    if (!array_key_exists($submission_view, $view_options)) {
      $submission_view = 'entityforms';
    }
    if (!array_key_exists($user_submission_view, $user_view_options)) {
      $submission_view = 'user_entityforms';
    }
  }
  $form['data']['submissions_set']['submissions_view'] = array(
    '#type' => 'select',
    '#title' => t('View for submissions reports'),
    '#description' => t('Select the View that should be used Submission reports.'),
    '#default_value' => $submission_view,
    '#options' => $view_options,
  );
  $user_view_description = 'Select the View that should be used to show users their previous submissions.';
  $user_view_description .= ' If "None" is selected then the users will not see a previous submissions link.';
  $form['data']['submissions_set']['user_submissions_view'] = array(
    '#type' => 'select',
    '#title' => t('View for current user\'s submissions'),
    '#description' => t($user_view_description),
    '#default_value' => $user_submission_view,
    '#options' => $user_view_options,
  );
  $form['entityform_default_submission_view']['#options'] = _entityform_get_entityform_views_options();

  //****************ACCESS FIELDSET SETTINGS *********************//
  $form['data']['access_set'] = array(
    '#type' => 'fieldset',
    '#title' => t('Access settings'),
    '#collapsible' => TRUE,
    '#group' => 'additional_settings',
    '#weight' => -50,
  );
  $form['data']['access_set']['form_status'] = array(
    '#type' => 'select',
    '#title' => t('Form status'),
    '#options' => array(
      ENTITYFORM_STATUS_OPEN => t('Open for new submissions'),
      ENTITYFORM_STATUS_CLOSED => t('Closed form new form submissions'),
    ),
    '#default_value' => empty($entityform_type->data['form_status']) ? 'open' : $entityform_type->data['form_status'],
    '#description' => t('Can users submit this form?  Open means the users can submit this form.  Closed means the user can not submit the form.'),
  );
  $form['data']['access_set']['roles'] = array(
    '#type' => 'checkboxes',
    '#title' => t('Roles'),
    '#options' => user_roles(),
    '#default_value' => empty($entityform_type->data['roles']) ? array() : $entityform_type->data['roles'],
    '#description' => t('Please select the Role(s) that can submit this form.'),
    '#required' => TRUE,
    '#multiple' => TRUE,
  );
  $form['data']['access_set']['resubmit_action'] = array(
    '#type' => 'select',
    '#title' => t('Resubmit action'),
    '#options' => array(
      'new' => t('Allow new submission'),
      'old' => t('Edit old submission'),
      'disallow' => t("Don't allow"),
      'confirm' => t('Goto Confirm page'),
    ),
    '#default_value' => empty($entityform_type->data['resubmit_action']) ? 'new' : $entityform_type->data['resubmit_action'],
    '#description' => t('Action to take if logged in user has already submitted form.'),
  );
  $form['data']['access_set']['access_rules'] = _entityform_type_rules_select_element($entityform_type, 'access', 'Select the Rules to invoke to determine if the user will be shown the form fields. This does not control whether the user can see the form page.');
  return $form;
}