summaryrefslogtreecommitdiff
path: root/modules/gallery/libraries/MY_ORM.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gallery/libraries/MY_ORM.php')
-rw-r--r--modules/gallery/libraries/MY_ORM.php20
1 files changed, 18 insertions, 2 deletions
diff --git a/modules/gallery/libraries/MY_ORM.php b/modules/gallery/libraries/MY_ORM.php
index 56c776aa..95fa9006 100644
--- a/modules/gallery/libraries/MY_ORM.php
+++ b/modules/gallery/libraries/MY_ORM.php
@@ -19,12 +19,11 @@
*/
class ORM extends ORM_Core {
// Track the original value of this ORM so that we can look it up in ORM::original()
- protected $original = null;
+ protected $original;
public function save() {
model_cache::clear();
$result = parent::save();
- $this->original = clone $this;
return $result;
}
@@ -48,7 +47,24 @@ class ORM extends ORM_Core {
return parent::__unset($column);
}
+ public function reload($original_only=false) {
+ if (!$original_only) {
+ parent::reload();
+ }
+ $this->original = clone $this;
+ return $this;
+ }
+
+ public function clear() {
+ parent::clear();
+ $this->original = clone $this;
+ return $this;
+ }
+
public function original() {
+ if (!isset($this->original)) {
+ $this->original = clone $this;
+ }
return $this->original;
}
}