| @@ 305-324 (lines=20) @@ | ||
| 302 | * @param $v |
|
| 303 | * @return array|mixed|string |
|
| 304 | */ |
|
| 305 | function calculer_mysql_where($v) |
|
| 306 | { |
|
| 307 | if (!is_array($v)) |
|
| 308 | return $v ; |
|
| 309 | ||
| 310 | $op = array_shift($v); |
|
| 311 | if (!($n=count($v))) |
|
| 312 | return $op; |
|
| 313 | else { |
|
| 314 | $arg = calculer_mysql_where(array_shift($v)); |
|
| 315 | if ($n==1) { |
|
| 316 | return "$op($arg)"; |
|
| 317 | } else { |
|
| 318 | $arg2 = calculer_mysql_where(array_shift($v)); |
|
| 319 | if ($n==2) { |
|
| 320 | return "($arg $op $arg2)"; |
|
| 321 | } else return "($arg $op ($arg2) : $v[0])"; |
|
| 322 | } |
|
| 323 | } |
|
| 324 | } |
|
| 325 | ||
| 326 | // http://doc.spip.org/@calculer_mysql_expression |
|
| 327 | /** |
|
| @@ 1544-1562 (lines=19) @@ | ||
| 1541 | * @param $v |
|
| 1542 | * @return array|mixed|string |
|
| 1543 | */ |
|
| 1544 | function _sqlite_calculer_where($v){ |
|
| 1545 | if (!is_array($v)) |
|
| 1546 | return $v; |
|
| 1547 | ||
| 1548 | $op = array_shift($v); |
|
| 1549 | if (!($n = count($v))) |
|
| 1550 | return $op; |
|
| 1551 | else { |
|
| 1552 | $arg = _sqlite_calculer_where(array_shift($v)); |
|
| 1553 | if ($n==1){ |
|
| 1554 | return "$op($arg)"; |
|
| 1555 | } else { |
|
| 1556 | $arg2 = _sqlite_calculer_where(array_shift($v)); |
|
| 1557 | if ($n==2){ |
|
| 1558 | return "($arg $op $arg2)"; |
|
| 1559 | } else return "($arg $op ($arg2) : $v[0])"; |
|
| 1560 | } |
|
| 1561 | } |
|
| 1562 | } |
|
| 1563 | ||
| 1564 | ||
| 1565 | /** |
|