[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 bin/cronTask.sh
option.php option.php
pagecache pagecache
*~

View file

@ -19,7 +19,7 @@ do
then then
while read urlHash url destination while read urlHash url destination
do 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" convert "$urlHash.jpg" -resize 260 "$urlHash.thumb.jpg"
sleep 10 sleep 10
if [ ! -f $urlHash.*.part ] if [ ! -f $urlHash.*.part ]
@ -30,6 +30,6 @@ do
fi fi
done < $file done < $file
fi fi
rm $pageCache*.html
done done
rm $pageCache*.html
# -rc_lookahead 16 -g 360 -threads 3 # -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>'; echo '</div>';
if (isset($_SESSION['cutFile']) && !empty($_SESSION['cutFile'])) { 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 (empty($listCurrentDir) && empty($listCurrentFile)) {
if ($ci['ac'] === 'confDelDir' && isLog()) { if ($ci['ac'] === 'confDelDir' && isLog()) {
@ -172,6 +172,14 @@ if (!empty($listCurrentDir) && $ci['ac'] !== 'view') {
} }
} }
if (!empty($listCurrentFile) && $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']); $listCurrentFile = sortFile($listCurrentFile, $fullListFile, $ci['sort']);
foreach ($listCurrentFile as $key => $value) { foreach ($listCurrentFile as $key => $value) {
$thumb = ''; $thumb = '';
@ -223,7 +231,6 @@ if (!empty($ci['ac']) && $ci['ac'] === 'view' && !empty($listCurrentFile)) {
if ($_SESSION['log'] === true) { if ($_SESSION['log'] === true) {
echo '<div id="toolbar"> 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=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;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> <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>'; </div>';
@ -252,7 +259,7 @@ if (!empty($ci['ac']) && $ci['ac'] === 'view' && !empty($listCurrentFile)) {
</tr> </tr>
<tr> <tr>
<th>Url</th> <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>
<tr> <tr>
<th>Duration</th> <th>Duration</th>
@ -263,13 +270,13 @@ if (!empty($ci['ac']) && $ci['ac'] === 'view' && !empty($listCurrentFile)) {
<td>', $videoInfo['size'], '</td> <td>', $videoInfo['size'], '</td>
<tr> <tr>
<th>Publish date</th> <th>Publish date</th>
<td>', date("d m Y", strtotime($videoInfo['uploadDate'])), '</td> <td>', date("d m Y", strtotime($videoInfo['uploadDate'])), '</td>
</tr> </tr>
<tr> <tr>
<th>Via</th> <th>Via</th>
<td>'; <td>';
if (!empty($videoInfo['via'])) { if (!empty($videoInfo['via'])) {
echo '<a href="', htmlentities($videoInfo['via']), '">', $videoInfo['via'], '</a>'; echo '<a href="', htmlentities($videoInfo['via']), '">', $videoInfo['via'], '</a>';
} else { } else {
echo ''; 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;">'; <fieldset style="border: 1px solid orange; padding: 5px;color:#1E1915; background-color: #fff;">';
echo ' echo '
<legend style="border:1px solid orange;padding: 1px;background-color:#eee;color:orange;"> <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>'; </legend>';
echo '<pre style="color:#1E1915;">', htmlentities(print_r($data, 1)), '</pre>'; echo '<pre style="color:#1E1915;">', htmlentities(print_r($data, 1)), '</pre>';
echo ' echo '
</fieldset> </fieldset>
<br />'; <br />';
@ -457,6 +457,50 @@ function listVideo($breadcrumb) {
return glob("*.webm"); 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) { function parseVideoDescription($file, $fullInfo = false) {
$value = json_decode(file_get_contents($file)); $value = json_decode(file_get_contents($file));
} }
@ -490,9 +534,6 @@ function getVideoInfo($file, $dir, $fullListFile) {
return $info; return $info;
} }
function editVideoDescription() {
}
function getThumbnail($path, $value) { function getThumbnail($path, $value) {
if (file_exists(getcwd().'/'.$value.'/thumb.jpg')) { if (file_exists(getcwd().'/'.$value.'/thumb.jpg')) {
return $path.$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) { if (!empty($ci['ac']) && $ci['ac'] === 'login' && !empty($ci['op']) && (int)$ci['op'] === 2) {
verifToken($ci['token']); verifToken($ci['token']);
if (login($ci) === true) { if (login($ci) === true) {

View file

@ -47,6 +47,11 @@ body {
background-color: #141414; background-color: #141414;
} }
.topMenu a:hover {
background-color: #333;
box-shadow: 1px 1px #000;
}
#breadcrumb { #breadcrumb {
margin: 1.2em 0; margin: 1.2em 0;
} }
@ -82,9 +87,8 @@ body {
} }
.paste { .paste {
height: 2em;
margin: 0; margin: 0;
padding: 0.2em; padding: 0;
border: 2px solid #dfdfdf; border: 2px solid #dfdfdf;
border-radius: 0.2em; border-radius: 0.2em;
background-color: #262626; background-color: #262626;
@ -93,6 +97,14 @@ body {
.paste a { .paste a {
text-decoration: none; text-decoration: none;
vertical-align: middle;
height: 2em;
line-height: 2em;
}
.paste img {
height: 2em;
float: left;
} }
.dir, .video { .dir, .video {
@ -120,6 +132,34 @@ body {
width: 270px; 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 { #sort {
padding: 0 0 0 32px; padding: 0 0 0 32px;
position: fixed; position: fixed;