From fa01d816b3b2d9dfb4f6b37435d1a6fd3cbf76f7 Mon Sep 17 00:00:00 2001 From: Benjamin Southall Date: Sat, 8 Oct 2016 15:29:06 +0900 Subject: [PATCH] Add stream theme / extension to Lainchan --- templates/themes/stream/info.php | 74 ++++++++++++++++++++++++ templates/themes/stream/stream.html | 84 ++++++++++++++++++++++++++++ templates/themes/stream/theme.php | 34 +++++++++++ templates/themes/stream/thumb.png | Bin 0 -> 7872 bytes 4 files changed, 192 insertions(+) create mode 100644 templates/themes/stream/info.php create mode 100644 templates/themes/stream/stream.html create mode 100644 templates/themes/stream/theme.php create mode 100644 templates/themes/stream/thumb.png diff --git a/templates/themes/stream/info.php b/templates/themes/stream/info.php new file mode 100644 index 00000000..169cbe46 --- /dev/null +++ b/templates/themes/stream/info.php @@ -0,0 +1,74 @@ + 'Site title', + 'name' => 'title', + 'type' => 'text' + ); + + $theme['config'][] = Array( + 'title' => 'Slogan', + 'name' => 'subtitle', + 'type' => 'text', + 'comment' => '(optional)' + ); + + $theme['config'][] = Array( + 'title' => 'File', + 'name' => 'file', + 'type' => 'text', + 'default' => 'stream.html', + 'comment' => '(eg. "stream.html")' + ); + $theme['config'][] = Array( + 'title' => 'OGV stream URL', + 'name' => 'ogvurl', + 'type' => 'text', + 'default' => 'https://lainchan.org/radio_assets/lainstream.ogg') + ); + $theme['config'][] = Array( + 'title' => 'RTMP stream URL', + 'name' => 'rtmpurl', + 'type' => 'text', + 'default' => 'rtmp://lainchan.org/live/&stream') + ); + + $theme['config'][] = Array( + 'title' => 'OGV Status URL', + 'name' => 'ogvstatus', + 'type' => 'text', + 'default' => '/radio_assets/status.xsl') + ); + + $theme['config'][] = Array( + 'title' => 'RTMP Status URL', + 'name' => 'rtmpstatus', + 'type' => 'text', + 'default' => '/live/status?app=live&name=stream') + ); + $theme['config'][] = Array( + 'title' => 'RTMP Viewers URL', + 'name' => 'rtmpviewers', + 'type' => 'text', + 'default' => '/live/subs?app=live&name=stream') + ); + + + // Unique function name for building everything + $theme['build_function'] = 'stream_build'; + $theme['install_callback'] = 'stream_install'; + if (!function_exists('stream_install')) { + function stream_install($settings) { + } + } + diff --git a/templates/themes/stream/stream.html b/templates/themes/stream/stream.html new file mode 100644 index 00000000..cf952366 --- /dev/null +++ b/templates/themes/stream/stream.html @@ -0,0 +1,84 @@ +{% filter remove_whitespace %} + + + + + + + {{ settings.title }} + {% if config.meta_keywords %}{% endif %} + + {% if config.url_favicon %}{% endif %} + + + {% if config.font_awesome %}{% endif %} + + + + + +
+ {{ boardlist.top }} +
+
+

{{ settings.title }}

+
{{ settings.subtitle }}
+
+ +
+ + +
+

Now Streaming RTMP unknown

+

Now Streaming OGV unknown

+

Current RTMP viewers: unknown

+

Current OGV viewers: unknown

+
+

Raw stream URLs for Mplayer, mpv, VLC, etc:

+

RTMP : {{ setings.rtmpurl }}

+

OGV : {{ setings.ogvurl }}

+

