summaryrefslogtreecommitdiffstats
path: root/application/models/mmultipaste.php
diff options
context:
space:
mode:
authorRafael Bodill <rafi@sortex.co.il>2014-09-19 17:37:40 +0200
committerRafael Bodill <rafi@sortex.co.il>2014-09-19 17:37:40 +0200
commiteffdc57264f62c3422b91d295f29a8c4e77c3db5 (patch)
treee080a86c51f43ce55147fc579a2d884e7093fb11 /application/models/mmultipaste.php
parent8082cc98e7ebc9a27dcf8a8a4e6ee24dc71af1f3 (diff)
WIP: Cascading delete
Diffstat (limited to 'application/models/mmultipaste.php')
-rw-r--r--application/models/mmultipaste.php19
1 files changed, 13 insertions, 6 deletions
diff --git a/application/models/mmultipaste.php b/application/models/mmultipaste.php
index 723132a50..9b1a7b16e 100644
--- a/application/models/mmultipaste.php
+++ b/application/models/mmultipaste.php
@@ -90,12 +90,19 @@ class Mmultipaste extends CI_Model {
public function delete_id($id)
{
- $this->db->query('
- DELETE m, mfm
- FROM multipaste m
- LEFT JOIN multipaste_file_map mfm ON mfm.multipaste_id = m.multipaste_id
- WHERE m.url_id = ?
- ', array($id));
+ if (strpos($this->db->dbdriver, 'postgre') === FALSE) {
+ $this->db->query('
+ DELETE m, mfm
+ FROM multipaste m
+ LEFT JOIN multipaste_file_map mfm ON mfm.multipaste_id = m.multipaste_id
+ WHERE m.url_id = ?
+ ', array($id));
+ } else {
+ // TODO.rafi: Deletes multipaste + multipaste_file_map
+ // but not files. Is it supposed to?
+ $this->db->where('url_id', $id)
+ ->delete('multipaste');
+ }
if ($this->id_exists($id)) {
return false;