diff options
author | Brion Vibber <brion@pobox.com> | 2010-02-21 11:12:56 -0800 |
---|---|---|
committer | Brion Vibber <brion@pobox.com> | 2010-02-21 11:12:56 -0800 |
commit | 85528ccb1f5840a8c73f6c939f12d98bb3680cde (patch) | |
tree | be0f09c02a2bf003c23d6be98919783347b9786d /classes/Fave.php | |
parent | 86f2f530ef60fdb601720885d493cf5b2a446e6b (diff) | |
parent | 3e7a2a4014dd93637f5a666e238dde13e397523c (diff) |
Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x
Diffstat (limited to 'classes/Fave.php')
-rw-r--r-- | classes/Fave.php | 44 |
1 files changed, 37 insertions, 7 deletions
diff --git a/classes/Fave.php b/classes/Fave.php index 8113c8e16..0b6eec2bc 100644 --- a/classes/Fave.php +++ b/classes/Fave.php @@ -21,17 +21,47 @@ class Fave extends Memcached_DataObject /* the code above is auto generated do not remove the tag below */ ###END_AUTOCODE - static function addNew($user, $notice) { - $fave = new Fave(); - $fave->user_id = $user->id; - $fave->notice_id = $notice->id; - if (!$fave->insert()) { - common_log_db_error($fave, 'INSERT', __FILE__); - return false; + static function addNew($profile, $notice) { + + $fave = null; + + if (Event::handle('StartFavorNotice', array($profile, $notice, &$fave))) { + + $fave = new Fave(); + + $fave->user_id = $profile->id; + $fave->notice_id = $notice->id; + + if (!$fave->insert()) { + common_log_db_error($fave, 'INSERT', __FILE__); + return false; + } + + Event::handle('EndFavorNotice', array($profile, $notice)); } + return $fave; } + function delete() + { + $profile = Profile::staticGet('id', $this->user_id); + $notice = Notice::staticGet('id', $this->notice_id); + + $result = null; + + if (Event::handle('StartDisfavorNotice', array($profile, $notice, &$result))) { + + $result = parent::delete(); + + if ($result) { + Event::handle('EndDisfavorNotice', array($profile, $notice)); + } + } + + return $result; + } + function pkeyGet($kv) { return Memcached_DataObject::pkeyGet('Fave', $kv); |