Plugin Name: ERPPlayer - radio player for Elementor * Description: Add a radio player to the Elementor Page Builder * Plugin URI: https://codecanyon.net * Version: 1.0.4 * Author: Pro.Radio * Author URI: http://qantumthemes.com * Text Domain: erplayer * Domain Path: /languages */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly /** * Main Builder Class * The init class that runs the Elementor Radio Player Builder plugin. * @since 1.0.0 */ final class Elementor_Radio_Player { /** * Plugin Version */ const VERSION = '1.0.3'; /** * Minimum Elementor Version */ const MINIMUM_ELEMENTOR_VERSION = '2.8.4'; /** * Minimum PHP Version */ const MINIMUM_PHP_VERSION = '7.1'; /** * Constructor */ public function __construct() { // Load translation add_action( 'init', array( $this, 'i18n' ) ); // Init Plugin add_action( 'plugins_loaded', array( $this, 'init' ) ); } /** * Load Textdomain */ public function i18n() { load_plugin_textdomain( 'erplayer' ); } /** * Initialize the plugin */ public function init() { // Check if Elementor installed and activated if ( ! did_action( 'elementor/loaded' ) ) { add_action( 'admin_notices', array( $this, 'admin_notice_missing_main_plugin' ) ); return; } // Check for required Elementor version if ( ! version_compare( ELEMENTOR_VERSION, self::MINIMUM_ELEMENTOR_VERSION, '>=' ) ) { add_action( 'admin_notices', array( $this, 'admin_notice_minimum_elementor_version' ) ); return; } // Check for required PHP version if ( version_compare( PHP_VERSION, self::MINIMUM_PHP_VERSION, '<' ) ) { add_action( 'admin_notices', array( $this, 'admin_notice_minimum_php_version' ) ); return; } // Once we get here, We have passed all validation checks so we can safely include our plugin include plugin_dir_path( __FILE__ ) . '/inc/backend/metaboxes/meta_box.php'; include plugin_dir_path( __FILE__ ) . '/inc/backend/posttype/radiochannel.php'; include plugin_dir_path( __FILE__ ) . '/inc/frontend/func/playlist-radio.php'; include plugin_dir_path( __FILE__ ) . '/inc/frontend/func/playlist-radio-elementor.php'; include plugin_dir_path( __FILE__ ) . '/inc/frontend/func/create-track.php'; include plugin_dir_path( __FILE__ ) . '/inc/frontend/func/mp3streamtitle.php'; include plugin_dir_path( __FILE__ ) . '/inc/frontend/func/proxy.php'; include plugin_dir_path( __FILE__ ) . '/inc/frontend/player.php'; include plugin_dir_path( __FILE__ ) . '/inc/frontend/assets.php'; include plugin_dir_path( __FILE__ ) . '/inc/frontend/func/popup.php'; include plugin_dir_path( __FILE__ ) . '/inc/elementor/_plugin.php'; } /** * Admin notice * * Warning when the site doesn't have Elementor installed or activated. * * @since 1.0.0 * @access public */ public function admin_notice_missing_main_plugin() { if ( isset( $_GET['activate'] ) ) { unset( $_GET['activate'] ); } $message = sprintf( /* translators: 1: Plugin name 2: Elementor */ esc_html__( '"%1$s" requires "%2$s" to be installed and activated.', 'erplayer' ), '' . esc_html__( 'Elementor Radio Player', 'erplayer' ) . '', '' . esc_html__( 'Elementor', 'erplayer' ) . '' ); printf( '

%1$s

