From ed1d212ae2daea5e4bd043417610177093e99f19 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Sat, 16 Jan 2016 03:03:51 -0500
Subject: [PATCH] Improved SVG cleanup code
---
program/lib/Roundcube/rcube_db_oracle.php | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/program/lib/Roundcube/rcube_db_oracle.php b/program/lib/Roundcube/rcube_db_oracle.php
index 338eb2e..9775f96 100644
--- a/program/lib/Roundcube/rcube_db_oracle.php
+++ b/program/lib/Roundcube/rcube_db_oracle.php
@@ -155,9 +155,14 @@
}
}
- // replace escaped '?' back to normal, see self::quote()
- $query = str_replace('??', '?', $query);
$query = rtrim($query, " \t\n\r\0\x0B;");
+
+ // replace escaped '?' and quotes back to normal, see self::quote()
+ $query = str_replace(
+ array('??', self::DEFAULT_QUOTE.self::DEFAULT_QUOTE),
+ array('?', self::DEFAULT_QUOTE),
+ $query
+ );
// log query
$this->debug($query);
@@ -171,7 +176,7 @@
$mode = $this->in_transaction ? OCI_NO_AUTO_COMMIT : OCI_COMMIT_ON_SUCCESS;
if ($result) {
- foreach ($args as $param => $arg) {
+ foreach (array_keys($args) as $param) {
oci_bind_by_name($result, $param, $args[$param], -1, SQLT_LNG);
}
}
@@ -500,7 +505,7 @@
foreach (explode("\n", $sql) as $line) {
$tok = strtolower(trim($line));
- if (preg_match('/^--/', $line) || $tok == '') {
+ if (preg_match('/^--/', $line) || $tok == '' || $tok == '/') {
continue;
}
@@ -587,7 +592,7 @@
$this->debug('ROLLBACK TRANSACTION');
- if ($result = @oci_rollback($this->dbh)) {
+ if (@oci_rollback($this->dbh)) {
$this->in_transaction = false;
}
else {
--
Gitblit v1.9.1