Merge pull request #4574 from MrPetovan/task/add-feedtest-module

Add feedtest module
This commit is contained in:
Michael Vogel 2018-03-11 00:35:05 +01:00 committed by GitHub
commit a9df753cf8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 79 additions and 0 deletions

49
mod/feedtest.php Normal file
View file

@ -0,0 +1,49 @@
<?php
/**
* @file_tag_list_to_file mod/feedtest.php
*/
use Friendica\App;
use Friendica\Core\L10n;
use Friendica\Model\Contact;
use Friendica\Protocol\Feed;
use Friendica\Util\Network;
require_once 'boot.php';
require_once 'include/dba.php';
require_once 'include/text.php';
function feedtest_content(App $a)
{
//$a->page['template'] = "wide-2-columns";
$result = [];
if (!empty($_REQUEST['url'])) {
$url = $_REQUEST['url'];
$importer = dba::selectFirst('user', [], ['uid' => local_user()]);
$contact_id = Contact::getIdForURL($url, local_user(), true);
$contact = dba::selectFirst('contact', [], ['id' => $contact_id]);
$ret = Network::curl($contact['poll']);
$xml = $ret['body'];
$dummy = null;
$import_result = Feed::import($xml, $importer, $contact, $dummy, true);
$result = [
'input' => text_highlight($xml, 'xml'),
'output' => var_export($import_result, true),
];
}
$tpl = get_markup_template('feedtest.tpl');
$o = replace_macros($tpl, [
'$url' => ['url', L10n::t('Source URL'), defaults($_REQUEST, 'url', ''), ''],
'$result' => $result
]);
return $o;
}

View file

@ -0,0 +1,30 @@
<h2>Feed Test</h2>
<form action="feedtest" method="get" class="panel panel-default">
<div class="panel-body">
<div class="form-group">
{{include file="field_input.tpl" field=$url}}
</div>
<p><button type="submit" class="btn btn-primary">Submit</button></p>
</div>
</form>
{{if $result}}
<div class="feedtest-result">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Output Items</h3>
</div>
<div class="panel-body">
<pre>{{$result.output}}</pre>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Input Feed XML</h3>
</div>
<div class="panel-body">
{{$result.input}}
</div>
</div>
</div>
{{/if}}