? example.patch
Index: handlers/views_handler_argument_string.inc
===================================================================
RCS file: /cvs/drupal/contributions/modules/views/handlers/views_handler_argument_string.inc,v
retrieving revision 1.4
diff -u -p -r1.4 views_handler_argument_string.inc
--- handlers/views_handler_argument_string.inc	7 Jan 2009 21:30:31 -0000	1.4
+++ handlers/views_handler_argument_string.inc	19 Feb 2009 14:34:31 -0000
@@ -27,6 +27,7 @@ class views_handler_argument_string exte
     $options['case'] = array('default' => 'none');
     $options['path_case'] = array('default' => 'none');
     $options['transform_dash'] = array('default' => FALSE);
+    $options['arg_action'] = array('default' => 'equals');
 
     if (!empty($this->definition['many to one'])) {
       $options['add_table'] = array('default' => FALSE);
@@ -46,6 +47,19 @@ class views_handler_argument_string exte
       '#default_value' => $this->options['glossary'],
     );
 
+    $form['arg_action'] = array(
+        '#type' => 'select',
+        '#title' => t('Arg action'),
+        '#options' => array(
+              'equals' => t('Equals'),
+              'contain' => t('Contains'),
+              'start' => t('Starts with'),
+              'end' => t('Ends with'),
+
+        ),
+        '#default_value' => $this->options['arg_action']
+    );
+
     $form['limit'] = array(
       '#type' => 'textfield',
       '#title' => t('Character limit'),
@@ -166,8 +180,27 @@ class views_handler_argument_string exte
     else {
       $field = $this->get_formula();
     }
-
-    $this->query->add_where(0, "$field = '%s'", $argument);
+    $prefix = '';
+    $suffix = '';
+    switch($this->options['arg_action']){
+        case 'contain':
+            $operator = 'LIKE';
+            $prefix = '%';
+            $suffix = '%';
+            break;
+        case 'start':
+            $operator = 'LIKE';
+            $suffix = '%';
+            break;
+        case 'end':
+            $operator = 'LIKE';
+            $prefix = '%';
+        case 'equals':
+        default:
+            $operator = '=';
+            break;
+    }
+    $this->query->add_where(0, "$field $operator '%s'", $prefix.$argument.$suffix);
   }
 
   function summary_argument($data) {
