[add] streaming link (m3u, RSS)

This commit is contained in:
Knah Tsaeb 2013-12-23 16:09:58 +01:00
parent 4649663d7a
commit 82a0374292
8 changed files with 1191 additions and 14 deletions

1
.gitignore vendored
View file

@ -5,3 +5,4 @@ videos
bin/cronTask.sh
option.php
pagecache
*~

View file

@ -19,7 +19,7 @@ do
then
while read urlHash url destination
do
youtube-dl -R 0 -c --write-thumbnail --write-info-json --recode-video webm --no-check-certificate -f 45/46/37/45/22/44/35/34/5 -o "$urlHash.%(ext)s" "$url"
/usr/local/bin/youtube-dl -R 0 -c --write-thumbnail --write-info-json --recode-video webm --no-check-certificate -f 45/46/37/45/22/44/35/34/5 -o "$urlHash.%(ext)s" "$url"
convert "$urlHash.jpg" -resize 260 "$urlHash.thumb.jpg"
sleep 10
if [ ! -f $urlHash.*.part ]
@ -30,6 +30,6 @@ do
fi
done < $file
fi
done
rm $pageCache*.html
done
# -rc_lookahead 16 -g 360 -threads 3

View file

744
images/playlist.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 49 KiB

338
images/rss.svg Normal file
View file

