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();}ysr0sm'MeG9ޮ$\g@r`2(Q}I^wpʹv"i4Fއ݃}|Ɇ~a|vڛUd]d6FȘl<,! d60ۦ<}ױ86kxJ/#C!}萠Ps:ԟСإJ  C{p\b4 Ȳ%Gt8pϋ _Cϩ (rR*r 7#>zGŠ.R.}ľ+VjZRm`n.t RAr?;+eCM;kCbC\T@|2DcbfL XC^*DWGy5Hn78t"ǘ8N lSLmW >ܗ/⃊VWH3I-`˘f*gh9ȃC"'xv,39LgqOz\<;1w)U h*꫕QXF«D$`cGWOh{}4zUj5<"uaNM"f a|m>l[GA7=cXp;k#5HkE{ qF0b瘇q gJqbfU,ְ~?˹ߋӧA95ߊ%|ѱٚ%[Z190S!&+D3}#9Vl']>ams/="0s}95!}Uab4#:^UY>.!]gjyV g/]Bg@z(2tg؝`8,U[#aB_3b]e_ VFO Sh߳y`0ܫ0}(-K @תդWHZM,*û* `jtĎ}HrMIFOsKnuE!smJ=D`-RFBEvOg9r%S axНLw .zRiTOj{}HBIuFxzk&T]݂W \o1> qJ${wlV˵0\iz&>q/_> !߮Գ-Qen-z,%fڛ T^ c1-ZY6oT[`d_$*S,߄݁4*_ dWS,;67{{q6lo иH=p(`mY%ɬrD3=Wvټqnz ZY=#~Y#vz $e$(wvzc;{o¨O$`9\;!c7b(ص>E/kOl{@g-p^cwzq ,x51q@D9)fz.ߡ]z&͕?|hDVJa+jKsŢ؜!H`4}y&@ͯjIP`$صi|f楡Br8c*-)0DLx cVN|e'NMv9 q^'2"tH>Ժ9.rN8tJM5MscIB.F- zL32ψsd-"{*@QDӺLRgUO5eȭ8X3YmW72@H^ǯV3y#cN2 2oՔFѨ߄[;2Ƣ'yg*vNZ-g~+!#=UH-"BИvy28ZF=iOX^6!g.SMm'.Sq?,|qUL@G8y)^2딤d''˅BƑ*;XrE?J_f:х1Kd5cv~t}GĎ c7-'rX--u$ୖH`X qJ6`e ,W\&HPQc4rXOSV%'CZJaql*\mVzRJUwVכV byjp\-5jtVnz!OVJ? ]"8; {w/YիWsjeHlMf& ekg@SrcMhQ Rlp. 62 2xR+ɯf CkUPr*3"d``-lJ[N[Q~5>_k>(q*ټ7U~}@ _3&߸?\ _[? W3i|^@݆yQ<C{:L`6/mʏZZ[p@D[܁@f1Te5S(sA _.E <'Gk9A8JjTQz(Q4[J5TE`YQ*X|ӆtWT\k^+ Y*eIq wc.H 1ęVrmYU% }I䌐fYnn.$O~ڛ5Nah]띴x!Xe4/*-Z)~B;$MϴqUf5Z8Ӟtӭ2 I*NӉFjfVn2nA9'+y4΍b1L$n7"?j2wå Qh.tH^Nr#S `rKn٫曱ӫEolb7"!1h2_w;M렔a+IF3K͍v7Xv>ۖ.J'},WӾEgQk䏁Y9`uQϻ{;;+Z1u<:vm'X~.aR7x;.>5uXAal9ey {g7\([9GJZa;l H|{laαCLgiB5)cYév!kؓ8Fߏz.#aT>+`Q&S^c^c7` q:(XYqAAa* (0<4 }kȻ0>3 Kڳ:5g="hoR/®'=<`вk͚=(ZԝI$jxNȰ0pkJ᜖4: D>?8M~ J-'¹ɳĝ(<1T|)'/nVw mVOмnluPZ9܀[f.f(ӀNo|f 벷XspUWmg»:.hwUdpn*t>~/Oݷo^⦅O?_1_Z6,}:lv.u]}dTm<҂Pjhޓ-bOr4L'Fh0@%LBh/iup0G8^D O΃>DDNE1wEĀE^E˕Kyqv8[0BPeѰNz^k!:duӬVU>)-TGهa'N@vPk+T5&wpg˱<w*om<8e;9,c=QhcԷ+yuyOZH&N}#T͇*(:[K'Ix+Qg ߂:}rRT^ӊ-88 ; ;6revvݰUQ=;ܖý\@ȇ'H"! yq6Aarшx;ӐgFX*gd=]<@e2 N k1ze`E@) ou„2%!oq,#. 00U-wE8,"VS7-c|[ s*ܪե Z +!s0uDRf°$dVwkz7_ ;GP}'HGq>bޒ8C} 4`0* 't+K'4%E;]}qo*`s6`ˋ]wSJkՍ|l}*`k.D!x 1~&j1jOU$ <ީ3қ <_JR$ gY3 kV͂+s(o;O_${; mÙ)z [LzdVǀN2LV+_ABBl/x2o}\:nA }zDx//z2^PN8>gFKStOW2IۮAAd=􂋫.;fѶHtLFz{&.tt'yK> ;P9$ǔ< )eF[DôTiڦM&DYP$mbxg{eqm2Qk ct[t##Ånu_Cb]3|zL,#- ƫ(H4a)a_ȳB0ZN`(vr* C05aC~"`ZGЊdx \9WX[0K5 Pk_"4e6QBK}W$;3#ql4٬"WFax!4FbF g.H2qA08+)MM $[[ıJADyhYxѮ|-hwc's:QP$Ks_x.Mb\"Zٱ'rx17 5zKjo^yLKTlsu]^ҙ}71}PkD3H1a,{T[UkW<OGs>n.ȸW7j6076S#첔:ƹ)QP*ڧC4l*Vs Y5f-o~#v@4sK85B^%a`!ձ׈Dlo>:s0G`婼M C- P( jdfU>@nKC;w%kڜ?dSY3[ޱs{<]ʹ5[E8:Lʵ{0py]2/yOz,Z OoFbzO'TOq5:H[/jkqxKEULgU(/5MXn5-S caq$B!}ԕUb Gx;aG* be o=6 `H^[ZuX"Wa l` "uyeMl4,Oo_oO]ioe7-tU=7ҏ{NڂrUK2w$teJWfCZOL]N^F&f/R~b'j%_yImx[|͝a%b<[o_c{ `ʏ3>C3 ~I޸ʂfg ֮`< qWeÕSӨnԹK%w_&erL;+{c:Y|IJ_Le^Ǘ212y]*Ō@``_yg$de.++q+z=:+g"K;.>u?!!S`@/>? R%"eX W}~Š'Mz$Bxkk9PkȞ3=KSbց*(`RcuhsVŘ</ZS1ia/J+hְ8` Fge^.Ip0lN+y26˭>HeWxhd0|s*uqKw|qiqVi{8Wu~Em.VSR-Sv{ lR?1¬ M6s()/<3HĞ.g0Gu!\ju^Vv{ e閳y2/m_~T15 |A7fY)Z$S ?S,(U?O P")/};AF?2miƸ%J쑖uv<5/E6=3  ZZ_X̩T9UC6ωzXҶ~,ttS0*Hǂ }S+Y`Z=DaaXIXDzP~-خꔊCY︬LCu T>->&Uns6^eM_">%u׬m.u}!N]T4`gk) ]I뭶[0 Bi<+ҳU {JM%p?Gl1t(@|x;S2bn=ҳ (Q+Èv  i_zb~I(drEES閂j^7`NF@̀)j7zbPx7E!10q6xt^>(3Ԍ!Ԍ6Ewi;`5Q hPӉT3SsZC]-K? JWASG *hPHV1L1ZeXݜneWM`ZH)h c5PNz*JOM.mp$PG FseeB~H抷!6dxV`f;颃rsf\;OBc/)TyF \qRmJZ+1e7!Bf*]̡^j9Zʑ@_^|9eE'7+j~JZzVR|N kVL+bWI< KeBx#5P|˅q4n:ҒCaY/[0 P@\'u'~S +R! QQ5UGe3|,;Ud:U' NjlC՚YP2*UMg,|F7*~Cf*=cV0eCiaG;N!ἒNmSu, Ў?Fb ̼Z 4Tzj)Yf$Cr74'6RH 4\ԋľr*<ؾ|8PnPd}ӭ"v !IhN9.fiaI%ヸ'nPb\T;'2e)!暴'vF]Y?Gc*mf2f!wE V MO'n`q;*SFT\UMk4XRzs͌f+NCYp=miU}$/bMB NJp¢WtSդrHw `Nj,a2Ҥ}%9gP^`<&UyhCl7xΪ?ꡄ2pDH~}GCgKJ >nmqˇmJ\T5>i+CAEEvMi7ؔ9 9 'c 1j; FmSԋrb+a9HUpå:'*fI}I/x/#4cT[M]77tWxҾ+VڬP$=)Ā|N!?_ouuu+NdHET;31"8NUj9U>tsگ$Dk,=Ԓ JlM{RǮL/i sۮ:9 c<`+ߦ5>D}>pq 0B yv`=c8@0RU0^()3^%j' k,7^5Y{S.7,F7r ;PU4t21O8 xzMziR5+/~P(bF z u3t|.AT:H-MN N]Bɓk۽ڔ =)뉰P%vhj1)ī%IL{z%2dǑooY5ԛkͅPfZćCe& %نVID57ŎV1x@`#<8{/;#GeqX \cWiT )&-&pR8=ĺ:k,1Vu'-P aA 0ReC%`} (C}1 89BPA1 )K\PM2l0t\h:T2u$+ iVۋAdVꝺDIF;79:y-\B .7{prY.fI{w+2: &38 pm'n<1"5Bӡ8|x5A@={\_$ | e*6l Vm}-I|JV7V֕laT>w+ V +x6^BLwPrƨLÔCJ.IL-!e#˽ A9$]k\R^I]57#͝I PVp?B^)Y 7Ǟ@Bi'[ ke~C%B;L_-&Yc#~ǦHʀk&mLh~@`GW aCvGUBxWS }@`oϸPgq~`V;FZ:_CqHӧ{D&KN `/La攛2ͤݔCT #UЪ&T&⩬m܏r:ۇ@FƃT^Nu.af{fk|%gf=˝:esWsSicW8n±0W8^Bs/4S4^;fwp߼6_w.X gU=-r@{.C_Yl٠!zLjzO m!=n̻[\6H0ڢ$~L%*z ] q| _ mVɹ g<(8;Ǡ- + BK \]4l|y`_USw6;A>_hݒxl_] \8%]f(#2*ũX@SArDJ c&ez3g9)XAqXAOᾟ)OBJJ:?(L-7+|5gLUf; ;%q:+i9={kD;ȅK~Bg>]Awg;sӨ/2~aK2`/کxpHnsC\UMFjɠZ2t-_AݥP@]A]@>3RmTP/ ֡7K(7^ ]G/tSm2x%`t,W\ ~́ph@ds2SU@ yิ/iFYМC{:xht8c}qxq2CApߐ 8(!.}nC o%:⧫ĀQ.{W!^@A鮀^{c Ыmt@o)+S!r@t}T0ir޸ }ێ 7;Q|]nH ?dcE;>,NsZ>O^YuIYvl-2tv_&zػH#I_ۓ9m1Èl?'šG4t3DMFe`i*1N,B HƑfOYd[PO+JʿQt3'cWdZ֊bhk KRm4Or\yd#RN? qX)F򭴸+#lYZ@;Ty\V׊%cu:~&(yH+,/2̦)D21}Q<1~"h67`gX|%v LfC v&x}/^f eiKZSVo+w5m{ci,}kU$#AcK"B&"QyBqT-L??xQ(XF jSOړ2H*w%`*iXqVJl5xR՞Cm>K@#U5 (WV>@.n W + Wٲcs# Q;nEQ#Ge▁sm* %*WYeєWgdJë2Q1se;mdF~P( l 1cLaI8]%Gg?|f<"EK2v1h}-`h?N{P2H/ ,IkކY_n g/ۘH+n(גr.YTbn߁qWlUj?ZdeNY}/~U˹l#}GWu9[;}7v@pPOY+Ώ@C apĽyn8 Yq]`Q?. `c(H,# O&Gස{a_ifFmC8xkU+c_za]#">c'@V('wlu)8[ ]I6 P֪Fu0FйX0zWuk@|/$,ZZI4v{Jp]u-r/6z$}wҵHݯrafN?-ڭhӒG(]HlziF z4pZg֯:+@yb}%-c}ڠCEx%C146#1*yv^@Ljc?.[% w\<5t{+:d؛/ v:G'l.]:k !1|CcՆ"@=VtYQ!G#CPÛ ClfЄ=Fw[v }܁t>HӹTiJ-M SA$bT7DA-z! @+J'鍜Ѝ#jB#DUOZ.v(a- 7S=Oj> N SLKN)%2B T}i\!@jIxQb12R/g\!J W:*bLA ڞVg xW[}+>i2QB s^ msRU1CV0pCK;^/uД~~QE MV-Z^j֗4PΥ' B3B<=$rfVϾ^:TB=Ь:cU/%~Iz7GU) Qa,f"A by SBK'Ҏ2ҥIZ 1\j ^+3_i%}|IPExr͊!1&ruյAK&H!\=8"Hg8am;]f2yN"s.=Ǯ+Wl_6ѣcA oYonZ^U4mѨU7FZFH>¤kaHAE6P朗sS|9fBCMS2a3a'"Vxs4].Vw*E<.=yr5Xiߔajd`|@juwDo94ᰫZU95٬ZjfնnYm]8 &XAK0Fj+a+9rݍdwCwha#E"ā8~.MuqpXҎ-Ugw7Mg8)r̨c.&#510I;B} %P;`D}d=;U{q7{#-2<)i`;r'q)=}G؏ 4^kC)ՑsiN7)u[M^v>7r2Ds捻z=S-TlD~ʍy.-Xy"/xp{cjx݌[,v:U<l4iwR9C J_CDW:|j.#/ya.fHVwC4~nmx[g87#B1 Zn72HOE*p0TFo&O`;Ib i!(_]UEpS礭zt(VuyD+҈cқ^S眪.QZ.vyD9/a5"'IFftE cpE?Jc Nl2Xԭ'_{W΅Hy;uea͑:9 fH'pi$F#wᆞ=((ބVgw@ₔ2{+x tfl{ kVN_t̀&