summaryrefslogtreecommitdiff
path: root/classes/User_group.php
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2010-02-23 00:44:45 +0000
committerBrion Vibber <brion@pobox.com>2010-02-23 00:44:45 +0000
commitd410df040684f443d14bd921c450ca464d52c9d4 (patch)
tree20c11d6fbac09b7cc5ee0eb76373f08cee310f10 /classes/User_group.php
parent8aa8e124cbeed84d7c32668860154783a5abd5c1 (diff)
OStatus group delivery initial implementation.
- added rel="ostatus:attention" links for group delivery - added events for plugins to override group profile/permalink pages - pulled Notice::saveGroups up to save-time so we can override; it's relatively cheap and gives us a clean list of target groups for distrib time even with customized delivery. - fixed notice::getGroups to return group objects as expected - added some doc on new parameters to Notice::saveNew - 'groups' list of group IDs to push to in place of parsing - messages that come in via PuSH and contain local group targets are delivered to local group members - messages that come in via PuSH and contain remote group targets are delivered to local members of the remote group Todo: - handle group posts that only come through Salmon - handle conflicts in case something comes in both through Salmon and PuSH - better source verification - need a cleaner interface to look up groups by URI - need a way to handle remote groups with conflicting names
Diffstat (limited to 'classes/User_group.php')
-rw-r--r--classes/User_group.php18
1 files changed, 14 insertions, 4 deletions
diff --git a/classes/User_group.php b/classes/User_group.php
index 379e6b721..1382aa407 100644
--- a/classes/User_group.php
+++ b/classes/User_group.php
@@ -39,14 +39,24 @@ class User_group extends Memcached_DataObject
function homeUrl()
{
- return common_local_url('showgroup',
- array('nickname' => $this->nickname));
+ $url = null;
+ if (Event::handle('StartUserGroupHomeUrl', array($this, &$url))) {
+ $url = common_local_url('showgroup',
+ array('nickname' => $this->nickname));
+ }
+ Event::handle('EndUserGroupHomeUrl', array($this, &$url));
+ return $url;
}
function permalink()
{
- return common_local_url('groupbyid',
- array('id' => $this->id));
+ $url = null;
+ if (Event::handle('StartUserGroupPermalink', array($this, &$url))) {
+ $url = common_local_url('groupbyid',
+ array('id' => $this->id));
+ }
+ Event::handle('EndUserGroupPermalink', array($this, &$url));
+ return $url;
}
function getNotices($offset, $limit, $since_id=null, $max_id=null)