53 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?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)
 | |
| {
 | |
| 	if (!local_user()) {
 | |
| 		info(L10n::t('You must be logged in to use this module'));
 | |
| 		return;
 | |
| 	};
 | |
| 
 | |
| 	$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;
 | |
| }
 |