You are here

function translation_build_filter_query in Internationalization 5

Same name and namespace in other branches
  1. 5.3 translation/translation.module \translation_build_filter_query()
  2. 5.2 translation/translation.module \translation_build_filter_query()

Build query for node administration filters based on session.

1 call to translation_build_filter_query()
translation_admin_nodes in translation/translation.module
Form builder. Administrative form for node translations

File

translation/translation.module, line 567

Code

function translation_build_filter_query() {

  // Build query
  $where = $args = array();
  $join = '';

  // This will produce an empty join
  if (!is_array($_SESSION['translation_filter'])) {
    $_SESSION['translation_filter'] = array();
  }
  foreach ($_SESSION['translation_filter'] as $type => $value) {
    switch ($type) {
      case 'source_language':
        $where[] = "i.language = '%s'";
        $args[] = $value;
        break;
      case 'translation_language':
        $join .= " AND i2.language ='" . db_escape_string($value) . "' ";
        break;
      case 'source_status':
        $where[] = "i.status = %d";
        $args[] = $value;
        break;
      case 'translation_status':
        $join .= " AND i2.status = " . db_escape_string($value);
        break;
    }
  }
  return array(
    'where' => $where,
    'join' => $join,
    'args' => $args,
  );
}