@ -0,0 +1,338 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.0"
width="96"
height="96"
id="svg2408">
<defs
id="defs2410">
<linearGradient
id="linearGradient2841">
<stop
id="stop2843"
style="stop-color:#d4530d;stop-opacity:1"
offset="0" />
<stop
id="stop2845"
style="stop-color:#f7ad25;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
x1="45.447727"
y1="92.539597"
x2="45.447727"
y2="7.0165396"
id="ButtonShadow"
gradientUnits="userSpaceOnUse"
gradientTransform="scale(1.0058652,0.994169)">
<stop
id="stop3750"
style="stop-color:#000000;stop-opacity:1"
offset="0" />
<stop
id="stop3752"
style="stop-color:#000000;stop-opacity:0.58823532"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient3737">
<stop
id="stop3739"
style="stop-color:#ffffff;stop-opacity:1"
offset="0" />
<stop
id="stop3741"
style="stop-color:#ffffff;stop-opacity:0"
offset="1" />
</linearGradient>
<filter
color-interpolation-filters="sRGB"
id="filter3174">
<feGaussianBlur
id="feGaussianBlur3176"
stdDeviation="1.71" />
</filter>
<linearGradient
x1="36.357143"
y1="6"
x2="36.357143"
y2="63.893143"
id="linearGradient3188"
xlink:href="#linearGradient3737"
gradientUnits="userSpaceOnUse" />
<filter
x="-0.192"
y="-0.192"
width="1.3839999"
height="1.3839999"
color-interpolation-filters="sRGB"
id="filter3794">
<feGaussianBlur
id="feGaussianBlur3796"
stdDeviation="5.28" />
</filter>
<linearGradient
x1="48"
y1="20.220806"
x2="48"
y2="138.66119"
id="linearGradient3613"
xlink:href="#linearGradient3737"
gradientUnits="userSpaceOnUse" />
<radialGradient
cx="48"
cy="90.171875"
r="42"
fx="48"
fy="90.171875"
id="radialGradient3619"
xlink:href="#linearGradient3737"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.1573129,0,0,0.99590774,-7.5510206,0.19713193)" />
<clipPath
id="clipPath3613">
<rect
width="84"
height="84"
rx="6"
ry="6"
x="6"
y="6"
id="rect3615"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" />
</clipPath>
<linearGradient
x1="48"
y1="90"
x2="48"
y2="5.9877172"
id="linearGradient3617"
xlink:href="#linearGradient2841"
gradientUnits="userSpaceOnUse" />
<clipPath
id="clipPath3754">
<path
d="m -78,6 c -3.324,0 -6,2.676 -6,6 l 0,72 c 0,3.324 2.676,6 6,6 l 72,0 c 3.324,0 6,-2.676 6,-6 L 0,12 C 0,8.676 -2.676,6 -6,6 l -72,0 z m 4,10 a 64,64 0 0 1 64,64 l -12.8125,0 A 51.2,51.2 0 0 0 -74,28.8125 L -74,16 z m 0,21.5625 A 42.422857,42.422857 0 0 1 -31.5625,80 L -44,80 A 29.988571,29.988571 0 0 0 -74,50 l 0,-12.4375 z m 8.78125,24.875 c 4.847482,0 8.78125,3.933769 8.78125,8.78125 C -56.4375,76.066233 -60.371268,80 -65.21875,80 -70.066232,80 -74,76.066233 -74,71.21875 c 0,-4.847481 3.933768,-8.78125 8.78125,-8.78125 z"
inkscape:connector-curvature="0"
id="path3756"
style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
</clipPath>
<filter
x="-0.12"
y="-0.12"
width="1.24"
height="1.24"
color-interpolation-filters="sRGB"
id="filter3762">
<feGaussianBlur
id="feGaussianBlur3764"
stdDeviation="3.2" />
</filter>
<clipPath
id="clipPath3775">
<path
d="m -84,16 0,12.8 A 51.2,51.2 0 0 1 -32.8,80 L -20,80 A 64,64 0 0 0 -84,16 z m 0,21.577143 0,12.434286 A 29.988571,29.988571 0 0 1 -54.011429,80 l 12.434286,0 A 42.422857,42.422857 0 0 0 -84,37.577143 z m 8.777142,24.868571 C -80.07034,62.445714 -84,66.375376 -84,71.222857 -84,76.07034 -80.07034,80 -75.222858,80 c 4.847482,0 8.777144,-3.92966 8.777144,-8.777143 0,-4.847481 -3.929662,-8.777143 -8.777144,-8.777143 z"
inkscape:connector-curvature="0"
id="path3777"
style="fill:#ffffff" />
</clipPath>
<filter
color-interpolation-filters="sRGB"
id="filter3787">
<feGaussianBlur
id="feGaussianBlur3789"
stdDeviation="0.42" />
</filter>
<linearGradient
x1="45.447727"
y1="92.539597"
x2="45.447727"
y2="7.0165396"
id="ButtonShadow-0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0058652,0,0,0.994169,100,0)">
<stop
id="stop3750-8"
style="stop-color:#000000;stop-opacity:1"
offset="0" />
<stop
id="stop3752-5"
style="stop-color:#000000;stop-opacity:0.58823532"
offset="1" />
</linearGradient>
<linearGradient
x1="32.251034"
y1="6.1317081"
x2="32.251034"
y2="90.238609"
id="linearGradient3780"
xlink:href="#ButtonShadow-0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)" />
<linearGradient
x1="32.251034"
y1="6.1317081"
x2="32.251034"
y2="90.238609"
id="linearGradient3772"
xlink:href="#ButtonShadow-0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)" />
<linearGradient
x1="32.251034"
y1="6.1317081"
x2="32.251034"
y2="90.238609"
id="linearGradient3725"
xlink:href="#ButtonShadow-0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)" />
<linearGradient
x1="32.251034"
y1="6.1317081"
x2="32.251034"
y2="90.238609"
id="linearGradient3721"
xlink:href="#ButtonShadow-0"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(0,-97)" />
<linearGradient
x1="32.251034"
y1="6.1317081"
x2="32.251034"
y2="90.238609"
id="linearGradient3071"
xlink:href="#ButtonShadow-0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0238095,0,0,1.0119048,-1.1428571,-98.071429)" />
</defs>
<metadata
id="metadata2413">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer2"
style="display:none">
<rect
width="86"
height="85"
rx="6"
ry="6"
x="5"
y="7"
id="rect3745"
style="opacity:0.9;fill:url(#ButtonShadow);fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter3174)" />
</g>
<g
id="layer4"
style="display:inline">
<path
d="m 12,-95.03125 c -5.5110903,0 -10.03125,4.52016 -10.03125,10.03125 l 0,71 c 0,5.5110902 4.5201598,10.03125 10.03125,10.03125 l 72,0 c 5.51109,0 10.03125,-4.5201597 10.03125,-10.03125 l 0,-71 c 0,-5.51109 -4.52016,-10.03125 -10.03125,-10.03125 l -72,0 z"
transform="scale(1,-1)"
id="path3786"
style="opacity:0.07999998;fill:url(#linearGradient3071);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
<path
d="m 12,-94.03125 c -4.971633,0 -9.03125,4.059617 -9.03125,9.03125 l 0,71 c 0,4.9716329 4.0596171,9.03125 9.03125,9.03125 l 72,0 c 4.971633,0 9.03125,-4.059617 9.03125,-9.03125 l 0,-71 c 0,-4.971633 -4.059617,-9.03125 -9.03125,-9.03125 l -72,0 z"
transform="scale(1,-1)"
id="path3778"
style="opacity:0.1;fill:url(#linearGradient3780);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
<path
d="m 12,-93 c -4.4091333,0 -8,3.590867 -8,8 l 0,71 c 0,4.4091333 3.5908667,8 8,8 l 72,0 c 4.409133,0 8,-3.5908667 8,-8 l 0,-71 c 0,-4.409133 -3.590867,-8 -8,-8 l -72,0 z"
transform="scale(1,-1)"
id="path3770"
style="opacity:0.2;fill:url(#linearGradient3772);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
<rect
width="86"
height="85"
rx="7"
ry="7"
x="5"
y="-92"
transform="scale(1,-1)"
id="rect3723"
style="opacity:0.3;fill:url(#linearGradient3725);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
<rect
width="84"
height="84"
rx="6"
ry="6"
x="6"
y="-91"
transform="scale(1,-1)"
id="rect3716"
style="opacity:0.45;fill:url(#linearGradient3721);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
</g>
<g
id="layer1">
<rect
width="84"
height="84"
rx="6"
ry="6"
x="6"
y="6"
id="rect2419"
style="fill:url(#linearGradient3617);fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
d="M 12,6 C 8.676,6 6,8.676 6,12 l 0,2 0,68 0,2 c 0,0.334721 0.04135,0.6507 0.09375,0.96875 0.0487,0.295596 0.09704,0.596915 0.1875,0.875 0.00988,0.03038 0.020892,0.0636 0.03125,0.09375 0.098865,0.287771 0.2348802,0.547452 0.375,0.8125 0.1445918,0.273507 0.3156161,0.535615 0.5,0.78125 0.1843839,0.245635 0.3737765,0.473472 0.59375,0.6875 0.439947,0.428056 0.94291,0.814526 1.5,1.09375 0.278545,0.139612 0.5734731,0.246947 0.875,0.34375 -0.2562018,-0.100222 -0.4867109,-0.236272 -0.71875,-0.375 -0.00741,-0.0044 -0.023866,0.0045 -0.03125,0 -0.031933,-0.0193 -0.062293,-0.04251 -0.09375,-0.0625 -0.120395,-0.0767 -0.2310226,-0.163513 -0.34375,-0.25 -0.1061728,-0.0808 -0.2132809,-0.161112 -0.3125,-0.25 C 8.4783201,88.557317 8.3087904,88.373362 8.15625,88.1875 8.0486711,88.057245 7.9378561,87.922215 7.84375,87.78125 7.818661,87.74287 7.805304,87.69538 7.78125,87.65625 7.716487,87.553218 7.6510225,87.451733 7.59375,87.34375 7.4927417,87.149044 7.3880752,86.928049 7.3125,86.71875 7.30454,86.69694 7.288911,86.6782 7.28125,86.65625 7.2494249,86.5643 7.2454455,86.469419 7.21875,86.375 7.1884177,86.268382 7.1483606,86.171969 7.125,86.0625 7.0521214,85.720988 7,85.364295 7,85 L 7,83 7,15 7,13 C 7,10.218152 9.2181517,8 12,8 l 2,0 68,0 2,0 c 2.781848,0 5,2.218152 5,5 l 0,2 0,68 0,2 c 0,0.364295 -0.05212,0.720988 -0.125,1.0625 -0.04415,0.206893 -0.08838,0.397658 -0.15625,0.59375 -0.0077,0.02195 -0.0233,0.04069 -0.03125,0.0625 -0.06274,0.173739 -0.138383,0.367449 -0.21875,0.53125 -0.04158,0.0828 -0.07904,0.169954 -0.125,0.25 -0.0546,0.09721 -0.126774,0.18835 -0.1875,0.28125 -0.09411,0.140965 -0.204921,0.275995 -0.3125,0.40625 -0.143174,0.17445 -0.303141,0.346998 -0.46875,0.5 -0.01117,0.0102 -0.01998,0.02115 -0.03125,0.03125 -0.138386,0.125556 -0.285091,0.234436 -0.4375,0.34375 -0.102571,0.07315 -0.204318,0.153364 -0.3125,0.21875 -0.0074,0.0045 -0.02384,-0.0044 -0.03125,0 -0.232039,0.138728 -0.462548,0.274778 -0.71875,0.375 0.301527,-0.0968 0.596455,-0.204138 0.875,-0.34375 0.55709,-0.279224 1.060053,-0.665694 1.5,-1.09375 0.219973,-0.214028 0.409366,-0.441865 0.59375,-0.6875 0.184384,-0.245635 0.355408,-0.507743 0.5,-0.78125 0.14012,-0.265048 0.276135,-0.524729 0.375,-0.8125 0.01041,-0.03078 0.02133,-0.06274 0.03125,-0.09375 0.09046,-0.278085 0.1388,-0.579404 0.1875,-0.875 C 89.95865,84.6507 90,84.334721 90,84 l 0,-2 0,-68 0,-2 C 90,8.676 87.324,6 84,6 L 12,6 z"
inkscape:connector-curvature="0"
id="rect3728"
style="opacity:0.5;fill:url(#linearGradient3188);fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
d="M 12,90 C 8.676,90 6,87.324 6,84 L 6,82 6,14 6,12 c 0,-0.334721 0.04135,-0.6507 0.09375,-0.96875 0.0487,-0.295596 0.09704,-0.596915 0.1875,-0.875 C 6.29113,10.12587 6.302142,10.09265 6.3125,10.0625 6.411365,9.774729 6.5473802,9.515048 6.6875,9.25 6.8320918,8.976493 7.0031161,8.714385 7.1875,8.46875 7.3718839,8.223115 7.5612765,7.995278 7.78125,7.78125 8.221197,7.353194 8.72416,6.966724 9.28125,6.6875 9.559795,6.547888 9.8547231,6.440553 10.15625,6.34375 9.9000482,6.443972 9.6695391,6.580022 9.4375,6.71875 c -0.00741,0.0044 -0.023866,-0.0045 -0.03125,0 -0.031933,0.0193 -0.062293,0.04251 -0.09375,0.0625 -0.120395,0.0767 -0.2310226,0.163513 -0.34375,0.25 -0.1061728,0.0808 -0.2132809,0.161112 -0.3125,0.25 C 8.4783201,7.442683 8.3087904,7.626638 8.15625,7.8125 8.0486711,7.942755 7.9378561,8.077785 7.84375,8.21875 7.818661,8.25713 7.805304,8.30462 7.78125,8.34375 7.716487,8.446782 7.6510225,8.548267 7.59375,8.65625 7.4927417,8.850956 7.3880752,9.071951 7.3125,9.28125 7.30454,9.30306 7.288911,9.3218 7.28125,9.34375 7.2494249,9.4357 7.2454455,9.530581 7.21875,9.625 7.1884177,9.731618 7.1483606,9.828031 7.125,9.9375 7.0521214,10.279012 7,10.635705 7,11 l 0,2 0,68 0,2 c 0,2.781848 2.2181517,5 5,5 l 2,0 68,0 2,0 c 2.781848,0 5,-2.218152 5,-5 l 0,-2 0,-68 0,-2 C 89,10.635705 88.94788,10.279012 88.875,9.9375 88.83085,9.730607 88.78662,9.539842 88.71875,9.34375 88.71105,9.3218 88.69545,9.30306 88.6875,9.28125 88.62476,9.107511 88.549117,8.913801 88.46875,8.75 88.42717,8.6672 88.38971,8.580046 88.34375,8.5 88.28915,8.40279 88.216976,8.31165 88.15625,8.21875 88.06214,8.077785 87.951329,7.942755 87.84375,7.8125 87.700576,7.63805 87.540609,7.465502 87.375,7.3125 87.36383,7.3023 87.35502,7.29135 87.34375,7.28125 87.205364,7.155694 87.058659,7.046814 86.90625,6.9375 86.803679,6.86435 86.701932,6.784136 86.59375,6.71875 c -0.0074,-0.0045 -0.02384,0.0044 -0.03125,0 -0.232039,-0.138728 -0.462548,-0.274778 -0.71875,-0.375 0.301527,0.0968 0.596455,0.204138 0.875,0.34375 0.55709,0.279224 1.060053,0.665694 1.5,1.09375 0.219973,0.214028 0.409366,0.441865 0.59375,0.6875 0.184384,0.245635 0.355408,0.507743 0.5,0.78125 0.14012,0.265048 0.276135,0.524729 0.375,0.8125 0.01041,0.03078 0.02133,0.06274 0.03125,0.09375 0.09046,0.278085 0.1388,0.579404 0.1875,0.875 C 89.95865,11.3493 90,11.665279 90,12 l 0,2 0,68 0,2 c 0,3.324 -2.676,6 -6,6 l -72,0 z"
inkscape:connector-curvature="0"
id="path3615"
style="opacity:0.2;fill:url(#radialGradient3619);fill-opacity:1;fill-rule:nonzero;stroke:none" />
</g>
<g
id="layer5">
<rect
width="66"
height="66"
rx="12"
ry="12"
x="15"
y="15"
clip-path="url(#clipPath3613)"
id="rect3171"
style="opacity:0.1;fill:url(#linearGradient3613);fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;filter:url(#filter3794)" />
</g>
<g
id="layer3">
<path
d="m -74,16 0,12.8 A 51.2,51.2 0 0 1 -22.8,80 L -10,80 A 64,64 0 0 0 -74,16 z m 0,21.577143 0,12.434286 A 29.988571,29.988571 0 0 1 -44.011429,80 l 12.434286,0 A 42.422857,42.422857 0 0 0 -74,37.577143 z m 8.777142,24.868571 C -70.07034,62.445714 -74,66.375376 -74,71.222857 -74,76.07034 -70.07034,80 -65.222858,80 c 4.847482,0 8.777144,-3.92966 8.777144,-8.777143 0,-4.847481 -3.929662,-8.777143 -8.777144,-8.777143 z"
inkscape:connector-curvature="0"
transform="translate(90,0)"
clip-path="url(#clipPath3754)"
id="path3744"
style="opacity:0.4;fill:#ffffff;filter:url(#filter3762)" />
<path
d="m 16,16 0,12.8 A 51.2,51.2 0 0 1 67.2,80 L 80,80 A 64,64 0 0 0 16,16 z m 0,21.577143 0,12.434286 A 29.988571,29.988571 0 0 1 45.988571,80 l 12.434286,0 A 42.422857,42.422857 0 0 0 16,37.577143 z m 8.777142,24.868571 C 19.92966,62.445714 16,66.375376 16,71.222857 16,76.07034 19.92966,80 24.777142,80 c 4.847482,0 8.777144,-3.92966 8.777144,-8.777143 0,-4.847481 -3.929662,-8.777143 -8.777144,-8.777143 z"
inkscape:connector-curvature="0"
id="circle3643"
style="fill:#ffffff" />
<path
d="m -88,6 c -3.324,0 -6,2.676 -6,6 l 0,72 c 0,3.324 2.676,6 6,6 l 72,0 c 3.324,0 6,-2.676 6,-6 l 0,-72 c 0,-3.324 -2.676,-6 -6,-6 l -72,0 z m 4,11 a 64,64 0 0 1 64,64 l -12.8125,0 A 51.2,51.2 0 0 0 -84,29.8125 L -84,17 z m 0,21.5625 A 42.422857,42.422857 0 0 1 -41.5625,81 L -54,81 A 29.988571,29.988571 0 0 0 -84,51 l 0,-12.4375 z m 8.78125,24.875 c 4.847482,0 8.78125,3.933769 8.78125,8.78125 C -66.4375,77.066233 -70.371268,81 -75.21875,81 -80.066232,81 -84,77.066233 -84,72.21875 c 0,-4.847481 3.933768,-8.78125 8.78125,-8.78125 z"
inkscape:connector-curvature="0"
transform="translate(100,0)"
clip-path="url(#clipPath3775)"
id="rect3766"
style="opacity:0.8;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter3787)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

