. * */ namespace Friendica\Module; use Friendica\BaseModule; use Friendica\DI; use Friendica\Protocol\Feed as ProtocolFeed; /** * Provides public Atom feeds * * Currently supported: * - /feed/[nickname]/ => posts * - /feed/[nickname]/posts => posts * - /feed/[nickname]/comments => comments * - /feed/[nickname]/replies => comments * - /feed/[nickname]/activity => activity * * The nocache GET parameter is provided mainly for debug purposes, requires auth * * @author Hypolite Petovan */ class Feed extends BaseModule { public static function content(array $parameters = []) { $a = DI::app(); $last_update = $_GET['last_update'] ?? ''; $nocache = !empty($_GET['nocache']) && local_user(); $type = null; // @TODO: Replace with parameter from router if (DI::args()->getArgc() > 2) { $type = DI::args()->getArgv()[2]; } switch ($type) { case 'posts': case 'comments': case 'activity': // Correct type names, no change needed break; case 'replies': $type = 'comments'; break; default: $type = 'posts'; } header("Content-type: application/atom+xml; charset=utf-8"); echo ProtocolFeed::atom($parameters['nickname'], $last_update, 10, $type, $nocache, true); exit(); } }