diff options
author | Adrian Lang <mail@adrianlang.de> | 2009-04-15 09:38:19 +0200 |
---|---|---|
committer | Adrian Lang <mail@adrianlang.de> | 2009-04-15 09:38:19 +0200 |
commit | 99f4367d03a4bd0676ac2b7ea9b5cfb8cf0f6f83 (patch) | |
tree | c84cd6625a0df93ec078317f29eeb0046bb9e59e /lib/action.php | |
parent | fc6cedd2227d9d560736e494f431e2b40b26b45c (diff) | |
parent | 2fb8c58c84ef02766364e605d28ecaf90c5fc25f (diff) |
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.
Diffstat (limited to 'lib/action.php')
-rw-r--r-- | lib/action.php | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/lib/action.php b/lib/action.php index cc98d4445..dddba9eb0 100644 --- a/lib/action.php +++ b/lib/action.php @@ -124,6 +124,7 @@ class Action extends HTMLOutputter // lawsuit $this->showShortcutIcon(); $this->showStylesheets(); $this->showScripts(); + $this->showRelationshipLinks(); $this->showOpenSearch(); $this->showFeeds(); $this->showDescription(); @@ -265,6 +266,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 * * @return nothing @@ -1039,4 +1053,36 @@ class Action extends HTMLOutputter // lawsuit { 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'))); + } + } } |