/main/all will give a network-wide public stream
Qvitter had implemented this as a "PublicAndExternal" stream, but I figured we might as well put it into the GNU social core.
This commit is contained in:
@@ -45,7 +45,7 @@ define('MAX_PUBLIC_PAGE', 100);
|
||||
* @see PublicrssAction
|
||||
* @see PublicxrdsAction
|
||||
*/
|
||||
class PublicAction extends Action
|
||||
class PublicAction extends ManagedAction
|
||||
{
|
||||
/**
|
||||
* page of the stream we're on; default = 1
|
||||
@@ -61,16 +61,8 @@ class PublicAction extends Action
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Read and validate arguments
|
||||
*
|
||||
* @param array $args URL parameters
|
||||
*
|
||||
* @return boolean success value
|
||||
*/
|
||||
protected function prepare(array $args=array())
|
||||
protected function doPreparation()
|
||||
{
|
||||
parent::prepare($args);
|
||||
$this->page = ($this->arg('page')) ? ($this->arg('page')+0) : 1;
|
||||
|
||||
if ($this->page > MAX_PUBLIC_PAGE) {
|
||||
@@ -108,22 +100,6 @@ class PublicAction extends Action
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* handle request
|
||||
*
|
||||
* Show the public stream, using recipe method showPage()
|
||||
*
|
||||
* @param array $args arguments, mostly unused
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function handle()
|
||||
{
|
||||
parent::handle();
|
||||
|
||||
$this->showPage();
|
||||
}
|
||||
|
||||
/**
|
||||
* Title of the page
|
||||
*
|
||||
@@ -219,9 +195,7 @@ class PublicAction extends Action
|
||||
*/
|
||||
function showContent()
|
||||
{
|
||||
$user = common_current_user();
|
||||
|
||||
if (!empty($user) && $user->streamModeOnly()) {
|
||||
if ($this->scoped instanceof Profile && $this->scoped->isLocal() && $this->scoped->getUser()->streamModeOnly()) {
|
||||
$nl = new PrimaryNoticeList($this->notice, $this, array('show_n'=>NOTICES_PER_PAGE));
|
||||
} else {
|
||||
$nl = new ThreadedNoticeList($this->notice, $this, $this->scoped);
|
||||
@@ -234,7 +208,7 @@ class PublicAction extends Action
|
||||
}
|
||||
|
||||
$this->pagination($this->page > 1, $cnt > NOTICES_PER_PAGE,
|
||||
$this->page, 'public');
|
||||
$this->page, $this->action);
|
||||
}
|
||||
|
||||
function showSections()
|
||||
@@ -285,11 +259,3 @@ class PublicAction extends Action
|
||||
$this->elementEnd('div');
|
||||
}
|
||||
}
|
||||
|
||||
class ThreadingPublicNoticeStream extends ThreadingNoticeStream
|
||||
{
|
||||
function __construct($profile)
|
||||
{
|
||||
parent::__construct(new PublicNoticeStream($profile));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user