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();v8;9gQOb{ZKIM.bw7_D"$eY9($[UHP7=L[$ B]p)|ѿްa2v|fY_>{ km?S;}`.fXyt W`$.HX/};O3{ȣX$Go+#)bQ?>dN28̵E/EnrϊmNFGY8$T %C1xAdUu^(>y))Qw=Q`H;a`JA4(r*Կa’i|ϸLdH^(p?&`~WO_(͇)ge8Y;I{hՆxĂ>d|@# DR'g2s~>0wI!3<+rXۉl]ЉEF?q}&H,jtZu:VD. JPP'C7VHf0]YlWAv;+]*Xyv[dVQLOuyiHoCfj⒲sqgB"en,η+(X:44;#~=dRm7j{ˉ~kse$Tir7Ee &:O ۤebP3#*BAaa dES4;Հ9\('wܠdwA>8e&sJN\\Y$F.C/N\Ujrf)6eP,\Dpb9䡛+\7&[8yn<UHsl C#{ҋ42?ĝ tq6rp#؍#Mst;@0XI`yr\ZS%Q4WPtyy(S1R4BO:Cwxn+F6J7vR-zGrZ rBfbKz$AB&saڪTpCjFH?mvx"#)*H&ap$졏#>"2i*f)y.= A,lK`qu7z,[V^RZm7NZbAm^8E1hϙ-!uy234o3np`JdZٚq_$pMַV.%)CUk"`Eڧ8yALJl/;}G7(9a\mKg=x*AcO跆{3-9ļ1( z?..7JfY/R2QOmEظ\fG 13dnn6;N0 ;eUw4V%C!5:-жk}kLW7'oFlBDy 0ChZyeU% ̌5kH8.-ւCY/I4 i@dqHNxa:A:҅. L4 Y 8EQ\uePF6K;7ޛa VwFOy)~XҠ(!8-9-û <7N' ŝ%໖(~uo;3P 6z8&a7 X]Y1 V21n<>żZ,;#!PbK\·3e'Ѷ۔Q2u%9?9"ќ;(Q`0f&V@.Zr/jdiv+:(X!ʥyjNq&1 E)ZD@LX)mvhogOQp;i}(iD!)}H4Ժ s6n]Z&'n<NfukBR[˂3ü;<}wD+؊ k@UкNɲ e#q#kXYlVPGDXj65fZwd"AeXM'oٝjelyxDeU.r/2, =syWj [ʏL %=1LmcRVO|6q%\g g*jVl8~) :TY[=o\SzڌmO+9[u#IZWuƦtvgneuQp Y+]lňK@xi]ɠ.v J{@5Ƕj[mU7lVFhmci$Dh4\{vR)&6Y!Wt;∧nDEӾ E-gFno^2#T#Δ}}H]4g -s|Gp{uAk]۬ UwlkR%0!ɱE.$| JfpiC 'MT:aifةg&W$Bx )ԇjdž.d 5''UA͚%O􅚋3Xcl`5YOhJž?fz#|%v"}ީ<LF$ୖHS@>pIq;SJٞNQp+ ` (+'Qp*Vf,t:E%/s# ߦ~ۺة2Z)oˏHߖ{'uPT*gaWyg*ȔCWEDgb/>eY;:ԡ5Cמ>ح )UP Y:k{(;UPp~31"F FAj O4YZ]R~-Z 09 ă1^NƓ$r{0VpegM $ e\g+ȴ>$tP!1Zq[֖*oh5icv\=F,WFP7ת༈o|Co6KJW'"FNYݪoI a#A7E.S&]ǍVS-;ֽ| Łxnza0 XuqDž]{>{IztVjXpmkF  V-5JS)Dӄ'0?5|k`鏕};DˑqPK>P,x8+ q^8o8$MURBbAIqc.- t. ccLH< "L/x&b 2 ,l-JEZNmYvcqMKS# 9\Ӂ񔱈s r8q8!` γ!`$9}|#J%/o1(Hŗ~wA(zB<" 7ǁ}j-x:j0rq+/3Ŝgw,teEt1ޯӕV p J rߐ_Wg{9a”?W0Tr,S:XwWESϥq33aؐqJ2ST6 i0hf3H =:uݾ+<'h *.d?&HXbxq%y$">e-lIF?Ό.:b*> EJ.l,vn.|Wkh_UP&FDŽC lPm*!F -.|6FmQL~q3@}{OtMqUC4,hɼ*۔K1: @m, sqgq RlA,$M+<%!4omnc] Ү9m>|m$t*H=#=\<\wcE!QAw|1!<,Y2F:D\t9xG#^m"Fo{, ƹ;ycnȋ5|c$)\qF\#1x(-G0 M=-ŧo0HrY w*<ԥ W @ zR&°%]p.R>,&_ߍP~ Ӊ :Xo:AHyw84x$ ,̗%Ec\}|PR@1Jv1&t'x9 ^\M /F?=}ƽOI (,[{P@0@@JЖS=!` F] tͶ@rc=qꞜJ2N?*Qiڽf_K~fM- /e@0Yps:$qLQ "Mh cnZ۽juQszzU G]U\YSriH˂A zrXo=ܬ*DVI/3"!=v3ĭVj߀B- _xe!jq߂̬?Lly\N~9YxjB=Y\D. sQ1*4D.>\uY^+KmaX {htXaMy|"2(c\3M"e wh'y0moVXo3B+ Zp$MࣀN1p埠`pd(İc@`t Ț.f=t ?~NF`t˻ktU5UpyoE,.qhbzH-9!u\Y!3ZE `()KSQC0ְ!? l * 10 8SE*gܞBXb^o(yJAi".'3^ a l /]64*i? }an7>Hy q&|F+(ˠ`r]mxIFoZ{<t$#$Kw4P!` y9`U^˸\inxߧ~Zms0Bڀ7uvP2R_[X!帼[_< tEGY<)K==Y!]ty/Jfq.OFϕ1?ʊ %}:`4mI+܅'21562jWBr}f*EiEl+nM21&=.Ţ9hp޼ WyyZ۬:o悊{~%ks%7{[խ2[V>WRXZ ˾dC9@$췷OrV~M-o6ӲVYmzгNrVy;mW |Vwm".vvD\G7iЀ!O Ͽ4hu0|/"?3<~^d 7e ~Kxߞ|fY fLl3MT̲`v@+.]qmo7w;;?^y=:Bo2G&]PYV"sQDʻ$l^S-XsU*.Z|3D"2 OeGC0sQdo5kEWb jeŬS^1Rdz EfO (וve|g%5"MCa !B>#M򨓹Vn0w0c?7_wN6{na)HWw/?wD."UR7k2~X'^-|#w$q W?yǠ+<~YdJ1|za.w+IkD,>06ǭ8 8dD($2>EE=pt*?@ED M6D (>AFS` Ouc#-7tIz,0jZW::j, (2ToA3-屇niB syaxU !Q!Gyͤn0<F\7FNambqa@^iɍw6_% Z`nQ/yʆ~!UEWx`(Mw}[8xAJ#q`NUsk4wCôCܧOa}4>ndžOsR)%^z@@l'?D)Îy 0yx䡉"&\O/%GU1RQl_ubʊyaZP=;OU{IS xVO Vfi EϤadq)~_`#{d"<K -^;^HjrnjB%,=E?k=b+z,Ɔ +թ @Q6zGޓ]m_誫se]Rxҭ9Tơ<` |4J@DZwSE'Ok ^oV3+M^WE(NroIW.Lylܤ"ûG=`(tx#ߢzoO,R=(ZS -7? oѝd8u"9S"b㞡n5 PQ>5\Eh`!\a1 ŭ b&'/Ǟf# e@ Z>x* i&'BY`hYH j#Jd7HI`DCOƇw"DY0J)u*TW,,`'HtÀXx떸6mͅГOUU \Gz#MYL*Q$dMƁ@Jwh:ɀevpIs 3Yҧ B9*Ŵ5y2ԯj["3ckW. ܝT{cSO.,e7vD씴GrSZK#Bgac ">C+\ ~q5J [`|4;cӌɍs[rY3:?7}ŸzP 'D^azNY=UтAya;HrK2aUJk4XROeinx'qf V M^q2i_吘ʾ.f|7B0p,INXQ3 3.3ڌM"\dGy=ec[V%0cuS0kUkorYTDjEJϮ\U;Vnyq 4YMHz s^^v~Dg@Ɖxb9^JU>SM+:=뎋dGmm.2(cVOǧTj7M5lmbFL\^MTPetf6t7maнV*DځeVZ `Wwu>]]F= OE4 yd zEr48h|OLrJg%T^H] .݂υ\\bX660, KJC?i14;ǖ afD<6!\1EQwm58xMsX@DP2/:'#`ȃJF̞f)2q3{V*@}a[0n`*Õ&BvŜ6fuR;-Fnp~ټTfj6[ד(RT./xʵP^$a$8 %(c$U}n)< )Fr葪Al0dBCݠBbkN8`xORН48u6q)Kt qQ 6ΕedDgU@ʖ$(HHOMNJ8:^%V6L`ZQPp)/&-)^Qa0ㄾUtsje}›zPeB׈#11C1Ř/۬U; le"}T?@*>}F1PܧT'@PС_-bE6 Ơ11$qF!',T)5Q8if 79@A82Y$u6F@0yH񪂢IC1!4L'C~Yiq'iC MY@/yoR tG.B@@UƸ((;IOcPP֙cQrq o NAHM"* Ոm JbwFqc{+!/ q,@C  [Ez `efGɳQ`!RI "ΞˌN&K^xlV~{ɔj%j,Ξx[.# nk~/<C܁n#&;嘣dShIL5w>sP{:;q'{3OH]pPĒC4ߡ`0^#ڧGG<:5dxeY;+{+1Tb]NJ{ZtZ.J F8(]P ȍ #e ;Mv68Kߔ"&Hs<""2X*\(T% !RHP{13Ra%]Ž(m |dAę1G? FJaIF%riT´0$[̤󃌬40-\|S YE~Mdr9`&YUt@ (ڏdnxrr͞F hQ`19Ae` azO'dei$5x|aSfo{d[ȑș rI$YiA| p8f!'9@Ǹ)ºzg.8P4Z$[:h܂WIq]  bUĂ2(rRQZ>dTԊi/Ƹ?ҋӾ34.)ȞduNN`5#MJ El.*% 2EfΎI8@sH< i,Jd3X($Fc] eRhD-x,LI 7&]JgK>7:63tVfekH 3U1 3#Ȕ`z(`|IRzGIentS" +"_xMbMq "'CkI/3%Kf "%Pʩx1jX;jHcLS #\̉ mDH5?bA&w-MT :4ĥŁz6q(Pk_iW!]%v '0t BENEpҀ3[JEƪ,gө(% մ*hh UDp a2 { vv<1毴aMg+_Iy=y.Byh̘ yji=sZ;$}njHLqꪍ<2$F@9Ã@CG8pQ~&RT(!I/9r3ɩM\+UJXFQ=?CBBr[nh}?gOPmn[&wrM-y\lY1p eDcg(]26חׁ2Fp8ːŠ^B6"LīwJʛ$$mnI"n;rF^NdWR&<1(4w.ݡoMwp7l yY4p;un?єdYT̀,F,`&evz{_WPѾW'Q$]ͿO!okh Kvaݯۍuer,2ˢ7Uo.`ʡw /4*~]LUDUpt$y# 4É &&m<G?'qF*{!{p)~JJ\W*kS MTWF\GD mH%o*Hr!]{dO@8pUn!* aߓZW5:Ɂ94@:߀>< wK Ԗ \zً{AoƖco|_/ϠNo/gdnE>&Qy('g. c;ИAQJe}-wDuʓ $a]_~:B>pXO_H޽Vp9Y }Xݰ.w*Rd ѷ,>Qu k"-Ɜ)~ &x3EbFqcb0aj Di7֊JEFh,#@a& >P*CBdcO_/~XWzh G) |]II:좀k[Iqcė;@2(*ðP,o (ZkveV~:Z%!ފfP!c7jlR-U։1C>]j}z1xf7.oɨk9m_țIp6cp], Q1zGЛC qaKcH=8&0r=|z2叇?|<%81aB98Mg:|jV8 Ze>YEVqno l|ĽYij0Ӕ@lzr$ 0H|>;ǯԴe 0C婨YP5_7o)24a>I׺vXpG dÁe݄$mSWCq(#_‹@^j?&]t6X'fbwz^>2 =юRx0ld{:A -Iؔfl%?O{u p+A]PĆ !s9pP|D?xsݾbq,]zk\xK@k鋱vPL:UCG͢b~W 7+1O-F$(ԃs\NIG#P⾈<,ǁXs@iJ4Mʬ}#&Ƀoc7BSФ9RIq.xmJbUVlޟd%Z86tAاw麘BUZ ̌ƅ/(jVlؓ]9&xM7DNȰٯpQ7&~$7ѵ2Pȅ EM^o5h!w_ӈAb\EA?h_xCp{d!T __hb$̣.AbS 5nBտ;!;6vTqLjՀRwJ&¿"UC!D3c 4eKg(^Ugu_):!ql1H~̰" |RFg:𾒀CYُGz}ϙo J teʊ3d}Y f$*wCEQU0fUbX/6beem A(0 V ?%ق˯RKR)dh]R_u"[Q/Z>i,J 4sd2*;Nj ڪMcyp59'_yF52@Fj OPr#Cv;P)7KFOљ0:Ak%6 PiV":a7GK/Y`pE+u,rgGe{$q#jWc?8ʠq\k<mUݬVUDZek*o~SՒ- GPl,ȜĖ\'HeZ  ;<JAxWÕobwsY90pLu$az6:|@lpriaW*]9%5xYۭZnfűӶM{bsHv}9c3Q> nz+*7H+mʽwrg݉ u1{գQLOܣ.. Ǹ<ů .~nubP.JDx`\fhm{NWݴ9q)u׭y2hBy93+[gW8h0] lSb!F'⼎*=և᧏# ~{:MzE~nAU-[j0RkvU+I]up8d%: g7N8UyJ( KIixGmtC)M4&Nk*&QBÊA7-@K%t %EB -pj:+s&.. ٹeg9%NqiwO]ħe%'Sp"J`8i"pG|=5?R~ \H11y1#,^}jr i78sZ2ϻ?.:$bx.q %\¦G.GShzg< u!֍b*u?;a& 8[x2Ґw/|hړ 'oKGEe§Ӭ]{Th/R?vFFD5a<RR]7Z *3-/Sf#!>IH=EqIz֮SS0y^<O~6%}||:QH'T_ĥY:kj\_EE߭ZtPeqVJ90ny8jE':vF{dDd'gwKb>lT 2q89cK?Z#xd_L)2|,=cS7&7tSrkq (%P5TU sr Og Q Qf`qa2SdOqxXŴҨ8l.E3B=dapxEƓ q펒1UXW_iu=fݸcSUCq>UeaÑK t fPa2v)ӃvGˋ{~/%öVɤ4[j27. *,wŧLtc0!{V?Y/U6Ve*FgON