mirror of
https://git.sekbaer.de/Friendica/friendica.git
synced 2025-06-17 04:15:15 +02:00
attachment preview: frontend work (works with frio)
This commit is contained in:
parent
0993f3e6ef
commit
07d1932efc
5 changed files with 613 additions and 28 deletions
|
@ -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);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue