summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
Diffstat (limited to 'classes')
-rw-r--r--classes/Profile.php15
-rw-r--r--classes/User.php17
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);
+ }
}