Merge branch 'link-rel-paginate' of git://gitorious.org/laconica/meitar. Fixed wrong call of common_local_url.
These changes add opera-readable prev/next relations.
This commit is contained in:
commit
99f4367d03
@ -69,6 +69,17 @@ class AllAction extends ProfileAction
|
|||||||
sprintf(_('Feed for friends of %s (Atom)'), $this->user->nickname)));
|
sprintf(_('Feed for friends of %s (Atom)'), $this->user->nickname)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Output document relationship links
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function showRelationshipLinks()
|
||||||
|
{
|
||||||
|
$this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
|
||||||
|
$this->page, 'all', array('nickname' => $this->user->nickname));
|
||||||
|
}
|
||||||
|
|
||||||
function showLocalNav()
|
function showLocalNav()
|
||||||
{
|
{
|
||||||
$nav = new PersonalGroupNav($this);
|
$nav = new PersonalGroupNav($this);
|
||||||
|
@ -221,4 +221,15 @@ class FavoritedAction extends Action
|
|||||||
$this->pagination($this->page > 1, $cnt > NOTICES_PER_PAGE,
|
$this->pagination($this->page > 1, $cnt > NOTICES_PER_PAGE,
|
||||||
$this->page, 'favorited');
|
$this->page, 'favorited');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Output document relationship links
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function showRelationshipLinks()
|
||||||
|
{
|
||||||
|
$this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
|
||||||
|
$this->page, 'favorited');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -137,4 +137,15 @@ class GroupmembersAction extends Action
|
|||||||
$this->page, 'groupmembers',
|
$this->page, 'groupmembers',
|
||||||
array('nickname' => $this->group->nickname));
|
array('nickname' => $this->group->nickname));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
/**
|
||||||
|
* Output document relationship links
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function showRelationshipLinks()
|
||||||
|
{
|
||||||
|
$this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
|
||||||
|
$this->page, 'groupmembers', array('nickname' => $this->group->nickname));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -129,4 +129,15 @@ class GroupsAction extends Action
|
|||||||
$gbm = new GroupsByMembersSection($this);
|
$gbm = new GroupsByMembersSection($this);
|
||||||
$gbm->show();
|
$gbm->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Output document relationship links
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function showRelationshipLinks()
|
||||||
|
{
|
||||||
|
$this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
|
||||||
|
$this->page, 'groups', array('nickname' => $this->group->nickname));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -63,6 +63,17 @@ class InboxAction extends MailboxAction
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Output document relationship links
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function showRelationshipLinks()
|
||||||
|
{
|
||||||
|
$this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
|
||||||
|
$this->page, 'inbox', array('nickname' => $this->user->nickname));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve the messages for this user and this page
|
* Retrieve the messages for this user and this page
|
||||||
*
|
*
|
||||||
|
@ -62,6 +62,17 @@ class OutboxAction extends MailboxAction
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Output document relationship links
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function showRelationshipLinks()
|
||||||
|
{
|
||||||
|
$this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
|
||||||
|
$this->page, 'outbox', array('nickname' => $this->user->nickname));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* retrieve the messages for this user and this page
|
* retrieve the messages for this user and this page
|
||||||
*
|
*
|
||||||
|
@ -56,6 +56,18 @@ class PublicAction extends Action
|
|||||||
|
|
||||||
var $page = null;
|
var $page = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number of notices being shown on this page.
|
||||||
|
*/
|
||||||
|
// Does this need to be here? Should it be?
|
||||||
|
// If it does, this property needs to be
|
||||||
|
// added to other actions as well, like $page.
|
||||||
|
// I'm trying to find a way to capture the
|
||||||
|
// output of the $cnt variable from this
|
||||||
|
// action's showContent() method but need
|
||||||
|
// to do so earlier, I think...?
|
||||||
|
var $count = null;
|
||||||
|
|
||||||
function isReadOnly()
|
function isReadOnly()
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
@ -135,6 +147,17 @@ class PublicAction extends Action
|
|||||||
_('Public Stream Feed (Atom)')));
|
_('Public Stream Feed (Atom)')));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Output document relationship links
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function showRelationshipLinks()
|
||||||
|
{
|
||||||
|
$this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
|
||||||
|
$this->page, 'public');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extra head elements
|
* Extra head elements
|
||||||
*
|
*
|
||||||
|
@ -138,6 +138,17 @@ class RepliesAction extends Action
|
|||||||
return array(new Feed(Feed::RSS1, $rssurl, $rsstitle));
|
return array(new Feed(Feed::RSS1, $rssurl, $rsstitle));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Output document relationship links
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function showRelationshipLinks()
|
||||||
|
{
|
||||||
|
$this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
|
||||||
|
$this->page, 'replies', array('nickname' => $this->user->nickname));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* show the personal group nav
|
* show the personal group nav
|
||||||
*
|
*
|
||||||
|
@ -150,6 +150,18 @@ class ShowfavoritesAction extends Action
|
|||||||
return array(new Feed(Feed::RSS1, $feedurl, $feedtitle));
|
return array(new Feed(Feed::RSS1, $feedurl, $feedtitle));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Output document relationship links
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function showRelationshipLinks()
|
||||||
|
{
|
||||||
|
$this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
|
||||||
|
$this->page, 'showfavorites', array('nickname' => $this->user->nickname));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* show the personal group nav
|
* show the personal group nav
|
||||||
*
|
*
|
||||||
|
@ -311,6 +311,17 @@ class ShowgroupAction extends Action
|
|||||||
$this->group->nickname)));
|
$this->group->nickname)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Output document relationship links
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function showRelationshipLinks()
|
||||||
|
{
|
||||||
|
$this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
|
||||||
|
$this->page, 'showgroup', array('nickname' => $this->group->nickname));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fill in the sidebar.
|
* Fill in the sidebar.
|
||||||
*
|
*
|
||||||
|
@ -135,6 +135,17 @@ class ShowstreamAction extends ProfileAction
|
|||||||
sprintf(_('FOAF for %s'), $this->user->nickname)));
|
sprintf(_('FOAF for %s'), $this->user->nickname)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Output document relationship links
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function showRelationshipLinks()
|
||||||
|
{
|
||||||
|
$this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
|
||||||
|
$this->page, 'showstream', array('nickname' => $this->user->nickname));
|
||||||
|
}
|
||||||
|
|
||||||
function extraHead()
|
function extraHead()
|
||||||
{
|
{
|
||||||
// for remote subscriptions etc.
|
// for remote subscriptions etc.
|
||||||
|
@ -77,6 +77,17 @@ class TagAction extends Action
|
|||||||
sprintf(_('Feed for tag %s'), $this->tag)));
|
sprintf(_('Feed for tag %s'), $this->tag)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Output document relationship links
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function showRelationshipLinks()
|
||||||
|
{
|
||||||
|
$this->sequenceRelationships($this->page > 1, $this->count > NOTICES_PER_PAGE, // FIXME
|
||||||
|
$this->page, 'tag', array('tag' => $this->tag));
|
||||||
|
}
|
||||||
|
|
||||||
function showPageNotice()
|
function showPageNotice()
|
||||||
{
|
{
|
||||||
return sprintf(_('Messages tagged "%s", most recent first'), $this->tag);
|
return sprintf(_('Messages tagged "%s", most recent first'), $this->tag);
|
||||||
|
@ -124,6 +124,7 @@ class Action extends HTMLOutputter // lawsuit
|
|||||||
$this->showShortcutIcon();
|
$this->showShortcutIcon();
|
||||||
$this->showStylesheets();
|
$this->showStylesheets();
|
||||||
$this->showScripts();
|
$this->showScripts();
|
||||||
|
$this->showRelationshipLinks();
|
||||||
$this->showOpenSearch();
|
$this->showOpenSearch();
|
||||||
$this->showFeeds();
|
$this->showFeeds();
|
||||||
$this->showDescription();
|
$this->showDescription();
|
||||||
@ -264,6 +265,19 @@ class Action extends HTMLOutputter // lawsuit
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show document relationship links
|
||||||
|
*
|
||||||
|
* SHOULD overload
|
||||||
|
*
|
||||||
|
* @return nothing
|
||||||
|
*/
|
||||||
|
function showRelationshipLinks()
|
||||||
|
{
|
||||||
|
// output <link> elements with appropriate HTML4.01 link types:
|
||||||
|
// http://www.w3.org/TR/html401/types.html#type-links
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show OpenSearch headers
|
* Show OpenSearch headers
|
||||||
*
|
*
|
||||||
@ -1039,4 +1053,36 @@ class Action extends HTMLOutputter // lawsuit
|
|||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generate document metadata for sequential navigation
|
||||||
|
*
|
||||||
|
* @param boolean $have_before is there something before?
|
||||||
|
* @param boolean $have_after is there something after?
|
||||||
|
* @param integer $page current page
|
||||||
|
* @param string $action current action
|
||||||
|
* @param array $args rest of query arguments
|
||||||
|
*
|
||||||
|
* @return nothing
|
||||||
|
*/
|
||||||
|
function sequenceRelationships($have_next, $have_previous, $page, $action, $args=null)
|
||||||
|
{
|
||||||
|
// Outputs machine-readable pagination in <link> elements.
|
||||||
|
// Pattern taken from $this->pagination() method.
|
||||||
|
|
||||||
|
// "next" is equivalent to "after"
|
||||||
|
if ($have_next) {
|
||||||
|
$pargs = array('page' => $page-1);
|
||||||
|
$this->element('link', array('rel' => 'next',
|
||||||
|
'href' => common_local_url($action, $args, $pargs),
|
||||||
|
'title' => _('Next')));
|
||||||
|
}
|
||||||
|
// "previous" is equivalent to "before"
|
||||||
|
if ($have_previous=true) { // FIXME
|
||||||
|
$pargs = array('page' => $page+1);
|
||||||
|
$this->element('link', array('rel' => 'prev',
|
||||||
|
'href' => common_local_url($action, $args, $pargs),
|
||||||
|
'title' => _('Previous')));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user