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();}v89KlM-rcg69: IIŲ95'Upbyw3Im P<}0rOg~ZEzjOkEƾla4iýfs tx£4ÂgYv/`+"!Bm~aXOwf#_^$<:hicّ#4#6k%ۍ, E@otFP0#\^?zX ͂ȾYFߩT?(`P9{ZMOB3Ec3'Qs ̰?Je۳i[Dޟ֟n=A0goA0Z= XXd&r<`2ǝmz~ !@l>"*C#(󩈥O:'# 3=Kʶ)lLegF؊/K_qrGq 9tmnnB B(tкhh('gyIf.ٟO'x?K3,O^T%ّ#vt ֻgw_RQ_иĶFl{T*k?fI&I8l_=D%='\в>e1>Zn0ⲑE&B'(-˦t+TL ^+>JBcǃ1c5Iű~> ܖ>o0ַ?h;i#PRB3DE}0rKGC"Psu?P4lf=`/>Dm2(8t~\P p\^GL4|C{ODBⷜ8$}P1!<qPZ\-WA]?iPAW+!)уIxw&N0)Dyqh{[aHƀPk{6W4Am&3Q⥨ A+ɒ]7y 8VP RaQJn4ܣѡ3*@>_%~y(00w8/c+)Z HJqC͏ՉGx))ӴhΊ(~+?|)6‘ e%,`AU@†++ѪVY 1 \&e|kRkX/իU4\|xi6V[Z~'5LB!y.uѨÇZ} ~7칶 eύv3QU9NgA+1ҦTRVHil.ttg)&(kq8llZcz`nB+[0Qy,q:}l r+_?ڎA˗|hIK<0 ЋAa=?1~Z .;D ŌgeYyǏ77:twfgs _\ d- xa |܁wfAsso29PkpOWfV َt0b<KfbgbD7i =yO~!8=D9adt}G UI0.Vt v5b97>V{5xx8(G#[/:VX<]QdI3T:qܝfy@chV7BvĸDD}{d١q 8ͽd``"2ؚU V/焻0r=] ;" A cϚǏm χ>p!Cg-3\vih ~ݠoui)wb(ZXqAP^*:/a.3]˪J^fl -uzb28 X o,@2;V iV[$Q{ҹ%o:Ң:>%"0B)#i! Enb泜xْ)iI0YVwhBx sse"'zAʡE2(6m= X•mo9VCE d4-ݬ4TH'z\DDbDʹ +䈕Mر=qyG=;b]LX\kԇҠ91+qF^#;:l]w^eVdp SJ#wE=b|*)}MgĹg4}h' P//е.RXvO(r3#sbյZuڸp8Fbw=~:qEhksҕadV[`55ml6í#ћcJ<2;vYZӆjOe_G)Fm5rܾΆքiOZc!mMW~cejKж,AġmTXַOAɢNIWkD& 6o`Prc5dĐ1-Քqcptl=8F*g*V |#\<ҏ/YuJRMp{tHJXrD?J_f:с9Kd5ctO}GĶc'VjFOF+ޑӎH ~[-Ǎ3ϣ6lʦHLWP#Q#0rX ORV&KNY)X< -T-Weݼ7兪wԆQԫ*Yfx<\*6JYfh}8o.ϲޟGV+CblL5sD4^P,˸i*8GrbkY@Qmg4@4Q$dH\6_B#]eFZD>G0A_"ZQ@&rhT\+tZO xTtjDc]brmAiյS]֚wʿ~寯ޟwQƽmջ(sɷQkwRI߼GoE﯆{ջ(G-q'nv x*g`ל\vrӨR}V$>M=6ဈ6Z@r~MZtPa&O^_ jr˧ r4(Wy3aTJQThWj"/4e֐NM"W/QJ&V*eAy1wbI 1ęVr}QU%}qdAu\(n(pGk]H&mZS{o 22ΑyRB{*Z,bWbm[b]nbu/W|ًkѺplUᝏD(y;ůT{[0`q> fs'pٓM(Ð^ʬ4]Nj|Zm7Št'J3kz Ȼb_CMvԫ^KǾ>Ŵo(<5wS^~7ߔ-zm;н·Dtn[RUS$MmѮ_o+Ǝ6YfyU>[`Y =ze~'fyʭփٓwv?W1ܵ=rv,Kv zrd31A+ ]SN7/_3p٦PHNt;A1n9G% irsmr3e r-`+xՋ@Wyh~ X95C!(V(@ON=4(B.(Cu0&! tf)r:5F?t6}Haד:*j]Muǂcэ"DATﻆe݆ZLw Z}hӧIwN`Rh+g/@p^,$ d *_ˍ7{ݷBcT/tZ.9项|Z(ͣn#3TA3?+$Gنo9xu]yk*EVWMg?01Bs8~w|߯~^߻>6y+}~/0jCҞc37x@6,'UڹD,<<҄P ׏s10fM|;G][E[o{,U }m*&{cl:u$ ? _ĕF%wZl,0J :ȕ!Wi_O0wӬ!zVMU.ɇ'L") yvAar&Qx;v1)ͰWz0p;x@ejeV׬@W"bƹ"RZct:;6еÄ%!oi [C`0hU w E8,:d#nAi+՛ ~}z HGւHT]o`0,I7YnimCfk;#+U׷ Kt(HN.6@cZ0bq[?`XWU(RsM~\Y5zroSw~f=iICXE,(AH.nS^8jTZn<cT'[sw AG( ƐZtWG[~-$ogNEtR&W"QH,ƨg8˪|\o6OX5s.С Un˟tڠ+'Ym1&ߞʻ^dVn@c;Ys^yۗ|62 @4tA08-XH43s)D 3ю|+hsc's:Q_$W(ѵj"HÕj0qf}=y"hU,jLlkmkmuNƽFUklJ.K٘IcjT{4:)YFӆ}/>@+`ժf.62kVVkFLV74]F(؋$ 4r{=bn#~> /OM~$ a( jdjW>@nKOC[O&{Ar,Ǚ>XSؾ91zv]w޹vg.ޖ k'Nrh'|oF1I=d*iOqݭpf\%{pCn>ȑK zcMXfX~C>n`_bteDƋ匙&J;'Xpw1Z *bIKunc3 $LRX2,s BK㭉K?.t~3rg,Ye @KWt-vnsH뉩։sȝ _(KhCXKO<r3=[~񷜏 4>z|)L*ʲ.f…I\,~{DU6"B>*mW8Z]ˇ2R lno9>-F>8-W"K;.>>}/)!S`@/>? R"eXW}~’'F z$BhssPw+Ȟ2K)1@LL`RcZSVŘ<k/ZQ1ia&)u:<7d,R\yCSEȓqU ITX=G0K]H9Ԑl3ZdvHzˣa'x(&榓'rDyMa;lw(,Z`rSdvQY$bB"'ec%^̒0%ߕin1E*;DC̎.Yw;^;L;T}SHõBK$(jud@j)r)t&Wj6A>BV)Fp$yysdV&>$9:Y+1tTFxa`B2d8]՜K{K/?+AM|B7VY)Z$?M?9KYPM0#?/BUIa~ߙ ̴N)z(GZAEjx_H2@b>;C\+'B+B~b1X:noh mBW~F:?vZH)KwNQD:`N; P\PS@h.-1h ~nwӨG~uGCu0oX;̹{~!kya3<~Xʎrvp`Ksʁ䖞r}UN;w*}Շ i%a=EAq *|l9FS*ge 27r۩5*Bɿ:ZK}Ьr3(lڙmd e}sί qyԤ? ;[LaJj+oIP=J3ib%%U-_Sj9/٥[Hp6`hQW7%M+RK]Pd^/0"o(JD֓ajb z)3jӱUR  G[ְ%$4t8 GV`\i;Ķ3㐽s(FJ'm MPlG~q]u+#nɨT!^_ Uɦ:P/ɖJ6tI/_\c'+j~KZvVR|N [WLrĎRf MeIx#uP|˅qZd % HM a(V^op Oʓ'nS 3R! J7ڬW@E |,MdeQprZ#6P=!kF^+(\FtX0k  g6L0|Fwُ*qC[lŞTbgkJ_`aB?ā@iw(J z%jAT8$s*0AgݚQ!AWhRXzI ,'BsWJZ}IH9H!cgn^{!L^vBfq>KsK/=qrň<~&9 M\LҞ@؅;u!wGT :Ա BcZ UO'q&;C+SF\jE֨YV[,5x(=7;9XԼl/u NIM'$y e_7|!x,L'q<1}IƴTYn\7t_YNAIR&Lft,B֢M7,󳢮Æx 6amF.3֎#T*amΤ.GJ b7lM/ba$!tBQא.w.P ꘞ!4i9EK{lq^_L҇0\/LӼ%&-%c\1c|3 Yrܞs@s̩vpEkoH^X=e )egeH'Qh=URqdv"ԎI7< Ĵ ]XId5gȺtpj&%?}U,eOMSiU%JT̈%V@&'e.LyV[Z \PYy jsȍz.tb TDeG\ w6گU;NujSXj[|vx ƴ#5i.F쳝aMިx&hD_tȟ#%Cqhh5Ls%,K*i}CL7`@D+6@ d`<2YCCī[|(X.vXy#{&&!T]à"+K Wtx"ag.,eWC\1cYQi9LZQfoeo̙25'j>?jl?/t?"BB}cbjk7 ^Z%YvZ<{A1h *,Kڻ.Q,ZZ=Yk(|iKZ:@.L瀷: Xj9-[3mL0l$QCkM6w]K.%-y [I1l*!sDyZyO"WHP (` $~T HJcttp~&~HAKZ)l ax']r!mM 7Yc8Bq[;D0֓ ,`X3f`:<]~yl{@{AEsc_Av8t7}NwM'F耀s{6> N/tfw۞1<о.C  #89 e\zm'&%ᒽ: eV ,p,p+PJSNotaVPyOR}/~!% EGPe ̷ki2F_kuVW;90kQ,6  usڳϿdf{Ϟ %Kqg.`Fq x )g"4OraЁrfb0|B_^Pkd͹ m-j5? 6_ِf 6ЬR*2zT? ܅O \!\u u{.4-jwU.iXb6Tӥ_)K%S~‡<\mUz;ת7Vπ[6s!VbIa((@s> |F4h~-(!:':Y08EDEe@}T"Pp1eΓW^t쎣!Wr`fG=e=®w 9WECZTj8Ѷ9` @8hw/Y*b: PsbI{[ٜsfکͳh \I#< SB^3,)W7nbF~_CffNHI!u`,K K)51A=z9\L.L0X;Fr>&<%\Rk3=;>r:=fzk.tJ 9qy[8nz5f`Mn B@'3Ph,-PSY(CC>ڀ@Y,~L6xyvO&9/=!Z",gB{U8'Kw#aa+ !"}OCپ;^(~ am>Vfi4XCnU惙~ک7:0+t7c UT/ň#{oV|azb\DGc`oGv: P6bÒP5ko@s'IRHχ] ߶n"[05j]D8a75.E5|t] !f ԷfVyyٕԹmXʎ9P1 oZ3GJl$"5Q9hCX*lРj=Zlvy^< ΀!j5j8 Z &GM^'Zo32MIc7z})O8z#?:bxyg qFWg܌q{kFfќ6?k_PeMX(k垂- NIllWk=P mNGPhQ SյE,Ӊ?~ q}nV'y B\_w+ku1ꕁ&nZXmf[1uṰuu>lpmubEVS,1;5T\ $}"l(Y 65\;̓hDL"k#8C OƃSt:d]U&N-8g)VM#&'+1 dlj5,.Ju3ZfmVm.ª ;.%(P^a31um(xUzу#0]IW~PŶH*i=¸yGyyM|ټwraN,R`3DD3h"\ԻP͓3YP/d40ҝʔ7#$`E>:6W*4 v U-ApB;`Y) z iCUaff˵%$n1 (#@+})ǕfƢ̢f?֪\ BPƻO Xx^Gx YyְU댍:9 4Lv6cʪ}ܵ;M]䔝Q. Lw X{.QSE]WFC\:A.^W>.2{\xMFU> OBwpfW(pzgܴ^9;4< }89ePAȑ0p1J.jw&y\uk)vEzH _m-Rv{KVm*2]\8c 3Z>أ vȆ8bn(# """<N9T@|t9.gX@Lx p-p@cP4\*NaZNԠph:uKȢ 2Ɏ7;Tw''5"C G@#} {ـ5Nh\z9ossWl.{?{;{~|{a{=jjQس\ߝ욧ZQg gyG|~ Crڈwqs킹\-~>l[ށ 4݀Aoקyg.PYҷ<Ն6`x%un=\5+1po KJ 6@) c k#v87Yv>p<$x"BW TY(:G&>\D;WRebNڸiBRΎZnk{1qN ypk/My'5e]=y!0xi̦6 %\Ɏ8l%2x > c} Nv.RW #j4P5JyuYPM 7(H{4T0ޙU,c<&e&za~Y|=[w&+vk $^[]K7=*K[P=蓟$eV%#KۂcLDvxqs{INiV-#^N 6_!?*x[y@}CER}V+U %Yw/"Ӂ.RܠS7}Tvt1ЅSg`>t1&s'R8Q-O iY)Kaʋޝ6IIʢc$G偈GH|Jen8H1o@a:b/BYZ@;Ty\W˥dLF@Zayue6I % jc'2f/J'"Ə7f{\o3,~>;ZAJ&IH@ v.K7M,)*?ʏr}%tWWW~tΒ޻GdC~V8pRRM"BI6 lBqv:1FPʴQ5.Kf9MRIIS.ðRbpj HmA^O?(p(D]Vh$O08GlE9뜲W,ukT^mE(JQٵ2z,͵r\]V[&Qd\2l=򔌗 {YA8 fleRl}'YpXeq0XD^闄ezP;{gjhI&]l] d C:T&=@~&u\/ LIzѮ /[H+n(Wb.LYTb26Do,rVn^W.[,+ \0>(\.k6I_ǵ">p$;D: 0^]lƞ@!<YER=yx1zJEǬ٪\U*?EeѢW:\hGJC{a"*A4UldASO#)GKh8W<뀏_2iɾJ"K4-:Ho~v;[ō ZX[6]>.tj~SР P7mܷ9}+RFua(A[iC>װ>'U2')4`nv P0aNӳPK6Eh̼Þ$=(l=xr쾏B5.Bta-bt e:! JBvx{&sӿr斸ӃؘB`T\P1m?^AkXĈCvL#@e(dDHxg0(u6]H0ܶ,lK'Mw݌֕ X Oi jjTFm~] RC*徭. .޺h}z\o5#Z-x^o<nO "b[}XKqw] U.jZ-O_tT h].$Y]֪%-l]0Ѕ]DXj=W ^ m}kC.eХEOб͈V"a#f8 RRhp 1X +͡}XIm>!t_{g#=><&` _w϶G9}%c<|ǣa#"+حHrt9n]c8`GI%'IE$HSWonKcX q;d?pBTJbT O!;(0ҁBڗ)uw}3T=FQ;xTq@EbY!*"lZny p<pެl}&+;҆2٩nӤIϕ~@p6jkf]pd'O*CfkMw9@.i͊!N&ruյ 8h@"\~0|^pE8 d ܱq5.2n}xԡ`Vx:~{ L}DMk}\Vիf&zUw284WT{P(#-ʍWrd{#- tɛ'M/rʼn8~ҷwqpPҊMUqc4]\“qwHQu]~$8qԊFqT:aҟe%PHaD<);U{Q7{Mx`J+zlR$/4XMmmOVn 1QɩB]468ArVoWLL!п %7:G:omrnwK.΁NF^i)V?O6 F-9Aaܑ,Mv{lPOi6FM__@gl󛡮#{,y0M^gk-JFKea64 YXHwER l W:c8!t }e{O. 9KOyj2ɂc;r_ ; H$pk$Fo\|-F.9٧ۗ~7N'=q@}4SbW1y1ÄGWY c*E~:,?|l-U*՘o cYL