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();}r9o)bl,xaGnXRwr0*,C,+b_c_od3ݱM[dD"H$O^χWl''7Xʾɧ^Ve&Ę95ј(G_?4 ³^pkky+b #__kk@+ڱ-bAҩmœ%mSRcg6w7k'y@ mx"\㇅~-cZckc{G,N_ Bd;BcP$Fc'#l0y,> 0q71 +|ƶgm}o |ַ7^0<ծ?tD.Тacca=:UT~yw-1$|kG@>}E\>֢gw߰,Z=HLasYW%۾*cA#==twx'XTYv*rP.T˩;RHf0 rSN]?z{;4V8(#\G1k> k yCdn~8b®yJ3A )GIv숭C%Te:c Laác.Zf!{ b}n:Z[h+,?0x>tqROiX.<(5a{m?~cX\:AObm"V1y06>CRއc_La[Ir6~Iй()b!:6EA_j}m#GPXPKKp# [QetVkxH벡i5FJ??Cٱk#d cG^[}B4eh۔̑<4'*4^QA,Bwš!Ou ;e BR5~0Lt 5LނZPny`JFGW=LHZ e>h4[un̓Fuk`Ú!+W$<ở&_9RUkQ?ޑgŷֲf60{$ww`[b. N+Fͨu9a'1WyT*s ɍ& (K_?T7lx,B@gUs*zf*Ooߞp'hjCGDu$ h Gȸ~a>^]`Vp¶C!5ԙ )5ecmC2+Z]5뵵Z[_[__jsbtٳ X]mvkݵ|M^h^k[lwΟkf6 ,gR4g+`@&QXuĈJrujZ6 .#I؏ecU|aZ𬝉X8+v; iE2hMQ EIb*<^7Չ)5d76v?Vs(/}E^agPj'>BgX/n1<~@>)@t/€i4-A gzVLd]XҷoOi[8#Ɠf6(Vp֣HܜP{*ec(鮇*vyp&{f^j@߾W녑'߫a])Ϟx+NUkRUT;jo&؛j!UwKkQ|ꈢBcFHmcG vdQ q_ ?_!p>כ)"^a_qh ~K8Ⱥ”F}d=pZpA= =։"=S"i@-JKI2skE6J++ӀEAmA`X/!c=lc`Ғ`u}߉IosdU!qFPlKg<@ i"Be#UXd~k&H*,䴿i{cO[;=|eaئ,{vHE "VUx(l@ +gxwM޺ #0鵰O/>F sx{ 3L=}Z5B, j )*p3qzV(hZAWw޻ c_BPRv*((E"̠p;~4ft  <0n)c?p!EHl0jiaC)՛wڽW.X@?'XGPz G/;˙7EwD4SS:;8ځ殍$z_9~l9vG@k  z8 1hY1 z<[1>üY7.;2C!P#]„\%JOi(%¨[ЖZQ %  %\_-vVXroS'{B=nE+rl2'vEK)R/d` :?el[ۑ=Q/ߐώdף>w!J#iЇwSuέmHMDrQRl_;~x% F-h A2fDiv="Yx,UU__k]bMO#$}W_(\][kkFNQv1{ǎ?7뫋Ӻc~nP`tV;]b}* ֤R4\J{c.o0Ubqt97"h*DOFF/H|hMt<)ېf;?Mmx>2rpgb[6 6OA馎Ul}h48ۢX^ *ՈOhӐLAz1j"T?3Bz$xSDŽO^ FIJV~V%J U Cd XLR4aD&PGM=++.܆ozS 2&@x \PW(uQ9M,):_ŶOg 2Ja$_LA]nJ,F`yUX|lgdBo^*F / c$"ZABX{ץIƛa(NmZfgVbm|ghuUjVnM]Ij#Q{H(&q#sb< j?ҹ3LH[t#߱owN#r\;aI:[8w_4ߌ-pJuнɇT > -AI 6҂fh7vDhctJZ,_ў=G4LhfeƬr;/?7`C/jv Zrf35A+)R i盈ɗ/[C,ӥ3pݦH]Hotf'A[> VD%0YzKNl2S. WjaGV6<6'%c; j׸a:{~], \aʩEL9/,&-_02 )P95Cg! )U$hM>,("xCph^0& 4^rI"MrD4| Li]f $ŃShH"/pTBwuzw.pγ$reQaw7Qx' R񥞾ܻX}7Jx!%N>io2@ t5BGh+ \(+twg~;-z9_ uKk_Ed5c5&m|?_޿ś;/|i CvO~Ҿ =KYj |XN͗R,< x\K~{t}Ȣ:L?3+!@"%L$C.iFp(]x A߁NQa Ѯ汹(Χ b0L "d^+;+d2BSq'y2lb2rn[/Q8fj2`-ohnp,A0'k6nl*S*E4a7[XIR:^uЬpvj,G) >]c{ǀU9> GqM=T,eJdZMJ? +he:5p|@={%˿vpRle<0M!y+Cfh&/t7qlkG)$oq$-0FCP\ʕ-w K8<dSnN@hKě" u#Tr^ HHWACsP8T)aXAo ںͷwWjod8i|Ht(N.-M#=dWc R31Yr {20a|0RHJR"PxeIhV4b0g娱 bcQ}sL>f`ę€eamT@@0X#$]U].G}4Cj m\9eG!>l ^m{]iSPs4xJ @_,!"q`LlU<Egdc@}8ġRIE|ӜCeއӿ?Z[++5w[ 9rJX?}qYi7~ICT'"i8wdl@KgSJH`<4-'[ 4P AC(@ƈ tk5P.?Q+7$pESg7x1fUHԽ1j9&ǯ& [6w5ր};HNq礴}Ue$Z'@g7N7EZ (Xs hx|5D>^:oAŤ?MM?}*<+m/~]\5׼^Ep~όI-/$Yi4~6^G7]nfѲ호bq&3Q9EQÈt'?a2Ңͳ"]rEx*ͺm[]\n[Ջ7/!m[3||H,uU\(H4 H\ԩU@ZRi c@:@) ʀ˅tHX C, O1-9kOs_!,g.QFS$NU<.ϬwV뎈E]FaAtCYT@@^$ D[왡s(ӷ)D 3юʜij1s6őΤq$:ti&_rV#Tp-E>ΤwѳHs@/M6gm ;|0܈CPһFӼg&vmw,hhN^PD\atX`pt&a_{Z)-foe}{p!̫4yAӾ-ɘ6~4OaFE:ېД%l*Ezkx.O1R|5.H qlGJ*R }B[1-rjTj:_HBEYzBIÈi5r&,\P Ƅ9ǐKX4>OtV+_5־J9_ZZ[]P=p#0gk.p>SsrDB}ڑLGFӚk4muǸnc9j^+Fnuh5;uy+ޛpPNj_)кvڣ]>//y `n/>P:/_.9N=t<Ji0GXC?tXxw,b tj0ÔO~) H/>Y?|~’'Mz$@7fCUUi/.lRlYdO ԟ)y7^\)YI9񊼔Z(u:II^Uy)MTDY|uِh Dv$`\Y=4 Ӵ$yX x̂wP#ZP*+!q I'xk&'g>FVC~Z#` EnE` W; RN#Fy>_HOzfI^̃0I,px GcRs՝NTu'רdqu'NNdu|DB[0GU%bΥ)S(k [$Ȍ"`>5%,@\yR< "{NJKū#PluQjْÖ` 2oo/?y˹$|QLlM^rVIJiORj(G;T_eg.#S2fyZT)Z˿"W||q$:ĠL@d1&N&+i~ZZ`KSX.;yL}KPQut#Q Nعs45$D;w 764luYti1Ц|0՚Y} ~`:ހ;u sϏ4>$o];/JǏY Kٱp].. /-/-pzkUPʇN;w<@Z^2D>JjVG(zP] cqǖG*ĐqV@V!;#|ظvp,2:[f:i1d 7&=$?h*S誑zݵD i4LyHi#J {Jn祧.10\nS:b[u`5>j0ǥz Sk %_iNXz~1NQ”$3]`0[~sb($3@ GJ ܕqMGNrXt\dhDŽLچ&u{Q$3qrSr cO9 YNh5TܚMKb DjYR0!Bufr}>}9aT _&cP@W7TSA^2(C[NAChg==3֛x+W20!&!yn(8)CNfV5PO yTcg @19#.KjtwxkRO278"16)#S{+Oh88#ȉ$Jaф0 $~'ӔaޔVmEs5:i`DZ"#؆nKbT~:(]_r?~L{7mNT\g,M0C*%KzJ)d%m KM-2TӨ/Ga=:ts— Gxg+;fPW .Li{T#1參PLGHH idd'rhdN@ɚYvܪz0fB?0\-_*y w]>Kd'c`"1m0iICedwU.yWj@?ҶnYcҖ}HYCgp*&n[5#LH-"K+PO<@&9J(-h[/g4#)ey-*DNC̈́!g9:$,uSi.3]V`L? 'C2DAXdogV1c!-BerqеD,|'fJ54.+nj*O8@Y *^)[l8Ԙף\eL!ԗoCc{=z6e6I5_h2dk<,O%}R)Gg,ש}\'xevAqjD}?(fT":VN+K6ѐQ%=~PMJ\+x4oZ7/bJgd =h';bğHOīs?UGF_ִly&)C!k=Fy0~DOm^lHP>̿"_Ԛ9EHrʐ"9zdm&bq[aIƬ# y2Ob1z[]vVDRUYR s.TXndҞrW_<~_WWYf:K{LԩHG;O &ӅZИARX޲YoG+XS6 ̕!Fj @""n}ͣ.!){hz[S/8x4/PSL)Xrw6M2H,[>Lfg?Yju V4]l-!fwue|L @R*gl2$T'# .Pv2!B7jM7riN~.\'`S & ž|pmE>Z”_M0V8򱨴bTY,O$K l\$I;c!=8BC{LN=iF'ݙe.ɧ/G 8Wh Cj'OYvDgs=4oWqvw驦D$Mqm?YJ~+Ɓ9I[ƹ'DzMG`dzjwʢ(Ẏ2X| SơQ^g{0: $.X3zq}$icb䍥ɽC/Cp$+(+a)PMTsK\ˠ 4 r8茄 JpkDꥸ{dYg?H¡ĥnfʝKo9路nA608.r #)ᾔH :Nݾ @Qn!͠ {.[}>*Gv=e'YE<3RCd9ci>.fH\OQg9LwQP=+q2@&14"'}9QH"Exk}HMO+qP(iOcgZmg{o>mO,G1|Y &SRȝk2HT}Ҕ?Tziaк {U醦;r/8f!!$ '5ÊWN(Կ*O~. p%?PH&lB8!J3VDY~LW0 w>Q~6HlFYkڵNmr@ȅ|󠡗"i26 ?%ٌs9JGrP 7ЭNʕJ Q/)8bjH9b~כbM~XkexĎB|שrI֫#>dDUzSt)C=kiP3eҦ$*KY":yBc=hs] 4@~IwyD)'ȡɸ-n}x3C{p/ģ`i Hm3 5J4W[wCCtڽ5iaghCd*x4N%Mj-݆zk]ۡ&jIaTrhwÍ pxs;x) )CǸrŜNA\m GneU2G35s09.AHf>ȏn?w,8ra?XʌFs}՝o˺BB