More generalized method for calculating Atom rel="self" links
This commit is contained in:
parent
78f0d6bbd2
commit
e1537d8387
@ -107,13 +107,7 @@ class ApiTimelineGroupAction extends ApiPrivateAuthAction
|
|||||||
// We'll pull common formatting out of this for other formats
|
// We'll pull common formatting out of this for other formats
|
||||||
$atom = new AtomGroupNoticeFeed($this->group);
|
$atom = new AtomGroupNoticeFeed($this->group);
|
||||||
|
|
||||||
// Calculate self link
|
$self = $this->getSelfUri();
|
||||||
$id = $this->arg('id');
|
|
||||||
$aargs = array('format' => $this->format);
|
|
||||||
if (!empty($id)) {
|
|
||||||
$aargs['id'] = $id;
|
|
||||||
}
|
|
||||||
$self = $this->getSelfUri('ApiTimelineGroup', $aargs);
|
|
||||||
|
|
||||||
switch($this->format) {
|
switch($this->format) {
|
||||||
case 'xml':
|
case 'xml':
|
||||||
|
@ -122,13 +122,7 @@ class ApiTimelineUserAction extends ApiBareAuthAction
|
|||||||
array('nickname' => $this->user->nickname)
|
array('nickname' => $this->user->nickname)
|
||||||
);
|
);
|
||||||
|
|
||||||
// Calculate self link
|
$self = $this->getSelfUri();
|
||||||
$id = $this->arg('id');
|
|
||||||
$aargs = array('format' => $this->format);
|
|
||||||
if (!empty($id)) {
|
|
||||||
$aargs['id'] = $id;
|
|
||||||
}
|
|
||||||
$self = $this->getSelfUri('ApiTimelineUser', $aargs);
|
|
||||||
|
|
||||||
// FriendFeed's SUP protocol
|
// FriendFeed's SUP protocol
|
||||||
// Also added RSS and Atom feeds
|
// Also added RSS and Atom feeds
|
||||||
|
@ -1358,8 +1358,22 @@ class ApiAction extends Action
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function getSelfUri($action, $aargs)
|
/**
|
||||||
|
* Calculate the complete URI that called up this action. Used for
|
||||||
|
* Atom rel="self" links. Warning: this is funky.
|
||||||
|
*
|
||||||
|
* @return string URL a URL suitable for rel="self" Atom links
|
||||||
|
*/
|
||||||
|
function getSelfUri()
|
||||||
{
|
{
|
||||||
|
$action = mb_substr(get_class($this), 0, -6); // remove 'Action'
|
||||||
|
|
||||||
|
$id = $this->arg('id');
|
||||||
|
$aargs = array('format' => $this->format);
|
||||||
|
if (!empty($id)) {
|
||||||
|
$aargs['id'] = $id;
|
||||||
|
}
|
||||||
|
|
||||||
parse_str($_SERVER['QUERY_STRING'], $params);
|
parse_str($_SERVER['QUERY_STRING'], $params);
|
||||||
$pstring = '';
|
$pstring = '';
|
||||||
if (!empty($params)) {
|
if (!empty($params)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user