* @link http://status.net/
*/
-if (!defined('STATUSNET') && !defined('LACONICA')) {
- exit(1);
-}
-
-require_once INSTALLDIR.'/lib/publicgroupnav.php';
-require_once INSTALLDIR.'/lib/noticelist.php';
-require_once INSTALLDIR.'/lib/feedlist.php';
+if (!defined('GNUSOCIAL')) { exit(1); }
// Farther than any human will go
$this->userProfile = Profile::current();
- $stream = new ThreadingPublicNoticeStream($this->userProfile);
+ $user = common_current_user();
+
+ if (!empty($user) && $user->streamModeOnly()) {
+ $stream = new PublicNoticeStream($this->userProfile);
+ } else {
+ $stream = new ThreadingPublicNoticeStream($this->userProfile);
+ }
$this->notice = $stream->getNotices(($this->page-1)*NOTICES_PER_PAGE,
NOTICES_PER_PAGE + 1);
if (!$this->notice) {
// TRANS: Server error displayed when a public timeline cannot be retrieved.
$this->serverError(_('Could not retrieve public timeline.'));
- return;
}
if($this->page > 1 && $this->notice->N == 0){
$this->element('link', array('rel' => 'EditURI',
'type' => 'application/rsd+xml',
'href' => $rsd));
+
+ if ($this->page != 1) {
+ $this->element('link', array('rel' => 'canonical',
+ 'href' => common_local_url('public')));
+ }
}
/**
*/
function showContent()
{
- $nl = new ThreadedNoticeList($this->notice, $this, $this->userProfile);
+ $user = common_current_user();
+
+ if (!empty($user) && $user->streamModeOnly()) {
+ $nl = new NoticeList($this->notice, $this);
+ } else {
+ $nl = new ThreadedNoticeList($this->notice, $this, $this->userProfile);
+ }
$cnt = $nl->show();
{
// Show invite button, as long as site isn't closed, and
// we have a logged in user.
- if (!common_config('site', 'closed') && common_logged_in()) {
+ if (common_config('invite', 'enabled') && !common_config('site', 'closed') && common_logged_in()) {
if (!common_config('site', 'private')) {
$ibs = new InviteButtonSection(
$this,
$ibs->show();
}
- $pop = new PopularNoticeSection($this);
- $pop->show();
+ $p = Profile::current();
+
if (!common_config('performance', 'high')) {
$cloud = new PublicTagCloudSection($this);
$cloud->show();