| 
									
										
										
										
											2008-12-22 14:50:41 -05:00
										 |  |  | hunk ./lib/mailbox.php 2 | 
					
						
							| 
									
										
										
										
											2008-12-20 19:39:55 -05:00
										 |  |  | -/* | 
					
						
							| 
									
										
										
										
											2008-12-22 12:32:49 -05:00
										 |  |  | - * Laconica - a distributed open-source microblogging tool | 
					
						
							|  |  |  | - * Copyright (C) 2008, Controlez-Vous, Inc. | 
					
						
							| 
									
										
										
										
											2008-12-20 19:39:55 -05:00
										 |  |  | +/** | 
					
						
							| 
									
										
										
										
											2008-12-22 12:32:49 -05:00
										 |  |  | + * Laconica, the distributed open-source microblogging tool | 
					
						
							| 
									
										
										
										
											2008-12-22 14:50:41 -05:00
										 |  |  | hunk ./lib/mailbox.php 5 | 
					
						
							| 
									
										
										
										
											2008-12-22 12:32:49 -05:00
										 |  |  | - * This program is free software: you can redistribute it and/or modify | 
					
						
							| 
									
										
										
										
											2008-12-22 14:50:41 -05:00
										 |  |  | + * common superclass for direct messages inbox and outbox | 
					
						
							| 
									
										
										
										
											2008-12-22 12:32:49 -05:00
										 |  |  | + * | 
					
						
							|  |  |  | + * PHP version 5 | 
					
						
							|  |  |  | + * | 
					
						
							|  |  |  | + * LICENCE: This program is free software: you can redistribute it and/or modify | 
					
						
							| 
									
										
										
										
											2008-12-22 14:50:41 -05:00
										 |  |  | hunk ./lib/mailbox.php 21 | 
					
						
							| 
									
										
										
										
											2008-12-22 14:30:29 -05:00
										 |  |  | + * | 
					
						
							| 
									
										
										
										
											2008-12-22 14:50:41 -05:00
										 |  |  | + * @category  Action | 
					
						
							|  |  |  | + * @package   Laconica | 
					
						
							|  |  |  | + * @author    Evan Prodromou <evan@controlyourself.ca> | 
					
						
							|  |  |  | + * @copyright 2008 Control Yourself, Inc. | 
					
						
							|  |  |  | + * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 | 
					
						
							|  |  |  | + * @link      http://laconi.ca/ | 
					
						
							|  |  |  | hunk ./lib/mailbox.php 30 | 
					
						
							| 
									
										
										
										
											2008-12-20 19:39:55 -05:00
										 |  |  | -if (!defined('LACONICA')) { exit(1); } | 
					
						
							|  |  |  | +if (!defined('LACONICA')) { | 
					
						
							|  |  |  | +    exit(1); | 
					
						
							|  |  |  | +} | 
					
						
							| 
									
										
										
										
											2008-12-22 14:50:41 -05:00
										 |  |  | hunk ./lib/mailbox.php 34 | 
					
						
							|  |  |  | -require_once(INSTALLDIR.'/lib/personal.php'); | 
					
						
							|  |  |  | +require_once INSTALLDIR.'/lib/personal.php'; | 
					
						
							|  |  |  | hunk ./lib/mailbox.php 38 | 
					
						
							|  |  |  | -class MailboxAction extends PersonalAction { | 
					
						
							|  |  |  | -	 | 
					
						
							|  |  |  | -	function handle($args) { | 
					
						
							| 
									
										
										
										
											2008-12-22 12:32:49 -05:00
										 |  |  | +/** | 
					
						
							| 
									
										
										
										
											2008-12-22 14:50:41 -05:00
										 |  |  | + * common superclass for direct messages inbox and outbox | 
					
						
							| 
									
										
										
										
											2008-12-22 12:32:49 -05:00
										 |  |  | + * | 
					
						
							| 
									
										
										
										
											2008-12-22 14:50:41 -05:00
										 |  |  | + * @category Action | 
					
						
							|  |  |  | + * @package  Laconica | 
					
						
							|  |  |  | + * @author   Evan Prodromou <evan@controlyourself.ca> | 
					
						
							|  |  |  | + * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 | 
					
						
							|  |  |  | + * @link     http://laconi.ca/ | 
					
						
							|  |  |  | + * @see      InboxAction | 
					
						
							|  |  |  | + * @see      OutboxAction | 
					
						
							| 
									
										
										
										
											2008-12-22 12:32:49 -05:00
										 |  |  | + */ | 
					
						
							| 
									
										
										
										
											2008-12-22 14:50:41 -05:00
										 |  |  | + | 
					
						
							|  |  |  | +class MailboxAction extends PersonalAction | 
					
						
							| 
									
										
										
										
											2008-12-22 12:32:49 -05:00
										 |  |  | +{ | 
					
						
							| 
									
										
										
										
											2008-12-22 14:50:41 -05:00
										 |  |  | +    /** | 
					
						
							|  |  |  | +     * output page based on arguments | 
					
						
							|  |  |  | +     * | 
					
						
							|  |  |  | +     * @param array $args HTTP arguments (from $_REQUEST) | 
					
						
							|  |  |  | +     * | 
					
						
							|  |  |  | +     * @return void | 
					
						
							|  |  |  | +     */ | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +    function handle($args) | 
					
						
							|  |  |  | +    { | 
					
						
							|  |  |  | +        parent::handle($args); | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +        $nickname = common_canonical_nickname($this->arg('nickname')); | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +        $user = User::staticGet('nickname', $nickname); | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +        if (!$user) { | 
					
						
							|  |  |  | +            $this->client_error(_('No such user.'), 404); | 
					
						
							|  |  |  | +            return; | 
					
						
							| 
									
										
										
										
											2008-12-20 19:46:07 -05:00
										 |  |  | +        } | 
					
						
							| 
									
										
										
										
											2008-12-22 14:50:41 -05:00
										 |  |  | + | 
					
						
							|  |  |  | +        $cur = common_current_user(); | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +        if (!$cur || $cur->id != $user->id) { | 
					
						
							|  |  |  | +            $this->client_error(_('Only the user can read their own mailboxes.'), | 
					
						
							|  |  |  | +                                403); | 
					
						
							|  |  |  | +            return; | 
					
						
							| 
									
										
										
										
											2008-12-20 19:58:37 -05:00
										 |  |  | +        } | 
					
						
							| 
									
										
										
										
											2008-12-22 14:50:41 -05:00
										 |  |  | + | 
					
						
							|  |  |  | +        $profile = $user->getProfile(); | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +        if (!$profile) { | 
					
						
							|  |  |  | +            $this->server_error(_('User has no profile.')); | 
					
						
							|  |  |  | +            return; | 
					
						
							|  |  |  | +        } | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +        $page = $this->trimmed('page'); | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +        if (!$page) { | 
					
						
							|  |  |  | +            $page = 1; | 
					
						
							|  |  |  | +        } | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +        $this->show_page($user, $page); | 
					
						
							| 
									
										
										
										
											2008-12-20 19:58:37 -05:00
										 |  |  | +    } | 
					
						
							| 
									
										
										
										
											2008-12-22 14:50:41 -05:00
										 |  |  | + | 
					
						
							|  |  |  | +    /** | 
					
						
							|  |  |  | +     * returns the title of the page | 
					
						
							|  |  |  | +     * | 
					
						
							|  |  |  | +     * @param User $user current user | 
					
						
							|  |  |  | +     * @param int  $page current page | 
					
						
							|  |  |  | +     * | 
					
						
							|  |  |  | +     * @return string localised title of the page | 
					
						
							|  |  |  | +     */ | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +    function get_title($user, $page) | 
					
						
							|  |  |  | +    { | 
					
						
							|  |  |  | +        return ''; | 
					
						
							| 
									
										
										
										
											2008-12-22 12:32:49 -05:00
										 |  |  | +    } | 
					
						
							|  |  |  | + | 
					
						
							| 
									
										
										
										
											2008-12-22 14:50:41 -05:00
										 |  |  | +    /** | 
					
						
							|  |  |  | +     * instructions for using this page | 
					
						
							|  |  |  | +     * | 
					
						
							|  |  |  | +     * @return string localised instructions for using the page | 
					
						
							|  |  |  | +     */ | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +    function get_instructions() | 
					
						
							|  |  |  | +    { | 
					
						
							|  |  |  | +        return ''; | 
					
						
							|  |  |  | +    } | 
					
						
							| 
									
										
										
										
											2008-12-22 12:32:49 -05:00
										 |  |  | + | 
					
						
							| 
									
										
										
										
											2008-12-22 14:50:41 -05:00
										 |  |  | +    /** | 
					
						
							|  |  |  | +     * do structured output for the "instructions" are of the page | 
					
						
							|  |  |  | +     * | 
					
						
							|  |  |  | +     * @return void | 
					
						
							|  |  |  | +     */ | 
					
						
							| 
									
										
										
										
											2008-12-22 12:32:49 -05:00
										 |  |  | + | 
					
						
							| 
									
										
										
										
											2008-12-22 14:50:41 -05:00
										 |  |  | +    function show_top() | 
					
						
							|  |  |  | +    { | 
					
						
							|  |  |  | +        $cur = common_current_user(); | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +        common_message_form(null, $cur, null); | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +        $this->views_menu(); | 
					
						
							| 
									
										
										
										
											2008-12-22 12:32:49 -05:00
										 |  |  | +    } | 
					
						
							|  |  |  | + | 
					
						
							| 
									
										
										
										
											2008-12-22 14:50:41 -05:00
										 |  |  | +    /** | 
					
						
							|  |  |  | +     * show a full page of output | 
					
						
							|  |  |  | +     * | 
					
						
							|  |  |  | +     * @param User $user The current user | 
					
						
							|  |  |  | +     * @param int  $page The page the user is on | 
					
						
							|  |  |  | +     * | 
					
						
							|  |  |  | +     * @return void | 
					
						
							|  |  |  | +     */ | 
					
						
							| 
									
										
										
										
											2008-12-22 12:32:49 -05:00
										 |  |  | + | 
					
						
							| 
									
										
										
										
											2008-12-22 14:50:41 -05:00
										 |  |  | +    function show_page($user, $page) | 
					
						
							|  |  |  | +    { | 
					
						
							|  |  |  | +        common_show_header($this->get_title($user, $page), | 
					
						
							|  |  |  | +                           null, null, | 
					
						
							|  |  |  | +                           array($this, 'show_top')); | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +        $this->show_box($user, $page); | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +        common_show_footer(); | 
					
						
							|  |  |  | +    } | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +    /** | 
					
						
							|  |  |  | +     * show the messages for a mailbox in list format | 
					
						
							|  |  |  | +     * | 
					
						
							|  |  |  | +     * Includes the pagination links (before, after). | 
					
						
							|  |  |  | +     * | 
					
						
							|  |  |  | +     * @param User $user The current user | 
					
						
							|  |  |  | +     * @param int  $page The page the user is on | 
					
						
							|  |  |  | +     * | 
					
						
							|  |  |  | +     * @return void | 
					
						
							|  |  |  | +     */ | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +    function show_box($user, $page) | 
					
						
							|  |  |  | +    { | 
					
						
							|  |  |  | +        $message = $this->get_messages($user, $page); | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +        if ($message) { | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +            $cnt = 0; | 
					
						
							|  |  |  | +            common_element_start('ul', array('id' => 'messages')); | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | +            while ($message->fetch() && $cnt <= MESSAGES_PER_PAGE) { | 
					
						
							|  |  |  | +                $cnt++; | 
					
						
							|  |  |  | hunk ./lib/mailbox.php 180 | 
					
						
							|  |  |  | -		parent::handle($args); | 
					
						
							|  |  |  | +                if ($cnt > MESSAGES_PER_PAGE) { | 
					
						
							|  |  |  | +                    break; | 
					
						
							|  |  |  | +                } | 
					
						
							|  |  |  | hunk ./lib/mailbox.php 184 | 
					
						
							|  |  |  | -		$nickname = common_canonical_nickname($this->arg('nickname')); | 
					
						
							|  |  |  | -		$user = User::staticGet('nickname', $nickname); | 
					
						
							|  |  |  | +                $this->show_message($message); | 
					
						
							|  |  |  | +            } | 
					
						
							|  |  |  | hunk ./lib/mailbox.php 187 | 
					
						
							|  |  |  | -		if (!$user) { | 
					
						
							|  |  |  | -			$this->client_error(_('No such user.'), 404); | 
					
						
							|  |  |  | -			return; | 
					
						
							|  |  |  | -		} | 
					
						
							|  |  |  | +            common_element_end('ul'); | 
					
						
							|  |  |  | hunk ./lib/mailbox.php 189 | 
					
						
							|  |  |  | -		$cur = common_current_user(); | 
					
						
							|  |  |  | -		 | 
					
						
							|  |  |  | -		if (!$cur || $cur->id != $user->id) { | 
					
						
							|  |  |  | -			$this->client_error(_('Only the user can read their own mailboxes.'), 403); | 
					
						
							|  |  |  | -			return; | 
					
						
							|  |  |  | -		} | 
					
						
							|  |  |  | -		 | 
					
						
							|  |  |  | -		$profile = $user->getProfile(); | 
					
						
							|  |  |  | +            common_pagination($page > 1, $cnt > MESSAGES_PER_PAGE, | 
					
						
							|  |  |  | +                              $page, $this->trimmed('action'), | 
					
						
							|  |  |  | +                              array('nickname' => $user->nickname)); | 
					
						
							|  |  |  | hunk ./lib/mailbox.php 193 | 
					
						
							|  |  |  | -		if (!$profile) { | 
					
						
							|  |  |  | -			$this->server_error(_('User has no profile.')); | 
					
						
							|  |  |  | -			return; | 
					
						
							|  |  |  | -		} | 
					
						
							|  |  |  | +            $message->free(); | 
					
						
							|  |  |  | +            unset($message); | 
					
						
							|  |  |  | +        } | 
					
						
							|  |  |  | +    } | 
					
						
							|  |  |  | hunk ./lib/mailbox.php 198 | 
					
						
							|  |  |  | -		$page = $this->trimmed('page'); | 
					
						
							|  |  |  | -		 | 
					
						
							|  |  |  | -		if (!$page) { | 
					
						
							|  |  |  | -			$page = 1; | 
					
						
							|  |  |  | -		} | 
					
						
							|  |  |  | -		 | 
					
						
							|  |  |  | -		$this->show_page($user, $page); | 
					
						
							|  |  |  | -	} | 
					
						
							|  |  |  | +    /** | 
					
						
							|  |  |  | +     * returns the profile we want to show with the message | 
					
						
							|  |  |  | +     * | 
					
						
							|  |  |  | +     * For inboxes, we show the sender; for outboxes, the recipient. | 
					
						
							|  |  |  | +     * | 
					
						
							|  |  |  | +     * @param Message $message The message to get the profile for | 
					
						
							|  |  |  | +     * | 
					
						
							|  |  |  | +     * @return Profile The profile that matches the message | 
					
						
							|  |  |  | +     */ | 
					
						
							|  |  |  | hunk ./lib/mailbox.php 208 | 
					
						
							|  |  |  | -	function get_title($user, $page) { | 
					
						
							|  |  |  | -		return ''; | 
					
						
							|  |  |  | -	} | 
					
						
							|  |  |  | +    function get_message_profile($message) | 
					
						
							|  |  |  | +    { | 
					
						
							|  |  |  | +        return null; | 
					
						
							|  |  |  | +    } | 
					
						
							|  |  |  | hunk ./lib/mailbox.php 213 | 
					
						
							|  |  |  | -	function get_instructions() { | 
					
						
							|  |  |  | -		return ''; | 
					
						
							|  |  |  | -	} | 
					
						
							|  |  |  | +    /** | 
					
						
							|  |  |  | +     * show a single message in the list format | 
					
						
							|  |  |  | +     * | 
					
						
							|  |  |  | +     * @param Message $message the message to show | 
					
						
							|  |  |  | +     * | 
					
						
							|  |  |  | +     * @return void | 
					
						
							|  |  |  | +     */ | 
					
						
							|  |  |  | hunk ./lib/mailbox.php 221 | 
					
						
							|  |  |  | -	function show_top() { | 
					
						
							|  |  |  | +    function show_message($message) | 
					
						
							|  |  |  | +    { | 
					
						
							|  |  |  | +        common_element_start('li', array('class' => 'message_single', | 
					
						
							|  |  |  | +                                         'id' => 'message-' . $message->id)); | 
					
						
							|  |  |  | hunk ./lib/mailbox.php 226 | 
					
						
							|  |  |  | -		$cur = common_current_user(); | 
					
						
							|  |  |  | -		 | 
					
						
							|  |  |  | -		common_message_form(NULL, $cur, NULL); | 
					
						
							|  |  |  | -		 | 
					
						
							|  |  |  | -		$this->views_menu(); | 
					
						
							|  |  |  | -	} | 
					
						
							|  |  |  | -	 | 
					
						
							|  |  |  | -	function show_page($user, $page) { | 
					
						
							|  |  |  | +        $profile = $this->get_message_profile($message); | 
					
						
							|  |  |  | hunk ./lib/mailbox.php 228 | 
					
						
							|  |  |  | -		common_show_header($this->get_title($user, $page), | 
					
						
							|  |  |  | -						   NULL, NULL, | 
					
						
							|  |  |  | -						   array($this, 'show_top')); | 
					
						
							|  |  |  | -		 | 
					
						
							|  |  |  | -		$this->show_box($user, $page); | 
					
						
							|  |  |  | -		 | 
					
						
							|  |  |  | -		common_show_footer(); | 
					
						
							|  |  |  | -	} | 
					
						
							|  |  |  | -	 | 
					
						
							|  |  |  | -	function show_box($user, $page) { | 
					
						
							|  |  |  | -		 | 
					
						
							|  |  |  | -		$message = $this->get_messages($user, $page); | 
					
						
							|  |  |  | -		 | 
					
						
							|  |  |  | -		if ($message) { | 
					
						
							|  |  |  | -			 | 
					
						
							|  |  |  | -			$cnt = 0; | 
					
						
							|  |  |  | -			common_element_start('ul', array('id' => 'messages')); | 
					
						
							|  |  |  | -		 | 
					
						
							|  |  |  | -			while ($message->fetch() && $cnt <= MESSAGES_PER_PAGE) { | 
					
						
							|  |  |  | -				$cnt++; | 
					
						
							|  |  |  | -				 | 
					
						
							|  |  |  | -				if ($cnt > MESSAGES_PER_PAGE) { | 
					
						
							|  |  |  | -					break; | 
					
						
							|  |  |  | -				} | 
					
						
							|  |  |  | -				 | 
					
						
							|  |  |  | -				$this->show_message($message); | 
					
						
							|  |  |  | -			} | 
					
						
							|  |  |  | +        $avatar = $profile->getAvatar(AVATAR_STREAM_SIZE); | 
					
						
							|  |  |  | +        common_element_start('a', array('href' => $profile->profileurl)); | 
					
						
							|  |  |  | +        common_element('img', array('src' => ($avatar) ? | 
					
						
							|  |  |  | +                                    common_avatar_display_url($avatar) : | 
					
						
							|  |  |  | +                                    common_default_avatar(AVATAR_STREAM_SIZE), | 
					
						
							|  |  |  | +                                    'class' => 'avatar stream', | 
					
						
							|  |  |  | +                                    'width' => AVATAR_STREAM_SIZE, | 
					
						
							|  |  |  | +                                    'height' => AVATAR_STREAM_SIZE, | 
					
						
							|  |  |  | +                                    'alt' => | 
					
						
							|  |  |  | +                                    ($profile->fullname) ? $profile->fullname : | 
					
						
							|  |  |  | +                                    $profile->nickname)); | 
					
						
							|  |  |  | +        common_element_end('a'); | 
					
						
							|  |  |  | +        common_element('a', array('href' => $profile->profileurl, | 
					
						
							|  |  |  | +                                  'class' => 'nickname'), | 
					
						
							|  |  |  | +                       $profile->nickname); | 
					
						
							|  |  |  | +        // FIXME: URL, image, video, audio | 
					
						
							|  |  |  | +        common_element_start('p', array('class' => 'content')); | 
					
						
							|  |  |  | +        common_raw($message->rendered); | 
					
						
							|  |  |  | +        common_element_end('p'); | 
					
						
							|  |  |  | hunk ./lib/mailbox.php 248 | 
					
						
							|  |  |  | -			common_element_end('ul'); | 
					
						
							|  |  |  | -			 | 
					
						
							|  |  |  | -			common_pagination($page > 1, $cnt > MESSAGES_PER_PAGE, | 
					
						
							|  |  |  | -							  $page, $this->trimmed('action'), | 
					
						
							|  |  |  | -							  array('nickname' => $user->nickname)); | 
					
						
							|  |  |  | -			 | 
					
						
							|  |  |  | -			$message->free(); | 
					
						
							|  |  |  | -			unset($message); | 
					
						
							|  |  |  | -		} | 
					
						
							|  |  |  | -	} | 
					
						
							|  |  |  | +        $messageurl = common_local_url('showmessage', | 
					
						
							|  |  |  | +                                       array('message' => $message->id)); | 
					
						
							|  |  |  | hunk ./lib/mailbox.php 251 | 
					
						
							|  |  |  | -	# returns the profile we want to show with the message | 
					
						
							|  |  |  | -	 | 
					
						
							|  |  |  | -	function get_message_profile($message) { | 
					
						
							|  |  |  | -		return NULL; | 
					
						
							|  |  |  | -	} | 
					
						
							|  |  |  | -	 | 
					
						
							|  |  |  | -	function show_message($message) { | 
					
						
							|  |  |  | +        // XXX: we need to figure this out better. Is this right? | 
					
						
							|  |  |  | +        if (strcmp($message->uri, $messageurl) != 0 && | 
					
						
							|  |  |  | +            preg_match('/^http/', $message->uri)) { | 
					
						
							|  |  |  | +            $messageurl = $message->uri; | 
					
						
							|  |  |  | +        } | 
					
						
							|  |  |  | +        common_element_start('p', 'time'); | 
					
						
							|  |  |  | +        common_element('a', array('class' => 'permalink', | 
					
						
							|  |  |  | +                                  'href' => $messageurl, | 
					
						
							|  |  |  | +                                  'title' => common_exact_date($message->created)), | 
					
						
							|  |  |  | +                       common_date_string($message->created)); | 
					
						
							|  |  |  | +        if ($message->source) { | 
					
						
							|  |  |  | +            common_text(_(' from ')); | 
					
						
							|  |  |  | +            $this->source_link($message->source); | 
					
						
							|  |  |  | +        } | 
					
						
							|  |  |  | hunk ./lib/mailbox.php 266 | 
					
						
							|  |  |  | -		common_element_start('li', array('class' => 'message_single', | 
					
						
							|  |  |  | -										  'id' => 'message-' . $message->id)); | 
					
						
							|  |  |  | +        common_element_end('p'); | 
					
						
							|  |  |  | hunk ./lib/mailbox.php 268 | 
					
						
							|  |  |  | -		$profile = $this->get_message_profile($message); | 
					
						
							|  |  |  | -		 | 
					
						
							|  |  |  | -		$avatar = $profile->getAvatar(AVATAR_STREAM_SIZE); | 
					
						
							|  |  |  | -		common_element_start('a', array('href' => $profile->profileurl)); | 
					
						
							|  |  |  | -		common_element('img', array('src' => ($avatar) ? common_avatar_display_url($avatar) : common_default_avatar(AVATAR_STREAM_SIZE), | 
					
						
							|  |  |  | -									'class' => 'avatar stream', | 
					
						
							|  |  |  | -									'width' => AVATAR_STREAM_SIZE, | 
					
						
							|  |  |  | -									'height' => AVATAR_STREAM_SIZE, | 
					
						
							|  |  |  | -									'alt' => | 
					
						
							|  |  |  | -									($profile->fullname) ? $profile->fullname : | 
					
						
							|  |  |  | -									$profile->nickname)); | 
					
						
							|  |  |  | -		common_element_end('a'); | 
					
						
							|  |  |  | -		common_element('a', array('href' => $profile->profileurl, | 
					
						
							|  |  |  | -								  'class' => 'nickname'), | 
					
						
							|  |  |  | -					   $profile->nickname); | 
					
						
							|  |  |  | -		# FIXME: URL, image, video, audio | 
					
						
							|  |  |  | -		common_element_start('p', array('class' => 'content')); | 
					
						
							|  |  |  | -		common_raw($message->rendered); | 
					
						
							|  |  |  | -		common_element_end('p'); | 
					
						
							|  |  |  | -		 | 
					
						
							|  |  |  | -		$messageurl = common_local_url('showmessage', array('message' => $message->id)); | 
					
						
							|  |  |  | -		 | 
					
						
							|  |  |  | -		# XXX: we need to figure this out better. Is this right? | 
					
						
							|  |  |  | -		if (strcmp($message->uri, $messageurl) != 0 && preg_match('/^http/', $message->uri)) { | 
					
						
							|  |  |  | -			$messageurl = $message->uri; | 
					
						
							|  |  |  | -		} | 
					
						
							|  |  |  | -		common_element_start('p', 'time'); | 
					
						
							|  |  |  | -		common_element('a', array('class' => 'permalink', | 
					
						
							|  |  |  | -								  'href' => $messageurl, | 
					
						
							|  |  |  | -								  'title' => common_exact_date($message->created)), | 
					
						
							|  |  |  | -					   common_date_string($message->created)); | 
					
						
							|  |  |  | -		if ($message->source) { | 
					
						
							|  |  |  | -			common_text(_(' from ')); | 
					
						
							|  |  |  | -			$this->source_link($message->source); | 
					
						
							|  |  |  | -		} | 
					
						
							|  |  |  | -		 | 
					
						
							|  |  |  | -		common_element_end('p'); | 
					
						
							|  |  |  | -		 | 
					
						
							|  |  |  | -		common_element_end('li'); | 
					
						
							|  |  |  | -	} | 
					
						
							|  |  |  | +        common_element_end('li'); | 
					
						
							|  |  |  | +    } |