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();v80;YkQH]-"8Nҝ=ݽgYZ I)MRiu<ߣ'9UڝH( RxFe}PO[c1d2[ s|(qEz\oIX$9#"V~>~imWX OnPF A":duř^ ;F7I,"z}HW%#1#}u}'AWj^p"w+a$/*lA2JpVá-a| = BL'T@뵃1wGxG2]#?9}&hǫod]("-j8Y7䉌llڴjgfz=$| {v{җls%|&>TE@ ؑ@f/= WVQml7v>1҆¢e)TXT(*^RiK(>T+F<Uv?BVECxS syqד#ǵd1$eBsF͗{$JJ51ky dq̂,ϬDYK,niC{o`zkm'-hfv# zI2+ݱ9ẁ}!C9 P޵ i ! Xh68ZT^IHT[1 WnP"?4bN)d"/3y2(dݜ߅B)6XgkΎtyUo nb9`OANN|)լO!n̖8<@9_rW 'YdagAlAD.kF%XΩ$/Pˉ;ytcPʡ/xW/8NuXYm=E} Nߟ;0{&r W12h^J?Să*׊",n^o_2=ӛb,?{G"Ib̺Kc!Nj')H6'@HԨIѴvjԶ[4ҕlxSP ]N"4;*X #/pu})XlĴ??i6=գtp]Ty5SQ5ʪW v":ǾXG ĮlTnh[w<1+MMD:\#rA$LJ#JW졌z^ m5J@ucmd陚GhJ|Z7Ԝ$9DFnE4]l|?xPu?jh=0Ϡ+ƕa8vk5svC]F}q gdA9ͭjgکn7՝M:e~xdaln6;v ,n~g(nj܆f+nlU_LPUFb/hK`@{Da=r#*[T]j71!t9K]MZUZ g"壜\8dd~tj)Bta.̨؋egc>u*p<=yhD+j*n@m$ճE( Ź#%SE0LF{7r(ӧ&x;]IJU!W -~;.47]YQ"|<{/fF šc=()P^a}>m*5x?Actk`DLoOiD!)}H4Թ s6o]Y&ͧ^<NfcgBSL[k:J4ρӊ"i<дw+ 4 ,V}$39N56z ( \-vɌw4b5Znq:L֍`+-1TV+*Ul-E%N"6m]ܨuwфőiġ'}Cjhڽ }VLyCθ.eB}:3twX%@קꀹz3 x/+nj ]_6m# i%y xv5pUUlf{tfnu;nЗ}~=[l1 ny+@3tu sbR!Bp.٩7Lrlm @ dvk3fYӒ`#$ Re K3gwNU?\Op~$Pi&h>y-KVpm*|1Hj.G'b݂U=e4n@[: 6Nw:"ˏN'%"rL/r|qcy+ #9xI$O1%`εge`{<Ổۏq;xq;UX 4{o+HU{-=ѬgagVgudJo"3qQ2鮝kѡk[/V،jh Yk{(?Pp~31"vvu+لAhF?͖ZݵH△:09:Z ă1^MƓ$0VpewM $2$5םD 2/^IF)뮡`Vm}V߷hSk4-n} oY~jh7WipQķF] 8U-.4ǷQӸǣOy~uVi8Kyj~zjjuu4:9OTg MTLon%|Fi`%k178e2dN(J 6:5ZX F`ySj|]31PQN ПF3#3OD$xNǔJXTvsUW}Yܳ7xl]L>S=)osy#]h^L0"θۗQ&*Fh:t>Y?3Y;,Y;fnZֺWZ;un+FRVr>&KJΧ"EnԈ@0@(71K qٓ#)PpYi C 7zlcr #I/Lw4b!L 7?C 3-`Wc8@dX}MYƶB;KRx©':HVnF^q1nEb8^9{n M;Ì[Vówk1qyE.S&=׋V-;I{ CO a)y'5W.O#J0X=L ~Ύ.45 Fk #0ph m7SpMS8B#jWhaZ2hf.cԡ|#ҥ8XaWqV^'HID%p*&I뤄rhYՃȒ< CfB'!0z8iCg{ b,jNJ  Y=Qe`B(=q/F'tfS8m'4-(q3 EC?cñ!ln6ml~ \ 7 !WeG(9Ͻ8K<#9/vrbQb :RX,C<K0Z=uaN1 $c/W:^7g9)z9YPH0ޯS pJ rUv?V ?? _ z '-O{'[ϿT>ֆ痮pZN|tBw]Jn"LIz;E韜G |(9rr6A$.!"LrcB(r*"φmfv+ߵshί:&FDŽ#m:F#7|5SI] As^LnE$8Y"sQI7CvךB!#&p8.Lp#IK 1 -42}]LC0=glʝm%>xӄA26J߁7-WIYOl0]q| !JÖ҅K}ɖaio?>N@ [ > S2 1) U>Gd8DS1ˎ{;UB@~4Ջ h KH=\,kcz8-|/Ƌrz;°l,})r'0W0Q|*LAa Up jU)hI_(B[N}hiS{*SrPS"3(Ao%@Mn ;j4hjy)ɂ1$bHRX4lDSyFk0o7mn~imuZ-+D`O\:7²w Ы^+^*c /f<5ڙڪ̛T_c YGйsuYYY7o*P,"sc!GG]}98t$i&b",aLsf~S {n0=u9r<_ol-sVcva7kS ?3ס$peSK+'.R< ,y>߻ppmoa,ԍjVyol`0h>&;7k SDyˌ#]^dV1'^L?2qk[נbmm(hxl^}\ 3S>w?J/H?[BAbPM3g2KK NK@yxS\uy^Kv0,҅}4:P3yJ$cIc\3M" h7y0m*|+etn3B+ ZpLcI'^8Ov1JRe*z bXC1 4XFY җGpaMnu{zΎ*<ÇGLjĢ 8H Wq dFMHfVȌߨ9ʝ(dĐ2L5lVF6{O!22&V;!WGT@.AGwf- gnCR/|VJ'$|N?N{onַ:bU6btրhDnˑI9*re|u0A9T.ɗ64*#i"ßnOz o!hCu}]<Xf*grHNPVvnћީ##eZ5=<u FCc/(jN4Xדn`9'59`pܞLuphML_m{x)ǯrRۯ/eNjFtkKy<5i =}y]tG1^fM}I; s2xQU|9../sL*3_AU[&S[S[+Xb!>^ezJ hZ"vkTnMe*1&}Ģ9hvvp޼/υhniKH(@[6W#K6JnwdJXly\IciI$/怴e[m2~{! F4VG 68N=nEkkNg铭F;vҀ;%'2M >@ E@]&h0q:Mxoh~5McAީx`vݹ=kjCi/q[Ntwr* 3 [y/gf78lDhW2>?2 ϟ1 =~=Ηx>}dY fL+xHvYJT̲`~ -CO][LڴE/\/ëw?=_yu:Bh? .*]Q(gS>3Ʉ!t z- pa?aǀF/Qȯ!b̖F1?pPd^(ѩHT `/(0;p{+VbG *?F|I8;Lw;y'i :eP1N~C'4deÁݯVFwsЬA|f$_W6 .cA%Wyq %.Lq$ְ5zl.x:x| 7kaMi#s OtnhCi$qM|Wom廮8 *`/¨VF2Q2VpFjz^gf+ 5 dTW {+P9a쀽!,ҌF8=0-1Ѝ P :gh*C^2x@OP!s%Rд)mPbOn6{3W鱱*@h" #&Y#?%c01XBt 'ٔIXQ5hx2{誖sK*F_jo4jKQ#Z{%z߼ #ݻ'Խ`/F|hfkvFTxZ[_m~ž=Ы rdAN-X2 ;Aagܠ@ Pcdxװv iM~Gݮ,cL]Weӹ =|E P$/Ժ+W_p׺{Gbux}ME"1]W)z @}x9p G¾ +­U֪B.6diŇ|M 8etl!G-n'Jb:ڣGNnz8`?08Vǜ<ū YW96r8-I<FѥZ/+Ky *L3U0U ETZ?Ĝ$2u<jV!$lpՀT jH~)u|H\s5" Qg:&"]?)<@C)`ހQާyHOV^E^σ4E2px2پ#q`^tsG+4w##܇a}R|Z\=)<Ǻfeuc_UCuԂ)˼w/1}矾W>gnmJnh6~&C(V 7\hEPX_w6gZ&SI^ J呦u0^jrnjB=w]Ͼ88 %\W0Xa:Ujh~DK7XvPй5"]T2xMGTFؐ>a9\ ;VN(nx c`Mߋ=c^l53{{:Zo ~PO91=}o 3mqG \b70,fSP"p^̳ߢ>Xp 7M1z.p舩M lZe1;ѪSڲG0L=hnPgoź\AM8B]swhR/!^2<%CM|?7G;|5(D1[ҝ zv{(U$PNJQZ{ ZE]fp~v+2Vsg'MVB w p5p_inʝ520IJ^1L9:v9=}L))5iDxC1P+7<5ūPQ>5]EBb<yj<+ؗ2#ȍ3l:i7q8A`ǚO,}chJ ?2u/{Fב8|6RuDDd b`h( Ä0r9߲aP61۬mZln֊lm.t{nvgtsfz7MջHnTs+Jͭ57,l'sdpeh#96_ҩP_]P"7ҹk C}.6:S6P=!jV٨(s4eu0GG%m?dg>u?A~}6Kʔ|@Iwhp k7 ,`0%{Qce,Qһʭ0-C7L[vz; 1.y*j.JރzOzIԅ,&5Xm7E+ Kw҈Y؆WÈo /q7-OInq>qNvKAR{cFA tv7!0Rh> S߭0/0!H1\D/@B["PX j6Y6;-TSwkpW6X17ye(iUҾ!1)]27n`X)IH>K{ fZK+k%O75Ns+)x|"'_ +#GfnJ@1NebAz:u>~bs)V6:aI$@w7e#<{y)42N ]9u4nR=yw|yD&{=M%oe/叅+^.^[%^zt6{\>lq` yhRWt:XhU[LblfjP ;P^16tk: Ni,9KhF-ZH(H6BҨbz_2Hu+8)#9Y d&a4/yRN]V( NlշB|.H]^E{Aea4NYk6jhUPg qv{GǙ>Wm#iXZ5-Të׎u{-K_,}n6;k6 %U)Z5GS;ێع¸Q+04JD] U6Ng-󚣭\-Qc>Ft8[feuh?1xe]fdOz3s:( =&9=% hj4=f2-O,A2^J1MzdnG\P Nhlo_btz5.Bid[:p+x$m {b(E"Q 8q6ﲄ1DHF1=}Ȏ?V^?n珍3yz V7#K㻴/p]i,gĸ9̄ktm]fsn^jrj@vsGlnv"qg+1i=m^a0:1PA8Y*hf}1ܪ?>AVsBDXyhp'O9AuN5MB< ߼0H#D1@CJ@J6HL&x$͟U^=$&O`(?cS>#W짵p!7bq1dX"m(4}L` P}8m=c&Hb}JSmH/ qY8<f'UK?k)@߀2'b>P$#@ /xi i,*B)Lek/CN1a~,@PѤwq݈N۬Ir&i.qFxV("!(G(QEvχ a //^Q jeK'JhĐzH{г)#6IX/FZ#V` .t[LUmc341Fgwg:rS7j*|rՠq HUOD'# pb{<\ECcAmQ"D H~i<0RC]Y ;GPJ &7 @*j'i_֋LԆ Ovqړ)KCJ 'ĝٰX0|}B葑u"mrK}+W'B)2@ .S5GiچpXR1*D1k G2"*HS{K.p͉jG= 1K*c.. $Sx80NHGs&쌤U5Ǟ> I weELY[aO|k \KJM(>Cїb7k5 EX !/T9ҧlA\B#FˆlˍcO \K-9-CQeّ~ |+ PlVid!NжL]I3{ <"(#@fF}D ]R.)Z *2 R`b ;0 CHL""~R_`t}2W$AKQt$ospUGc1櫀\{*KKuUe%ѓBs=KՖ s^$jH=f]: "9Oww -3^id2J`H=In.6qBg͑44|c:BVo :sUrGWF<idEcS;Nk;Ɛ'E>r4Fac0H"euӹJТ0P; Kʫ50rbxn^5 UcIk;jy![c'.JKnjFfOi a0_Lj.j!lTFH-^ 錛4ƈ-^wh@}"͝V<@q-u]alYt<0\UN՝d>]h-i_ aſMP:,E(p{-t_aLE暛_ nzane'y%(j3 zQsMyls78g셦/KDàEO$mQ6,=u]炢@>0ds +(>cgkSw7p3w)o%)nqv*29G#TIsQjw7Hw/4*ӿ1&5MO:zI*>hsY]Zrw͛.ik'mϹ#5(_*mt&GsxJ˪>*BNM1_yTPu`\r$a24fPҰ>՗@ꈰ.5M};:tJ6zzǖofR_20HWz3&}z\y`d]6~,һj--zEP?92#9ͷ鵛tr{Z$mlBhTl<qXa{c% 0VxcZZQk@e:$AG9 yeEHH` f~>/И_!Ic n4vv6̢ER Z(\>D𼩾 $(+G_c寱J[iw _4X%u'*WfdP 73B;ik ]Ns+E T0邟;tc6ws`1mItO2GB$kt)hqz% Ԋ] É ͸ṁ$^Fs?|*'޸Y# lxLDMѴs72g~ofc=CUp I2] MZPSkJB<{9,O^k%_i^++y0яCo/#w'O'1<"Li"S DW8YHB- U?VVlVjUTMUƝ8i{|^Yj 1峌K P5[?i*EJ<ܩ"z/O9ԬeKK T,(? Uʛ 7ol;YeQxו]GvBk:-S<ޅJ$eZn}%-}Njg 8l3n 2\STBC ^tP}isĩLpi-qoȌ%.hh僈5鯭bS&moT+ T?V2꡷'6RuΌ"$=G4 N*(fEO*Oku%DZR+he[sw+6d1(‡* 0 {kh3 V,ă w7-U/F$P(ԃ{RHGcP⁈<-ׅX<|7 )AIrחgIrt $ > q4E^?i8^E=Sܕ*,'Aެ[-lޟoe%:$6(x=[hR촜N3#FG 0*[Ngpɱxw1[S΀l79!Ec0 "CJ\ڻTX,([MW;]}Ǹ9`$ؿ*Q$xc$*}AGqP)|AbHkeQ%J0zp unÝQ=v={÷g"vFiJ.(WAH>a _Ϡ1$I?O; cpI|Ⱒ&;d 1t`0Cf0U l(q`I)#AE|Qs#kꛬdL3aRB GX ?F@/!/ +1ƐJ\^ON]F2,A,c^m~@Rq?\=wȽD ge`d4]U{E5"_)0$ŗ"U#Д@iQL C , .Q[}-" K]ofn7r~>9_@j R2|D}Q}PJ)АƷgCF>C ;ϡ(X؃uibjڬf"ˁ2&ra00Ri%Þ+ p.R +T_uZ/Vy|T)U+b+--*[Nj λimך=9^yFU} "=ѵZFom{gu ^(=i[ڊ*"fBg{`}P 7.yXd?M`KaɄ78k^\."!&޿ġ7]iս0TS Y{q6|sf}o뭯!216^{g8\ `@m Ea7䀘e^ϱ)]2DXӾBk!GJ7uz?L}TB( ykb fl zkhz>$?Bl94FUZ9%ycluMgSl]gj[lS)@XA+Ш"Nzza5;9񂳩Kdo#\xWfjpgĥW]̛x'%SZi޹?MShM6eKn+W"hE\Ա;i}~1r'2H#PH[>/ue0i;0RW8HȞ>Tx]43 Eلhy=S!4ߊB ,p$Aav+iXE%Mz4&Nk:ڠQBÊR)%вuF4ے"!^{,>K\\( %> KI7xYݲdS)8%@xa,sxa#cӚ(PB-UϘѱwnx> 5Ѐ4 ϊRWrN!y~%Y1y32iv͏/(6"JpL?ZEGLoNgqPG:zKLsZ ״}'Dtg 4d-M{adp[Ѯ'/hnٝʔ9d_vץjxuyV-.3RZy$zfWK6& E-|vqfhU+՚F4ܫD5 j#s/څƋ{QgȒX I$BT ;U.듨'r/'}<ܗOCRl/Ib4'nɈ2.A_~U>RR=7Z *3-/Sf#!~tfEw&|sgişq~,^y?`_93>3EvN 1MsGDaՁ{sEW!}֬7NjIw?Zj=[-s8GZ)xVX9[I_t+JA-ADgl(xb>G9\ 8s\Ή+=Ŵ(.jXZ UbYqV񍭿 2])H}s`8t,q1C|*I T  c,