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();v6}μGҤwn3l'$|O4&V9($[@/gw<5 R('?bG~8󧢻!O[!eFp_ p9ҊWu~%G=L w$Te>s+N_̧P~W8J28 3R֩e}Or*|8+߬<Ǔq0IUoO bCHFAZ{HT_h"FWFYq|fk#}z4s)4F5.>9 Ν瀴Tz}X|yzgzrnU<%N}`c5ފ7OgI%d1T51YѮE VX*of(Ԙx_T_TW}湓ڷil*Z%eJ/'/h 7G1RqHKeIRPƏuwnzn4ncu;Ml+lX~$%t 2tޟZhU0 I ΂kI4MY[[ԡAi šhjk뻬)q4ɮ_ 97& 5JeֆQ4 ө)w207k-Mx/dȀXie鷧c"5 MP|&ўx^D!`h}$1J.k@qve/Ad^↻wPG#eb_|e~*ww ՙ[zWVQk8wV4Tm{%=޴F*S]%==$.UBkw ~m}H984\#W~wM;ok]Ue5GbR Qկ&(:!!QMY'ڴzU6rK[AG29<~Cj״W8iM~Eiڠ썍=@ʢ'$&~zb}cO{+td과kֿJ㫢 WͽtYOk@c DQ\A|$E uK9+]SkUn6;VcW>˟7fuln7v&pg*^*nCM;v.7vcuV2ת[.eOr4K676fb(([\S4',n.SO{lY:*(ŁܳiݧYWH%Ym5JL[S>}<{+pRA(?J$uMU j-XI?*b53EpFx{z8{F)7~-P0E~Qk~r|XKU>^i2,W@r UU).?%PoU< 匄֕-z8_f:bkD 5߭/WCm s$;I兞 }cwrdtGi?o/ ]#ˆ*S6,Ĝb`Q]$r?>mJ;o=)o&5<|MR˦qF/&ٺV;^N0!s4и)^wұY_"=O@vɜ<_c 3OJv-K_Nt$ U_8M5rE:C? Qkl-~$`692iԖ* hz?r}P5BtT&|om\-IB0fevxLki}LI::X=8LSE*uLW7_ֹBZӃfyM5EeUw-8>~Pu4>apO;mii6oۇ,̏?=GfHO0iHC$oL,79r= awM|7$Nf/]=ht-u&GYDMNl<7w;mFM񟻥-*IF]xG\%w*sfֺ K?cV?J[EGVC Ef@51D="ӑZPo)Q7 -fyfNuWQ\ mFN.7SQRV IҼxw4':nH/ LN?(I뺱m{o۵死v( '?.an>{Tت8!yzk>[:JnhU`ʲ<%ҩ[5Z'^лt$POJ=vzw0fq/i=!NKN6SlT}y8M /=I]'rCO[ 2HnI[j]EYs. BEM<5K Pd[5qL]el蔒@u0RV@ *.HT@@5h*jfO|W?jO\ CDJSy#YSb M)D:'FeSOG\l\0;ҫQr S^46X-q^T.C̫w؋\ZU:;ˮ;T4JXss{n ̋9BQiD<-8Ͷvne+5(D͎FQjU<fC,bc{v'I vmݨ o٢gOGvAONz2OqiB."j;Wk+MoG kqD3`D\=KՉCWmu7ԯZoӅw=m.'҃iU|6;w5uh3NHR*P/\W ֕J#y]ж[ݻvۼ3h9h;N}ln;w[/sb=ǂy$w;F;FSN%82p-,}u*JO[ړGuUB \y#o&1|;q0h<;x yp`b*IvC);A]hr5tٰU.%B[3uPڛfM'6g/4zI, wT+Q6^G ذ yE)Z4 &UM RY݅'`W?2S})FXch&~xj 'AFTfFìDĠ k[!/FT]_H Fz<Z[?3Z_,Zfnк(uv}n+Fs( 唛,)]4:euN<J^#0pF bm:IJ'S9!&+|SA7FjјfYs6̷sظJNn @iVSG8up}P_\'ʭ 9B9.m++`~Ο5sZd$ =.)-8orʱarHm+W&^g9)x)gw{,tuUi'\_+xo7ϟ'_?x'R^~ϕ$if(!Ǭ6`wτTK3 q8%~'QȇSVCإIߋUոOȨIu FnoK 1>HZN&,1m ?L2tqK oY^q6[O0o d3n'.VPOGP,t^.]aUD_rz.}]/ȿ![ Hޤ >%V!(7Vnuj{1|RJ+Jk9-0}E3DF& T2%)\bB\:HDS6y¬$($+S52G- ~24U%D n"CFLS[ V78WT0DZ |z MB23N5r$< pA4IjI(WWqP1{01[nɖЕ#_QS~ WcfA0b x|exGc7NZYZ-:w.NWZWoPsc&ǷtGrV:hH_5Q6Ko;tb~8 =-?rHC~Cckauh!X&427kfU;V_SI&?;w}{cie,r+-vGp bȗ+ޙArváYqA~~ܨJ{ I6cdαt^ۋI@>*Ǒ^\d1']sןakն՚ԅni42bV/[PC9wS??xB/0{ww6bpKY3%مK %m~>1P#z13HCW<'GSk|- daJG :gR֝T%%候e$ h/{i -wVf-zVo#>I$p ?!JV:z (MGzڴE{>?|^&Ƥt[Upc?ÛGoĪ 1h W(Su^jԻ:^سj0R`8 )ˮ(%D3B5b$O 6Jj5߆(X[*Ir(ȺL.ҍOhXϐoCPOQ}^'kg~ƽ,oưΦlluL"Cu6&!5`r&lJ4@@>{a &jECm|aJ`rnp:[Y1{쭹|} Isuyb q!}zG+jOG|$+ /YYBJozBF ~6y1MwDCcE/`54Yͦwul`yWotlH"s7ՉVk{Juꃃ*fA*DJfkSJ7Rʻ-p }7maCFTXOT1b>._ciKޡ4akk/) _N+Q&3{<{Yij2>1]QU6Ae*4uIDQiE|Fn JTI0aЗ-'Ty+v}X#e?67W4o:Rl-4wvKXlERIܒ@χ۳6=KZlfGz]9v͎jo :eGاϺ؟דUbK/ 3FR} "@/C#d(Z^4HfdϿ4<" rNwRe@3lN e}ymYptT S~u4Uߟ҆ GKy=IWQ]Q2 yZgO_0׬cQWBkk /~8s jfʊ 7L-%c_]_LtO=?{s9zr7]hQ+ܧt,C"]XnKj\Hфkk?DSA 4NRM}7#MZK93*]\C漱x;%4?os#It*EqA GK'2@#%2s^ V< z ̔jeC{[1(za߾[$Pc**Ia1ɻbuz֨wsgr9z՘:}7uh:}5#>. ,0~u tD''NBI 䊬b(VI6ۯD],K\S)A8WUOxj]e;~^2Xd@.j"3YLGQ@f4l @0n?POM*1LV'#ҟD.a1ViB 2? %Vx67rp&>ިTJ1>iq0ff 'TJ~|@A3ޣ-9E; :LbxÅƈq>)K2$.^IO uSmhKQkF15x8dڰp&Ei^~3RA{獋^{.F8a4{K4KJ\4 ڭF02j|Ûo},Ej.1-ll>z/cj)AjPRjh@o /1PIIۺEP6¦pUbhҵʂJ\ފ~E~;P{P9>+^!<{q?X /56CVڒQNƤ{kuQ;d_*d~޽r{Ϫhg%U~!lӟ2"sl_  3C"^"Us7jIWئIg۫5 tǏ\QnO CVALG!"~xԀP?+Fn̼jDMIpCwmKnMl|fEoV4? g*~Q˟&зDzZ`gC\'iQpi7$'BpD*zmez5F.S'eH {+ _W^Q|[OY%g"- T5j+@$V&3Bkw`vA{B6EJEYԦqg#d0Ҭgn0ey\EQ.+0qqx 2d¯ d/~J/\/>PkTcJ(] ã#c ih҇VZqǨ(z NIMI !5?56GmS\zcrq5KgȪd-/7_29}}dS+76]SUVNAnǧfVpfӬ1hx8},(=A !# AHeUt#5F0*L sZ[6Y; =[[ᕝQNa m^#9U=Ia e #C*uNM3C lA08d}KS q LGȸ,t8`J6Wx "7(+Y h"y/C9$EL۲uhG/@%3 ϧ ,J>G$v̙"324ŋ Lձ;yZS)ђ,)9=CS ,>4x ߂J5p`y=_v_Xa`_%GG3.a4ucC''G 8GoKO~9FH'lӌN?2GsIFQpJ!%2Ijn$ ЦDv ħ Ly^8_K?{ NFQ6!C3Zspӱl/vͬ'bnaƔ4⹖ХZ氃"w[?~iJ(+/<^]A0Tԍx/S}z5F 66<'nS ]&5)3_ kI_(DwUv]-oɻUyG5de?{$,!1ɰ-?~jky؄i j!22h<#7euI|RSCL+E(_;֦Ԑh2MBA"so,sp @7T,OiɮhZ3lXK1{NIBΠ=`TK(=#> -24r!4wΙH[/+.yv"vP")JGU :!C[lciFDvʎ 55y h`7dx\)FřG0z# YXq9eYxt)@AɻVoE/6;ea"Ƿo븛~\ʞ;-1hrRwӍ笷q Lp=Z`iJлĸ|RWJO 㩾U4 3T*;@]yQ[p9܆hj(hZFyk]z{:0-xق"6[ͅR nA<hr_07Lo3gG`u-'u1v!֫R bSJb~1_jf]%|NI9H|`U,yΖjv.})ze-dyKM>1xݭƖX E&Q_82߳RvhvzY/ff%qf &/dKx<\ 'ni,Vbt Qma- _uUp1wP`'pcV*s@W?6OSεʏלM-lj Fư']/G-M1l3fۼl[lᨹx˜|tȔ_˿h'R~mXЧHD02/gg`/8!f,BrO9_HQJ~m7r¾k /dtn)-;ۗ薝UYًP^Mx1QHzF2իQ2s3YiQ(U)y%'29DQF$tR1;IOAjcQzne xb֒K  57QOwvZnGzKSSџ]=Q;ݫS f"TmB%$V&/Ǿ) j{'2`eXk5Twksa 񙰡wY( erpn#վ=Q0iG?[A4J†)1~{Bn2, t{b8Kԍb'bE}GS_ %7I1嶇l==Ct"((XdBe' ٦ IǺ>C#c!zqJH>'_vB#ڜLf aF9&);P4V.ٱ}9f^U3  FGbɤұQ7%d8^9%5TR{6޵CTc#N&~UD \=Mꒅz431 ]hD6a3BD*PGoN&"=L:92qG Qޜ&Y{Ӹ MÚK#േ9ʉD%*F Da #"CW1="fJx1DQ!?:&V>YC"E@YȐgC)w?ƞxf ";;zgyH`PH6Mg*`|#";x(pUq s0D "$*bj3B rYAJTG4CqcD#pKU [h b&!K@8wbWe$8& 15XהOr3sȞ=|1!\Kz =-ELu'Ta. <唭=VrBK!bGobnerrډFLyHBe@NPJ%~ }ʄ\ Z1c>]=bdJ&`>5z88n95xsނCap80Y286 ! ؅ J(O,'ЍH3y1[]if1梙̕ >qe*ȝ\4^ld iꩂ}{5qd}O d@}bxU`_"al5~G<+R\AQ\ E@hRe*PlJC Hf"5# 1sXIG~lU>'ǬI@mIR$UW3')x˦`qv -~uVh=%gsXu)FXEEo5!$;Cͺb.| H[EKN+郑w@3S`0b{?/H !#q]fO Ҩ2&߈1M5:U2V5U 4NH&845g?ƔFG$4|͵8v  MZZ ؎0̮ռ*`JEU$r)n!*,(/qO5$%ǤVE+1!ɠ(+zL LBtafpY gQc>8s2jy)P3K %^)Rh.aqâe8TM&FfP7bmO3|QcJjI1 x?5j6 5Z\RV AHiy 0,6ӝpfi1t_.7&y+ PAf{$뙹#[t̀x:UEZXeb P;8(EחV8B6'`8JX|݇vLs?JY**9Ԟx\9!M=`I$M[͓ {+P&2Қ6 tTUMQp9JKjѭb˧&8!HĜpI) a_&JʌL)#k8L'c%}?8Ֆ[fyzC:Tiwptd1\qR%Q qc 6,d#of6#E cQ\l9jxs *vl&ުqauGRPp.H EkS}$'aac 5ooDxXPSq T"B2i3ab=`S+IMDg|')Ǫ.@|f!CKp]ljNB/-|X(k8Ẅ +7eu2x}uҷYHhJ|OV,cUl'UWL wlJR3pChA''T wIHsekM:7ٲ#Sy8our Rb/1? O~W=u@A5,zM2הLlc8$AAFeb^!"` }\ kV 7n* #ֈ&zEDD!&^pK>4+co;.nvȆN\s溠-`?N*/}idVI7B1y sSAטc߈yk+X JLMū+q/smMdvı^Η,"gU}#HǦp}ʘL(w =ǢacќD! cJIܬ7AcMD4F0f*֕QkJ%Au}MUvޤ’'zj\Lz4 ~;ͻ`ލϤ!4m`_)w/h L@K80̂CSs8T6f*HHڰQcz{aA` !:,(YSRl6r1Ul|Gx4kh^{ybd0;l1RYpfz(>?q\k eǬ 2תzb)>$Pfֲ"̈#Ș,2K ~R&挡WQcV]&yGe'Ĭ#OΪ&k.QD#,.Aε^eR| ? !VFJsΞjhA./53'=1RDd?^JfE#0o U)"QR; ,9B#l ̭~A\4&aZse-{Iv7͍Xb[m`V(?$U8~rfV2Nbj35|)d.]}10Lf09O>=)- ˗CD7KZkӻ, r}Zx`:DgCz,('lÝAٽ$Rs,Mfn#3\ZYl0n%UCjyf+leV*&ރZ jC /q9v [yLr/D˜:rK:s D2@SmCL:cY[Ak@fTӍ)fwp\H~,=xV$D 4x+BO8y8}[ {O2Mw>yw;/t-ûsB" ;hUeL|,)sE+&O  |6JNpl;Yc^[ټi\CͻsRz[j݄>M"N;ъȜ&`rTz/. i&Պ>X,`\4F %{=9= tܸK--D\jMbcj:糩$!yC+"_S 1GWZ)z<{Ju0Ž]v$^8(T~.0ZMs7\nh0\>{鈮(BW)߀Hp_LO*W5/z _=[Wp_8 ?"MFȤK閿*`9[٘97{U,nXtaU,s¬)RS]%WE3TǞZf`I<G%Qh>7t: )'nk;;Ͷs%kxrLۡA%_5!_ {-SW \yc~"qPv}8qI R^$SGC7GoAf$_GK̡8{ةY%,/an%}i׮N- Qa7 ~ c)kaF2ބw cck|A>9BJ^}iokm,R Ez''4[qa&FqɃb/Xh?S+n*OBȝ`k" s`ǗL Ub0 {|u=N:36+?ǜC:&oQ  Oϟzs}.Lt^wG)~brQ4{Nda 9 "/xOѴF3 0RQyx,:"K\a[ԘE/eWQ֢Y;m/kjA8r+ p{ V>XhD.>67w:[[vw[M,k59(biô_^Pt`L$(ΔMΕΕ?WTESs忓eawD9<5/L$ r2h?Q)9^0I>ߵT6 U*i|IV^pxB# RsGެƠcF;>D4`儑!WZ9Cƣ}Nm~P k|9h:R*[v}(3^stM\tiRz^YO# Tk믍FoߝdkkEn﯑F?Ow=a|䵺=LuOu8́]ۺ e_[5m\Dq,20ʰ<*.Lc4᷉Jf[Ziï~=|rW}IIckװwws#LZ<+JOT4[Vl-m~l]pv1g1>_wDɤYk6kO&LjܦG? 5[Qgb+mG[+5KL[oحmý&g\ >A._+d8OOXhү?BIɐ$F8Sh^ң\(V4 }4e.7[ՍtKv(A"͓ט_{Bb~W3>xK˗b6|鉜UvՊyJoǴ;b>%clP~$Q]̷>-WbzW?ibgؠVd8#>7?S^Nt국O%Q ĉ5>{ kZ3GE !NoMkeخmךQ){9˶]վuA/_YP&OZbD6?GXOGO ,,`˱EU}u^xj⏉Vv[KinF*%1 @u`ފ7OX2NL[ E&N /<47K3s_*qN<A+A{ser< +cW|FdLJ$I#.#h1}x"^< @Ǻ^L+8LOގdHMb9VH|Ѷ4ֹErQe <yIM^`2fIq>LGk 'I S*\7Vr*",plW046zCw#6SͿz޾' &ރ_o~{5"xl1lfH(%2B#S"HR㒆UAkG Q75>6lT9 /+q6 P),Ji5e{ g1L^!g9Sr|QL!؞ VezYNd3cƦ1ĆI`AKz>X鯍,RAŸ=;bӪSM`_tǪ¿kjN#StdDi>p]5$|`qB|" 2Ő%rR, g;WOnyNׯgv/NqOǚt/+vH71VbCo9p͖v괷Ui;FsLv+'3xsRA84-ZkS ri̇KSdJ,UB/Ziyx䛺M]811˦2 ;4!L`k OHx˩LG==lԑVmMAmp%\^=VT E<1zwEFXp g~x2 zzYԛNxQAO_S+5!O2~**M(yw؁ԋ/q7f~s;!4mO 9+^Fu W>ͥ0|qYGzA#DKG _<;u^:}vDOqis &+t?+`}}UaKRB5 7!T̿2A[ݛdJ)MW2^uso;<KVJΧ+<{6 "O)FX1>fŧBWK2vɤ>M?{%-o9JqC,^muSI0 0Sfj4 n,r{a3'G5+iNF\O_xyT<#iQs@)`BJHzhhE@?~)ߞS[|T†f;HlC˼WJnW)xSVg?<'[1vB/d摧S%(S$OD8w 1m' 7BJN ɫ/T^6l~`tFNy=?_}NVkJJqMz@igK?(| g΃ g 'k* fL9lx^ڰSzLT50zw;+~>Yٷ`7Ʒ!v'ۊv=/hh~UݭZ236NiQn}VٗEF(=BЂBI`4'd| _|,z4o؂Z*3//sR C>TRzOgq,iȷ6ǡF~7~Gzx``Mϯ-upQg ^BzzWo4{xz;NC5WibÕ֖2Rp szQ8|a."ZYp4b~-N2pKpE<)@&<:[V7)޵[16M34_V<CNW]bzeG޹W=<\oK[p!vZc|W׮b`:֦mGyCŒxt_~|c(P!erqptWŊ(6gFcwE2d8_9ve