[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
rm $pageCache*.html
done
rm $pageCache*.html
# -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>';
@ -252,7 +259,7 @@ if (!empty($ci['ac']) && $ci['ac'] === 'view' && !empty($listCurrentFile)) {
</tr>
<tr>
<th>Url</th>
<td><a href="', htmlentities($videoInfo['url']), '">', $videoInfo['url'], '</a></td>
<td><a href="', htmlentities($videoInfo['url']), '">', $videoInfo['url'], '</a></td>
</tr>
<tr>
<th>Duration</th>
@ -263,13 +270,13 @@ if (!empty($ci['ac']) && $ci['ac'] === 'view' && !empty($listCurrentFile)) {
<td>', $videoInfo['size'], '</td>
<tr>
<th>Publish date</th>
<td>', date("d m Y", strtotime($videoInfo['uploadDate'])), '</td>
<td>', date("d m Y", strtotime($videoInfo['uploadDate'])), '</td>
</tr>
<tr>
<th>Via</th>
<td>';
if (!empty($videoInfo['via'])) {
echo '<a href="', htmlentities($videoInfo['via']), '">', $videoInfo['via'], '</a>';
echo '<a href="', htmlentities($videoInfo['via']), '">', $videoInfo['via'], '</a>';
} else {
echo '';
}

View File

@ -276,9 +276,9 @@ function n_print($data, $name = '') {
<fieldset style="border: 1px solid orange; padding: 5px;color:#1E1915; background-color: #fff;">';
echo '
<legend style="border:1px solid orange;padding: 1px;background-color:#eee;color:orange;">
', basename($aBackTrace[0]['file']), ' ligne => ', $aBackTrace[0]['line'], '
', basename($aBackTrace[0]['file']), ' ligne => ', $aBackTrace[0]['line'], '
</legend>';
echo '<pre style="color:#1E1915;">', htmlentities(print_r($data, 1)), '</pre>';
echo '<pre style="color:#1E1915;">', htmlentities(print_r($data, 1)), '</pre>';
echo '
</fieldset>
<br />';
@ -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;