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();}rGo*bޡ1h<z(J55"m@ @}ň56b{̪iyאtבue>{?dȱw={i{\~u+|O>`2Hyq%f< ӎ’'L/h#"Ό BK6J1*N,1  N-3MqbB*\+EQe?PƇ &^+;G-^=-Y(I F$z}#h0yG,X8GP@>@r}52NWspETG֢Vdz߰rMoZ\HLaۏ\(6]#<ƼF2z `q? R B(]tj]v9XD"5* NKvnLw2Vء("Ȭ恛6jڄ~_^T .4dք&2EB?Xn9}^pa׼๠볺$#+Ώf0b_e#خmð޻|>GN3uAT.-$Rj>1Y%Ga i _'xe`{qt #p?=ol [3NSyF nVZXܜK\6ˡ ?uig= ﱷ^ ad$Ppg~zG^H>|pyښRS_8ޑ/OYiCKN^v>qẊFtqX5O{C#rUHx2)DJ OŁAc d@^X(!OC,װc: )hl\s,vp"~t6ȭmdrQU^*g8 nիZUkF @(Tb*հ`ؓ ӧri* 4XP=(F`bW_r6xAq50אfRCHW m@)^M-0# ,<]3kT~~8Se?nlS J9!aCS@oB"AWY韲FT̀%Җe?5͍^[ՍީnnlvBt+]y0:V[t7<70{>r!{.wjBDf+{nlsK_J&\bKј .eV*Daձ2#*=ծh,U.ӚӺN<ᣌL8dhw*)Xن<0j&jA?-UV@2l\ERpͽe8 V7,X6Pa̠z5{{yj?z!mU; 's.o|-_PIOA0M:# F[i@u|;uԓh)p/5y00)P ꪴt.(3Se#'aZ:?%YV4 P .I":6V )i:CyvdOn# ?F0BZh E: hH(" /w[3AR(/z`?8 '[EOZm]wo7"آ4;6{ny _6pop*Jes IS^kqeh{1Pk`v% ^!%j%Hw9SO=@E͸7( b ZָUnD NGݨEB+rnzAwi~`JL%{%@d9qq+2ԎЬf|÷g `/6cAuYX=)~D6=WZUj ([{4Gt;I8ܼiJK@Qok~zk9{oO rB~zK|SB ܵ>DQ/w+OL{p`} ('hjE=d78j`xn,FMp/C=5 r=x(=vǍnN[j^EY+0'X$sv}Lxe }VM d,"5dHNOq:+ +)Re` 7e;Bkh^%mͮFu"n5CFҠ92uodLaYZS+؈b:\;^p%F-huA2D-iЦ"{,TY۬]k]buO;e#ɍ87hpe52TZ͋ikӀ\gAZ1j"P?s z$xɮS OƄOV GV:%[􅪋̖|a] _,&kt+d}7a[6(#pm^T siaʻ=뽎+yTn({N7ηSF!jfy,x E|!Jf!8?Dto[m6n8ˀReq vyu'7&HM&!hꩨ_ H_]v,%#4:e4sŪ\kjc1,1зkZgA>օ3׆mܝ{HajmgBBΖq%Tݸ0Qq%kgkaz}6?3Y,Yfnadutw|݋[Ѿޭp,;)~J] 6Gx*F; a ]N'YS8i}Yi0:7fv Ij#{H(&q#srbj?Ը=P[t#϶nvN#z5{ʭ0O%f\?7'eEo-b;"=@3ty!(0_I砤`UIAsG; `oq"b u1[\%O,P㯂}hr}?ʓ7>g`}QO{/vv?:1<\2vjv Zrqf35F+ CRuηϟw3pݦP]Hnt'A6wD% iZK-2S,U7jbGV6<2&c; jWa:~]. aʩ|R$S&pQ^c/(!ҐPE*@ 4#'Dfa!PID]4@:4uƄ`~ %Z^tH"MrD8p= LfsF=8EXk4H$D0evf4Cݬ's\y7݀d2#X7B;:9 Pr"\x&q& D*Ԓ;oo'(^CHK~Z9S]Pz1., MorWymZx4hdp1‚A I>ߐ珿ޛzg~|'~#~ov1͛1폻w/>è =KY͌/lXNL)B7M<x\n~t}Hj /5Z#!@"%L(C.i F0!1AφNP hGIbXr= b0ss"`n);+d2 5v(γddca]jv^Fp~VGe>*5JN,#[BL&}Мl9"o Dks@)ډ \ph4rO17= l> ,r/XC ɴ*~@V-ts`{8Hw V'zN +YQxV!y+CQDW ]G!z1Ŕ<4^ ##mgG\SԈT=@DsEA?4>f'h&/t7-k N%oq$%.0FCP\ʕ 7{ K8,dSnL@hKě" yZ#Pr^ HHWACs%pu1$R&°&dVaW55[lnO/ p`+A#Atr9whoI!c֘ ]fsvQUL; h9S{#bn_R +M:@rV$YO q<+GmydC`Ï)sf3ŧ$,k -ЁaUh2l! u9cUSD'l %(+1ѱ$3Q`J;%;1ll4FfZiE`A)$ݘXR8Fz7u&;Q5a[i6z]>l^{]iSPs4xJ 5@z@T80&Į_*^mq!иoO!qTo"bƴ`HA///OThJ-;EB<}eG\ViV)_Ed0]Fq8=wcޖRy>Rz<O/ƣM~.uB 1~6ݚ)P8"ܩsԛJ*T$K^fY/ksр f [.֝.v$yA sRXXߪ*DnI)Mfi4=gzufw -ܦ684p'[ Q+-!A'OkFO˭Ɔ;(T3%ʭNٕL2gᵫ;L}QpyefMS<܎-֮wwl*c<2$;yrI̔m剔2ܖ *DtTimɦhjYPxt >gqmmʤ0-/Ig 5?fP0z7{j _ \d]0EZt M|ooza_hahe#\ԉQ@Z Y @@ ʀudHX 3h3LK&FԘ>Ynѐr-I>ǟg1ՙvw:z;" UT>#"EB&Rm>ȓÁ08JFM47*%o4_foޡy f=99+O G:>8W{{o Jt)28I$Mu z8(K[LV3w =4Dxf9ce8簄z#%:*|HBz6GOopܘLyhMݸL^C_ҡ|O!փNs/yдo@ E2&q-RX"18G³6}rq{?4NmI Fu!O6^ȓ_΃KAbs1[m2TgB7ТwV9h ~\噊2VRr/zKJDFT%j"Hå bLr NCTHiK.d1o̍ΒQ9 97Ŝ҂]S0'=Td3:YA=P^|f?-bisk4Fhި,Λ*^OEj qgy.{VQC8[ }`@& Lxf?[G0ҿVPks^2w(4n>Myȳ@riɝfytJR+":9>#F+htzds_#: \g`Ÿ zg b:٦GOξ~eT]ٟVLmr̶ &j/U>@XZN阒xFeN/Ki*R'IKKKd^JN ϗ OA$oWA"Ƒ5pCɰR){!"TgR^U]HrY!1"',I⫌)¬<ϋtIJB$'y$Poy[8<}Jjp#`vNTu'+Tw|u'iu'ҏ|D.nB[ GE5|ε.R//kw [$Ȕ"`15%A<)B\yG|];!\O%aU!+ W5bhȂyaGQ0puڷ׊;O?/ }*6 ]+UX9+$4p'W)KՏ0F3_g=S2yRD)ZͩǿEڤdY)FR5,"Tg&sHEzs^=?5uJ5kk!: 4v֒cL=SnNA2VnTk" gu2YN.BDTljI!f)c˗NքZ~./ه,ōgu60uMʈTh5NDf0`$[;!$M)%,pDeR`B< m(6q.T'< H&xXmI,POG^뗆鏄T=Hmm zEFC)M$YTk-V-x%ϧE@iTNEPٗcg0.JPCNH9˂#<(+͜{ص|.{ H̻r}ꜝg<.\TȈ1zNc4x#=q t*9с%9!Ti\/ǬwSUuvU͟^Ie5索xnei=A̤,0 `Dnxf*?KjpĄ . b % jZ+;kJ١g%k$x>"0":dɿfGP_cWd n0ލl|B4(I4b:( R$,]]ދ2qCIwa걽3'RTg@ ;TN#)N^H *gUY'/@9*g<.S+6LP䔏u`Ғs"%Pia΂G5RւPX{jI K)- IUK7JZyBH8I%.Cgi^!LܢVnq9JKko/>e9-I\KXҮ@ wRNIޙR2tS,0 -к"H1*\Dϟx) wT24!,FMnN7RRC=7;P%ܼl^aE;4WVWMHbMsm!p,Il4Ԉcr㺦LwN,EJdIwKppZ҆\Û;eEQat?i>f.;匨\J)0i,QA 級I?Ѽ1(-R =;ͥ`D@@+bzK O,yfzb?| bאC)^2%%S;?yjd 9^eotU]kw1F^d6)n9L*syEYEꞝF\4Zee+D(&y_siS/"u4~0^ru-DE˖4N4.=xu|Y-PbK피KB 7{%\Ez*\nSP.IV> QB%qV8LcmȂeeBjzGkv[VoJ%.LЊ8-ZC[>X3Dr6\H)gᒡ8Ԕ&  Bb7ha؃پ#Ҙ{j8ۤa: {N;^]\އU>*W 1qv=nf-T2J@{Œ~6? AgCdj˥&^eCk44ti\GAs=[CVޏ8iG.SDL<5tM P:|֋ߵ6''W?s / ~ %)db1wR^-\ kz5J9ZAiPVg\s0xVottۥeV1vetqpVK|Oe~Vȧ&$ |{&O*n,^\scH>yh??JD\F$uߡTp]13Z~1''1 GფԆ G/`'hj(J+=h %P -v^Bc@͠՗\;f'+C36rF;h%aEpWMDӬw`aguL}/V7WȔ2 P5ف^Q{4A Lc5px<-I๤bVyA4a,2J矧CSa] ˌEDA•5&ԥ5ܲ{@Ip, !;6 @sa8cNlL#!4h9x dbհhG ji & ]j&kBƧ-k^JlRe:d"%qnu6Z =Pq@ o[TVkͻVѬ(1T䲘K4GqA g.nh~Y 7YqP c$޽ݰٕ:޽_ݰX_ꆍtfPU=%^"ؖ<7'ILØ se],Y/YmcO\wjWHݐq6kUxpMv,|@%L?t~lOHfp,LyQnjT LhXz%\^,oKH̨x!;viN%\FZ{ +h;)7HJ}j ܨ^3ypujP hlʙo ++ȤIMD^Ci6 cH9E +hu1ȸd^ b*Mf=bZ3*dSKaxz%1o h\PٵB&`i.kT| Tx6IQ_(8kTVr^Vx1J R/)2oJ&_n`^In0ʛ &sٜI'R\a{yd&QG.+Vx5t=A\Y6@_ԋ3u6Xie(d!!E2"\Y.FtdzK/fkonn3~>$;*#$ $ Wa ]rG:KvdI?I;ʞrW_<|_!KWWY:K{D~ՉYHC &n,!hupW!)u?Z0Р~;pGF+^FˌN`m1ڨ|| U< שy/ж)3#/;Nֳ;|*BM=<>'u$@P jZ/%P~ʚ~*x/M i#*eolVR_:x&qHU.' s5ٶg8upĦ>>'Q$7&dC=%3Fwo,t:Hs#piZƽ!xMҾ,^kpiS:bO|[=2˶JAK2SƟO7u z$:Qhۑ+o{|~K?jIZgrIXJ cЋ'~Knj:08>]{^KdžGoq܃%^ 4 1/R@Xúbx61WHiG3ѽ@ a_IX۞f$tCI8F mvOn6F:Qo3B=wn.rmK?,@=b[x%z&#ܽBQ>~g.'"b%X|eC+bN % \>}^1C!h|NVRsDw8Ok792Rl!v. Ex).9Ǹ6m!]   '.#3Cfo^>̉Bz!QV~U$qx1#5D3>|!5q>CJk}!QñB;>@dp x)7/cRILWm6' 0#p8/_xrYmE10(ܾB!S^//DG,M6 U Y`'n g(^,|H')cRB(nUXSzʫy=ϥ&V$ I>xh, Zsq{dmM \yʊ+mۏI bxGBAOgtq26M6jڮvi 7˷z nt(rjUUYzIFG:Hq0[f"[(λ]+l CJ+R e%[%MZqs WjֺW׫Ey_ z&AoBzrW%B#85ֽ6Jl@.|F. ML qEm"NͰhpwûIZ#tz:u>n@|?qNhxL~&atvhz7[Po=T^}>U & 4nC^ nѕ0*xHFJ?\-\_e6>MSINW%SP7:m61j5͞alq "Ar+ȟ}Vuy+t^] ZZ;odi5q'>‰m 5N聽Sr Qܦ y;,)&䌑q7w,Ƿ`d{S)FŸÏŀ|'ΑR΂e8Ýwa] P%8:z$tKE띲hxCǢOZ@Rd8H f.a[8-a>.LG bՑueNtoSZ nt N\ ,z}`8B/rv7OP!~q 4D~ˍvd,iw_YV.պ;+~8O%+1-n{ca'eV  Vdl('VH/: ,i&; uBbɃ2M.YJہ)fkφau2,Ig==|c嗡QAx2uA$y[9QJ#,PxPUij"=" 0v]Ј4ꔦOcLKͥM0gC+Z"ϳ#+5搸rC 20C N,/YbRtE|]"dR,-c;*vWb.9u<{t6GD@.^Ey|klNP^-ք9&u@|Qi[L,djw)LzB[[EHv/l