Source code of filesite.io.
https://filesite.io
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
171 lines
5.0 KiB
171 lines
5.0 KiB
1 year ago
|
<div class="menu">
|
||
|
<?php
|
||
|
$imgPreffix = FSC::$app['config']['content_directory'] . FSC::$app['config']['tajian']['data_dir'];
|
||
|
$selectedId = $viewData['cateId'];
|
||
|
$breadcrumbs = !empty($viewData['breadcrumbs']) ? $viewData['breadcrumbs'] : [];
|
||
|
if (!empty($viewData['menus'])) { //只显示第一级目录
|
||
|
foreach($viewData['menus'] as $index => $item) {
|
||
|
$selected = $item['id'] == $selectedId || (!empty($breadcrumbs) && $item['id'] == $breadcrumbs[0]['id']) ? 'selected' : '';
|
||
|
echo <<<eof
|
||
|
<a href="/?id={$item['id']}" class="{$selected}">{$item['directory']}</a>
|
||
|
eof;
|
||
|
}
|
||
|
}
|
||
|
?>
|
||
|
</div>
|
||
|
|
||
|
<div class="hr"></div>
|
||
|
|
||
|
<?php
|
||
|
if (!empty($breadcrumbs)) {
|
||
|
echo <<<eof
|
||
|
<div class="breadcrumbs">
|
||
|
<small>当前位置:</small>
|
||
|
eof;
|
||
|
|
||
|
foreach($breadcrumbs as $bread) {
|
||
|
if ($bread['id'] != $selectedId) {
|
||
|
echo <<<eof
|
||
|
<a href="{$bread['url']}">{$bread['name']}</a> /
|
||
|
eof;
|
||
|
}else {
|
||
|
echo <<<eof
|
||
|
<strong>{$bread['name']}</strong>
|
||
|
eof;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
echo <<<eof
|
||
|
</div>
|
||
|
eof;
|
||
|
}
|
||
|
?>
|
||
|
|
||
|
<div class="content">
|
||
|
<?php
|
||
|
$imgExts = array('jpg', 'jpeg', 'png', 'gif');
|
||
|
$videoExts = array('url', 'mp4', 'm3u8');
|
||
|
$category = $viewData['scanResults'][$selectedId];
|
||
|
|
||
|
//当前目录的描述介绍
|
||
|
if (!empty($category['description'])) {
|
||
|
echo <<<eof
|
||
|
<p class="catedesc">{$category['description']}</p>
|
||
|
eof;
|
||
|
}
|
||
|
|
||
|
//当前目录的readme详细介绍
|
||
|
if (!empty($viewData['htmlCateReadme'])) {
|
||
|
echo <<<eof
|
||
|
<div class="cateinfo markdown-body">{$viewData['htmlCateReadme']}</div>
|
||
|
eof;
|
||
|
}
|
||
|
|
||
|
if (!empty($category['directories'])) { //两级目录支持
|
||
|
$playBtnCls = '';
|
||
|
$playBtn = '';
|
||
|
//如果已经是二级目录了,则当三级目录为视频目录,打开播放网页
|
||
|
if (!empty($selectedId) && count($breadcrumbs) >= 2) {
|
||
|
$playBtnCls = ' video-js vjs-big-play-centered';
|
||
|
$playBtn = <<<eof
|
||
|
<button class="vjs-big-play-button" type="button" title="Play Video" aria-disabled="false" style="display:none">
|
||
|
<span class="vjs-icon-placeholder" aria-hidden="true"></span>
|
||
|
<span class="vjs-control-text" aria-live="polite">Play Video</span>
|
||
|
</button>
|
||
|
eof;
|
||
|
}
|
||
|
|
||
|
|
||
|
foreach($category['directories'] as $dir) {
|
||
|
$playUrl = !empty($playBtn) ? "/view/?id={$dir['id']}" : $dir['path'];
|
||
|
$openInBlank = !empty($playBtn) ? ' target="_blank"' : '';
|
||
|
echo <<<eof
|
||
|
<a href="{$playUrl}" class="img-item"{$openInBlank}>
|
||
|
<span class="img-con{$playBtnCls}">
|
||
|
eof;
|
||
|
|
||
|
if (!empty($dir['snapshot'])) {
|
||
|
echo <<<eof
|
||
|
<img data-src="{$dir['snapshot']}" class="lazyload" alt="{$dir['directory']}">
|
||
|
eof;
|
||
|
}else if (!empty($dir['files'])) {
|
||
|
$first_img = array_shift($dir['files']);
|
||
|
if (!in_array($first_img['extension'], $imgExts)) {
|
||
|
foreach($dir['files'] as $file) {
|
||
|
if (in_array($file['extension'], $imgExts)) {
|
||
|
$first_img = $file;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (in_array($first_img['extension'], $imgExts)) {
|
||
|
echo <<<eof
|
||
|
<img data-src="{$first_img['path']}" class="lazyload" alt="{$first_img['filename']}">
|
||
|
eof;
|
||
|
}else {
|
||
|
echo <<<eof
|
||
|
<img src="/img/default.png" alt="default image">
|
||
|
eof;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (!empty($dir['duration'])) {
|
||
|
echo <<<eof
|
||
|
<span class="duration">{$dir['duration']}</span>
|
||
|
eof;
|
||
|
}
|
||
|
|
||
|
$title = !empty($dir['title']) ? $dir['title'] : $dir['directory'];
|
||
|
echo <<<eof
|
||
|
{$playBtn}
|
||
|
</span>
|
||
|
<strong>{$title}</strong>
|
||
|
</a>
|
||
|
eof;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (!empty($category['files'])) { //一级目录支持,目录下直接存放视频文件
|
||
|
$first_img = '';
|
||
|
|
||
|
//如果目录没有封面图,则先找出第一个图片做封面
|
||
|
if (empty($category['snapshot'])) {
|
||
|
foreach($category['files'] as $file) {
|
||
|
if (empty($first_img) && in_array($file['extension'], $imgExts)) {
|
||
|
$first_img = $file;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
foreach($category['files'] as $file) {
|
||
|
//跳过非视频文件
|
||
|
if (!in_array($file['extension'], $videoExts)) {
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
$duration = !empty($category['duration']) ? $category['duration'] : '';
|
||
|
$snapshot = !empty($file['cover']) ? $imgPreffix . $file['cover'] : (!empty($category['snapshot']) ? $category['snapshot'] :
|
||
|
(!empty($first_img['path']) ? $first_img['path'] : '/img/default.png')
|
||
|
);
|
||
|
|
||
|
$title = !empty($file['title']) ? $file['title'] : $file['filename'];
|
||
|
echo <<<eof
|
||
|
<a href="/view/?id={$file['id']}" class="img-item img-preview" target="_blank">
|
||
|
<span class="img-con video-js vjs-big-play-centered">
|
||
|
<img data-src="{$snapshot}" class="lazyload" alt="snapshot of {$title}">
|
||
|
<span class="duration">{$duration}</span>
|
||
|
<button class="vjs-big-play-button" type="button" title="Play Video" aria-disabled="false" style="display:none">
|
||
|
<span class="vjs-icon-placeholder" aria-hidden="true"></span>
|
||
|
<span class="vjs-control-text" aria-live="polite">Play Video</span>
|
||
|
</button>
|
||
|
</span>
|
||
|
<strong>{$title}</strong>
|
||
|
</a>
|
||
|
eof;
|
||
|
}
|
||
|
}
|
||
|
?>
|
||
|
</div>
|