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();}r7rվ| we)+Kvok)ٵ\,p$G&s(ڇ8Su}OrIQwEc%f0@h4~h^<{Ϗ(;O^<5=]{꩝[[L<@Xp!Ķі%NlSRbk6wتؘhD!Z(0LH?7^4x±c gr`;FlFau+?J ϋm/diX9'\3,_츖/m8?܂_yN?xȢbCk.?<~32,pI.wv, D|k -F e%g"t_v-9).D'sIDekJ,1z`r/|̱lkk|ؿE)HH 嬅#;М(f8]F9)]F|v7;_U83,ׁTyMfşs`q_5[Mg2/*ʎM$8`v|`a uMlq`\_}`Fc>S فPl_в6Ej`ϵvV;/zL˾ LJh4#'O:qYZ-˦WLXPT$psl XMgn@HzDxa74,tlG ߆>Fg!]7cV&qod>j;E(7T@_JGef 2?fx riT)ĵݷt#kD!~>r?0Lq9OWܕ.]纖,SϪѪjR9 (u^j>],y, -3YH9^PJ9t 'Nw40 7-(OЂD.pۅ ,,~|{:ʧj+m&{-T72۷2OCGp/\P׾Tk$)C.hڛxb,}`g>OqX9+BBpaVjr\5jv]?Dz\ݩ'ÛRDR$ e5A:vM'0(u'햏N+ztD*[%m #P7Ɓ R啡 UZn4ڧݬ7Z'^K4grDgI +1ҦTRVHaU] 4f4.S<(8 5=o 7K-hue f/|#: /klZ Afo>)-i)! Z;>ҷWאKr)_eGp)Rl_l9k7KZ,bBcX.n1|$ۑ|B>ܚn=0V.Jlw,ĺ0_sir:z[[+@fj[ЙCV,{ 8 ߋ5Qt"B!(8]g{<ƙc\r5l_b9ӳ~gb/k_'q b _tbx`Gɒft )bs~Y@c腷Coc!vdŲ. ?aO16wCޗ%.ܗS#q`kWvYM\>QvYُv! CdTsz\k? ?CD )F"\e:-u U!e~ωhAe w rK "!y(scoe`*u2R:=>w[IQ1%7 #h!m{bf̽mɔcB ,|` 8t'ӭw] 5vn~w?[B`;xM60+uݯ׿Qb}J_Ac I2drZ߆qH?{Vr4T|SD鎹557Wꉔjo&PeTŴcVv 7 c}ITrȻVn߆ݡ4<6*  eOS4762n>TeX0lqC3Jz$C})Q"d6Z**JY&q{lrEbd3ȵ[kG08ݼHʈIQvzk;koèG$&`9\;%[K`ZIȢ藻'ӻisVOCG6H8+Ի1z=T7&h.o(Zz!߁ ^ƺ&͕?|hDfJz-կE9Ch7ci;x&@Mjo؍iy|楡B28c:-)g0DLxVNV ;6zv&Uc:N3bZ987.'v0rJfmcIBH.F- zL32Os"y^(_i]:kRQfrl,tZNک6nl{;؃p=td_.f\V~njtezXMhm6[f6Z1>K=Scwji_Z]yq̡cE^^vXkYڟ5e`Һd懜6V^NlFeTXOT665"q:gz[[C0ˍ)CY .81dDS5edܘ#g2e=2R _ O'#1‹gT9NYp2$~\x?NRIZ%G 䅊hC𱄿MZS6iJ}3&9!hv]j <#M.px8 OfYٴ}W9'420?ĵȬ`TX,ֽlѶddHK,򝵂Cޥ\BKJXjj坮j U ' SVHgƥtkʪokB'b'>aϿzζ VL>k~Z[eS#1obZЄ\XS1Z!8D)vJ>D8 J&ÐGZ/f4ʌF|0+#aчKEVL| #V+شXAZ.(gja xҖF!_[y7Q#F!Jj-fh Vt|M.OD NjVߨ"Ia3b}\}|Ͱs 'pړNS!;=i}Yi2-ު֫|]1(ВD`%KΙƹQ|;ĝFbݖCM~Գ~4 E7}u isQnyb kqfi]1{|3V6Z)rBz+b&ycYJVMg4Dqծ@+.f{UĶejw?j-חCB103n?xywo`3k @+{KݞeOU%;Orqqg363Wb҇+H?(o"'_l#Cr6z+G(Y Z/7}9-qOroksda:,k]y wtƄ(w>6Ng"=mX9UO Xt <E9y蔅~ X15C&! )V @xzIP)t  {(0<O>=s{0>ƣ Kڳ:5g5&hoRyz +]<`n7Zua69P7Kg(HF1 )aYan-i=uHL}~t~$J}-+Gɳĝ(ܗT|)/wnV mVOмnlu@܀[f.g(|y@? >M[9]elzo2u8N I ?~'_ۏ7ޏ?|1~.|^Z>86=%H<՞>Y8- 8τz4!sK{S\2۞ '3Ÿ=s6D 5ˆy-+H1W\dQ#@m,s?cǑsQݟw1`Dt3gn{:2}p'i4l4[Qo[{h/4Y]趪UWt uTGهa'JQk)L.:]rlBJA''l'g>N~`}8=5db$>K|"qùI{t10{ 9;u<QĕF%VlQiQp !+Co cYmWECs2=<B+I#$">^K FɅqeoz1!>UBq;y,%ʤeV@DsA;>|>d'x> ^ho@b"j1 +W޷a#u2> =A62ڼiJ߮=MmWV΀0Z0 ! R%Lv[cZ>*>vl%D:$'1*+1+oenIoP1WˀJ! eߏlD_4FT=% bJҞkV$jq!^G1 'z#1KP~|Lq0%wh>p&aYXZ0cVUXJPc>!a1~ z l}ql+1-V >׶2NmP( 3\ K) 2M)c ܍H=5ZcwmQL-zFhjMly_o6` S&k4%WOVXAz9+ǎ1 v>uxʉ:HʪMlRLJ1͝pA+ ?=A1)5w̍ݺXoGҾ4ACPD$(a@.~S[n8WZn<N.c ׻TA( ƀ{tW&;~=ב$hESg7xfHҽ19*/S& 7PX*ww߳${/: Ǚc} LzedVǀFv. l&&}zL'm7| /unEp|ό K:8ez?]W]z̢e0[crM\/#0+FX2#r7=E:@cJnNVO1.4+M䓔%F M]3^Z;lV^ EW QD($:|*b1༤5v6lio*9Pߦocݡq0fGj$sVO~d.>GHpJhi^t[(U7hrq5D=ĀOEI{)`$';h Z wN@׫-=89ߨmļT'إ)s)u S~UJOgF%kwh԰ χ6AM1X9v{] ZMnzsЩ5E=hy+q|ë7.3#OuRz>F&h2qzn8 0!_0(<=u}Kf}`ߌt(D'|Q͏e8{(;K<9^~:E^`K95\%ZjaN?(Oqcd>"}iq%\qI3NoH D),ej],3;,1UbD70/JL"o rLHQ[qWɋP  ax1ȏL7Ʃ/RWWV/>+fVO{Kog;H:{;ęk-,Ye$lGIWtmv:$Min|g{!v`JN^Ɓ[zY<>E% ~CC^ueE~X_Q+>OE499vp˽(>.ṮNL sQ~_ |Yr1(3d6tKw=x0^G/ec^eU\[U Z-Ϟy{,d.++)qC0Ou<*jU&$Ip j@ Mə -Cx8*"t,CA ;ϧe;kG3Dk  bNFi>_W ڗkߊ’E-\q[) JՏ S3TH KƐѷLDx1qb{e=aryҋ86{Q{} P8J:Y SZAY'UDb3yWi^DTHOH1=Ďm^B栱N֠^R0jB"\y})CJIq2ݢj;)e,,7Ƿ(Ӹr\’SFQ_ܢ0b1B q7Ÿ\;'ܒB sMp\py.dB  @3u;"a+&wQy#[XsXeèkZ:k6Yk=OgF:+VɆCa.<"4"t >Wg466ggz$-PDHoWQ]of۳_ӷUkW˷7(l r;G0kyRbwK֨VO;Lc-.O|u[ ,y ' F8 5|E3]Ż]Swѽ}Tj2!#PLee#Wf-!nU( )+DDFB|PP$+#N𜨥METEn .% }kH)l9yǒ_T[Z'ͽ #.j0u5!/|}cwW[d4Yo:0xQWMƣRD@MI[}0-,i ![ݰ)CE@f6w' \nZy B4NcD@5t hƧxj<vnoefx{ p+ustBC bL0:aNGEiGtk"p4~/ Wpm̂jBI+"tlf=bw\0pkp:'ujp7@wM{Or-g"Wuey չgչ%<:u-u%\jf;e"@3v7BZKV-[9E8Tv$ BϦ"D1pw FO\a}[2ۃ=@nCd J =szO:f:%9`2 t!رL]\y{(̑+SJ>3CjHBTsXx᥁ ckK# |`y0V ӹg0X[ X0Q`.evmC$"Jz;ggNFN~ PDtf^:Sʯշ/r]IKݱu@oҁG/@>x&`+" h!rr6jf6;˗"" f$ĠMآ [8q=Ksb /$H7cL ʅk 9P_[_좌AH>{ ),;)ulCS@k eMZm[{33 ۃZ?kݳuKYn-Bh<D.FXFXfW`Ջ'qc9MuN?3Mx#  R~ _&ڞHL4%~ټ/OtX8ٸ<=,`Hձ'BOk@ \ ʠW xe4`_rZ:"a}aLUZ 0A !Q&ϿB%)U0.~4 ջlu6lYGm7GXwIB\@< nF_;U%5vɰP  xGn,"tL"u*8nAunk[;9w_'r7faEH6 $.]ehnᙂp2.bBOC%5v t5RS?-=Nا8O$w{DA!%6@$Δ|ĈJcjjov* !g c:U|,tr.R#00`z"bfcu > g]97Y3["]l _&<(V,^!̝0zcvh\= Ɋn+ 3+aITo+TbSGUZ+=-eсj \jsM u+bk.SWxG`u`1n^K^A$HGx4]b8~j3˧v1q)m]Bh,7N6c%0Q|> R," m0KZ8rA:B a$Cդ.z\NK9 `q BN+Hŷ׾prit7vN״:6{CeHY# h'@>$%<=A >l?7z^ 2g.vi(+X8١ir5ȩz&b1h$` }h@!!5&冹|{5rE[nx7@ pdj*#p~E#pv.M+ij{eVcJ?~-QIrcR"NĽ%~}Nн2K$!TzBCL>HGM%9xjM&+_G48cہ2&^thz&-a0 IEڥfX!гг!ag.{ټ]=cNK{E71o3Hgڢb<7ҫyÆt)ܸx=c zژP=M;tPKC7uД+BE~Gڍ@օBt]X@| &ee=j32;!=N=WuB57*d\ݫԑ%4-9-+ELd>`҉O5s")`y .5CDmW]akQe>snP8u2㙒[?m4I&Z[kXg/iH/cB9ҩ*nK[Q gwꫳVhIHx-OMbR k "w0zͥOo4lLe'œJzY6;jA8WRfFrB]Z|'RN{qYS$'xI3;ڃ8Hc\a[ʷq~+V jZqTaI5?TXVI,)DR\Un|X\W4'cy:/b8EFn5mWFQbXkH$1 MvR*rdA;IҖr|m+V2vj*_2Xs ~OI*N iDw]+Tۂ̙5e6Meb=Ym\Z)lQJ|I$+t#!VM#!B`>x)]@m[]GN*zE_Z!*{Gѭ(tqfyle  ˹ˇǷV㬲WgdJN2!1se;sdAA[>̏~?V&~T^Ɏ&w#C@}8 Y=v]`Q? `c oOYR=$dIEǬ⌳٪\U*?EeѡW:CZ>) !Y|7 b' TN=M-Q>ROAPjR$%DPzJM$|x/_*n(^Ӕ*bޱEwEi[+Bntng@&9h/B|)6(`B]ghVNjXqXf)Y#B! LJ+zA[Z}_Pљ t"$ /r\7f`%Mw*001rXq~"FS%YɎ{YEOjbpK2A=h|!R]9giIiLm YaaFC}n-tK/4S-!R8QGC NLic~aw 3kĕ?03F^ : OG@IfdžeA(/Ւ-{PЮڻ$(E!(G EY~F6GP$\XRIӱ=x7×J )-B3:[VT{й0zW sc _IXڶz}}h0z[8F ^F'=ϙL'D \N-Krqu DAQ%] {"><~ +|_?+}(a҃L .|n/d"  w2ېa6~ȧo3ؑcXwg1 CƟ#'5?q: {;(cEޡ1|1rp0.5hr @pqwb}AI|R's "[$A4& aHQfo.A]$ (Pik ~@c;pЈu ?QSŗY,]G&{XFrY>="P'bY4aZoV^ tJ>wnb$#2U0}(\Qp 5i}"`CHMрS/K,^8UuWuS,Fǡ ţR2;5t Uj82h{&OZ磟hj Bp'm^f? #!{|B̷Da̐8x3 }Gdعs9l4_z]dRT/5JR<6&3IC+tptus kDސlsKS[v_uJ/q Vq>%!*Ŗ"tXD vNj66j#_< ڡvOu.MW8|6PqjǾ™Ȟ)W@6ѣcA4[uX__WEf7C D]K#:c7Y z*93ŗa(04<FV/_s"ba9ЯAg4pi71{MLt ٳLP 8CR$z!F=ժ)kz^͖hU-sШ[m옝3s ҧ|_!/&a/T]QVA (w^ɡL^({;ᝠTHgҠz;Ep C~=)>CCܟCO񋦋_68r̨]븽1?=SM8jZ*&i[Zbuq%xhΞtl/c-DjL} qʤ4Kρ_4Emk|huh_Yc }J͖IKAE:oFvG,QL `vm{[ rCc{0o./>W;r{`Xf<*xesG2KӕJ_^:b}wo.L.}a.fdz]@4^fEx`( ;#B}1 Z7*0HOE.`0=nLl$p4E6SMqB_]UEp9sE{IP3Y<I1-Wd-Q%JKeЖ6+g W(p L/Nll2Xԭ'[{΅ΐQrYЗy7Gg5Wl3a \G~'/O> &S >S[vqAJWiuMj+!Wd * Ĉ":ײ.Y IlҹPVukn=_/x;