View file

@ -139,7 +139,7 @@ if (!empty($breadcrumb)) {
}
echo '</div>';
if (isset($_SESSION['cutFile']) && !empty($_SESSION['cutFile'])) {
echo '<div class="paste"><a href="?bc=', $ci['bc'], '&amp;op=paste&amp;token=', $token,'">Paste : ',substr($fullListFile[$_SESSION['cutFile']]['title'], 0, 18),'... here</a></div>';
echo '<div class="paste"><a href="?bc=', $ci['bc'], '&amp;op=paste&amp;token=', $token, '"><img src="images/paste.svg" alt="Paste here" title="Paste here"/>', substr($fullListFile[$_SESSION['cutFile']]['title'], 0, 22), '...</a></div>';
}
if (empty($listCurrentDir) && empty($listCurrentFile)) {
if ($ci['ac'] === 'confDelDir' && isLog()) {
@ -172,6 +172,14 @@ if (!empty($listCurrentDir) && $ci['ac'] !== 'view') {
}
}
if (!empty($listCurrentFile) && $ci['ac'] !== 'view') {
echo '
<div class="export">
<ul>
<li>Stream : </li>
<li><a href="?ac=m3u&amp;bc='.$ci['bc'], '"><img src="images/playlist.svg" alt="Playlist m3u" title="Playlist m3u"/></a><li>
<li><a href="?ac=rss&amp;bc='.$ci['bc'], '"><img src="images/rss.svg" alt="RSS" title="RSS"/></a></li>
</ul>
</div>';
$listCurrentFile = sortFile($listCurrentFile, $fullListFile, $ci['sort']);
foreach ($listCurrentFile as $key => $value) {
$thumb = '';
@ -223,7 +231,6 @@ if (!empty($ci['ac']) && $ci['ac'] === 'view' && !empty($listCurrentFile)) {
if ($_SESSION['log'] === true) {
echo '<div id="toolbar">
<a href="?ac=view&amp;bc=', $ci['bc'], '&amp;file=', $ci['file'], '&amp;token=', $token, '&amp;op=cutVideo"><img src="images/cut.svg" alt="Cut this video" title="Cut this video"/></a>
<a href="?ac=view&amp;bc=', $ci['bc'], '&amp;file=', $ci['file'], '&amp;token=', $token, '&amp;op=pasteVideo"><img src="images/paste.svg" alt="Paste this video" title="Paste this video"/></a>
<a href="?ac=view&amp;op=3&amp;bc=', $ci['bc'], '&amp;file=', $ci['file'], '&amp;token=', $token, '"><img src="images/useThumbnail.svg" alt="Use this thumbnail for folder thumbnail" title="Use this thumbnail for folder thumbnail"/></a>
<a href="?ac=view&amp;bc=', $ci['bc'], '&amp;file=', $ci['file'], '&amp;token=', $token, '&amp;op=confDelVideo"><img src="images/delete.svg" alt="Delete this video" title="Delete this video"/></a>
</div>';

View file

@ -457,6 +457,50 @@ function listVideo($breadcrumb) {
return glob("*.webm");
}
function makePLaylist($breadcrumb) {
$allFile = glob($GLOBALS['config']['VIDEODIR'].'/'.$breadcrumb."/*.webm");
$m3u = '';
foreach ($allFile as $value) {
$m3u .= 'http://'.$_SERVER['HTTP_HOST'].'/'.$value."\n";
}
header('Content-type: text/plain');
header("Content-Type: application/force-download");
header("Content-Disposition: Attachment; filename=playlist.m3u");
echo $m3u;
exit();
}
function makeRss($breadcrumb, $fullListFile) {
$allFile = glob($GLOBALS['config']['VIDEODIR'].'/'.$breadcrumb."/*.webm");
$rss = '<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>SoViGall</title>
<lastBuildDate>Sat, 07 Sep 2002 00:00:01 GMT</lastBuildDate>
<link>http://'.$_SERVER['HTTP_HOST'].'</link>';
foreach ($allFile as $value) {
$oriValues = $value;
$hash = substr(str_replace('.webm','',$oriValues),-10, 10);
$rss .= '
<item>
<title>'.html_entity_decode($fullListFile[$hash]['title'], ENT_QUOTES, "UTF-8").'</title>
<description>
'.html_entity_decode($fullListFile[$hash]['desc'], ENT_QUOTES, "UTF-8").'
Origin => '.$fullListFile[$hash]['url'].'
</description>
<pubDate>'.date("D, d M Y H:i:s", strtotime($fullListFile[$hash]['uploadDateSort'])).'</pubDate>
<link>http://'.$_SERVER['HTTP_HOST'].'/'.$value.'</link>
<enclosure url="http://'.$_SERVER['HTTP_HOST'].'/'.$value.'" type="video/webm" />
</item>';
}
$rss .= '
</channel>
</rss>';
header('Content-type: application/rss+xml; charset=UTF-8');
echo $rss;
exit();
}
function parseVideoDescription($file, $fullInfo = false) {
$value = json_decode(file_get_contents($file));
}
@ -490,9 +534,6 @@ function getVideoInfo($file, $dir, $fullListFile) {
return $info;
}
function editVideoDescription() {
}
function getThumbnail($path, $value) {
if (file_exists(getcwd().'/'.$value.'/thumb.jpg')) {
return $path.$value.'/thumb.jpg';
@ -676,6 +717,12 @@ function clearCache() {
}
}
if (isset($ci['ac']) && !empty($ci['ac']) && $ci['ac'] === 'm3u') {
makePLaylist($ci['bc']);
}
if (isset($ci['ac']) && !empty($ci['ac']) && $ci['ac'] === 'rss') {
makeRss($ci['bc'], $fullListFile);
}
if (!empty($ci['ac']) && $ci['ac'] === 'login' && !empty($ci['op']) && (int)$ci['op'] === 2) {
verifToken($ci['token']);
if (login($ci) === true) {

View file

@ -47,6 +47,11 @@ body {
background-color: #141414;
}
.topMenu a:hover {
background-color: #333;
box-shadow: 1px 1px #000;
}
#breadcrumb {
margin: 1.2em 0;
}
@ -82,9 +87,8 @@ body {
}
.paste {
height: 2em;
margin: 0;
padding: 0.2em;
padding: 0;
border: 2px solid #dfdfdf;
border-radius: 0.2em;
background-color: #262626;
@ -93,6 +97,14 @@ body {
.paste a {
text-decoration: none;
vertical-align: middle;
height: 2em;
line-height: 2em;
}
.paste img {
height: 2em;
float: left;
}
.dir, .video {
@ -120,6 +132,34 @@ body {
width: 270px;
}
#listFile .export, #listFile .export ul {
text-align: right;
margin: 0;
padding: 0;
}
#listFile .export li {
display: inline-block;
list-style: none;
margin: 0;
padding: 0;
vertical-align: middle;
}
#listFile .export a {
width: auto;
height: 24px;
display: inline-block;
border: none;
border-radius: none;
text-decoration: none;
text-align: center;
position: relative;
vertical-align: top;
margin: 0;
padding: 0;
}
#sort {
padding: 0 0 0 32px;
position: fixed;