summaryrefslogtreecommitdiff
path: root/modules/user/models
diff options
context:
space:
mode:
Diffstat (limited to 'modules/user/models')
-rw-r--r--modules/user/models/group.php15
-rw-r--r--modules/user/models/user.php15
2 files changed, 30 insertions, 0 deletions
diff --git a/modules/user/models/group.php b/modules/user/models/group.php
index 45948887..bb3fb58b 100644
--- a/modules/user/models/group.php
+++ b/modules/user/models/group.php
@@ -27,7 +27,22 @@ class Group_Model extends ORM {
* @see ORM::delete()
*/
public function delete($id=null) {
+ $old = clone $this;
module::event("group_before_delete", $this);
parent::delete($id);
+ module::event("group_deleted", $old);
+ }
+
+ public function save() {
+ if (!$this->loaded) {
+ $created = 1;
+ }
+ parent::save();
+ if (isset($created)) {
+ module::event("group_created", $this);
+ } else {
+ module::event("group_updated", $this);
+ }
+ return $this;
}
} \ No newline at end of file
diff --git a/modules/user/models/user.php b/modules/user/models/user.php
index b447892e..0234f186 100644
--- a/modules/user/models/user.php
+++ b/modules/user/models/user.php
@@ -44,8 +44,10 @@ class User_Model extends ORM {
* @see ORM::delete()
*/
public function delete($id=null) {
+ $old = clone $this;
module::event("user_before_delete", $this);
parent::delete($id);
+ module::event("user_deleted", $old);
}
/**
@@ -57,4 +59,17 @@ class User_Model extends ORM {
return sprintf("http://www.gravatar.com/avatar/%s.jpg?s=%d&r=pg%s",
md5($this->email), $size, $default ? "&d=" . urlencode($default) : "");
}
+
+ public function save() {
+ if (!$this->loaded) {
+ $created = 1;
+ }
+ parent::save();
+ if (isset($created)) {
+ module::event("user_created", $this);
+ } else {
+ module::event("user_updated", $this);
+ }
+ return $this;
+ }
} \ No newline at end of file