You are here

function globallink_interface_dashboard_filter_form in GlobalLink Connect for Drupal 7.7

Same name and namespace in other branches
  1. 7.5 globallink_interface/globallink_interface_send.inc \globallink_interface_dashboard_filter_form()
  2. 7.6 globallink_interface/globallink_interface_send.inc \globallink_interface_dashboard_filter_form()

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

1 string reference to 'globallink_interface_dashboard_filter_form'
globallink_interface_dashboard_page in globallink_interface/globallink_interface_send.inc
Builds forms on interface send dashboard.

File

globallink_interface/globallink_interface_send.inc, line 40

Code

function globallink_interface_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('interfaces');
    $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_interface_filter'][$key])) {
        $form['filter'][$key]['#default_value'] = $_SESSION['globallink_interface_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_interface_filter'] as $key => $value) {
        if (empty($value)) {
          continue;
        }
        switch ($key) {
          case 'string':
            $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':
            $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':
            $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;
          case 'group':
            $form['filter-search']['filter-markup'][] = array(
              '#markup' => "<tr><td style='text-align: left;width: 15%;vertical-align: middle;border: none;'><b>" . "Text Group" . "</b>:&nbsp;</td><td style='text-align: left;width: 85%;vertical-align: middle;border: none;'>" . $results['group']['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_interface/css/interface.css');
    }
  }
  else {
    $form['locale_mapping']['no_mapping'] = array(
      '#type' => 'markup',
      '#markup' => t('<br/><b><i>No GlobalLink locale mapping found.</i></b>'),
    );
  }
  return $form;
}