mirror of
https://github.com/friendica/friendica
synced 2025-04-19 07:10:11 +00:00
Relocate RSS header stuff, cleaning up the code
This commit is contained in:
parent
4327ccddcb
commit
647ecd4bd3
4 changed files with 208 additions and 296 deletions
|
@ -4,6 +4,7 @@ namespace Friendica\Module\Api;
|
|||
|
||||
use Friendica\App\Arguments;
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Module\BaseApi;
|
||||
use Friendica\Util\Arrays;
|
||||
use Friendica\Util\HTTPInputData;
|
||||
use Friendica\Util\XML;
|
||||
|
@ -108,14 +109,16 @@ class ApiResponse
|
|||
* @param string $root_element Name of the root element
|
||||
* @param string $type Return type (atom, rss, xml, json)
|
||||
* @param array $data JSON style array
|
||||
* @param int $cid ID of the contact for RSS
|
||||
*
|
||||
* @return array|string (string|array) XML data or JSON data
|
||||
*/
|
||||
public function formatData(string $root_element, string $type, array $data)
|
||||
public function formatData(string $root_element, string $type, array $data, int $cid = 0)
|
||||
{
|
||||
switch ($type) {
|
||||
case 'atom':
|
||||
case 'rss':
|
||||
$data = BaseApi::addRSSValues($data, $cid);
|
||||
case 'atom':
|
||||
case 'xml':
|
||||
return $this->createXML($data, $root_element);
|
||||
case 'json':
|
||||
|
|
|
@ -314,4 +314,29 @@ class BaseApi extends BaseModule
|
|||
|
||||
return $cid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set values for RSS template
|
||||
*
|
||||
* @param array $arr Array to be passed to template
|
||||
* @param int $cid Contact ID of template
|
||||
* @return array
|
||||
*/
|
||||
public static function addRSSValues(array $arr, int $cid)
|
||||
{
|
||||
$user_info = DI::twitterUser()->createFromContactId($cid)->toArray();
|
||||
|
||||
$arr['$user'] = $user_info;
|
||||
$arr['$rss'] = [
|
||||
'alternate' => $user_info['url'],
|
||||
'self' => DI::baseUrl() . '/' . DI::args()->getQueryString(),
|
||||
'base' => DI::baseUrl(),
|
||||
'updated' => DateTimeFormat::utc(null, DateTimeFormat::API),
|
||||
'atom_updated' => DateTimeFormat::utcNow(DateTimeFormat::ATOM),
|
||||
'language' => $user_info['lang'],
|
||||
'logo' => DI::baseUrl() . '/images/friendica-32.png',
|
||||
];
|
||||
|
||||
return $arr;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue