Skip to content

Instantly share code, notes, and snippets.

@ArnaudD
Created May 17, 2011 09:00
Show Gist options
  • Save ArnaudD/976173 to your computer and use it in GitHub Desktop.
Save ArnaudD/976173 to your computer and use it in GitHub Desktop.
Filez compatibility with postgresql
diff --git a/app/controllers/Install.php b/app/controllers/Install.php
index d8b5d72..bd88484 100644
--- a/app/controllers/Install.php
+++ b/app/controllers/Install.php
@@ -323,7 +323,7 @@ class App_Controller_Install extends Fz_Controller {
$version = '2.0.0';
} else if ($table['table_name'] == 'fz_info') {
$res = Fz_Db::findAssocBySQL(
- 'SELECT `value` FROM `fz_info` WHERE `key`=\'db_version\'');
+ 'SELECT value FROM fz_info WHERE key=\'db_version\'');
if (! empty ($res))
return $res [0]['value'];
}
diff --git a/app/models/DbTable/File.php b/app/models/DbTable/File.php
index 1143fea..43eb947 100644
--- a/app/models/DbTable/File.php
+++ b/app/models/DbTable/File.php
@@ -122,7 +122,7 @@ class App_Model_DbTable_File extends Fz_Db_Table_Abstract {
public function findByOwnerOrderByUploadDateDesc ($uid) {
$sql = 'SELECT * FROM '.$this->getTableName ()
.' WHERE uploader_uid=:uid '
- .' AND available_until >= CURRENT_DATE() '
+ .' AND available_until >= CURRENT_DATE '
.' ORDER BY created_at DESC';
return $this->findBySql ($sql, array (':uid' => $uid));
}
@@ -132,7 +132,7 @@ class App_Model_DbTable_File extends Fz_Db_Table_Abstract {
*/
public function deleteExpiredFiles () {
$select = 'SELECT * FROM '.$this->getTableName ();
- $where = ' WHERE available_until<CURRENT_DATE()';
+ $where = ' WHERE available_until<CURRENT_DATE';
foreach ($this->findBySql ($select.$where) as $file) {
if ($file->deleteFromDisk () === true) {
fz_log ('Deleted file "'.$file->getOnDiskLocation ().'"',
@@ -154,8 +154,8 @@ class App_Model_DbTable_File extends Fz_Db_Table_Abstract {
*/
public function findFilesToBeDeleted ($days = 2) {
$sql = 'SELECT * FROM '.$this->getTableName ()
- .' WHERE available_until BETWEEN CURRENT_DATE() '
- .'AND DATE_ADD(CURRENT_DATE(), INTERVAL '.$days.' DAY) '
+ .' WHERE available_until BETWEEN CURRENT_DATE '
+ .'AND DATE_ADD(CURRENT_DATE, INTERVAL '.$days.' DAY) '
.'AND del_notif_sent=0 AND notify_uploader=1';
return $this->findBySql ($sql);
@@ -169,10 +169,10 @@ class App_Model_DbTable_File extends Fz_Db_Table_Abstract {
*/
public function getTotalDiskSpaceByUser ($user) {
$result = option ('db_conn')
- ->prepare ('SELECT sum(file_size) FROM `'
+ ->prepare ('SELECT sum(file_size) FROM '
.$this->getTableName ()
- .'` WHERE uploader_email = ?'
- .' AND available_until >= CURRENT_DATE() ');
+ .' WHERE uploader_email = ?'
+ .' AND available_until >= CURRENT_DATE ');
$result->execute (array ($user['email']));
return (float) $result->fetchColumn ();
}
diff --git a/config/db/schema.sql b/config/db/schema.sql
index 141788c..65f1ad4 100644
--- a/config/db/schema.sql
+++ b/config/db/schema.sql
@@ -1,30 +1,29 @@
SET NAMES 'utf8';
-CREATE TABLE IF NOT EXISTS `fz_file` (
- `id` BIGINT UNSIGNED NOT NULL,
- `del_notif_sent` BOOLEAN DEFAULT 0,
- `file_name` varchar(100) NOT NULL,
- `file_size` INTEGER DEFAULT 0,
- `available_from` DATE NOT NULL,
- `available_until` DATE NOT NULL,
- `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `comment` varchar(200),
- `download_count` INTEGER DEFAULT 0,
- `notify_uploader` BOOLEAN DEFAULT 0,
- `uploader_uid` varchar(30) DEFAULT NULL,
- `uploader_email` varchar(60) DEFAULT NULL,
- `extends_count` INTEGER DEFAULT '0',
- `password` varchar(40) DEFAULT NULL,
+CREATE TABLE "fz_file" (
+ "id" NUMERIC(20) NOT NULL,
+ "del_notif_sent" BOOLEAN DEFAULT false,
+ "file_name" varchar(100) NOT NULL,
+ "file_size" INTEGER DEFAULT 0,
+ "available_from" DATE NOT NULL,
+ "available_until" DATE NOT NULL,
+ "created_at" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ "comment" varchar(200),
+ "download_count" INTEGER DEFAULT 0,
+ "notify_uploader" BOOLEAN DEFAULT false,
+ "uploader_uid" varchar(30) DEFAULT NULL,
+ "uploader_email" varchar(60) DEFAULT NULL,
+ "extends_count" INTEGER DEFAULT '0',
+ "password" varchar(40) DEFAULT NULL,
- UNIQUE KEY `id` (`id`)
-) DEFAULT CHARSET=utf8;
+ PRIMARY KEY ("id")
+);
+CREATE TABLE "fz_info" (
+ "key" VARCHAR( 30 ) NOT NULL ,
+ "value" VARCHAR( 50 ) NOT NULL ,
+ PRIMARY KEY ("key")
+);
-CREATE TABLE `fz_info` (
- `key` VARCHAR( 30 ) NOT NULL ,
- `value` VARCHAR( 50 ) NOT NULL ,
- PRIMARY KEY ( `key` )
-) DEFAULT CHARSET=utf8;
-
-INSERT INTO `fz_info` (`key`, `value`) VALUES ('db_version', '2.0.0-2');
+INSERT INTO "fz_info" ("key", "value") VALUES ('db_version', '2.0.0-2');
diff --git a/lib/Fz/Db/Table/Abstract.php b/lib/Fz/Db/Table/Abstract.php
index 0467957..f8e4877 100644
--- a/lib/Fz/Db/Table/Abstract.php
+++ b/lib/Fz/Db/Table/Abstract.php
@@ -104,7 +104,7 @@ abstract class Fz_Db_Table_Abstract {
*/
public function rowExists ($id) {
$db = option ('db_conn');
- $sql = 'SELECT id FROM `'.$this->getTableName ().'` WHERE id = ?';
+ $sql = 'SELECT id FROM '.$this->getTableName ().' WHERE id = ?';
$stmt = $db->prepare ($sql);
$stmt->execute (array ($id));
diff --git a/lib/Fz/Db/Table/Row/Abstract.php b/lib/Fz/Db/Table/Row/Abstract.php
index 125b53e..b4082b8 100644
--- a/lib/Fz/Db/Table/Row/Abstract.php
+++ b/lib/Fz/Db/Table/Row/Abstract.php
@@ -173,7 +173,7 @@ abstract class Fz_Db_Table_Row_Abstract {
return $this;
$sql =
- "UPDATE `$table` SET " .
+ "UPDATE $table SET " .
implode (', ', array_map (array ('Fz_Db','nameEqColonName'), $columnsName)) .
' WHERE id = :id';
@@ -201,7 +201,7 @@ abstract class Fz_Db_Table_Row_Abstract {
$obj_columns = $this->getUpdatedColumns ();
$sql =
- "INSERT INTO `$table` (" .
+ "INSERT INTO $table (" .
implode (', ', $obj_columns) .
') VALUES (' .
implode (', ', array_map (array ('Fz_Db','addColon'), $obj_columns)) . ')';
@@ -224,7 +224,7 @@ abstract class Fz_Db_Table_Row_Abstract {
public function delete () {
$db = option ('db_conn');
if ($this->_exists === false) return;
- $stmt = $db->prepare ('DELETE FROM `'.$this->getTableName ().'` WHERE id = ?');
+ $stmt = $db->prepare ('DELETE FROM '.$this->getTableName ().' WHERE id = ?');
$stmt->execute (array ($this->id));
}
diff --git a/lib/Fz/User/Factory/Database.php b/lib/Fz/User/Factory/Database.php
index f6b0cce..cbf1725 100644
--- a/lib/Fz/User/Factory/Database.php
+++ b/lib/Fz/User/Factory/Database.php
@@ -84,7 +84,8 @@ class Fz_User_Factory_Database extends Fz_User_Factory_Abstract {
call_user_func ($algorithm, $password));
unset ($bindValues[':password']);
} else {
- return $algorithm; // Plain SQL
+ //return $algorithm; // Plain SQL
+ $sql .= $algorithm;
}
return $this->fetchOne ($sql, $bindValues);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment