function calculer_pg_where($v) { if (!is_array($v)) { return spip_pg_frommysql($v); } $op = str_replace('REGEXP', '~', array_shift($v)); if (!($n = count($v))) { return $op; } else { $arg = calculer_pg_where(array_shift($v)); if ($n == 1) { return "{$op}({$arg})"; } else { $arg2 = calculer_pg_where(array_shift($v)); if ($n == 2) { return "({$arg} {$op} {$arg2})"; } else { return "({$arg} {$op} ({$arg2}) : {$v['0']})"; } } } }
function calculer_pg_where($v) { if (!is_array($v)) return spip_pg_frommysql($v); $op = str_replace('REGEXP', '~', array_shift($v)); if (!($n=count($v))) return $op; else { $arg = calculer_pg_where(array_shift($v)); if ($n==1) { return "$op($arg)"; } else { $arg2 = calculer_pg_where(array_shift($v)); if ($n==2) { return "($arg $op $arg2)"; } else return "($arg $op ($arg2) : $v[0])"; } } }