From cbd5eb9a1a77a5bcbcb843be21e95bccec26dedb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= <jfd@butonic.de>
Date: Wed, 8 May 2013 16:18:24 +0200
Subject: [PATCH] use to_char only for oracle, whitespace

---
 lib/app.php  |  9 +++++++--
 lib/db.php   | 12 ++++++------
 lib/user.php |  6 +++++-
 3 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/lib/app.php b/lib/app.php
index 0a7069ca60..c6f6e92e60 100644
--- a/lib/app.php
+++ b/lib/app.php
@@ -172,8 +172,13 @@ class OC_App{
 			return array();
 		}
 		$apps=array('files');
-		$query = OC_DB::prepare( 'SELECT `appid` FROM `*PREFIX*appconfig`'
-			.' WHERE `configkey` = \'enabled\' AND to_char(`configvalue`)=\'yes\'' );
+		$sql = 'SELECT `appid` FROM `*PREFIX*appconfig`'
+			.' WHERE `configkey` = \'enabled\' AND `configvalue`=\'yes\'';
+		if (OC_Config::getValue( 'dbtype', 'sqlite' ) === 'oci') { //FIXME oracle hack
+			$sql = 'SELECT `appid` FROM `*PREFIX*appconfig`'
+			.' WHERE `configkey` = \'enabled\' AND to_char(`configvalue`)=\'yes\'';
+		}
+		$query = OC_DB::prepare( $sql );
 		$result=$query->execute();
 		if( \OC_DB::isError($result)) {
 			throw new DatabaseException($result->getMessage(), $query);
diff --git a/lib/db.php b/lib/db.php
index 5b45f81f99..6183655183 100644
--- a/lib/db.php
+++ b/lib/db.php
@@ -273,12 +273,12 @@ class OC_DB {
 					break;
 				case 'oci':
 					$dsn = array(
-							'phptype'  => 'oci8',
-							'username' => $user,
-							'password' => $pass,
-							'service'  => $name,
-							'hostspec' => $host,
-							'charset' => 'AL32UTF8',
+						'phptype'  => 'oci8',
+						'username' => $user,
+						'password' => $pass,
+						'service'  => $name,
+						'hostspec' => $host,
+						'charset' => 'AL32UTF8',
 					);
 					break;
 				case 'mssql':
diff --git a/lib/user.php b/lib/user.php
index 78f5edfb5f..32b91c35ef 100644
--- a/lib/user.php
+++ b/lib/user.php
@@ -609,7 +609,11 @@ class OC_User {
 	 */
 	public static function isEnabled($userid) {
 		$sql = 'SELECT `userid` FROM `*PREFIX*preferences`'
-			.' WHERE `userid` = ? AND `appid` = ? AND `configkey` = ? AND to_char(`configvalue`) = ?';
+			.' WHERE `userid` = ? AND `appid` = ? AND `configkey` = ? AND `configvalue` = ?';
+		if (OC_Config::getValue( 'dbtype', 'sqlite' ) === 'oci') { //FIXME oracle hack
+			$sql = 'SELECT `userid` FROM `*PREFIX*preferences`'
+				.' WHERE `userid` = ? AND `appid` = ? AND `configkey` = ? AND to_char(`configvalue`) = ?';
+		}
 		$stmt = OC_DB::prepare($sql);
 		if ( ! OC_DB::isError($stmt) ) {
 			$result = $stmt->execute(array($userid, 'core', 'enabled', 'false'));
-- 
GitLab