attachment preview: frontend work (works with frio)

This commit is contained in:
rabuzarus 2019-02-01 19:18:08 +01:00
parent 0993f3e6ef
commit 07d1932efc
5 changed files with 613 additions and 28 deletions

View file

@ -12,6 +12,7 @@
use Friendica\App;
use Friendica\Core\Hook;
use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Util\Network;
use Friendica\Util\ParseUrl;
@ -19,6 +20,8 @@ function parse_url_content(App $a)
{
$text = null;
$str_tags = '';
$format = '';
$ret= ['success' => false, 'contentType' => ''];
$br = "\n";
@ -43,6 +46,10 @@ function parse_url_content(App $a)
}
}
if (isset($_GET['dataType']) && $_GET['dataType'] == 'json') {
$format = 'json';
}
// Add url scheme if it is missing
$arrurl = parse_url($url);
if (empty($arrurl['scheme'])) {
@ -73,23 +80,36 @@ function parse_url_content(App $a)
}
}
$type = null;
$content_type = '';
$bbcode = '';
if (array_key_exists('Content-Type', $hdrs)) {
$type = $hdrs['Content-Type'];
}
if ($type) {
if (stripos($type, 'image/') !== false) {
echo $br . '[img]' . $url . '[/img]' . $br;
exit();
$content_type = 'image';
$bbcode = $br . '[img]' . $url . '[/img]' . $br;
}
if (stripos($type, 'video/') !== false) {
echo $br . '[video]' . $url . '[/video]' . $br;
exit();
$content_type = 'video';
$bbcode = $br . '[video]' . $url . '[/video]' . $br;
}
if (stripos($type, 'audio/') !== false) {
echo $br . '[audio]' . $url . '[/audio]' . $br;
exit();
$content_type = 'audio';
$bbcode = $br . '[audio]' . $url . '[/audio]' . $br;
}
}
if (!empty($content_type)) {
if ($format == 'json') {
$ret['contentType'] = $content_type;
$ret['data'] = ['url' => $url];
$ret['success'] = true;
System::jsonExit($ret);
}
echo $bbcode;
exit();
}
}
@ -130,6 +150,14 @@ function parse_url_content(App $a)
exit();
}
if ($format == 'json') {
$ret['data'] = $siteinfo;
$ret['contentType'] = 'attachment';
$ret['success'] = true;
System::jsonExit($ret);
}
// Format it as BBCode attachment
$info = add_page_info_data($siteinfo);