# This patch file was generated by NetBeans IDE
# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
# It uses platform neutral UTF-8 encoding.
# Above lines and this line are ignored by the patching process.
--- views_plugin_argument_validate_taxonomy_term.inc
+++ views_plugin_argument_validate_taxonomy_term.inc
@@ -56,6 +56,7 @@
         'tids' => t('Term IDs separated by , or +'),
         'name' => t('Term name'),
         'convert' => t('Term name converted to Term ID'),
+        'names_convert' => t('Term names converted to IDs separated by , or + or /')
       ),
       '#default_value' => $this->options['type'],
       '#description' => t('Select the form of this filter value; if using term name, it is generally more efficient to convert it to a term ID and use Taxonomy: Term ID rather than Taxonomy: Term Name" as the filter.'),
@@ -182,9 +183,103 @@
           return TRUE;
         }
         return FALSE;
+
+      case 'names_convert':
+        // Break up terms into array then convert to IDs  
+        $names_convert = new stdClass();
+        $names_convert->value = $argument;
+        $names_convert = views_break_phrase_string($argument, $names_convert);
+        if ($names_convert->value == array(-1)) {
+          return FALSE;
     }
+        //convert names to IDs
+        $namecheck = 0;
+        foreach ($names_convert->value as $key => $namequery) {
+          $query = db_select('taxonomy_term_data', 'td');
+          $query->leftJoin('taxonomy_vocabulary', 'tv', 'td.vid = tv.vid');
+          $query->fields('td');
+          $query->fields('tv', array('machine_name'));
+          if (!empty($vocabularies)) {
+            $query->condition('tv.machine_name', $vocabularies);
   }
+          if ($transform) {
+            $query->where("replace(td.name, ' ', '-') = :name", array(':name' => $namequery));
+          }
+          else {
+            $query->condition('td.name', $namequery);
+          }
+          $term = $query->execute()->fetchObject();
 
+          if ($term && (empty($vocabularies) || !empty($vocabularies[$term->machine_name]))) {
+            if ($type == 'names_convert') {
+              $this->argument->argument = $term->tid;
+              $names_convert->value[$key] = $term->tid;
+              print 'key: ' . $key . '</br>'; // dev
+              print 'value: ' . $namequery . '</br>'; // dev
+            }
+            // $this->argument->validated_title = check_plain($term->name);
+          }
+          else {
+            $namecheck++;
+          }
+        }
+        if ($namecheck > 0) {
+          return FALSE;
+        }
+        // end convert
+        print ('<pre>'); // dev
+        print_r($names_convert); // dev
+        print ('</pre>'); // dev
+
+        $test = drupal_map_assoc($names_convert->value);
+        $titles = array();
+
+        // check, if some tids already verified
+        static $validated_cache = array();
+        foreach ($test as $tid) {
+          if (isset($validated_cache[$tid])) {
+            if ($validated_cache[$tid] === FALSE) {
+              return FALSE;
+            }
+            else {
+              $titles[] = $validated_cache[$tid];
+              unset($test[$tid]);
+            }
+          }
+        }
+
+        // if unverified tids left - verify them and cache results
+        if (count($test)) {
+          $query = db_select('taxonomy_term_data', 'td');
+          $query->leftJoin('taxonomy_vocabulary', 'tv', 'td.vid = tv.vid');
+          $query->fields('td');
+          $query->fields('tv', array('machine_name'));
+          $query->condition('td.tid', $test);
+
+          $result = $query->execute();
+
+          foreach ($result as $term) {
+            if ($vocabularies && empty($vocabularies[$term->machine_name])) {
+              $validated_cache[$term->tid] = FALSE;
+              return FALSE;
+            }
+
+            $titles[] = $validated_cache[$term->tid] = check_plain($term->name);
+            unset($test[$term->tid]);
+          }
+        }
+
+        // Remove duplicate titles
+        $titles = array_unique($titles);
+
+        $this->argument->validated_title = implode($names_convert->operator == 'or' ? ' + ' : ', ', $titles);
+        // If this is not empty, we did not find a tid.
+        return empty($test);
+
+      // END names_convert
+    }
+  }
+
   function process_summary_arguments(&$args) {
     $type = $this->options['type'];
     $transform = $this->options['transform'];
