diff options
Diffstat (limited to 'classes')
-rw-r--r-- | classes/Profile.php | 15 | ||||
-rw-r--r-- | classes/User.php | 17 |
2 files changed, 19 insertions, 13 deletions
diff --git a/classes/Profile.php b/classes/Profile.php index 000590a98..f41acad4c 100644 --- a/classes/Profile.php +++ b/classes/Profile.php @@ -137,4 +137,19 @@ class Profile extends DB_DataObject function getBestName() { return ($this->fullname) ? $this->fullname : $this->nickname; } + + # Get latest notice on or before date; default now + function getCurrentNotice($dt=NULL) { + $notice = new Notice(); + $notice->profile_id = $this->id; + if ($dt) { + $notice->whereAdd('created < "' . $dt . '"'); + } + $notice->orderBy('created DESC'); + $notice->limit(1); + if ($notice->find(true)) { + return $notice; + } + return NULL; + } } diff --git a/classes/User.php b/classes/User.php index b22e486f3..c5119de15 100644 --- a/classes/User.php +++ b/classes/User.php @@ -95,17 +95,8 @@ class User extends DB_DataObject return !in_array($nickname, $merged); } - function getCurrentNotice() { - $notice = DB_DataObject::factory('notice'); - $profile = $this->getProfile(); - $notice->profile_id = $profile->id; - $notice->limit(1); - $notice->orderBy('created DESC'); - if ($notice->find()) { - $notice->fetch(); - return $notice; - } - return NULL; - } - + function getCurrentNotice($dt=NULL) { + $profile = $this->getProfile(); + return $profile->getCurrentNotice($dt); + } } |