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();}r9o9bf[4&R,mXn9VdIBu-h"&+_'>}y@-\D- $DCb{x?߿`pl=z0>}x ̳S+yj 2aw91A8 rֳǟk*֣g#rfp3Kc%?|$6s'{tCBԱmMKئ0lmY)?G( A@97Q8#aґ~&Dܯ\ikcfevD } J7(JP:JEӷ3a鈟p ̰?Zi۵|i[Etn??=v~ =E."\~bx("{eש rg۲^@7v2>d~PPb)|&ba,ȌmגBd x4rY~䚡-]&[Wܵ`|{aEe%$g,"r祠"#"h@st嘧Th v (4ү 43r>I*/ˈxNڹXWd l, b+8i|LPYIQ:bk/ l8Q:u>l~>~m;+w=TV+̒K ݓp؁{Jl_ʲ6(zlTi+J̨K{  }pOC[,rT 4B^ x-y| J ymr$%(nr[BzпA/s[_s. 2$C | sOCwcV&?騑b Js!ȁuR6^@zG /R.}+/E#jTcn.z.eIJtrBFr?;+FۡkbcC_T@<2mbL C^ȅG`k@ G mwp~?1l׋0/~l_X [ͧێtA G/L{Lz*ΤȶkD5zj>0VERkYj2t ;W1 d 5Wfr"4*R((HUwQ汌«'\tdd_!{Aq ܳ':,\/8F:9oC/~x:jg3m{)T+A­eAph:"_9wE> yi)G_0ZYY;H" Lz<da0 !%J|XTb٨ZVmtu K=B'|oR]N! 0('őNSz\DW& vE Grya`+B/ ӧٷ\7A 5iOCΐ;hLV~\({š+h9@⼈7QS!z9AlK!ÛC)gIќ5j8Wy?lcLZPD<6++,Yꝲm 1s`\&e}T[V( jQXo7Zs5hBٮɳ_(u3$ϤnjUPwZK+Lx%}ǯҜ9u:Ĩ@NЀ< nXU%m @ MxNcuΡSS;N,֣T,8Tpuj+߀>77-Ͱ^86[>x>CzrOk mZ Afon>)-h)! ГƂZ;<.ҷ— r!EGp!1Rd?o:k7K\,b&BcX.n1|$|BwAnM6W|n&;5ĺ0_sL0im>l-AqAo=J0[Lw FrsHr՟.Aa"0=s0\db̖+/a#P=3=O֚}wOp0~Egk v,iFؚ ZscOc{o ` 2ZUuV_.@v;̊GPAwD29X=_Ft φ=p!Eg2\ ӀzA *"WDP4xy'\cxكB +⿄ tJ^+yeUفɢ Z0l`1fN˼OXw[X8 hܴ Nh{O:VGR2ߦDCF`[ a mTlS/[2 0m>0~'zӂ߭'C  $[6t^ZEx)} Am2$ɐeJX Kϑ1Hsr)c#,MP xO=} [^_R j@APE0ʍ p3s⏌ֵ 0M4U *+MHm @v5,HC3laF|a8AZ 4|2ѓ%Bvl%2+řhg.Vn\[/F^0V{c vqb BI1) cw)0 l Xp/b ErMO4Nr3k%AKˀ%9?bQlz$Hžf<KDf[ 7Zrд<>QswP!}dR3 "V$<1+&;{6zvQc:N3bj d꜌kqFVc;:|fe}IBH.F- zL32Os-"y*@^DӺLgU؏?(X4J]ݨ;J|y{#{zZ[]̸"4 4*fXMhMq[7MBc,z |R1z"B~Z.W^l yq"E@oF#@cJ/e,pڵƌ,O{Қin2C\L۔O]/}xe Z m갾}*, 'ut/%N;l}\!27sE5ܘ2kCF4USDƍ=~&Y #XqH?S x)N5 NO ҉BU*uXC~Pqtԣc5>WIk*&m9􏸉lcGNZjWkޱZӎH ~ΛMDž39|6㔬ϊ훎L̑<ץ .GfEbi9d $LKF"YY< %T𤶃6V bjp\!Oՙc Vʞ=}L]ۥ`pnײ姪u'qZ+1C]S%6ϟyQKgxv{#q[ݺ '׋;90,+my wtƘp객o%>4Ng#=mH9UO Xt <EQy蔅~ X15C&! )V @xzIPxJl`. ϫ}ar.B,E3N/n"ڛTJ5z*:#v'cE(&.!8S5?2,. `R8%γHsN`h)gG`A,q' e&_˭7= ڭ~VܟH8pU eA^ϕb-twp]knl]xW5~⑍VWM?Щ6\S q#y~~%;-ǫ=|qC~~˯kC'ǦEiՇ Oq-3/Mŭ(]">T,̶gBc#1AϜ $QB*afo n|U:ٷnDhoP:P1KHqd\sD XEa(L`?Ş }u Y +:.p~Uk."&sFNNu}vIhdUv:LQxrwۡpzCR3 ' 0fM};]5db$>K|"qùIt10{ :;u>-ꩳK'RfO5؂Ӱ:,Cj#Wj<_n'm=u*Y 6Ufx 3FĕŘ<4V =#A(Y](^_ v.|Ji|N@}ЮȱD]-1|cd)lq$AWjo%F(M2> =A62ڼiJ߮ݷMmWV.΀0ך3  R%Xv[cZ>B@m;ܯ" z`L2cä7@Dǻb@\VWG6 /#*ө=% bJkV$jQ!/1'غS1 6>8wa$2K0 |*ጡòP:[% h`GЭ#\uY,ǎ} 2C5#XmA\9de z>:Vb1:Z||mGa*J+fPR40[,86%q7"U@hQޕEͦJ2ǶB9V]y&Vj^׬r )5+n+m,W %YBu XEcw>uWy҉:HʪMlR1͝pA;?J!zq)d46'µ?t[.ת-*ËdbY hQ0^EGAܤ R%|! h}HPT@rE &}ajXÆD02/t#0\rŮ" @-A 7'P-`'.k%搿@ImxIGv1FY7xQn5"WFa5xI"4FbF ʧH\qA08+(M $[웾ıJNM<4Lq[?TeV6M}hڅ2u<&Qe|.HplǓL!^ epz7BޒZe1ժF+TTDk?SG5+/)|wb]&$\@ cWf1hޓB]jL/P}=V3nvcAƽZUչze}}>:.MYKcR}:4:.Y٦aྗ>앚c*e_VSun5JY+uQkw bUOǩ']2 FL'bcn#~4v8? 7KM^8 4BON|UyX7/+; Q/Ari gz÷bM#xskQw~q#\uxߙkad_X~cm0X :'~?NXj3yV^4,^ p3^^jЛjZ2a !וU` /}[3a{* bo"ޅGTjr0 %Mx;,A~0`C0N}˼z&@tf6^Xvˇ׋/.Nx{&~ӏvڂ2UK2v$tEJWbCROL]N^Fėf/R~b'j%_yJmx|͜aŧb<+%[1=9Wi0ZGKD3i N o\eA3ikWha0 ޫ2J)iTbnn7%[;/u2Kn9y=Z ,b'-}2^/KFW`Vb/F0VV NDL=2 {ᕕ8)~d96M7X\F峳xR%ם^W~)0LP)/Boq> ? Da=!oYfl(5og?1=KSbց*(`R#uhO1nbth R|&a\ӹ\/JKqrFd  fOHoa"KfJ0Mr3t Q(sTGV%hBДJ+hְ` gy^.qp9ɨ|ޘEW8d(Lwm[<<}Jp#`Tsuq(pqqUq$#vqq9\ا\Ȧ\ ie j&~c"Y0"ld(QNS^Dye|]'O-aL<\]2塇21M{le_Zs#[ZO?cb6 Xg%kL5lL~2T( B?/8C0lȴMz(GZ~ʿlO"@b>;C\kBwk9B~|> KS,W E<'!Cm`U0Ώ9xƒSM"0r{m'; Pn\P讓Ci0h ~mdw^뎇rg$aY0gQߝD='HK١1煿)X_Ǿʂr 4XmdnCΝ}V2 ۏzTð"9B[<#)vXƇ+۩ԼS*RɿzV|z q4L D2_Ӷ w8=wIjRٟр0t%mT "aTHyVg XIq#Z ht΋W)0Q|Nԣ:CRrW\Ď4c0S,9π"" |iÀxGW(f4XT4)f a a H2` 3'F 5OyM^t({g:0έF%s+2MMlBMl^}̚+ӲlVqΪP 5H5J8LP?I0'*/F'lxP.OzgmWܘ:QP)@zPFhg,V؉VzlꚢeYVXBD(x*OL u40OH۞jxj:GZF;'xxkbPg%6(uUHtz4LwLl`ȡoASRtȔL}"c[ԭ?SM ձN"- i xGM L"ylz][Sp'K U<~Jgc, ]5:(N3CslŬ&$,tˆ#=*W8c%$`\Iwʜ.ȮP<ΞʈK2J:-ȨV۸ #Yq"*^ԁK5%^ҡVUte˗Q)^{rf$EmҒsRP\`f]y9ʘOnl*?KH7ē[&qӁ,"5.ǭgb<QHT,>w[aU0 }ăp@^1criƂ5\ZzдTYNE[2j J/sB\2v4|tR1),-,?et ##Sj[,6pB?`td\v.\ܨshLL+G,6]Tit ,sXe(WkJ%j*YRz3Όf+NCYp=miU}$+b MB Nq¢WtQո2Hw `Nj,a<Ҥ%9Pο,q_/Ί5X :),g$=tM'%BV 2{hDM?fxʋ2hIt u y0*20ӓrjC0y'/= õ T1k@MbQ^ڗ3^eՌl3k6*j1u!ǯwtDt¢ӃY0qy..K5-KI:DV҆(uLNjտRG_ Mߧ0@:J""Fڔf4iEvb)}mJ*~W=rnF,~7y?q} 3`ܳh|2#T(sȵj&t ,rӝ5A8ډ/@nK+@ʕQnAܩ:ڏr\ֱ*` u:`o ڵ`,O~d1TmllPBޒѝQ`l: caf@qOs.⺡CFpbM $ (_|/tl>eXESѢ6%dpgKcUL>vX%(iYl.aM^-NYH+qg#P\Jtd pw')gbfR#ʡMns|R-ŐOjOo`ԶT_%DHC!.2N _1FZM{k)*+olPY0jur;G ^+y\`KR+O&e/cKݥKzBYi7@5ca-B&B;o_cU͢ZǹPT{ΊDqUlPp>"QđK&ʼ" ce %&2t {WM<| zLJfxN|xTETCȦN1uA+JţEjȅbNu䏝|(Ui۳Ă"*ɬ>  ^o1gت6 c<+a+C-'G8<q '0*|:cf$(ApRWJkh7@1E$1zG8@k0`@'ȡL.!S.Z=x/t)tzaATo:}$-'|@Kx~:g{dA@DbEq8ws@~ԣٺîIb@ӨB{Рn$.@ g 4&E@QX#%*jĀPCW.DPc*a F;wxitU'XcX!J>HxgP"xx-Jo뮍2vӿǞ@~x4w@_\߿Um,Dx7kV?I<+uQ.Ffhje~;v 9&\ \mHcv>{+pȶGBlc}~亸L%6bX&y'62!9` {m ޱ1]Y_0y(/ SFAđpPGhhXPaejڗkA@ӡ> ]abY94;ND{ ?ub=2|nS6ۣu$0rOEo"IP#fsS*Nf u@MHBI``Ynt>B NS,Fo׳d=q݆wYlWIsCywnKުV`.|xzcZclʟ6|z͸ToՃt%!FT!r,ȱ'{W/7}O `=V60Kɑ)|6`[pJSP xz爑b61Ėĝ I60*QMqgȮXj9e[٦Fo^Z[py 3H%}[\L)o>U] *E\yHQI=x4'\9 焫oNxz-5`Ϭ#DD6e<¯tw47jw2yh.:l}/=ChLa<)`xÞ4+Mj fP|ڑ|h4 Tx *hjEQ.:{}O 5tlzc5Ny`F;87;@e.4ַ!?Eĉ{dSOm|T%HΌIC'x}e<,!OMMF]Azr.uNzg40D$*HƫGg]mL^vEDV{8zI:H K= QZ//e?lwNӳ}MwN&2@1`t5C`fD-"_aux8N7Rhܧ i :ԅ`/ʍGpRL WŹ"zK2=%}\G=2,TD}}IY,"{Lu#]!JUrRTM&P;/m#$xa%ŀ`JH .iAΟzX#lFԦ=K;eS(+Ӥe@Y[ \iaE>Fv{;FV}ͥZ~f{&!9Ңxrts][uii ga|GBdYn1vBl31|6±Rcvbx^7dc_)TIӱ),})< rJZrD*8 _tѿZ.GM WW ]V‰BMMc*LL٤-na0!@P. =>aϡ5}o1jEȱvW|y2Ix@>;@G9`b-vxWPK9y 6j$ڈ,5-#Ѓg$%b =Fa#oy6bMYMwl+٭nьcvoLt AEuc1?#x .s 8Sߺ F:EAXGbY-^J;z޼~~^w^{^>goן_y^e+ŋ\nwi ff]~xP/ɻ `n2x‰ |T _9 f=w\Q-I%;>Q'7yo.Pg?Bk.ZB71I<{Ŀ|!NXɍe552M #a*e~fM>\x5E̅-phi8#J}GA9П6"*oF#5 ^p"MދOӼ;sZ"?-kF?"<Lf%7Ufs`XS,*x'n}Oprtow\i`h_ϹV;U׿sOgKMٲg@v!c}t2Fz-n)גtr.ĭtn}-]^o=7Tm|f[@2$tF:?M;EOy>4v]ǣEwЁO37@F^ _k(}B+HAW@ xp@@ b›RhOTa"a>?Mb WW oIDWf>U'pU9}C L/}_QYmΫF@>(&v7EeL.PxVGN9eQmUo7 Ke.te{4fЭ*t ]\*E_>orSOQu YU_)^/c"FÛg[pqt(ρ21QhʑR9FBs0;^`-&"vgV Llkb:t`|ߠ37"x%J:h2spA2 է׻J6&d}BZ)M6Mv9c?)3`kM++'r qx f?.6'9.Dq: WiMF0"\E*?^݊79džlm,u l^mE(ʑv@obyU oGْ7ws諬hJƫ32^%UY`9J6FA B+0"O}9^%Gg?nlb-="E3v1h}a h?,N{{P9HrtMIz*Wsg+n(גr.lJO)KlXYe+b*uHq-n"D'kI'翪LП>0Xn>k'D6I'i">Hv6!u>厸`_C"Wq`x&#תjR/E"Fd(=%&PI>.|VqC&0c 7IS)\:mrnf@ƞo/B ې@ WKuX:`a=NdA3P`s> 4lW􂸡7bzB3qt"$ /bX3fF%f :mLL Ap=E6Vl+ߔ$+1q/h!XPsM^۠ "Gd =K M/dmStzs#oTj͍g$P݊=;T.>ܧINpLԇ]1 |uY#{[yS_vHXdB}~;ohdXĈ W{PЎ#F$(E!;(G E5-}8v"r۲PO»>WwX Oirrl[F?_nXIQʻjα y .zp^3כuو/ȵUf`)up,VZ;=ϙtM'Dh\Tv%KϿrԂI ^k6,QovA;:&R uT2,};ttiǥ҃L}\'Viɕ_][DcTrDg D$ɽvV5[ ߞ=Tv[2;su. 5L}}g@wapQPwPNJ.6+*C=D#c`]jxgr͌v6 v;1}ܾt>ӹTIJ M A$#T'@B-'*@(QNtv@TzJ%?Ş(`OHnh@)%#/()}JB mͨ"Ɣ.TeȠؿh~Vy`4v-{ I>yH+ p9MW zY0fHCFE}`ɰs0rhJ??+"`Ȅ&+*jV$PΤ' K75i%9~zMr gT/NahVU`|ױ*GĽkУ2Xq0[@a-5Ky/+[_|q_2\jQ^R?]4_.\Lm5`{ٕ ƶ'z<8xEjdkb0yLeiu-v` B8{qDz |rrE`2wb9d\L0]>^{ \}D +}lTyclʢ^kEZ^r>LfB"ax|B{%kt@Hۀf6_PDOeLXxʼnEM~xWK{ٝؤϛO@@7