diff options
author | Mario <mario@mariovavti.com> | 2019-04-29 11:58:59 +0200 |
---|---|---|
committer | Mario <mario@mariovavti.com> | 2019-04-29 11:58:59 +0200 |
commit | 674215e9e6632ac22a1b87f9996f0323f5949d94 (patch) | |
tree | 152c71c2b99c337ec3ca35d9644a6fe4ec9ff5a4 /Zotlabs/Module/Linkinfo.php | |
parent | dce6a5763d925e6bf70c6a293be079a05269ce36 (diff) | |
parent | d89d6e8a01ef9af0d300c192367445c385e0252b (diff) | |
download | volse-hubzilla-674215e9e6632ac22a1b87f9996f0323f5949d94.tar.gz volse-hubzilla-674215e9e6632ac22a1b87f9996f0323f5949d94.tar.bz2 volse-hubzilla-674215e9e6632ac22a1b87f9996f0323f5949d94.zip |
Merge branch 'dev' into 'dev'
Add jot videos inline and with poster if possible
See merge request hubzilla/core!1613
Diffstat (limited to 'Zotlabs/Module/Linkinfo.php')
-rw-r--r-- | Zotlabs/Module/Linkinfo.php | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/Zotlabs/Module/Linkinfo.php b/Zotlabs/Module/Linkinfo.php index 32b4c0281..b9f90deec 100644 --- a/Zotlabs/Module/Linkinfo.php +++ b/Zotlabs/Module/Linkinfo.php @@ -69,6 +69,14 @@ class Linkinfo extends \Zotlabs\Web\Controller { killme(); } if(stripos($type,'video/') !== false) { + $thumb = self::get_video_poster($url); + if($thumb) { + if ($zrl) + echo $br . '[zvideo poster=\'' . $thumb . '\']' . $url . '[/zvideo]' . $br; + else + echo $br . '[video poster=\'' . $thumb . '\']' . $url . '[/video]' . $br; + killme(); + } if($zrl) echo $br . '[zvideo]' . $url . '[/zvideo]' . $br; else @@ -216,7 +224,42 @@ class Linkinfo extends \Zotlabs\Web\Controller { return($complete); } - + + public static function get_video_poster($url) { + + if(strpos($url,z_root() . '/cloud/') === false) { + return EMPTY_STR; + } + $m = parse_url($url,PHP_URL_PATH); + if($m) { + // strip leading '/cloud/' + $m = substr($m,7); + } + $nick = substr($m,0,strpos($m,'/')); + $p = substr($m,strpos($m,'/')+1); + + // get the channel to check permissions + + $u = channelx_by_nick($nick); + + if($u && $p) { + + $sql_extra = permissions_sql(intval($u['channel_id'])); + + $r = q("select hash, content from attach where display_path = '%s' and uid = %d and os_storage = 1 $sql_extra limit 1", + dbesc($p), + intval($u['channel_id']) + ); + if($r) { + $path = dbunescbin($r[0]['content']); + if($path && @file_exists($path . '.thumb')) { + return z_root() . '/poster/' . $nick . '/' . $r[0]['hash']; + } + } + } + return EMPTY_STR; + } + public static function parseurl_getsiteinfo($url) { $siteinfo = array(); |