', $message ); } /** * Admin notice * * Warning when the site doesn't have a minimum required Elementor version. * * @since 1.0.0 * @access public */ public function admin_notice_minimum_elementor_version() { if ( isset( $_GET['activate'] ) ) { unset( $_GET['activate'] ); } $message = sprintf( /* translators: 1: Plugin name 2: Elementor 3: Required Elementor version */ esc_html__( '"%1$s" requires "%2$s" version %3$s or greater.', 'erplayer' ), '' . esc_html__( 'ProRadio Builder', 'erplayer' ) . '', '' . esc_html__( 'Elementor', 'erplayer' ) . '', self::MINIMUM_ELEMENTOR_VERSION ); printf( '

%1$s

', $message ); } /** * Admin notice * * Warning when the site doesn't have a minimum required PHP version. * * @since 1.0.0 * @access public */ public function admin_notice_minimum_php_version() { if ( isset( $_GET['activate'] ) ) { unset( $_GET['activate'] ); } $message = sprintf( /* translators: 1: Plugin name 2: PHP 3: Required PHP version */ esc_html__( '"%1$s" requires "%2$s" version %3$s or greater.', 'erplayer' ), '' . esc_html__( 'Elementor Radio Player', 'erplayer' ) . '', '' . esc_html__( 'PHP', 'erplayer' ) . '', self::MINIMUM_PHP_VERSION ); printf( '

%1$s

', $message ); } } // Instantiate elementor-proradio. new Elementor_Radio_Player();v80;YkQŗI'8K "!6EIʲ:ZS|=ySUI'vg-BP* Ox>dx>|Ȳ>ChK`T67 3aG(g;/Ӊ9^@1~,|:sxsĉk >zM;Ni$Bc1-=u azBJA('Jla4`ZMQEЯ1L{١,X8GX@= |opHsEο~VorhQu+u#˰A66\mL8/O 7}Hh{,^X^}`fY!3<\(rp۱+}.0tbQg;]σxemN(g^By%IPc7Ҙ( lAv;+L^$<.2y(ݧ2ߗ!35 qcB^"p~Yn,Ϸ (8whbt!|ZUrdzƞŚiJ;L q"i8~cUU!+yQ{_Y1G$,-O201^71:"ww[r}VHtCTQ$T{rWFB@+?H%ƥmR7T.c`\ Y>{A5`1 qWVl9 Yw^VHE} ) *jR.yr$K'|$_\Y,jNOr'6jZ|FcH ۲]*K.@8]TY9zXT+-<7"r $ =[53C@r)&UzgQkD'(]t~pn~0¡}Qb}@ۘŭӒCjmim/ 0R h=rT 9Hm*窖zZWyE9 RpcrX"]jX1D"#*$Tˆ.fWoX|c!ֶOv]Xmj%ن{AVcصXB$\i-4ˋT'U {;04 A:q_N}`% w 1AkYݛBҋ,) 7 ~Q̆2~ً#mYxYF s a".Os*)`\?R[$6X0N8(Vi;|ЬՇNkۭӬ7ت]д['No2y lu2`83\Tξe歱as_*t#.TkV==^S5UGQ Ck"`r_Cu'JNxUFR<7|l]Fj*34 K![Z2 czɞaU2 nҏʵFK/eT^$ҟb"`RGǾ<2za\t a VJRn8DW(:]"%xR~ih}Bs54X/^Y4o]l|u돢oep6Tݏ;aU0ϡ+\ƕA 땸( 5) a ZF}!g 񨴭Afiך[F]j/䦙:hNl$\f 6Ql6 ؄F3 7zn֖ou ȚBt scc(VFbDKZVCQ#Bibn9pE8sl%|q/N-7v 0ŕq'>uؔ6>׾x?v=g=Η C>_W ZT܀ڢiKQQ3Q䏶S[+(ge٫ȧn(Ƞ|v?/_z:+'OP G~`XZ.n9,}@>2r ߂.uGu 1=od/_͌@֥5}Xv( =[_[/Aej&1AcsC{c;hɓtp鯍2~\g(;Ҟh*cl-GAcGNFߊ&'e$@o {NL E`>rjEch-KUp$@rI i,Be=5Ӭ2q-Sk!$ab VlA{o1]?njǍ.KSd@=VEn@0{k5 ?U4r\j$Af|xw*Zq'c R' Xq5C)%D-`Kn[[c{}IIv`fkD ` s1MF]ߨ c MQΠwҽ #ik}(~=h$i@dxh~#'x`[ wx`\S Rme,OhD!)}4Թ s2]Z&gn4Nf}kBKL)[: 4πsߝf-"is hT*Zi@Xv3EHr{rb-]77Z(K\-VoZM؝m_FD áAe%ٱR+[N(vu4[3rkEg~6vήUo@{+iġsm}sNF_q.+B&g\"ڼ\E-ܯKg\} xk &+vj]WѶnwPb}<;Ț~u[nmmgrVVgHZ2X<9WŖ#-y}%؁(nVf&NְX9l[vռUڶ6o[[31Xys[ZOwZ1o#-*PWܘ߬t/3{Ɍ@:s!ݻLOMB:^wL7Ud %O 􃚋+*X[X?XMSJc􏰙!z1p9X]Q&#iNG) x|N8S*ڞLΉ<ϕ#*Fq(sF]NQԃ1ߦ<~'ˏةZiJ Ϛ䚡QCiojȔéO^@G}Dˤvu[s׌]{| `2W#G@[C)뛱!:x2 fbCy9 7k'BGk kj6Ơzd Xc5-(P8ː\g'ȴ>DAPR[C3D/bzmCk+f})~ڿuow}gwhw48/[Q[W7w}`|G߼n~YJS{:i6dHm"ҏZ5pD܃S(FfmA|) Q-"QzX 1`Pu?4fJ)G%0 bf'$qX֔*!.Ykl(a -kuʊ ME(BcLKE,SVJcUW%}yNNSi) պ,|k;*)|o&0V:м`eqU7/wLT<񝒵3ӵu?t:Y?3Y;-Y;fnZԺ;uo;F'RV r1:[Jg"eՈWwO0@(7>Krqۓ*P>pYiz E 7vQk4nvYʶn A97&[GF1&?j0w, C;b7Fr>o ٫/HM hCX;VL#wx4 ׻z)ĢW?~vlgma/>}f>D?tť o7\L0%t=+>{S%uV~T:AL|E ?+gl˸G{\AOUINCӐ%T7q騘rEhUU@QQnSq`=} r.N   yK=T.bbk%Pz(/}NX8vC->!4-]q#qbEWy!ipb9] %.`$S>rYAwkn]9Zx!W'!%.>͑ [Q]@NCfyJ.NuJ7Z.&"Wis???ׯĿ?ÿ#9a7Ę?k hmYڻzL >w_Zq; 6Ģ !MT*f7ae 1f6#3XsLOiSD%҃NP'a &{Y_b&`7%Difq"(:{8˲aGAF~ M{ok}87˶KNph+yz+Em1:>ƫ.̍1uְh'-3ԍD1 ?Ĝ\Г<7ADwB_аTÇ:hݦxnS>9GF70x'Q7`nAV\WOUB5YQt V!uK,Ch<_NzbsZ&b6 ?̸@b`I0%Q?UCH.6!/BėŌ<4Q @q{.c"#*eNF("fŹb`J:!| &/2b׍ ~1Bcp-S7f(!L`f`TęrgUԪR9Ptm{1  `z"rEPcX(Ao$@0NˎZ7V\*ZZ@^ʬ$ p;'ݭڮB$hܝ2H7驛9/M(rh X4 3볙MɽǏǏqǻT!(LfIrDIɤh?}BCf=h]u+=֪2]8@ 7G^TQDDhP&qm:42ܔ DtlGq)ZYЂO$&X1Nt@ /gL7xNִ8OW0-awb6[zů_@tK^g"s&H BA2ɖZ:=̿Uk0;q)KKQɐ!eְ1? lZVz 1б Z8Jt.r ?tO=n>ǼX2ӒeEmT&4c$3[6okΐXd$AX(Y5 Ѵ%9Jre 1RuEhA׾˿)Zf#Mbqgz"CZb>.?(W/R.,/2fb\2[׵oF2p|УV4&W&SWS :[JW^R$2)4^9 ƄÀ+h-\7S^9/5ZR+J'PXfl/xXPrsUZ,|e% %usK"~WLu@/$-v6UG+p5{nG -tpn[Uv'>sdщ4'FpIJ@B6gPh FH瀉oByA}dY fD#m,T̲`v )W]]Nڴ/7Ϭ;g?XP: gP̛MITf$JWTd7U\udBkk?[X= | ߉+4tݣ\RʀI^IqTmgua*~jqP1AIE<CНYՒ"3tڹd lC3Tf?^<%WqU1Ƶ?+Npvb_ Zw}!z|3cK5j6_fgDŽuۇji$s|8zA @' K >mW}yS:@PchpWԘ &88BRZ4Y*X /B=K_{+{ uR`#T=>G&XWE)SV(&`W;k_> *FA=0kz=>Aݍ{pKzY5k5نQɯ$YR#b19mE@%Q ?V${pӌLb6ޡ  f^ƾ}[f۟Ԛ mȩ U(>UQSa$^ʱO'II ^PlZ::j, ( է aLCR) ĜƲu2.jV!$*0"x=S=!y f!q ʄ*&רBM^$De|^q#]H?Jf"_8\D%6;dTe.Itm# bȪ+E0^VOP Xx8d0~'WBsǺc%;^ܱqܱj?D>nA_0idžSR+%D^z@@lQS"Ebnʰc@4[W;1vUE<حL\ܝYMHvj?"<'tk,-IؘL X?fXR~4bw8)iEPX_;@E?2-!TgIyiF}O\MM|aw`r)6V%J+TjY oh2~(K}tnLHGc)8egT>PՀ4bXKT3 C (nx c`M߳cݰh5,ol,>&2]f f FfZa4XBN`:ane;7)ZH{`3*Ri"ry2i_tV}Ֆl="aAsKB[9q<+%0 8`}%-عfpO^U4|2f:gG^>%#:-T5K\z ՠA ll KwRQA`Q\=MXZH),E;)b qAr$&:'L#JUt$ufDU ׷n5pG?i&kLͳ6KY@QiUjt#I3JsK(b[S"$P&Q&Ce8X0PBnxYJ;ڷ՞^zf,F3d|M'r'RHS{P{li*70#tMjVbm <\4!Bmfj{1>(@* Ю@7t@ BC[>0V+9gtrt*uvb V|0%LŤRF 1e5\fDq T!"㞠WSdABGtj ZIx V`_bXWJH6zw 7.鈧Ua£k>9\H9(0Ld ԱM96XuD/: 23I8aBCMݓ>>7<ܪ Cw. [JCP!]{ H̻r)ڜ0OgWXmԪh46Ez&&@DTr<'1GrCR0{ f f#7ky$mjiCvI9өY5z:Nq}2V#|\!&J4#-|$% Ơ^TEA,0] #I4j2Hر2:1nVdZt*TWL±(HtC^<}O<26Tpf2ݑHmV;$\ЮM6zx/&"=!uթ[W,c$mTJCP[Xi9넩C,iH(GՏXbF *fä >Q{f-l'2Zb19,x?.e=O D]XJi˲h^)i3>E7hEr8Vq:Kڇ(M`N;.FiiKGN?MKvq>qNvKNR#F v7M1.%CdG0L=D,➈1G P.kp`ח89ΑTU+,kk6bNJKmK{ fZK+knb 1I:*.SE$cO2N,΁ ,/bT& փH=ձu-XSt[šA#%iLGtJ G&SNJ s"mNchIyf!%kU6ө7b$jZ-"\a e#/w$ZvFVTkjYF:[eqK{˖gTS鯠?4֤-t|AZ(إڭQhI0aȂ,`ΌMb. MŇ˒ meȮ4Sb\jNjܶj-4/[Пj[vjg*3;U4@DwO!^qLD)k;ákD"{kjٖT.l'<;(oOӽ_/φtRkSZព'g=rQPNbx8GsvhȖak#l\A /;BIp$ثu𶲃c5(oxCNPD;ň1⌉ĥwɎN' Gy isؐ>qx2kרD?5Ft Wu%؉h>bOr "Λhj#p it9ʕsGUYzћpLcQzw'JA2b(9唻* CG.Ws82q3)] r0O$hFJڐ[~6R IGXXҦ2|ܩtQqZ c`2PH(˺Uf4Vl9 -xlaAr (('($rlșcK3莴#Hk52iB܎l$f|hk3F5,ѥ:qK4@TvP{.:#i"8D;R]Tr@J$hQMd*KU %O[fDʍyENl-FaFkH6A?-4Q0lNlf_RyV Ӓǹ7P¤[6AF[dݟIOJR0@lE57 yi! DkvpDjD]pAi e':ZVc~dګMl4lp`mQ!|; @b91bLI& ;Px@fe0IlgZt Cڼ&=afknWB+,)1=9#ZjXmz+cw݉4% 9/ʁ$}X Ss@i2{egZ`r*#<]Q3Jʇj(UBÍc*sbtqX㛤JmMh(eScĤ -w 7Ȋlx(&"G."ѹoV']sJ@l0=&aAH ܗ@yR)" Ќsz6G$@#㝗#];eh4wRk_{L_l M0Ѝ&>hY!Q!MS "Ӛ($t4(oN(Q^%ATf7A!)En*>s;R"%@ƹR]/hOg<|ȴ"jRTN8$2bBEQ SpzV>ELHQ5B{~N(J1>:{Df=Q@TPR2P@+K" L1tMRsI8DnZ i?Hg8lbph\tUc0FmTT_\ kN-)վ0%([3PE߹`݆hI3aRjFse Ͼ\oo5;i)LhQ"˂oeYF!^+Fx1^k_zV[]".c+} EwpCI-!_f+o.+\q<fG;F^tNN-VҨ"1cL7Y{!+_}tI ~xJ4u;'/x\~.-/Ī#.j%,zRU6!U|IH_)Oy%V4箘䭀A=k^Kf@مݹ[+olOVthܱLb>z%ez:Ttҕ BoI:# /v0bJv=0l Ο;!òNR 0nm{\ k b|:XqMkGK?lZ5oa%='_Jo՛֥Ћi·&7Y$Ry+y#}ϕES6©+ҟ^!Zsn1!tF(wJ1*u9ͽix n4O_sV}rMjyU7[&Kt89S\z?-uo@/ ςC4rq]_{B\y:{<}FLsw}bo;w??u&Ο[fO?dW-iEofK\$'+(,UuKGiW*{C GmFXO|h&`i)wSz( 灙=uQfOHyb!{V9OX\Z Lw2^Iڢbc#M &sqI8ҏ1ҽ8Y7ZM=KFhGL}U^I04Gcf(B.G|ju7[;Y!:BH|I  Έ0Y2Nҁr\m5V+?V`XkKGT\V,2 ZgЦ߮ϒ&c v::E>LJf"RJ(bnIȣhmIYqdzg,DFOS"|rCDbgCI%}'}걯%cZ>Vs"JVD=e].ҷmt[f(`_bC-REXM`S?lR։.>Mj}x_1}poKQ]UVjAP XW8kl aOC|G'Лc QisS?T08Л˃[`W?4`$=$DZT!_$UY8bZUTէjR 6I+^^D<ÕƆ>OIҌTu6WIЁ|"T=R?Н)dPӖ! ,A$`SQ[ȿ -M K+rq۷l>Gҡ|^ڮKnӛ6Ys`WКKr>PZ W˭H^=Աxt ,p L7!~B-C ^ tP]iàCqdF 4+JΐHio1v|3AsA,ԑ!GbS&6+XN*ͮ`)PMTZwM\ˠ~~N"s;>!_^wm&8,=,>yz6GJFa.U [@q(9=|*7Mqp{E!OQ_EmKIP̩:1uCٸQwy)Kp|s]z.ikUZ6*~yLBb O̷KV>03?ht:]d Ɓ"\ l Ż!on&xxM awn'WOPNrh'B <=U +P? lc'7==v`VRw{F;*s|OA < [HǾ˒AYcD.4NN ' cC +8I 0@"zV4>j0L# aM[:b %H始EER.HKVoo N 3BTG1^B)^?Cؐb#ǍqH"E{'^uGgtkRjeE5B]0$"UkJČ'"6Ҕ SɄYw]+A/q4@wGK/Y(϶ǣPy{DP9_={ƣi PKC|}MMCn7x{ jnV}Ltۉo9ħ%5:n-GyWllEښPIeFK;<_&}Wje}6)1}r H6I؂^ 4yz>";Bj94ѸFUR9Ex Fnvͱ͆ӵM{fs\Hj gx_vaُ\jA#)ɱ̼>w~, /P#>e;1É8&q6S:,} BLmgxq7 wIГ3%FG}WM8jGJU͝{"ĚhDױ[;0K-y(az0Og/UDye|[/;Jԍ翝 #ֵeX}_O(Q᪞/H5 ׯ*Ԟ+DLln4 kۥĥ&}Xڧ=i(aE#)?#'h:D"AڒYCP(@dJ|T1˳(?&_֎f畈'( /HFD=5(SB6Rt F/Gt➚'CmvYI ;F,COdEg_ ׋뙉/)66ԝSr|Í$r'Ml5*G JQмD, idՓZ.7OHN]L,(:+ZȠ\]7un# ,䜺, XɵscR첖^ (PřEgK_FS R $־>aTUOdPIp%p%)תTWr crg,| #|eNG+e}XŴ l!&a$~XRO.fXJ/vOV@ej_R70qC\v! JYZpJ;\U:Dq.=o'= B:JOg 3ߚ쓌[|5f#׳&+QoPa\jo3Ᏹ:a$>LCܮ[Eвv ;Y