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();}v賽[M6e)[{[RAfQ9?7_r IQwř'BP( @vM3سwoX~W_Wf6fXo<,!|J8,)X/}>O3kƒPD[ANTlN1e`Eƒ3ǎ&[8u,aPω]U)?s4CP!,WMTte0GM^m?y: U9r\Qb@J(xꏫ2F^^Wa ?bѹvOdX~فtgbwg"= +['D͞:EТT#F?u03dzx6.^Ul{VH L:.](IJ6'N-V D&J&]B*pMPcth[Kvh2Tᆢ̳"nb}˫:d&^Rv#w& )'_|K%(-FE/kJL?K`;}xYS OiJb;  viʚUR Daf.;PH)Xa!{ rb}w[Jۭf4<}ױ8k{J/ #C!}`/Ӭs40DTJ''Ȋ!߇`=7s8vwvdՒ75˲B*NB ϕ+Dzx7cax, ,ggZ컒aa6̚|FW=$mJ(NW~qQ0<&:Rh w֗ "La8pUjZqmPӪ9m!BQ(a?0yi`:hN5w]*Of F~׳惡<LPU͹?>5],7z`e$FTTUIj51!t;Xm&]9y)EGqR 3y`m0[Qup|2KhV+?q<ޝ8` ~XG(@ ay3ޜYBA-sStưz~[Π|r>ϟu_m-}bJE!lk 0˰[7K_~7r9]h{0q[ sVCPR]d]Z￯{2p րmc߭/ƭ]zk*axV/Wmk%\urrD&i$=\ƺ)]C?<̌Sp%;f]reWEY׃|Zyx"F3t\U./֕Qh\q-y L++$@'.? ̙bos/C"3Xy,ZRtgu1-&|$~ KE3U|"] 2fuv8g/^BOzH24g;EXDḵ֦2`YaPd]cZX14-MA= S't}Mv= SqY'4"&}̑s7%Xt 149E$;uZ( ;R q#wy{Δ6gFC: He7A?9$0ScQfli:y#Gz!X]902NPMamڭV.ڑ1%6+-S[YO~zJ *f]UבԚ r>J}}Hgӝ2t4cX.#x&m : 곑s&lJ6ut [ƆY'0>hrвX^Ȫv!cڪ",>a?W<~a\pHR@d))Udc'CƑjPr(J\fӅ5UjʡI@#lbqc7.'D4s$❎H@\-qK6`U ,W\'TbpeD`"`YU2s%`C裡%GC:Jgq஗l>E*RQ*J%=7]4FFnX6GKOM5pD[k{܁AV1e2ڂ)/WzX |'k1a8LrTbQ|0Awk4;iX F`YSj -pC\3Dn4fcQVab -suʊ S"\R~A|BcLKE,3WƪJ;3E jcެS䁏ֺ4|~ZTߝp/ Ҟ֞y!Xc8 WLTJZozޜ LWKΟ?{q#»S)=#s-+p3鲓j[@FqHxXOEj_#l $P0T7o30M7SZ=fl4v2 A97ky4b!L 7?cj0 ih-t۝H^ r'S `7?7'eE,b7"=@3C"R`?vlA)!֒h7vDh[cx*Z:_ ў?G4L'fmέڿ>9&Љ#<;`WݲoГ71|b}$tO~XDL>FrVbwwC}#qmT[_~Ad9vșN:z_uay٘Ț]N׆5QCt, -Js62P:C,c(GiL" :S" }$"x. 77 }k>FYN-/nOI"T'>pIL:vcV8Es(H.`f~aO ~wqIk`[_p䯎`_ R(0@p!U,& d "$pb`Ohzn?:=暈: xe:jOБWpe(*tWgv;-z9_ uD b^*?/Ϗ?wo#ǜw0b;??s30/zϦč@.q+s~ -ūYk"&UUl[02uTTL03#3lX59µlz  Hz;A韜$OEdNe9wE 8kLO_'gaxXȲaGѫ 7F~ 6Kit/;rNќ!;BSAЅro8lp Dsc[CYz.QL|ibv!mJ \> ,rOXC:[@- {J@/{ĵf-wRl,8M+䐺ȕ!Tonc=ѹ[5ES TTE !<[>ΗC#W,InE8|+8B-ģ` |1%pTȆ0qxy*-eo@D(Ĺ"`JStuuz@%!8FW#Ah r}mŰB0`y!ˀNٌ[J|j dl\.+A~{ȱ\%Wt;2d]kr%Tn8 TDdjxݙsu7rJ?Kt,NS[GzȠo3fo&1iv|T %AR/$r0R,+JR" PxYV I!F8\^6$Ǫ!T;܃|l;F3 Bj`<´&htbHW(B[N\hj*m\5qT8 9>Qd5:J; Qm (UJsL K6P-$RNL+@j'Ha G `MP՛Qwث[ v14%BaJtqMA˕m+-,75BMKPEĘL;~ѫxz:ǀ}vC[z+/ ½Oz^j+2rk;fi|OBX$Y*5˧-/vM5+'Ƴ]~֒W]j# cm5j3uiKM( 2ܩsԛJʋT$K^fY/ с-fɳ9WP>u$~xke`C9);g]H)"x8w:ɬ܀NLqkT7rmfn/x@fr݂YYl_:^9>UyB5}Z׺Iv5#tc Q0 .͢m(cy&3Q0|鞣(SqH EL4,OlmGQ!"J6]~Gl:J6-8T*𡤋T b,.m-Ur^/gh@"mZA2O-\6?LvĦtwk\t7voeod]Ebz ɐ&]>О2H0@R=e܉W@2E &ajY&T01iePe#e_#se8JLE:8:n~y鱦 jMЅ7*hteLR?1Fm>M30 QXE(U>t +@΁H\hD%;0-1 ̗67~21]=9mO_.E#=hHƤ3E k6$(m4}@o臮4/dS!U2DU<$d %c6C(O+|{z*$a(`>dT>|(`I/CW 9Nδ9ɥf^zt)a+Ww~ySƆ:q\}?S፧,hwj rc# փ{&CwX||AKB<{"v_Ag+H$V #r4'M6-;s?2=^r\NYrb E 9yw^rrx+RrIRZ'Z'YW/%6IH_FfE^.8EyleG!*;͝NN͝͝>}SýBK$(kq9,f%_Iȵ[ [Ĕ"`17eA<)B\yG|=7!\_/%au!djOwbnycY0psl^<)znJ{[soM&Yo~;/OYK92:╿]H V ٗ=}M^6b WPseS'YJ CvQ)r4)ԹS5B]Ra8ڠ;.}!|عz?çUe|ԧʭt.kEWn1%c:\_ܟ%AN v:;gzTX}X/{(V$HQNJ?QZv^rJcJǢ14( A u|)Y~1zޅ`w>Zk4楻FKmF̯a=iL?`*RʚON0X85B2P^ !eCRgcOjY;x]njL&u#ngYԞ!Ԟ6F1rAibNl#UtڪMjVbn EB4!Bmfj~11>W`T ǜpA|Ǿo\鮂>qLP16Fr^oѩ٩5VJ_mBbyMADQvNQ"r'P.Q>z.tx$GK 1setiBIv 7dbxY h8SGإOw_Fe9L,N&I* 'e ;uEsdfx 4#2J(9;?Nx\jRwȈ1jfb4=< :VSSqHNsU0Gvy~ܭ+iSݬ6O,m's]%'ѵ9Î4rbBCq\1ʒC%M[ a^vdp%C ~)'xu_9<VT,v"`lDU{|,s,RDЧ| WNh</D0RH>3A]/ÍϽ὘?(|u;:e-vU^ 1NJC)RX+䵍4R0uR%QHY,}sa[aRUo.%g|ԞUpH1DJ4jz'1"ԓ8RZ,W"|ZpF\6BX4|zV8 i(-mɿd|+#ӌ)s[ >20=j ԥStF 0L]D,~A]"zDz%R0̺rݬˬhV;)-TSՁe +Qr]*;zAPenSoS !ciNOJe9'M̄D9fZK,7zͭtTIR$LVt',C֢M7ivVFUa| Rgۇ|v*䌨3ZOKs9CVOs:ŋ5Hfkz|pބPqO4CQ^7Lҍ,hlp]BS Ut* Aجw m4NoMo::􃜱Cxpg;{CA+dUO%GhNxNh%"H4$" hte3 Ԇ)0aC@w@#&287\Is,cJh)DA"g2pmq4AHTlY) JAQhr;i쳙}nd:+<234d=hFd*'Dtn.h &tuir}ǁ0U3Zfq@~>+Cgn٪vld ||&6ysy-=! |D@cIQHf[͖RVzfkޠld4zvuUqV m7~igN*Lye*efA@R˟lZ24fWBS!:U{C¤$K􊮨/ц[KW<\VۯV5 K{&cw#9qRiJK/|NaJUWeT2v"#ӌʠYB)mF_fD9ƢQ3۵F#KeZbwϳK|@2[6?yVi+ۍh/k;o_2F )쟞!H% :Y`"S2g; c5,=ȑy܃lt.;e>Cg: l6A-;@MQn -TU$@lvGHO, }/&F:&Ȫ6+ЍrN]7[KÉ`]ځ~;0Qo^祈Bޫ>yy{RfS_7sC4jPB VzhtR?@74;vfvX7,aGt%t{v`/.hٽ+W){pz$ݨ/k }C*[Wfݦ(  WCeMUadPz69{S< MbM" 'Ǥ%-|,ª #0a^<(T;$Dl,ͬ G:5$BmNLxY&f&ÇU;M s3JMLZȩ(}C)uKza~\4ք v@= $2~WP#׳5Zn<s놽?X!G lG>pPGPMm= XT@ST@2`R`pݦi~^ϫC ?z/كgvwsl%V#C(DUaxs9xl:\2p'>SaHDKwxCR]9)||1K.\) E,T\gэ*?l`@NY-v ĨўGDX!UmVPl){{dI ɐ-Fq98H "RG@'oR6.6`sqnmC)}hqEzI*ۭRKkqn$]?Dok>Voh}z[ֽVo\5(m5&O󊼏#Unwnׅ!u2.ѸPIw'Q1p<;Fܭ7F3/L1q70q0DMdX4 CUxj LW{x5z *'ziԇU U/$dbxfm@۝ rLwD`qly >z4a~կ,k*nrOS"dKדڂ@&F ԁ@`ʔBj6fc2Ho\Av9oVШ{ը2]L`SGb@X/g lՒbt]Qb=ᠼbd:Vl[z*h_̥LL~Bu,{ͪn.7Z)3ь}89)|\3LZb3zz0獰St2=EPQ6t TpÇp<3h'AG|-NAD{'d>hR&6x5ޮ.b$(s6 ${1R{J&t3lD컇ҩz:Uo-өNqބ3<4D\toL-w['{=FQ:*mXZQq@^3\l/58u_zݵ#uZwZ_^wS׍٣@J[w:z:h?:nl]v+?TAx>bWavZZs]dG}ET@)$]MA_PRtS6:YO#8jNjM+PNxN:m1] TT@xtp4?.`M<.(Mήe2('xt rKkod.@ƻXrpeױMt :e{%Pj$ƫkO6wlOhϟOhYbAw=f:c졑 ya6}d!elFwI JA؂㜷+;zZil@+KVL zm/zu% x\0/['%+ކ)ZR{ wܚHI>{vF6˭5XG-9 % O&~E%Ñf|Jɓ%h3ܨ7F!4Z ފfyf !+;=5?b46pgI X5[rk&EiKtXOX}B3i~ 0Ch2?gO7oi+ Jg{{I_R^)9>נ_㻍֨K2΁<=EH!RQMrM0{T;ca}NdI ``ejCr1LZ~+xa2zPX`Y@ |`fY?2S $L@̢'_܆ " [@8겧{$;,`)PM*d Ͻ%eH P{Gs6^}0J$f{T=*m|yLC58S~# `~ 0nG! \hpC:18d%ϝ^Ζ F!u( Ӄ}T>?9#y0͘N ۆq(^9/كven}ӨL E:lq5vٸlЫ;%i8NVJqW2a=D(35mAN+1 v@mh `rN`6@#6GMkB 1_IڮF$sCEbw;#%E E}p$Ѐ[2 Emm w;%&iD| uU1lMo<\.>GLP)1t? VsQT e^@or"#{wL8*NhH{%Bk Avr?:s8;/I92tSRl!u.K# (I|^1MpI|Ⱒ&Q!B" @Qa"88C6OM* ?[(H$Sߤ)Nq9%DA ve?pCJFRC !@B7>d YʏTzbRylE&{ڿry}"Hfdx4^0$Ż"U: BSB}"dc(M%3*LZ))9 pTl~cϱ"t팓?i_~QQopp]-)&@W|e>Q%!\{ΥZ.RV5Cַ80"8(J?{[bf^iTV]|Hs \E0! z% ?% 5KjR?0pHCLsEףɬ)Ub+5lYD@NwP+k+بlex҉L2;C4^FU@?Hz OEi|ڰ3CyVK?2[kU}D|YrBtdzZ 4@~0HW~60†"Ns$Q˱x8ٱpq;(Z5ZmGnFDan4| z?Ԓ5:0,݆jP!CO6|%F9֨p#big5ЮA;_h!>Pʙof YY9L tL\r-;@cb#$Zˡ '5)p4V[M5vײzVϴ8 $XA kD|Kq@si_A#)}A$3'NQ#E"\Qp!Iܥ nJ_@ڱzoOP:)~pq{c+gJ:71ąsv]r?ƓOta l(F]=v,TדfS5_:pꐡE' ʑ^۹Cq;~V4*ގ6AR# 04j[XVcq$^X4o<^C@|PXlѵ:`$[nt+gvPuAˎ]M?͌g[%2eM1{rGHC^[Ze2d8Y]+Э̟.I!}=ߤp0Uդ: W@m}SWdң3Zqf\Ӗ^ޓsi bLRjDz].ҍ?!qA g~W/qSG![Te=zwZm@YTA)KXˇJ1?lGSXwM{Wzt_Q3o>u~6^%ށ)Uރ-~zV]46=)PaoMT+|fl'<3t s.Mw,?}l/Y71S:֓#