aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2018-05-06 19:57:37 -0700
committerzotlabs <mike@macgirvin.com>2018-05-06 19:57:37 -0700
commite646684493f5c3d49e972308aa8a5722877f26ce (patch)
tree5fa10f31bfaffbb0344e092f902c0847eda15a4a
parent257dcaaf8b56e3db52b62e5b722183aaddeb0a59 (diff)
downloadvolse-hubzilla-e646684493f5c3d49e972308aa8a5722877f26ce.tar.gz
volse-hubzilla-e646684493f5c3d49e972308aa8a5722877f26ce.tar.bz2
volse-hubzilla-e646684493f5c3d49e972308aa8a5722877f26ce.zip
pdf embeds
-rw-r--r--Zotlabs/Module/Linkinfo.php4
-rwxr-xr-xinclude/oembed.php20
2 files changed, 22 insertions, 2 deletions
diff --git a/Zotlabs/Module/Linkinfo.php b/Zotlabs/Module/Linkinfo.php
index 3392e4114..3f58f3e01 100644
--- a/Zotlabs/Module/Linkinfo.php
+++ b/Zotlabs/Module/Linkinfo.php
@@ -82,6 +82,10 @@ class Linkinfo extends \Zotlabs\Web\Controller {
echo $br . '[audio]' . $url . '[/audio]' . $br;
killme();
}
+ if(strtolower($type) === 'application/pdf' || strtolower($type) === 'application/x-pdf') {
+ echo $br . '[embed]' . $url . '[/embed]' . $br;
+ killme();
+ }
}
}
diff --git a/include/oembed.php b/include/oembed.php
index e677087a2..41ab001d3 100755
--- a/include/oembed.php
+++ b/include/oembed.php
@@ -105,6 +105,7 @@ function oembed_action($embedurl) {
// if the url is embeddable with oembed, return the bbcode link.
function oembed_process($url) {
+
$j = oembed_fetch_url($url);
logger('oembed_process: ' . print_r($j,true), LOGGER_DATA, LOG_DEBUG);
if($j && $j['type'] !== 'error')
@@ -132,6 +133,7 @@ function oembed_fetch_url($embedurl){
}
}
+
$txt = null;
// we should try to cache this and avoid a lookup on each render
@@ -217,10 +219,19 @@ function oembed_fetch_url($embedurl){
}
- $j = json_decode($txt,true);
+ if(strpos(strtolower($embedurl),'.pdf') !== false) {
+ $action = 'allow';
+ $j = [ 'html' => '<object data="' . $embedurl . '" type="application/pdf" width="500" height="720">' . '<a href="' . $embedurl . '">' . t('View PDF') . '</a></object>', 'width' => 500, 'height' => 720, 'type' => 'pdf' ];
+
+ }
- if(! $j)
+ if(! $j) {
+ $j = json_decode($txt,true);
+ }
+
+ if(! $j) {
$j = [];
+ }
if($action === 'filter') {
if($j['html']) {
@@ -317,6 +328,11 @@ function oembed_format_object($j){
//$ret = "<a href='".$embedurl."'>".$j['title']."</a>";
}; break;
+ case 'pdf': {
+ $ret = $j['html'];
+ break;
+ }
+
case "rich": {
// not so safe..
$ret.= $jhtml;