You are here

function globallink_build_filter_query in GlobalLink Connect for Drupal 7.5

Same name and namespace in other branches
  1. 7.7 globallink.inc \globallink_build_filter_query()
  2. 7.6 globallink.inc \globallink_build_filter_query()

Builds a filter query.

Parameters

SelectQuery $query: SelectQuery object.

array $filter_array: Array of filter parameters.

2 calls to globallink_build_filter_query()
globallink_dashboard_node_form in ./globallink_send_translations.inc
Builds form to create a GlobalLink submission.
globallink_entity_dashboard_form in globallink_entity/globallink_entity_send.inc
Builds form to create an entity submission.

File

./globallink.inc, line 29
Miscellaneous GlobalLink functions for node translations (non-entity).

Code

function globallink_build_filter_query(SelectQuery $query, $filter_array) {
  $filters = globallink_build_filters(TRUE);
  $count = 0;
  foreach ($filter_array as $filter) {
    list($key, $value) = $filter;
    switch ($key) {
      case 'modified':
      case 'target_language':
        continue 2;
        break;
      case 'modified-after':
        $query
          ->condition($filters[$key]['field'], $value, '>=');
        break;
      case 'title':
        $query
          ->condition($filters[$key]['field'], '%' . $value . '%', 'LIKE');
        break;
      case 'status':
        if (module_exists('revisioning')) {
          continue 2;
        }
        list($key, $value) = explode('-', $value, 2);
        $query
          ->condition($key, $value, '=');
        break;
      case 'node_parent':
        if ($value == 1) {
          $query
            ->where('tnid = nid OR tnid = 0');
        }
        break;
      default:
        $query
          ->condition($filters[$key]['field'], $value);
    }
    $count++;
  }
}