It would be "really nice" if that function could be updated to log the issue rather than simply displaying it, i.e. changing the 1.5.5a version from:
toCode:function getBindVarValue($value, $type) { $typeArray = explode(':',$type); $type = $typeArray[0]; switch ($type) { case 'csv': return $value; break; case 'passthru': return $value; break; case 'float': return (!zen_not_null($value) || $value=='' || $value == 0) ? 0 : $value; break; case 'integer': return (int)$value; break; case 'string': if (preg_match('/NULL/', $value)) return 'null'; return '\'' . $this->prepare_input($value) . '\''; break; case 'stringIgnoreNull': return '\'' . $this->prepare_input($value) . '\''; break; case 'noquotestring': return $this->prepare_input($value); break; case 'currency': return '\'' . $this->prepare_input($value) . '\''; break; case 'date': if (preg_match('/null/i', $value)) return 'null'; return '\'' . $this->prepare_input($value) . '\''; break; case 'enum': if (isset($typeArray[1])) { $enumArray = explode('|', $typeArray[1]); } return '\'' . $this->prepare_input($value) . '\''; case 'regexp': $searchArray = array('[', ']', '(', ')', '{', '}', '|', '*', '?', '.', '$', '^'); foreach ($searchArray as $searchTerm) { $value = str_replace($searchTerm, '\\' . $searchTerm, $value); } return $this->prepare_input($value); default: die('var-type undefined: ' . $type . '('.$value.')'); } }
Code:function getBindVarValue($value, $type) { $typeArray = explode(':',$type); $type = $typeArray[0]; switch ($type) { case 'csv': return $value; break; case 'passthru': return $value; break; case 'float': return (!zen_not_null($value) || $value=='' || $value == 0) ? 0 : $value; break; case 'integer': return (int)$value; break; case 'string': if (preg_match('/NULL/', $value)) return 'null'; return '\'' . $this->prepare_input($value) . '\''; break; case 'stringIgnoreNull': return '\'' . $this->prepare_input($value) . '\''; break; case 'noquotestring': return $this->prepare_input($value); break; case 'currency': return '\'' . $this->prepare_input($value) . '\''; break; case 'date': if (preg_match('/null/i', $value)) return 'null'; return '\'' . $this->prepare_input($value) . '\''; break; case 'enum': if (isset($typeArray[1])) { $enumArray = explode('|', $typeArray[1]); } return '\'' . $this->prepare_input($value) . '\''; case 'regexp': $searchArray = array('[', ']', '(', ')', '{', '}', '|', '*', '?', '.', '$', '^'); foreach ($searchArray as $searchTerm) { $value = str_replace($searchTerm, '\\' . $searchTerm, $value); } return $this->prepare_input($value); default: trigger_error ("var-type undefined: $type ($value).", E_USER_ERROR); } }


Reply With Quote
