You are here

function globallink_webform_dashboard_filter_form in GlobalLink Connect for Drupal 7.6

Same name and namespace in other branches
  1. 7.7 globallink_webform/globallink_webform_send.inc \globallink_webform_dashboard_filter_form()
  2. 7.5 globallink_webform/globallink_webform_send.inc \globallink_webform_dashboard_filter_form()

Builds form to filter webforms to send for translation on dashboard.

1 string reference to 'globallink_webform_dashboard_filter_form'
globallink_webform_dashboard_page in globallink_webform/globallink_webform_send.inc
Builds forms on webform send dashboard.

File

globallink_webform/globallink_webform_send.inc, line 27

Code

function globallink_webform_dashboard_filter_form() {
  module_load_include('inc', 'globallink', 'globallink');
  $form = array();
  $locales = globallink_get_mapped_drupal_locales(FALSE);
  if (isset($locales) && count($locales) > 1) {
    $results = globallink_drupal_search_query();
    $form['filter'] = array(
      '#type' => 'fieldset',
      '#title' => t('FILTER STRINGS'),
      '#collapsible' => TRUE,
      '#collapsed' => TRUE,
    );
    foreach ($results as $key => $result) {
      $filter = FALSE;
      if ($key == 'string') {
        $form['filter']['string'] = array(
          '#type' => 'textfield',
          '#title' => check_plain($result['title']),
          '#description' => check_plain($result['description']),
        );
      }
      else {
        $form['filter'][$key] = array(
          '#attributes' => array(
            'class' => array(
              'container-inline',
            ),
          ),
          '#title' => check_plain($result['title']),
          '#type' => 'select',
          '#empty_value' => 'all',
          '#empty_option' => $result['options']['all'],
          '#options' => $result['options'],
        );
        if (!empty($_SESSION['locale_translation_filter'][$key])) {
          $form['filters']['status'][$key]['#default_value'] = $_SESSION['locale_translation_filter'][$key];
        }
      }
      if (!empty($_SESSION['globallink_webform_filter'][$key])) {
        $form['filter'][$key]['#default_value'] = $_SESSION['globallink_webform_filter'][$key];
        $filter = TRUE;
      }
    }
    $form['filter']['actions'] = array(
      '#type' => 'actions',
    );
    $disable_submit = $filter ? TRUE : FALSE;
    $form['filter']['actions']['submit'] = array(
      '#type' => 'submit',
      '#value' => t('Filter'),
      '#disabled' => $disable_submit,
    );
    if ($filter) {
      $form['filter-search'] = array(
        '#type' => 'fieldset',
        '#title' => t('FILTER CRITERIA'),
      );
      $form['filter-search']['filter-markup'] = array(
        '#type' => 'container',
      );
      $form['filter-search']['filter-markup'][] = array(
        '#markup' => '<table>',
      );
      foreach ($_SESSION['globallink_webform_filter'] as $key => $value) {
        switch ($key) {
          case 'string':
            if (empty($value)) {
              continue;
            }
            $form['filter-search']['filter-markup'][] = array(
              '#markup' => '<tr><td style="text-align: left;width: 15%;vertical-align: middle;border: none;"><b>' . 'String contains' . '</b>:&nbsp;</td><td style="text-align: left;width: 85%;vertical-align: middle;border: none;">' . $value . '</td></tr>',
            );
            break;
          case 'language':
            if (empty($value)) {
              continue;
            }
            $form['filter-search']['filter-markup'][] = array(
              '#markup' => '<tr><td style="text-align: left;width: 15%;vertical-align: middle;border: none;"><b>' . 'Language' . '</b>:&nbsp;</td><td style="text-align: left;width: 85%;vertical-align: middle;border: none;">' . $results['language']['options'][$value] . '</td></tr>',
            );
            break;
          case 'translation':
            if (empty($value)) {
              continue;
            }
            $form['filter-search']['filter-markup'][] = array(
              '#markup' => '<tr><td style="text-align: left;width: 15%;vertical-align: middle;border: none;"><b>' . 'Filter in' . '</b>:&nbsp;</td><td style="text-align: left;width: 85%;vertical-align: middle;border: none;">' . $results['translation']['options'][$value] . '</td></tr>',
            );
            break;
        }
      }
      $form['filter-search']['filter-markup'][] = array(
        '#markup' => '</table>',
      );
      $form['filter-search']['status']['actions'] = array(
        '#type' => 'actions',
        '#attributes' => array(
          'class' => array(
            'container-inline',
          ),
        ),
      );
      $form['filter-search']['status']['actions']['reset'] = array(
        '#type' => 'submit',
        '#value' => t('Reset'),
      );
      drupal_add_css(drupal_get_path('module', 'globallink') . '/globallink_webform/css/webform.css');
    }
  }
  else {
    $form['locale_mapping']['no_mapping'] = array(
      '#type' => 'markup',
      '#markup' => t('<br/><b><i>No GlobalLink locale mapping found.</i></b>'),
    );
  }
  return $form;
}