$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).");
}
}
// 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);