+
+ + + +
+ + + + +{% endfilter %} diff --git a/templates/themes/stream/theme.php b/templates/themes/stream/theme.php new file mode 100644 index 00000000..6d11a0dc --- /dev/null +++ b/templates/themes/stream/theme.php @@ -0,0 +1,34 @@ + $settings, + 'config' => $config, + 'boardlist' => createBoardlist(), + )); + } + }; + +?> diff --git a/templates/themes/stream/thumb.png b/templates/themes/stream/thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..d0c3c77135a2f7a0e4d4f7e2b5caf3645719244c GIT binary patch literal 7872 zcmV;x9zWrUP)rLWKWn(9{v)Rg~Qr?Y^RFX|9 zM|oXkZ+xX3$Cm8SA}NcvcuAs2iZ=lg1PMSO2oU#u%?##xNB1IKQ$(@gQpu7PeCCNyjBz}m&W&fltPnNeXChk`Lb&Q zlullUs@LC(r`buO1%o};UIwL8&L%i0)jQoFqL@^)DME`RRbF6me*m!P`VHy1_2_zkdGBet0lAiKhd>CBK927bj)bu-!PNLPb|gyBHnGDtp6lUD zNiYz=woE+F!!%8#lsAmW_dT*Xhef4$o{MSOghBz7^vPr#!qG6MkfbvXk#GQQD29Om z9LK@&JZw9Namz-C0+tZ^zm-fjNzxPenIzp;`&n4XVuym*mPJit6LpnQlIbjBCd0LX z30ALbW^!nhP-!VP5?={QN@MtbhF~a4GL@vJyppR|uAnTF{@ziV*EXSYS*~3jV*P{n z5eph5;&E~+$i{UI%uP>GR=$Fe$t|LQ1w#LUK{y;{w)ZNo86*;Nm`yB@n42e7+lc2m z1VbUl`uj;`GPGZ4V{&|+y5>4&Mn;I|-~*3+n2MqRJ__3oU>cH%k#QV5L@*p8J~Pcg z-zec|gyH@{rVNEAeNtJ$nzc=Y0s%mQFhFq&C}073?^lw|<|r<&qS-K+8Id$sHxM>_ zl<;w-K`3BTT3LlvB2mhxC^AFiT}_k~MR9znC@&%tpTrIY@LU&P8pO(Ccy^SKA(@LO zsA;GtRumzdO(8{y>LQ!D1rL0ok zpCEqZ3~uL9hCly1O#I(JXZR0(lcCT37IS+JkZV1}$RB@}$-n1n5JIrn*HA2F=H9TKKVI<4N=Da>@(P559@))DSPL8$dy--Idg!qFa04EpL(46 zXP%_^iQgu7W*;MGPgDH9&BUMiA;OQ7*!47lhdzoa#~A;!KO(%L0h1sjfA}eUyO!vx zVn+Y;KVw#(rR>qo$aLmcF$5G40)&!C3AJDT2C;|NB8uv5c(M9-?*lv55mBR6axyC zUI04;UKXqnC=V2X0%7X1AaofKGH@>(rt@P@(D3~isrorM-V8CBh7Wj`DwhJoz$_`#hKBDU0zriGP@V+w z=1v0(7zX%RQb+cXIDCNI;4nB@{P}s^n7BFonQ4^g00MyoDM5ND$I(|%dcg<;pcF#- z=xeTn%4HCxD=7c(AE3rB5kJ;~U0VfqDX|Z}li8m>iKtkK z@X`cU)RF1Bj8(k?cVZkP7=mB~)9`UdM=mV5zmt$*Q7a{>zp@Lk!Lg#GZxd+J3pP)<1}6x zKjmOVqX+>a7(%AvC|6<>6=?@idOk)ts+WxA%qZE>IU@Joi^`=@K3FA1xYJV@(GpZP zg$PBEsRfKk5k}C$o1WGVp%D%tOam10MFU8^nFdfGA8H5U#yJ9Q1i~=#zJdoLe=H@S z(9WP~qERYePTa^xn7R>_=jl9M#+L}o(lYs3#|@oIX?^))2?~I?=pDGz44^<^8d#tZ z4^W^G4^W^m4J@#<5LBQr1Q-T)A_XT<2#~%azd&@SQRo3oOE5F;)AE9YWiQ)D;-+JM z?zuv6^9~>RV|324txRq!3I<>p3MB=(jKcE(1copGg;Wy5ut0}1`S~qg%o}+^%LxFK z@^#)~is!jlb{GSNpVy(Jk7))_(#6l~x?L!&18744!w`VPagumSP+C+;A~6hBG0{*M zsRW*rAnQtsBPHaVjBZpfH_G7?TX^sL|2HvaY3n+}{r7wr%6rfK5)KDHgg_i_krv_1$Efy9?e%Sh>K zW0by&VcJ?2VPaV}LI{0b*M-n>O8E%G#uVU5A5$23(!;hwNak^H_Ve;euwRczR4>+2WaVh zp7R%;qNDdbqoe28vF|Ii_nc*Nx|7}ezQ|L%zsj+5Kj4|g>&MUkh@bBM3X_Q>;b2sM zh_)R@xd}!ldoisrmKC@$P*_$N`~}7)`!LJ^reWjc=E*uaOvBU-hA=SjnVua)sT{9# zA10a2GC9@7d~%AZ#dKt90N+b6GTu!xIl<6y8;SHhBcqpaB;+y^biQ(s*7n^DP7Y$* z5o{|!e0~tem&{Fd&^_3Jo10^JvJdH|>Fhql_~bQu`c9B>edcF6>AHS_M7*DosX+|G ze(OXl>ldI9Sf=1w?(D^2U4AnZ>t9iJtYnjsvCA!VAr!3$(F(@e}w zF*n=Gs`Zak5pwAnYGZ1;gULje6|oY|wC-Zl1HZ@m+B&N09%e(sU0m-!L*GyfgX29o z=_!t%`VNOr{1Zn`{fPNYmi}w|*nRlxoH+jjUOfICb|3m{c0T|2oV&D_v*({;_mOXs za3ljgyV!Z)FL>Fhf~Yuk1X9{UbmePQ|-H%nIEQq;5b)$UZUsfA+GdY#Ii$xdMg-!(A}yKpu0eK0V7<`y84Yo zVjFq<1OJnrj_t%69%Exe6Y>3&3bAp8W|Y6KxNJSRF+mVGSq?V7^pXEc$CaHVT$_junQTheg;LrtFakwXl&&Cbz~syzkx((yGkxUT6p9e# zNd8~=M*S(j3A@O{VSlL}PH9W|sHSfk2E~BHJxKg2nMR{2hMd5Nv z%bF=Ku4ExS&P;rsHETaWZD|dTlcl_JBQ+I`G_8Du#;OMVx5yA6Mkbtj%NDV*ewUN` zvgmMP(*`9$7AU(7*r~JH^FHuSm2!!am@>4F4O!4s#{|SblMdr7H zQ%Y({g~a!Dc?19oUwQ~(;$)_nN+zkVUX7G4rfKK>1OvkW&_+WZou>qt!a^z!m9N1x zLzo75o~vbqFtDs3O8L5B6lgvA{sbfvBPc6IELw77>l&obTzr^7xSD7%q{VGJi0|jf zIaz&AhA_1cAf<~^=wpGn;UK>Sh>OulM;pNCzZt-uET#?1=WREC@Jr{*5r##;vT@wB zHVO^PbS@{~6PbpA=Q$vZr2?>2-|}+He;2LfFR-5}OS2p$VM(uUP^7Po7y;Ti5KEh8 zF25mAZ^0cxl!Ab5@R3hODT*2T{Ebt>>nFsmp@0QTTl3Y_n-rCp+@Tb{4fH+kC<-i1 z1Mg%CUk7U=C|E&Z2tWwHWuR|BPoeq;hjFEkbTjmHU7>ey6i06Xi$*EQ66mdF0p=%0 z=^viJ$u4lEt%a^@gA};kR|17T1w4))+{ga?`#JRdOYGUTooDwP;N-F6oIHD$L(lEz z;E_`ROpaV<&$G|)?CyQM_~K#q?AgoVg9q5QZ3n0RO?K}Nwm$O=Ep0t0-ZB(|LWLpF zi!jatJ)M&jRn!qSOq_*zQnrPc9%VM;6N?79aPACo8DR5+4^k3>S30^`xp4z?NvT9`=g4>Y-7B?XQoA*8TQR*63Ffl$wJU)SE6jNj=%t#S)<3kXPF*eZ0-5XZ% z>CgN=J|KflC>-AxJ@ZAHRsRI#C_G>om2BOo_ekL zo~PdO6qq-7ofxLczb6XQKm>Oxg=wHbV_AYbkb)B^0Ht7L(4{zL>f_~rc(n(Ry*kUw zylUR9r4STq3OrA7WJe0i0wGL-!6-_)I#@yo1C+w^otv6S$KUxmd?}a5{=)KDVhkNK z;5up4O>zQ-!m>gb%E$fH1XC2IfkKe~4m`t!i$B8;Hn6gK1!>186bMpLzM6n#;dvRP zbm+T&jPlyIQCn82qhdhdOBd4!Xl0gZ>7YwbN^MYXc9PDkr&zz?F)WoqVPP2tIX6Q% zT+Gvx?Y9sl5CW`Vl#!l&>_7ekR<3>&)4P|U zku!AlckuXQf5G_hX_{7ljJunfxp47m?z-RPa$76qE8d0e&ruS)i`n^J@N@JJbx^nR zgRH44Vc*#utXua^j=lU%uJpI@uFao7rMl@J8{^%ZpP=)~7G65_WA1wBPg&Qv5t&P& zQ4)pHy^TO2m7kCP4KD?82m>o0xs-FW1OiczuI@=}JF4Y;>FRuKjDavZGDv`KSSj<* zEAqiGbUo;ZVBPy^V^8NYI?^Z-E> zFrPJ;p1h1FY*saHz<_)sy8r|N5w3OZWWo)wrfxk#*p$aAxjxWNv}iHyI}G+pN{hn; z?5OT>d?gq2>RC})%g9Iz6BC^T%kL-bT&HV%k`4818JZbkWla;;uAgW1h9{U9I7Cs! zJ@~0XW-Pj>bq6^$QZ&59;m&%OPA9c&mjbJJa< zJRdhT##DTYSV<%JXKhsTn*Fi3I9%OWS z7|%=4b@dR(PJEk-Js0p7WuIR(pyyut9@j_O>FC(a*-P6wb#Xf#ue`*?j$L$IKTmpL zoI@}CHD@}Gka4nPb4jx4QCiyf(R2M2Ne8ORRxmPrnvR~A>FIB!w0tGVETM2QO8KNx z<1FM{YO7XL5{YoFXFo5#{5?)w+{xJVAgS~`uFTQfdxXy3bIc{DaJ)2z2$D{ZG7}$V zZnlRjSC8|`)dRG5AJ;NMShwR+FnWBiYkofuN>lGPU0+^B&i6?zjAI8&iO=;@z2YHq zxg2kQ__GMpWM+1VXmLHop#Xy;mnkk=MaVRXL@FpP`6J4TOS#&6mYTZzX=->k(NGcp z=|dX`l4fLfhK+Za98qLC89(F}orNojE{jrE&pZg`0MfNUmCCO1PO<55<*j?J4s zM!2XR<;1}XkzO!pZmy>+`Y5SvmS|B0kA3LNxIUP8Siw>}KgaEWm`$j8%O*D5>vDKo z0@D&8gzioS9-i+bApa{FsUvk=H-jgAY%2&TEHi+VF1}Pca#rSd#*+DHV&C_*_phUh zg^929FKkd4Sf)YFNn=@&d_ZU>?*J}2afTVhHcc(39WDd`D~OKx%{yQ>xm5}j5~&ng zPRV@auC7ntld0dA1L!dyVOTo#d{@^Ym;3^_k+1)BodSvLIRIGtz39khl#;r<0DL92 zc0Zpdgu3yNOkeuk2E?@im=>|I0hgY(Ea8YiDQ-{lo;xUR1+N|jEtX~wZ(ZUR`FpS| z!K1$xC0cB7hf;_L@?6CoO2GgM6bzt1!2krHNG21^&CQc@{a@e_n6K^+sin+U6M92W z5109A;2WY46)d^<@(~V5<~sHJoV52#IZ9i zv|Vh+QE>W&J#2gK1?Fa_X=`g^d}5OJ3+I_iq)AU*=f_Vy#mID=s~zo(OiVL)t&3~d zhv{l-yU{P$c7VdOI($W$PAp?%Bh>{YOc99*!dk1Pop~1uT|>u!2OQ5sJ!J6RGh@%ueGu zP+d`qotUFI64GB9tzEMgABTWhOj%hBS<}QjitCw=PvZCvRna1pNa4CJb|i}QT&h-X z#7n!>tzJu+Em4sQYO5>pT@PVcR996nGCo34MGZk5MkW&6bMFIG#ez&sPcuC}$*PU_ zQ&nEX_*j^5)Md?@M%r73XhdVR00m|fYJNVY)U_V>=LUsJsWjPaR;Rw_s8l+W z&y&jcJ)L(mQl--=hynsf7iddQMLHQYq=V%5lAXi6xv|R%IPmd2UXnGr5~I zCzA^|$!0TIoh~fuc3oF_zErQ70`toZ;0~n_6FM zgaIdc&v>P)ixVf#asBF5Cg&EI=*B!dHe%p}qP_}Mg9+Al8VU1n%(lF^Yt zdb+#VzI6vZ!$S;@Pw@*mnKnF?#J4UO0S&*2_Jll5_0dzKwJ3UF>^yJ4cS6=J>HAOfF<_9apab-a=Dy^cveg%e<6qi?160tFZ#Z<&17{QoMOJn7_&hl84^2!xF^zb`*aPz%X zRa8-1-#|r4kkRo;tZ)hUKllzFe#hIXuPA0>auzEbrEWzXRaG@KHm+cHY8qehY83eY z?3i5&!axj!?|(h@3L?HpchmgsZXCCvSP;BH0|NsjlX?DrIluvU-kSr9B+wzMXssh6 z(0iL2`wkM=l%*t~VIquaWUUZ$H22J-TH!78Aw*~abYl=}-q+=Y+w}snG4}(iiV=ZG zjm$PvtW^r2!~C1t5SJAdoj2fCwb1r~7XoLC6^mAOtWX zM9z^@Is%LlO2vqr(g3)MZ6``k0ZIc<8h{c5g#sA4JZcBmm;avm{B`Mm>mYJq47~ec zo_D|RxOz$;jo}c9CZ$eGZ-Bm z=f(|(T-=|e0p|oUAORS}L-5d#GmNo10vJpAbqt4oVC8ciBoPuZw# zF!yMI%1Vv-Uw&nwyvdX5GCw|?>|o+OIk!sYm2mMu6(|;M32);~lN3$H(b-!H;)z4V_^l85_PcM$k{*AZ25v@{mF<1H zy%-_joFny~I7t|e3|@qhqR@*ICO(?tmRO2TI3uHEA^88<6%34VrIaxj^B5=;AWK06 zyayM7Pay!-4xY}66DSrTjRP1V%fR~t01*KKA%HOg2*wP)OMqPLKK58=!9&1s$#K2| zP{)Q`QwF60C=Ebq07?T;8i3LOlm?(Q0Hpya4M1rCN&`?DfYJcoQyM@-Ua80dyTBOW e$rELO