Merge pull request #6450 from civicrm/4.6
[civicrm-core.git] / CRM / Contact / Form / Search / Builder.php
index 7fab36c8c3a08dadf853b7c9b61f02c39930fc39..7a702587bec0ac79a45208a0aee42cefc0f28207 100644 (file)
@@ -255,12 +255,12 @@ class CRM_Contact_Form_Search_Builder extends CRM_Contact_Form_Search {
                 $inVal = trim($v[2]);
                 //checking for format to avoid db errors
                 if ($type == 'Int') {
-                  if (!preg_match('/^[(]([A-Za-z0-9\,]+)[)]$/', $inVal)) {
+                  if (!preg_match('/^[A-Za-z0-9\,]+$/', $inVal)) {
                     $errorMsg["value[$v[3]][$v[4]]"] = ts("Please enter correct Data (in valid format).");
                   }
                 }
                 else {
-                  if (!(substr($inVal, 0, 1) == '(' && substr($inVal, -1, 1) == ')') && !preg_match('/^[(]([A-Za-z0-9åäöÅÄÖüÜœŒæÆøØ\,\s]+)[)]$/', $inVal)) {
+                  if (!preg_match('/^[A-Za-z0-9åäöÅÄÖüÜœŒæÆøØ()\,\s]+$/', $inVal)) {
                     $errorMsg["value[$v[3]][$v[4]]"] = ts("Please enter correct Data (in valid format).");
                   }
                 }
@@ -269,7 +269,7 @@ class CRM_Contact_Form_Search_Builder extends CRM_Contact_Form_Search {
               // Validate each value in parenthesis to avoid db errors
               if (empty($errorMsg)) {
                 $parenValues = array();
-                $parenValues = is_array($v[2]) ? $v[2] : explode(',', trim($inVal, "(..)"));
+                $parenValues = is_array($v[2]) ? (array_key_exists($v[1], $v[2])) ? $v[2][$v[1]] : $v[2] : explode(',', trim($inVal, "(..)"));
                 foreach ($parenValues as $val) {
                   if ($type == 'Date' || $type == 'Timestamp') {
                     $val = CRM_Utils_Date::processDate($val);