forked from axiom-team/astrXbian
136 lines
2.6 KiB
PHP
136 lines
2.6 KiB
PHP
<?php
|
|
|
|
function getCollectionType ($filename) {
|
|
|
|
switch (substr($filename, 0, 1)) {
|
|
|
|
case 'F': return 'Films';
|
|
|
|
case 'Y': return 'Youtube';
|
|
}
|
|
}
|
|
|
|
function pingFile ($url) {
|
|
|
|
$ch = curl_init($url);
|
|
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
|
|
//curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
$data = curl_exec($ch);
|
|
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
|
curl_close($ch);
|
|
|
|
return ($httpcode>=200 && $httpcode<300);
|
|
}
|
|
|
|
function guessTypeFromFilename ($filename) {
|
|
|
|
$ext = substr($filename, (strrpos($filename, '.') + 1));
|
|
|
|
switch ($ext) {
|
|
|
|
case 'mkv':
|
|
$type = 'video/mkv';
|
|
break;
|
|
|
|
case 'flv':
|
|
$type = 'video/flv';
|
|
break;
|
|
|
|
case 'avi':
|
|
$type = 'video/x-msvideo';
|
|
break;
|
|
|
|
case 'webm':
|
|
$type = 'video/webm';
|
|
break;
|
|
|
|
case 'mkv':
|
|
$type = 'video/x-matroska';
|
|
break;
|
|
|
|
case '3gp':
|
|
$type = 'video/3gp';
|
|
break;
|
|
|
|
case 'ogv':
|
|
$type = 'video/ogv';
|
|
break;
|
|
|
|
default:
|
|
$type = 'video/mp4';
|
|
break;
|
|
}
|
|
|
|
return $type;
|
|
}
|
|
|
|
function astroport_urlencode ($str) {
|
|
|
|
$str = str_replace('%', '%25', $str);
|
|
$str = str_replace('#', '%23', $str);
|
|
$str = str_replace('\'', '%27', $str);
|
|
$str = str_replace('"', '%22', $str);
|
|
|
|
return $str;
|
|
}
|
|
|
|
function quickfix_getYoutubeIdFromIpfsFileName ($name) {
|
|
|
|
return substr($name, 0, 11);
|
|
|
|
}
|
|
|
|
function quickfix_getVideoNameFromIpfsFileName ($name) {
|
|
|
|
//$name = substr($name, 12);
|
|
$name = substr($name, 0, strrpos($name, '.'));
|
|
|
|
return $name;
|
|
}
|
|
|
|
function formatDuration ($seconds) {
|
|
|
|
$h = floor($seconds / 3600);
|
|
$h_r = $seconds % 3600;
|
|
$m = floor($h_r / 60);
|
|
$s = $h_r % 60;
|
|
|
|
if ($h != 0) {
|
|
|
|
return sprintf("%s:%s:%s", $h, str_pad($m, 2, '0', STR_PAD_LEFT), str_pad($s, 2, '0', STR_PAD_LEFT));
|
|
|
|
} else {
|
|
|
|
return sprintf("%s:%s", $m, str_pad($s, 2, '0', STR_PAD_LEFT));
|
|
|
|
}
|
|
}
|
|
|
|
function getVideoJson ($ipnsHash) {
|
|
|
|
exec("/bin/bash -c './get_ipfs_node_id.sh'", $output);
|
|
// echo '<pre>'; var_dump($output); echo '</pre>';
|
|
$ipfsNodeId = $output[0];
|
|
|
|
$indexHTML = file_get_contents('http://' . HOST . '/ipns/' . $ipnsHash . '/index.html');
|
|
|
|
// $indexHTML = file_get_contents('http://' . HOST . '/ipns/' . $ipfsNodeId . '/.' . $ipfsNodeId . '/KEY/');
|
|
|
|
|
|
|
|
$re = '!/ipns/[^/]+/([^/]+)/!isU';
|
|
|
|
preg_match($re, $indexHTML, $matches);
|
|
|
|
$ipnsHiddenHash = $matches[1];
|
|
|
|
$indexHTML = file_get_contents('http://' . HOST . '/ipns/' . $ipnsHash . '/' . $ipnsHiddenHash . '/video.json');
|
|
|
|
if (isset($indexHTML)) {
|
|
|
|
return json_decode($indexHTML);
|
|
}
|
|
|
|
}
|