diff options
Diffstat (limited to 'modules/user/models')
| -rw-r--r-- | modules/user/models/group.php | 15 | ||||
| -rw-r--r-- | modules/user/models/user.php | 25 | 
2 files changed, 40 insertions, 0 deletions
diff --git a/modules/user/models/group.php b/modules/user/models/group.php index 45948887..8af78012 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->original(), $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..55562f34 100644 --- a/modules/user/models/user.php +++ b/modules/user/models/user.php @@ -25,6 +25,7 @@ class User_Model extends ORM {      "full_name" => "length[0,255]",      "email" => "valid_email|length[1,255]",      "password" => "length[1,40]", +    "url" => "valid_url",      "locale" => "length[2,10]");    public function __set($column, $value) { @@ -44,8 +45,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 +60,26 @@ 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->original(), $this); +    } +    return $this; +  } + +  /** +   * Return the best version of the user's name.  Either their specified full name, or fall back +   * to the user name. +   * @return string +   */ +  public function display_name() { +    return empty($this->full_name) ? $this->name : $this->full_name; +  }  }
\ No newline at end of file  | 
