]> git.mxchange.org Git - friendica.git/blob - src/Module/Debug/Feed.php
cc0be643b3030b858230b3248d8c9ed1af9f7e1a
[friendica.git] / src / Module / Debug / Feed.php
1 <?php
2
3 namespace Friendica\Module\Debug;
4
5 use Friendica\BaseModule;
6 use Friendica\Core\L10n;
7 use Friendica\Core\Renderer;
8 use Friendica\Model;
9 use Friendica\Protocol;
10 use Friendica\Util\Network;
11
12 /**
13  * Tests a given feed of a contact
14  */
15 class Feed extends BaseModule
16 {
17         public static function init()
18         {
19                 if (!local_user()) {
20                         info(L10n::t('You must be logged in to use this module'));
21                         self::getApp()->internalRedirect();
22                 }
23         }
24
25         public static function content()
26         {
27                 $result = [];
28                 if (!empty($_REQUEST['url'])) {
29                         $url = $_REQUEST['url'];
30
31                         $importer = Model\User::getById(local_user());
32
33                         $contact_id = Model\Contact::getIdForURL($url, local_user(), true);
34                         $contact = Model\Contact::getById($contact_id);
35
36                         $xml = Network::fetchUrl($contact['poll']);
37
38                         $dummy = null;
39                         $import_result = Protocol\Feed::import($xml, $importer, $contact, $dummy, true);
40
41                         $result = [
42                                 'input' => $xml,
43                                 'output' => var_export($import_result, true),
44                         ];
45                 }
46
47                 $tpl = Renderer::getMarkupTemplate('feedtest.tpl');
48                 return Renderer::replaceMacros($tpl, [
49                         '$url'    => ['url', L10n::t('Source URL'), $_REQUEST['url'] ?? '', ''],
50                         '$result' => $result
51                 ]);
52         }
53 }