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();r/]f-qC&J%Kv,߶$gmg@r`2Q]-Ny| ̅QwEYN$`Fhи=~_^a<?b>{%ki-{ 2a[%+1Q8J'*GG"0V闃WFjEHlN\1da‡c׉[8qmaK3"{b˪?uG(H"AY(0lɰwnT~sc ozĆoqljQ0pP;5Ra f$i\;'\3DZPc{a(} /DNx;D[Eͭ"W}~x,*ge*ש  ݁soq^@7n2!b~ÁPXb)|&be,#Uׇx.bķcWlUwPF?q]I(9tmmmR("(t]jQe*)CA Ȱ',{D큹U:ury_ჩ/virǕU[j1>zϵ9Z|I?q+#!'P7od9K* B K *҇x/pB)Q;/*|>>gADJɓYx= ; J4q`NTuf61^^TaBbY6JJEr?;䜃N컱k#b FC^T@2cbL C^)GhkD G(]p~OD81\?H0q(~OP8 _ͧۮ_5+f%*@P w0!*ν$ΫGEMbX/߬7x]xWBM>ˊ歊W$'9]0/Q* JDD4Y 1K`` M^d;kvlW:uUY﬷FsٳUj5ZJݩ/R5u`;YoVn sqZ3QU9NLt ȳ\$ 놕YYTJVH Y|lS:Y:sR=5ACu[MC{ Z]Ձ-܊ec08[-GTd~ |gwzj /Uwk' dU)hEK EI=06 'Њـ';~ {2tD`82ԈZUu_.7ɪGPGCD2A(YOPd8㐣y AWlm@o ~ݠoui[!(ZT< }<]CÃ`G ߎ}(sK.!me`Ҝ*u2Rzܓ>ҿ[YQ9%"4"#wh! Embzݒ)YiYНLw .~i^({2hQ`~g =fEnWa*LOkr\V IݮZf~Ɓ'cV/Rܧ G\:z:%J̭R$G@\{ *K`,%_֍ p[9݌k`DmTvy[յ;F6C%Aj*EvgyDF|a8A:4 B2ѓ%Bvl#è2ՎhN֩Z7.ڭP/T1˿]~O8ń[ﱁ1Nolg~?xM 6 ,rk7?hFֲ(vu . xnܪ١Eh\CI4wnD h~<0\,BۏIuׂgbԌ&Fځ]KV'jn^*=v""ѢX*j!M*PY5[@𕝸sogOlIp>C! @6ػwke>vLWhiZKZ%Xj@7p1e4Rnq#g17yNo9T%e 9ˮ~*gEn'Q,GBt,c6nl=ؽp=d_.f\F~ǂtqMj[jFkfl6n­c[Jټ3xF4+mYiR8_E1"F/Ě)T.c5ediړ΄}uH wrzl4^N ]`Ep0(ѩ8`EdnSLozka)e( 6Z'LhLAF1"T?3B~$@xSjm <ދĪT2`-Œ'qBE4=C𱂿ʘM^S6i O8yŠvx;Vkq o7y-px<<'VHf YvC9'420I8ɬ`TX,=lоi})ȐRm$VK*\VyJUVZV bjjQA{{i";^ӭ5!PQZ9}:V{P+O/VV؄~khXVp4#;Tp"f粀h3ӬCh N8?*J08mjfhe1^x \* dJ Iu^*GJwFO8}%Vj[=jvNQ~=>_o=[(q*պ7U~s@ _&߼?\ __= oQL4q/nݺ(J! =W4.zaT6GCO-@8 VHozS 2FmBx\PWuQ>fo)Р_4ź?HgV 2J0JR V[F@X,/J ˂osڐ *Qhy۫vX)~y,i0>^"7#T:4U83\/c1r`nV֦Ez"BL4᧳3ܳJH3.j">`+˵y?rX_Y+_Y?M{q#½#)}##9r) xcѢ*+HDqLXWE_k_3l멅8IO*Ð̬4jvou^قo۸-Z:87o0uވH 8r z?2KFsN#z9;.ʍ8,L|>*,-foNqJp^f8ʇԤt8RUS,Ѷo`Elzct*Y_Mٞ]G2OS<feXǵO>|b=hp \up*diI.>lC܆xxJJPa GMmpjRpަHoHwte+Aզ1V8G%0mYͪu9'.3VjqGlylYĞԇ6~ct- = X2H<6oK0w|H,$A1ŊOS" 0<.3]0tqAy`yxaD{CwFdMRELN}UviIEx"DmaW&G܅^V yvin 2 lzW-h9}ͽ?H%DLK5}ufVhzv߇`;=E>.2sGt1CxWr尘tz3_]Śۯj;[i_D(xdU};.tjMA~ ~_~x ~|Gc8o!o~˯kC'Gy Oq-3A(mŭX="!TVn`CHc#1A\ $QBD*av ωn|U:&9t~BhoPzP)K#4KL+*@Z1 ϕ+Q*ұ p{f}q鲦!]ZjK$І7Jhʙ:cfZZO*2xeQ_&Bc$Fa|񉤋G #@ξJdO)LޤC-`ӏvPkI#(?9! = q,å|r`Wݨ128>SWU(iԣ}.mX-[#ɍ86D1zq ;sKx` xAuxF ]5yXl=Uol~+XMdYMx[.WH=ݲ!|Q˃}(ŘVA4/aFZ@ M^K!鎳*MKZ4amSS?/ ]xPW9CE)ܱ^-PVj VT*zuDkPG5+/)|wSJVMY:C=bѬ'On=_I/P}=Zw֜NkAƽFU޺>Ral̥1MuW)>lݡa.W!'5Xݯ跚iVwhwމbUOǩ'}*  FL'bc"~48? HMAoih:FQyUyX7/=8 Q/Aris馲gzߌz't+nЫn\G3+mu Ͽp9}j'`Z|z+m)y!t2|L WFgZ$\Pt[r,RބV20-" W]Y*tx|( 8\ŻØPMFq Kujc3 $LSA_2\ B㝩?-ↁ co#]"*h{6V*1$,S +Z rc܃BSfBˬE[#~Fy617DxZ T0䓪U DD*62s|r?% 6  4/J›'CaJ 3T?M7+Pw;Dq;,wwQO="m .YO#bG7-A@ۢO}̄0kcS2iË(/壟 %Lw}Dr>Zוy*#Pz6L]ng57"۽JgfO02,eYdag@ӽ%GI ~_$eg#{m"<׳@=Ҳ.W{BtVZ;8\-+UXڝ*gj(Z9V ߕ@.n]S|_ NY)g,[9E9$3,WϹc%6J(c-G46 Y̪uCw7Qw߰"v^ Ç[΋VX[-.c_тr 4ZonC}V2 OzTð%B[=q<#)XƇ+a5S*Rɿ4[V|z q4MD2_ o qzԤ?;[LaJZkwS*^oIP=J#Yeb%Uh-]Sj:/][Q% 0Jq^_q;^Ӕ˜[OF> mԫ0-F #n ^iX8l-R2 # % :<9S3dphK9o͋Eb`1l0SGFu}QfMCm֋}abwZQ j6YѤfT *3S DEM JWASg *LhPH1L1U݂nXN`cZ)h; f5bN|&*4OO.pPGK  sewBK'!6ex^`o;ꃩre f\;ޘO"g/Ly:IRJ\칌(f6iIF%U\

g+ f&GOI< N Kx#5P|+q4n:ҒCaY?_9`Q@a'u'.>>ޑcС_f:BȈ/ncɯ"SoQ0pjH" QhՙY 2%e G0P+/H(DB$%#Xn;l,,|shZ9?M+ ⧩,FNhYGJ@=}Qvh[UW0Ї M'h巖TX]VW׳z:TmǓ惔C]y2 EJ@ &ԹC>t=޳XW~U$ePDH/LWa[hx-WtYk5ӪxGbjh)U= y&W]1 ]V4O;6e/c:ޥ3\{BZy7@5ca#B&B;o_SU͢ZǥP6T{.DٱUjPpN"Qk&ʼ2 cTe %&2t o/xL^)!7|PW+mI<:S"RQ^k0:W#P$*Mi{> 9Y?v5Uܩg;o3 Ƌ$Z=V4zCL`epb2񼆱]@ 7Lbzq*@!X< #m꤅~[(nE;BJ]]GϾԭM›뭅f;Z?gt< %نVȎT5,6uǎa DŽ/ i,N7ddHpn"Q;Bm,}aL%6bDX&z=/.2!` {2ޱ1]Y H*LD G"w""@9F*#H:Ƣaqc P&MJw!s@d ^"o1ۧ{DsK|ۅ-AGcL`"vXqHjpC)K.N7xYU_8cF#X_przv K7m_ހs@js ~CwSFsvAyOA   :4 B\f;-g?~cILQHMɰcU! :_=v xWcx裳qy U Ȼ |LB4!i<KOIکD8< hAZP2[`|fэN;5~,=#}Elqv%w|ؼ;xOݫ_ z~DX1=*^W+|iqae*B:(qCݬ u˴saGé|vRpع88fb;sxhĿha`0qwn9]/šz/i 2&쟾՜jaq*rȤ^2.pYp\']9|tDsg<⫞oUMUb\to. { y,S0P8]=p0+¨&11lwE:qDrJ7;\99a#s}vb<13o&U@ XkSa6Z5eBc}]Fl-VnnX"ΜJ Ƕ q{߄8^[ŏbKWe&IpFw@;U zP4\cٺf盭7[o!ǫXyy'mgu;?uU1\g,-<}(c1Ep=r<y0TN/ 2",/<$bPدT  [ո*xNwve*Pp8{+%m&J+RP(i'5RO P+X1ݖFf}Td_#g Oxmg 4qfzk.Aw&(3CwqnrjgFF@G`%0yOng_`?;R*a*5z'輘AVF_U7xiԹ'عcع!N|i)B;|.7œQ/;LW 5۸h[p ^XZ~AՇ'T&4 ]KF<˼AKC) yǐм!$4$ާ\^ʶJuk%n뮣öŅxu`tl.~tph _Tj6B! ʼn/mFPľgAs"K\IOYҥSh*OC$2pҡ:1?"fUl{GKA(4.CA|3]t#ƅI'_·xيo_ş=ʝ2W߰mG C& ElPAǠ_ ^9g]xg@W*A"ʣt||J=Mw<lp"|xu]ٵَR__l ܣ#YJS97QlecÅzut`}_FJF8Q0>D Vg9[DIFxkag!ns_kMFbp\aK>Ujg1-q}a }@@lytE<~/ W\[C 1W~^F6xTw̞}gB߹>V]'g}w-ޥ,>_Owl`aBU.х^hWkpo(6jWj.,`n3H34s}5us\Ϳ?LZڅrm1Id6cS9!0;:{EA3Cb!T7 6 AԘscp[$De"}jHQWNşGHՏrfڼx=@"Ng<&&ggx=]P5!|rZ%1= }}3T~.Si0c4ujB㥿Jqu=[ޚ-kⶴ (tXRe7˨`Efۺĺ @~N>sKӭs m-wvyF(Ӛۅ?Wf?Ei)ʴH##K{lDF,g[t[́ v7SkʑS9 u3uBKb<{ ^-oRЙF! (RU4Guj/xxA2է{ΣbL܋Vp#%Lə1+eytC =UҲo0hՁGH~I6Q8H1o=9γ"ڑ岒2Z^X0x02B?OYEQB4%HΞ}sϧS2f/J"ƏQ zsc _gXb%v LfC v&}Ct dA;Җr|k+V"uToedQc#~o}W$2R.#BҌRڂZ ­5cZ3j(b6FME [)E+TDjb|#f}PxeXT]`Alve(^s5R{wݚ(G#ׯ`թU%eK~y+xJ+32^!UYp9*K6 FQ Nr8̏~OD8&~Ξ?s-ͤŠ-mdC+apCOʣE_ ARo HZo֭ƚ^/mbΟ?oc#⻡(^Kf˹p}KP~j[CgX",*Uj*uHq5m*E'Y7BУ>O8Z.i?FiK\ԓDYd|#mBTT:~y#qAУW<Ó$H@)mP ` 8kd3x}-RmQ$wV}vX;'S (0g> 4bWVuzBqt"& /jj3# f`f=' \LL  Ap?U6QT?$'3i/h%XMRwM^۠~zA& OT0D',4)wm=,!GTIKϾk7*Hu+hit!Mfl OPAдu>~wo?H`0_}oֈ+O[-w&ԗ (63(F ivMFn4 w=%nbI &] :} ֱtnӁ"ME]Zn9FwDJQ T2,Cģ6u/i>.z S" OT㡈Hƨ=:wbBQ(V5v] C#)|| <y&~'3ؑXwg1`$N?"οapu{(cEޡ|1rt0>5&9fFApRCAI|R&s ",A2" ."QeW.~EhbEBȃV _A4^ro0f4bȏT %R{nh=ѳf,0V#UdRȽKd2dD#OX3UZRS4 NŋQOAUݔz> xTjNƿrufTcJqidB_G?L07dvy቏ڼ~f!*=Ŗ"|X6հ8^ 8oWn|q_2\nQ^r?]4_F+5+㴃P[-^kve],o*|. zc 2yz> ;ArhU*͜j{vnDt~v6GDdW+H}Xt@wiQ FV[O^;N7ݱ qU14(¡=wbq=O5تq }G?o.~ቯXQ?]UM8j`*\o+T0I"} %P(KuUZ,w6nF.9Z$Í0 2 =v )m z7T7pD# %8Fx= ZV{CҰݲ9i)eCyc(.H=7ʙi^;\C@x85آ@Hh_ʵp w*/.Ww;8(xU2t'A7 ?~4K J_#V:B}n.&..ya.fHyC4Aa%xsG{IKF*b#?蕎\}e"]d4[o-kGr0DETH9@WUj59i"[$ (x]N,W=*(sAU(-UA=\Hnf瓋b7Hd3L\8?$'L"J_~,S+,w`&,<#b.Ŀxm?cDHx BE[H R ƉS:6j@32j ĈJno;`x<-oq¡|}|.asdžZO