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վ| gx)RVY+ZJrv- ɑ\D13?Wu<>n`.=v"i4Fӽw Sӵ7zZSاm1 s7*xnY.CxqXP^<(<R3kȃPD[_+#U8uؗA ;nԱA/%xNp-j3GY@x*ٌ Ò ry}#j~+/\;ap ~ + lVaE~\)AUU#M|LEc~U(0r@kc1w8KtuR7e/AenjDyH&ge*) qwǶ_BķN2b~ȃL({$&X#kudƎg˱x6%ZV@{VH Tbܳ]`|QEeN$&g[[[].JAE@R&h Pst儧Lh[ v(4ү 43Oor9i*7ULE \Eo-k2s].|>[%|_\4/`i>x&((ȉ\}(';{o޽(/OOb; { v{MR`Ek.;AOXHXXaC1>V[jj>1ަ<}ױ8k{J/!#C!}蓠υPs:ԥЧثJ  Cw{p\b, HӒ7r:jE'TxBN*\9NƛwcaEpA)> cߕ˵JR40^Vk@,BTpKPN$.:Pź:P6U?P _ XP u.Rn$Q7CbL cLb'C)+]WQKA9XJ*AD{ 3ZFJ[5uAE_*%Tq g0 ;F!&DACQ& ,ErGo׊jnNϟ!f\/55l[YAO=j4b[+K/v FqkH ӟ.8sC8]@3W%9X1*KkTϋfg^ N`jy`Fc[/:VX<_SdK+Tߝ4y@cvFo#!Ɋ턾'#`ž:#mE@'[/gF8֢;찪MrAafVZA"uɨsz={?>?C?Cd2Z ˀzA *2P<xxyB'< 2C8هB +ܒ tJ^M*yUɢ Z0`12fLw|@[X$ h޶ nO:VGZ2_DCF0e \mT|S/w[2 0m<0>~gFۂ߭'# U 4;6yt"]FEx(}Acs$ɐSjŬ݆qJ x0{hn<ǧZnskinoc)5\ ,bi'̦YUnE`NѺQIjAewl݆݁4*  dWS,;6UoTm0qC3I?z(#=)OP"d62*rYk=WYuz ZY-c~I$voz $e$(wvzk;[nèO$`9\;%±[K`ZNȢ藻㧶۽isVOGH8/Ի1؉=wU78hn Y .c= ErCO5Nyq+o%p=jWKsŢ؜!H`4}y&@ͲjP`$؍i|楡Br8c:-1s "f䘙 ]ɮ&s*nCDFӇoAuN#/]drRGSMu^efdp SJ#wY=b|&}KgĹhJK=NfnWhZW)@,2} bf]+[uG~ c$ \\kW1']FF^VSZS6F~nT楞u:J?-iW*(T><8ב"y R1mu u #KӞ'CZD3׮63|K)cۂoCu;h: IwgQ[9ۢAX^B z3dĐ1M՘ȸ1Od:z6dd#B3+NGb :%8frPqJ%k*\я*.zta f*b6YMؤ M7p؍@Kh읨渎7H`X qJ6`+s$Ouid`(`ˎ`TD,ֽli}ɐRuXkGC לwRզV?[ꕼA,/T-ϦVT*]B/jUP)gkBb'>`ϿzU{5WꯀVVل~khXVq4%;Tp":eFFѬAh N0?*gj08mV%9ͮ0^)"A #uRUm( @9H* 6'VAm#3r6z+G8] Z3_ݾ 7=;ttUVÔ;:ec#k8ud {R_܌Ŷ`$,*S'`l:C"H`x= ^ho:@ "1 +W޷Q #u2 =dA62ڼikJߞw,mWV.΀0Z\  2%&u[cZ9*;vl_$D:$'*+1+ e.nIP1J! e/D_5FTSJĔH=<_i.+$I #a.Nu#IcV? 6>8`$1[0|*ጡòP:[% h`GЭ +\uY,'s2C5#DmA\5td z9>Qb1:Z[|IێJU~eP*̴r-.eh`Z0XqmJ9K0^L샨 Md*Oх67DsT^kF]z{z^[2]\)(:Ʋ{ ˉ^-TgUxN+\-}V:4hKoE;]}qo*`s6`ˋ]wSJkՍ|l}*`k.eD!x 1~&j1ϴ': |T^,Yry)t/bjp湅sx f9V]/@6ɔc} קݟ:;ɬdΙ^~f!ml!t. |}zLx//z ۪.nEp|ό DK:®$ez?]uyW]v̢m(_c rw&tt'yK> ;P9$ǔ< )eF[DôTiڦMG&DYPC%mbxgfqm2Qk ct[t#ϳ#Å܎@/AFK{ nfyXtEY WOh!+Q_ȱB(Z\0;9MYnRߕ/I=MͯH3&o6+>i@QXD}!ޅmABY'Pq/ KJQgɖF;V qR>}6gc~F2 Bp O" - ؋.<WǙ'uk\:^F=Bڄ Hvrz%(㼥g'^8>8稀ɑPGWjz]zT4ʘmrMKc[+cxt3.~M/փvayAվbL*0 V#-b q o<t{lPKZ4j4*upA<@ju#f: :c(/{+j*G߼V5[yL%*uP\:*YyLCV+V5RLr2F<st|r})G:qe 2 Zͥl6) vY\J”(_vRЙIZm5{~PS vbkZfV跫 QosގBU[Ǚ'=:  NFHbc |4񘃁8= /OmF~Ig:EQC>%3qoF_v~_8Y${r=_5=򎝻O.W'"ŹpCg=~Aas}j#`Z|z'6 sx:>B}Q{Zz W#\Ҍ[z)b:í{9xAoriZ 7J}%^WV)@di"4 *=5xxjS"!D\/61@$E*%{!TgXxe;,+ޞ+!n[^K?v#9}Dj 2}V.(ߑҙ.UiX4M WR}:NB“Zi)8@};"C]O3;;*;OxQN_߿'@x]hig }1g 8#qM@A]x0r>ʤ XQ&fԹ;$W_"e^rL{;3{c:X|IJ_Ne]F☗I^Wkp1##ث'+D^h'" GkٵxJFOan[KK^ GO΋hx΁~9`H ?p@&xiM'\*}OQXxIDommU0Ӛ?.s)1@LL/T=@X`L40%)u:4t,R\yCSUȓjSaB C<ѰU 0;Ԑ|;Zd9=$-y44GLklbn:pC9GAT  ?)Zq[dNQΧy$bB"'is%^Γ0%ߵYn9E2] !fGcͩ,;P>YIGT!%K rXq JO--JT&`>6EQ.<<0"{n"^[„}ه$GcEEyxCw[eC2@9g[Fd}V lU 6,MY"j:.Pd+eAqFN_pIa~2iO3<)Pbǩy-/&@b>C\k BwkB~b1 KS,W E<'%Mm}[>`M0oηRx҅SL"]0rVx7; P[PS@h0h ~owcuCu;aW߰Dn8=8`j!+LPACT&H9-\vPT2L2Ƈ3۩3)J?w4V|z q4NVD2 w8=WIjRЀ0t%nDV/7$ HSV*G.)5R`-:CRpW\3%/n,=π5WjgzAb~I8dzEESBk^:`N Z@̀)Fj8/{bP7E!1q6ȺxtQ>(3Ԥ!Ԥ6Ewi;-`5W hP3T3SsZ]]愍K? JWAS *hPH֋1L1*;9ί[:D]SS4jTh(]@EI&)WN @Hhӄ>}Lo@lķyJ)SCߌ , CCc9 "hwj/Ry@o; bJIs6՘:iPDRv@%@:=`n(iك6z_vWoԓ"$Boբkk*nb5I'/I_Yill䡫Fʼn}ur5$܌duN~9P}dAwuSJޅ$v1^A1R:.uBE5jDž>q9FҠZc+;nCU% :pTC$9Ԋ*#[́|rz7ENnW╴VVR|N VL+/bWI< LeEx#5P|˅q4n:ҒC]a Y/[3Q@ ^'u'S +R! QQ5UGe|,;Ud:Ug)ΡzlCZ05eaU6ɞ907'ݼ?"nP\g([”} P8FJ:yNA O2@;%g0bk5LP٥dt0  zܜؼr -tsXpwRjP0jB*˩(`RP-PE)%NwRYX7^nQ 'q7帜%㞸E9`bD@nq?Sp˔W燌NKkҞ@؅u!g@kȘ_&x"X14 <͞?řbLyrRYVck੬@`G3YǨPp\O[Zz_= K(Xen=oS07ke:ݣi5\n趲:3ҝ(K4ik vYE6/Ooꬼ싳Æx*ʶ[ 'IiRP+GP3;fw"MR`.%nGu@%bzRD%CkFּLdKDtPmyYNZo*L>mpE]oР#()e(K711UJ`d!I7< t fhUXA-ZȚlpw&㬨?N|U,OMRi5%ʤT.̈%?&'e. [ Z \P&YAp3 >Bи^Ene'RJi(5.YBw?>= ?<{ o?"BB}#dbz7u5ޠj\_}A1g 2A5ė~^)|k?\.M̷ XʺO5 I|{%O7{j=/F3oLIgXW-8/UbgGP ˄DǨCٷim'e\bWL0g'1{ ȐG⃒BCt )?8`L0 qEϩ̠Ӿ%c\4˵f{ f~?j<;h/>i^ ߆1H8 c(c+}ifl Q.6=ğj :VS8ArN@=Fx/\~ GY('%+=V5خ Pv}Hy  ]yRҔ1Q*C R(v|WT_u$o#'T$8ggu~D9b}rҷаǙ3Рk,AwPtx/إIgi@*a4=U%K`^ Ք5o=z1 |n7+R*a*5ztmVWU^<o ۏXuioh g!|uJQccja|5S'r@!OJt4#bOP`MӮU[!uv Yka%CT#u=\ j4!Τ|{C~ qM_tVlZjWԣ&q%E8DM ꢸx͸:_(O$֡IQ1)Ĺ?Y_![Wh *IJ'=(䀶4!"Njrn O,ă"Ş/ B-r^<4B=8M @}w:Hj@HuHuKztH-@zkӾVw_huh,GN/e}z i'MA }~(1+B0 P]&bᲝ?4 pOJGX?;9_&Ӳjx12geRhPѣ(xCR?=l3T0O:!rMi @QV*&{n6\}Tk p5"$T G(@X&ڑ{1"m>Og5;"9gtlu4BO<\efC5Fx8UqL?T*z2ݾ_P5݃thVhҵR.evmw$!CZ=#|'{#םKbN+ћ'Ep`/ZL B<-N.%q6r3i{+ jő"4^py6NJhT }N/˃dN܁+-dZ:xKwP -H0!L E^TnoܓB});E?@Jvp-Cel"c>Qo˱`nij` VxrZ߆{ |=J$yjpT\[awGxvCaMPb1v$$HNs@29&@cv~K zTR0)nHp}oǯӳ-7wn:WAqSG1 cIʰ) 7((QJ COGUmz6VO=wTI"2@6x0 GξoюqrM.+{]x >9.LCɟɁEispċ<ĢDm庴HQR?ei,.F It:aţKÝv$tpb@pGT0x[2b >aKXFOY{YՐvs*{d`fгz}oW4|j2H `:+ƖƖܨ!C:r:ێy٤Ё';Nv,N"BJNwg~-Ƌ#Ÿ/ޓ1Jv#NrF7|ȗ_6aw1fF%T_BP!^lgY1D/PsJ$ ,5~0,ۼ HI.KRꔕgs}g%I=EvxdV}1pvY.!noK¡s3-HhVv`kُ90o[Z67mBjs7d v[-DwkjZj:Y+nRйDESS rk^"Y$H}zc-\ i\N(|`lT :ƹ13c2>kE})<9H$eQF$& GH|I6;0qob$JF Vh*OjZqTY( bq ˋ ,iJ(=̇uϦdr_ E>VVkݬ?3,~>;ZCJ&IH@!Rq< V:%4`8qޛwY{sgc.+qy1e/ũ>* O&GÀ{a_ifFmC8/Ւ{PЮ}iPBvQ@' fCF]>i:NVRiWa@`Gzs|Jbeƀ( 8q=>)"P]lVT$zzG{dK lN`'0'J擊$!?KH$Rݤ Nq9 q@!jר*B(+$0f!4baTpqV/=GQɞo|Vy@QXfYh@%#?()}JB']ǞQEK]$As ?9j BR|@}e#m±̷]]OܷTa̐$x3ŋaauД~|RE MV)UKR(5KhoB9n4..;V?!لO窗UCg04+*0XSI_^ Q~HCT-EٰH$Ux1[_FUbK'Ҏ2ӥI~@pvj #kxͮP8v|ѓg!&AC-f`dʺZ 4 GN?pq<(8M%qrE`2wjd܌;̡`T|8.'??v}_b5mTլz"V[4jzѫd$'0ZFG$n hlYkW%r&d(gj5'"Vxs4%].Vw*wc>o={]//z!jvӾ)9/1riaW$s jjk5)kv˲VbqtA$Lv=层WHaԍtWT*GP(#-ʝWrxcm FTHkѠz+q K~])>}`TGWMgHr̨Sm{]<ݫ˻jHxWURg$m+tMg*$J$Iߩ Na9ht? 5;[01v.:>O_4Eh|iu\Y }JʭIKAE:o9F~G"QL ƒ@"?F{B֬Mivc`SyAntt17~EnƳQ-:U h0zVﴧrDd+濆j<.uJ1%zo\9_ u\aɃ,h$E%="lE/"͈P_ `dCҭrkBT ` Gav \AHCpsK9J^*Kn✴~O.^J׺.hQqyL[zӫVr6S%JKeF6(g W(rlG ĩ#㐭Wkڹ鞹΢$ 0 \\wxvp$ݓ?4OOpOϟkFtBqG߯u%k:ƪnU[ a>TXGW8%F|c'ZBv6X8Kn|²PVujN2ٟ"ڎ;L