From fca1ccc351138abfaf060d01808e9e102d5a9b6d Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 21 Jan 2009 21:53:02 -0500 Subject: First pass at delivery of group messages A first pass at the delivery of group messages. --- lib/util.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'lib/util.php') diff --git a/lib/util.php b/lib/util.php index 4d4a3b20f..03a99e54c 100644 --- a/lib/util.php +++ b/lib/util.php @@ -424,6 +424,7 @@ function common_render_content($text, $notice) $r = preg_replace('/(^|\s+)@([A-Za-z0-9]{1,64})/e', "'\\1@'.common_at_link($id, '\\2')", $r); $r = preg_replace('/^T ([A-Z0-9]{1,64}) /e', "'T '.common_at_link($id, '\\1').' '", $r); $r = preg_replace('/(^|\s+)@#([A-Za-z0-9]{1,64})/e', "'\\1@#'.common_at_hash_link($id, '\\2')", $r); + $r = preg_replace('/(^|\s)!([A-Za-z0-9]{1,64})/e', "\\1'!'.common_group_link($id, '\\2')", $r); return $r; } @@ -595,6 +596,17 @@ function common_at_link($sender_id, $nickname) } } +function common_group_link($sender_id, $nickname) +{ + $sender = Profile::staticGet($sender_id); + $group = User_group::staticGet(common_canonical_nickname($nickname)); + if ($group && $sender->isMember($group)) { + return ''.$nickname.''; + } else { + return $nickname; + } +} + function common_at_hash_link($sender_id, $tag) { $user = User::staticGet($sender_id); @@ -1052,7 +1064,7 @@ function common_redirect($url, $code=307) $xo->startXML('a', '-//W3C//DTD XHTML 1.0 Strict//EN', 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'); - $xo->output('a', array('href' => $url), $url); + $xo->element('a', array('href' => $url), $url); $xo->endXML(); exit; } -- cgit v1.2.3-54-g00ecf