From 4f1de1c95e0a6c0a9da8f9865b960386ca040d4f Mon Sep 17 00:00:00 2001 From: ftimme <ft@falkotimme.com> Date: Mon, 12 Nov 2012 11:29:10 -0500 Subject: [PATCH] - Make sure alias domain SEO redirects get written only if they don't collide with SEO redirects from parent web site. --- interface/lib/classes/tform.inc.php | 40 ++++++++++++++++++++++------------------ 1 files changed, 22 insertions(+), 18 deletions(-) diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php index cfb04b4..66615d0 100644 --- a/interface/lib/classes/tform.inc.php +++ b/interface/lib/classes/tform.inc.php @@ -276,6 +276,17 @@ $this->errorMessage .= "Custom datasource class or function is empty<br />\r\n"; } } + + if(isset($field['filters']) && is_array($field['filters'])) { + $new_values = array(); + foreach($values as $index => $value) { + $new_index = $this->filterField($index, $index, $field['filters'], 'SHOW'); + $new_values[$new_index] = $this->filterField($index, (isset($values[$index]))?$values[$index]:'', $field['filters'], 'SHOW'); + } + $values = $new_values; + unset($new_values); + unset($new_index); + } return $values; @@ -629,7 +640,6 @@ if(isset($field['filters']) && is_array($field['filters'])) { $record[$key] = $this->filterField($key, (isset($record[$key]))?$record[$key]:'', $field['filters'], 'SAVE'); } - //* Validate record value if(isset($field['validators']) && is_array($field['validators'])) { $this->validateField($key, (isset($record[$key]))?$record[$key]:'', $field['validators']); @@ -738,24 +748,16 @@ if($filter['event'] == $filter_event) { switch ($filter['type']) { case 'TOLOWER': - $returnval = strtolower($field_value); + $returnval = strtolower($returnval); break; case 'TOUPPER': - $returnval = strtoupper($field_value); + $returnval = strtoupper($returnval); break; case 'IDNTOASCII': - if(function_exists('idn_to_ascii')) { - $returnval = idn_to_ascii($field_value); - } else { - $returnval = $field_value; - } + $returnval = $app->functions->idn_encode($returnval); break; case 'IDNTOUTF8': - if(function_exists('idn_to_utf8')) { - $returnval = idn_to_utf8($field_value); - } else { - $returnval = $field_value; - } + $returnval = $app->functions->idn_decode($returnval); break; default: $this->errorMessage .= "Unknown Filter: ".$filter['type']; @@ -763,8 +765,7 @@ } } } - - return $returnval; + return $returnval; } /** @@ -798,7 +799,9 @@ } break; case 'UNIQUE': - if($this->action == 'NEW') { + if($validator['allowempty'] != 'y') $validator['allowempty'] = 'n'; + if($validator['allowempty'] == 'n' || ($validator['allowempty'] == 'y' && $field_value != '')){ + if($this->action == 'NEW') { $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM ".$escape.$this->formDef['db_table'].$escape. " WHERE $field_name = '".$app->db->quote($field_value)."'"); if($num_rec["number"] > 0) { $errmsg = $validator['errmsg']; @@ -808,7 +811,7 @@ $this->errorMessage .= $errmsg."<br />\r\n"; } } - } else { + } else { $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM ".$escape.$this->formDef['db_table'].$escape. " WHERE $field_name = '".$app->db->quote($field_value)."' AND ".$this->formDef['db_table_idx']." != ".$this->primary_id); if($num_rec["number"] > 0) { $errmsg = $validator['errmsg']; @@ -818,7 +821,8 @@ $this->errorMessage .= $errmsg."<br />\r\n"; } } - } + } + } break; case 'NOTEMPTY': if(empty($field_value)) { -- Gitblit v1.9.1