Index: branches/unlabeled/unlabeled-1.21.2/kernel/include/config.php =================================================================== diff -u -r4927 -r5175 --- branches/unlabeled/unlabeled-1.21.2/kernel/include/config.php (.../config.php) (revision 4927) +++ branches/unlabeled/unlabeled-1.21.2/kernel/include/config.php (.../config.php) (revision 5175) @@ -240,11 +240,12 @@ return $s; } - function replace_sql($string) + function replace_sql($string, $start_mark = '') { + $mark_length = strlen($start_mark); $string = str_replace("",GetTablePrefix(),$string); - $start = strpos($string,""); + $start = strpos($string, $start_mark); while($start) { @@ -254,14 +255,20 @@ $end = strlen($string); } $len = $end - $start; - $sql = substr($string,$start+5,$len-5); + $sql = substr($string,$start + $mark_length,$len - $mark_length); $sql_val = $this->explode_sql($sql); - $s = substr($string,0,$start) . $sql_val . substr($string,$end+6); + $s = substr($string, 0, $start) . $sql_val . substr($string, $end + $mark_length + 1); $string = $s; - $start = strpos($string,""); - } + $start = strpos($string, $start_mark); + } + + if ($start_mark == '') { + // to prevent recursion. check new style of sqls too + $string = $this->replace_sql($string, ''); + } + return preg_replace('/(.*)$,/','\\1', $string); }