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();rF0۪{#-qCe)v];c)ɻkXC`HBQ;H:QKSOOOOwOowwc] W/X_k] s7}8$g?ve~ݵG&"0K}ScuHQIc{ Ա-NK2sbzdqWU6g$I$B DlEXLnF4akG\;apw +46pGqЫG`TQlMS6g:A+gqr Ȱ~١Lλ m|r{z: DEݩ"7<~x5lTO甇qw϶_BN4!a>H5h{c+j|&cu,+:Ok)n{m`ijb؆>:@Vކ#9S ñ K(㗳&{YVHEAreA^j?^ƫ XXXPɥO]uS= \Qa4|FcxH Ӵ U_\TśX\5hH1قd:XWVhP# ڳd3sj1|@?š.ou ,'2%t{'wH+ obKY*Y5ص 1)f0~;iW[#Tn ͣQ%9Kx du d)gڲ:m9lteLi62.V穽3< wpɮ:Um,8Ȓnp{z]/r%Q|{}+e:@"="벊z8!{a z" ?o^:{%'Q3tmuG(ǥy4xt:-D(J 0'E 3,P$ZguGAet?Mkw"iU zN&7DW'UWjkV(@@*h'ޗӧІְv6OwH׆?p߷6PAlUԤ&I@א@T Q&J7*rnq<;ᆳ|C2hUQEIU0az(FF58DQwmSs7Vr(Ǐ;-v>}: *}A -@TDž.47&B;p'ݕOŌ@օ5džW.Sb a3|܆kۂ.جT=~Uz9[cʴ+Xw9b`pk &k8 \6 g.[rycfUT7pH.*fJ/)ӰOSJ*WRؐfGGS3z`sW +•g2z4Iy}Z{d;QXTOcgͽaLd.LZ*abRN } ~Sv1Ռl"]!2Fmv(^O/րzH2\ɍyḆw'Aۂo蔦Yי2rnM0OBO'gcڏgPwa]Q$dhUm_Zv:;sEAkAw`X=б3iMsоkbwc'x ~RWYSH9- c {4`!El{f,V2 PXwC| 0'ͽaH`.(ߨkp+qNPQ/@oֽ #_BPRv&+(E"Ϡ+~2nu<0n)c?p EHl0iecZ1B6k杛f+(;[:8~JOAQDqzg9[喈h@ pfrJqzG|7N .Ak= 㧶ۿpTOAY#GPHx`=eշ8x #8q}|Y3.;B!P#]„Se'(%¨S1E9hw(`;6TL,!\pPOح`\.SC7oBH"B=SV˶g|bN {z9NZʧ4"됔>DԹ s:uo]EOh":) MskB\L[3ü;<=gB+lEYj@UкN2gMO7#ɭ$)f77MchIh:؃`=rX]4Q펹T3X%l[vռ vO`O*EJT:aT; 6 *FGv#*E^_nֺבjMYO}ξ>9prlcO0.CxƎm ڳ걡s&lJuTuKc[[I`nr"m @,/ df;bDZ!4a?S,zc՟\qH}R@t)-UdE#'"Mb*?豶D8 PsњO:$VW{&oC$ 'n \j=Ϗ7jy@Nw:"ˏgKr4m%ِ,'\qK c? G 6"fֽlэ 2hH[z, 1Qng'}Tyk{!EriW5 @8 }@ ]"<{Q57[W; neloMqegW@3phq Blup- rfbCys#+xhJʯ S7 `rRlMx0KG0ìcc+A>CO͵ *O9JGO8C 6gf!*|3jC3b .gCCq|x47Ĩ28ˀ/2?禓fI(L&!hꩨhg{>h*f Y[`?b|cs.E+Ժ+`Puž?Lg 2J0R fGFE`\,a7m7d/% 1{;0@l_F)KF$̫OhAmQ 1- Lj4˺*D10kZ{ۤȃuYLkmݙ oaszм`EqU7gLT\Ljd7'klɺuV^kȳwX1u/<[1}O@fI TDdN[5%ޓ i! X=n]ѷZWxq=" թE۬JL ֦ma4wmBПHR "ܕ#knF'bᗗC~TA2t()XzZmsn]v]:FUԱe=Fi&Ok wgw&ЎE0io;[UTˎҾ\<<ٌ#+ÎrBŸ%>DᡟH@- \>Jx!%8N>io<2sOt5B'xWr(tgg;-z9_q>m㕍v_&K)z7_w^?{s<1o~ ~/G05C;URm<<x\]l{%j5lX0~va41f.F)g"CgٰN?tkG|.$:<]qƐ<a:e-l8BN'=]vE܍E ;i4F9Z4Wuo0d>NpnB;VjYR{BcJu4/ɖ'yMn)hn [x!svzCYz!QL|abv)m<| \AD YB侟аÇ:( nyU<(.>S |3$x"G"!>U!Qx~|1)ͰpTfdP.xkq݇7G3 qX0"vG: M\:Q D>p#I+"Ah r}m%0C0az!π)kTMظ\Vc)Jbjtd#`uP92T)aؒ~n.Wu5ǛNߩb~!ӱ :yOXoi!#Έ <]rT;Fh*f X'K(9z #(ҁ!%RjO5W9$-2|ErOcUl;܃|l;B)3eckT@0@N@JX+$]U[-'s4C5' m\5vTD8 9>d9:J; Im MshliUmf1#9v[MѰ4f4W#L*)h4TrDw C˩4 2OE >eQaw<~>߾pm/e,xC\~k@f_v p+'%z:e$'W.2k@']sϯ5jPh6ж(hx'7D>. b%Ep~ߌ,.uҫiiɴh?]Ђ.fѶ嘸cmх4:wy|G",P&xYH*]9ڎ_AD?Lv&`tsno~/Eod]2Eb|&[>:c<+dFKH No$W`~Ȑ2LNkؘ =6;zЊ1^#q8J]E*::n~y鱦1k ҁ7*htL濊1RVm>MTo's0 QEHS>tOXN8fUɩhKӝ+q!u<4,h_Ne>iAMqNb?Qp5]JSIXUΑ@ϙ|-\Is@/ggav7f8c9cob$3g2R7ixa: W{֣:c7 _ 8hlNhTvVgD;1a1R,/ޣ竱iKz2NOsͮMlŃ-skk./ٜ+r\Z ˾d4:mYIӆ}^|~mְ!ݎ[Xpn-[wގl"*WCn ]F(ﱗiHHy5tx#6p7Ao9#0P^qЀ1aMxA#h Cߵ'H=maz:gމ:pzy_\w>tjڃ>/<2Nr}(^ Bby?Nǟ!R)?@;zVӌ;j/nb?v21 _" W;YU& "evϙZ;د~hguT\+b|=@?0?!]$2_qB ۉ~jvϗyBWwPt;pBtIEEER(Wr]v%;dSe _CTybZyn5QNXӜ*]|a]b7e.@/<.C_y\D|=7%\_%a U`(Oubʊyc@-9q/򞛐U[Io3 x't}c6,+YQ$) lL&$'Q 1W4ſ ˾&PѷLDiRyhF}O +ryͧ5!:ck`?k#Kp2 *+,UY.yL;|󚌅o4M>eOh"o]h|`)&]hC{7 ;X xpAZw= )[YS}1va~7k54yXx}N(oXv^l0%㧬FK906տ]-I ا=ZTĦm1«|hsɝ lZi!;HhGQ JSa unvH2j6j4?d>ܞ k~x2>j[f:啡imd?csqyߒTAv6: Ԩ j&AP,͔gIzv1~qAoOti R[{IҀ #1t+j5ejQ/cr )bq.q32ijYQƿqzg>~u7:Y=qwgUQ j%*)ݡqj7)L%uFY2)ܱ ̒}!QGX,}F3a[aZU-2{}ڃbϩ̫k,F57lz'ZރjPzIԅZFRy`J5PSC+ҝN+iU,l+/O'whXM;FiaK'@ܡ0ccf\OiR8&ѭ sChvA'Sj a "9^R E ƾ' qJ]"0%iVX`kw2Z*.m= Uf VNuY<}ՄHaOϟ~=i=i!O5(Cz1- wT^W'nj3Rr8 oᴺ*i4Na`\]_ cP1}gӂilgY{I˥Knnޅ.3w2#ܜֲk ՕE|,eGLlA!]IRyU?3qRLͼ&G*)O9_7~M)%Lt `ޅR.Pii V|DLNݙtٮqdJ|\(<Za䇎ZfM\~lIR^YF}u졗E/?;{èlg*c{o^砇dR2IP36ɳm.кo+1Zo(paBf?4SFX%EN,W"1AVoS`+4IcIb^k/2Ih/lxc'`, 8xa#C<' Keg g-X lRQc\^T래F`Aoŀ-&>}Ll8,x9n "J,+-otlVVw}T:y4k?8]p:^O KwfFkZJeqJXnjE~M7*2~R7dJ[Y8k2WƳ!Ob槙EIݗa<Ϣ~~a)vnFܹ  <0.P1t5 9BcqG]hk ZhBpa 2cbў됮aֻ%Gcg,$YBSEtd |@$<.58\c SX.3#&23߂91333n~Q~3"@u[ПjPcǶfc,tўox+y"p,\o\R\ mq ׭6oSAm*h_6U2G/ %l= ؚODWɗ ɵ5r2.A{]skok-|`AAgjeWA.9+MG|Y=(7-׷N6'ch&`Y)gB>|x*|afJz\yTv`F"}ڴ^_|`Qq̐SZϏԫT=tV9&S|)qiL (@g8Dy0ԾEڷ`y*^OߨWq'QΟ2dV$AG9 yeeHH=n$,+L>+јR$!I >iZnl _"6ER5 }գ $(KG͆ױu·OH[XcA֏UJe}&Ya?#mg HD[:#yF} H6[}rk}}:wCZO` "#0T W7/ic7o9_*{ϵY՜kG* 9&@5s l '-x 9|!=\Tݣm8.5!`8ԋ#_‹ҁޮ}i߇Ag렺EL\fͼ7d&>zA;TC wMZDEجm?XIv&S-+a|/ Ysobݏߓ'*"sm)?<'X?L%f{M@OiOivIHgrT5@i} LG) EL1(z q;|rfW((fo}=`cմ:-CE l4:.OT?ژ!x34o9!v7"a(NpZd@+0 RۼiۢA;9!=̃וŰ" GHBә@"*|ZER=G$Sdr)Sȉ<cRi<ƇS\0)w\\ՄEd^!'*8+/M92p!DOcɠ16_Mas>$@>pqXQ( L {`0Cf0=oڜ>ANp7EzH6w((?/*҂l uDVzM}H&; !j K,^P=w␗~HuxIc$">SS>^(')mԵK'0cp8_6#%Se%ՀR {JxIwuE$cm#RSp<}"b#(M%s*,&A|.TS2: !ql]ǞaE{Х3J3r~>EVQ88Ѿ(&t{%^f1=ga % i+œ!i bt9Ps9=%Bl1jVfUmW;/(oPn4~øy{I-4.>^H-I0@w0 +T#Hʖ}zT * >`.ͧEժq\lk싇fU'V2T$u0d;1t+|0ES'}4{ƕ2nldY]KJ|N.> 8Zz B?䊆ڟܩғٷ2'~ q C.}ǣɏ+ ءDOM̡eth50h>Ȍb($􀟣'>S-Q: |ؼN.,9{qknנEO4K}TM~)wSw<?y=n*$I؂^ 4xz>"?Bjhܗ*Zl7nѰڢmְٰimGDdߓ+(}Xr@w^0RAϚNtmc?u1H]MpG'1ʼn8&qiԅ+GxpO񫂋_$pES)FsOo9+^\x3U U`af}v'ɪzw~ &9Z|G`2)a2 Pr`Q k4@-5CTع6C7蔦ɭʼnKEn;zqGJYJj?ćAFg"vv?90ؼ n/v/x.lGn?ZlFNHǭ g t9򏹜=u  ,q1{L >CBW :m(\!"*Of)h 0y@[FC4r}^ݗJ稭ˊl,VuyF+sھW޵h.aZ.z9yvbwc'Hd3H\8?9SO"A +j{Ƶx6dZ,c~8ʻ/2>찝MnĿxm Omi2&à6!L]RjࡇcE/;,jf4>©0Wxr~'NzLxcfW)lzNJk0{ͭac5]~+7?