Index: trunk/core/units/general/custom_fields.php =================================================================== diff -u -N --- trunk/core/units/general/custom_fields.php (revision 8009) +++ trunk/core/units/general/custom_fields.php (revision 0) @@ -1,93 +0,0 @@ -ParseConfigSQL($values_list), ','); - if (!$optionValuesStr) { - // no options, then return empty array - return Array(); - } - - $optionValuesTmp = explode(',', $optionValuesStr); - $optionValues = Array(); - foreach ($optionValuesTmp as $optionValue) { - list($key, $val) = explode('=', $optionValue); - $val = (substr($val,0,1) == '+') ? substr($val, 1) : $this->Application->Phrase($val); - $optionValues[$key] = $val; - } - return $optionValues; - } - - /** - * Replace SQL's in valueList with appropriate queried values - * - * @param string $valueString - * @return string - * @todo Apply refactoring to embedded vars stuff - */ - function ParseConfigSQL($valueString) - { - $string = trim( str_replace(Array('', '%3$s'), Array (TABLE_PREFIX, $this->Application->GetVar('m_lang')), $valueString) ); - - preg_match_all("|\{(.*)\}|U", $string, $embedded_vars, PREG_SET_ORDER); - - /* - in ValueList now can use globally available variables. - Usage: {$_POST['variable']|what to output if $_POST['variable'] is set} - e.g. $_POST['variable']='Hello' - Will output: what to output if Hello is set - */ - - if ($embedded_vars) { - for ($i = 0; $i < count($embedded_vars); $i++) { - $embedded_var = $embedded_vars[$i][1]; - $embedded_var_src = $embedded_vars[$i][0]; - - list($var_name, $pattern) = explode('|', $embedded_var); - eval('$var_value = (isset('.$var_name.')?'.$var_name.':false);'); - - if ($var_value !== false) { - $pattern = str_replace($var_name, $var_value, $pattern); - $string = str_replace($embedded_var_src, $pattern, $string); - } - else { - $string = str_replace($embedded_var_src, '', $string); - } - } - } - - if (preg_match_all('/(.*?)<\/SQL>/', $string, $regs)) { - $i = 0; - $sql_count = count($regs[0]); - while ($i < $sql_count) { - $string = str_replace(''.$regs[2][$i].'', $this->QueryConfigSQL($regs[2][$i], $regs[1][$i]), $string); - $i++; - } - $string = preg_replace('/(,){2,}/', ',', $string); // trim trailing commas inside string - } - - return $string; - } - - function QueryConfigSQL($sql, $plus = '') - { - $valArray = $this->Conn->Query($sql); - for($i=0; $i \ No newline at end of file