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();}v7oyl6M,ى3V챔X><`7H"vtnc6ȌeýVs tx§4ÂY/sWDc"*|XRt]U8ėA Nl+oY6A=;c&wV\~fEġ(Q-W+ S:2W ^l?z U9Q`@ ({Ge*gCR0yhhce,Sb_xV m=~7?܂_͓"~/o}pHѺOdPM"1}y2S/(Б[\g|k (-FE+JL{A}nmO:dw^}^Qifb;s{ ^e@FcRe0Arc9^W1`{ .FއZY+:GF܌&GPqoC$e(3?7|΢B&fsKT(Y>{g0m {gQ-[MVY(+) *jX*8r$ .caF`A%W> = Wbߑ +jZ61_^}aa[zy`# e2̡'H\5Lšumñ.mADjcffHc_*D4i^psH~7:r"X8v ,-ۮtAC$_G FQYLK .Θzuϔw</}ҿ3LIF*jik>9^SլU*a԰F.+280g.tjjԎ*Y~EMz OG7E }@e4S435 vNla]!EP:P@ˮ핏NE bli$Y/Eϸ J^I쒿f @YG!.K_eW#ϞC녺U(nKk|f0.w%6QdzT-ercaTW5syoHQ& (ErGo֋jn 2k \Dvqk?wa =p+@֥57[f5`ʹ PٮZ0c<Kq\borDi =\ĺgS0uk03#@)UK0/v|:5b97~gpYP&sPX,+dI3T@ );'FSG3q|#tmGLK$@G` {b܋@z # )gF8ֲT5XM 4_.waQi{=Vejg>.Ր{jyv(g-^B珁zH2<'ȴyE֘mm4`YnPd]cZϿl[wbhZXqA= vwgHBd";pM7*uӯB7Q`*_A%6+9$rvV-o82py<^ d{#PxO};ޜ'RF"UaeZLS<^nkjbI5`DeTu9zʝ۠;&臊7SF,?6n2,Xo6 (=p'H -UY%rLg:$k[\u~ fFQ-c~#&\o>z e$(wqzk9[nO prBqzK|B ڵ~Dс㧖ӿpTOa#G6P8OԻ1Ď@{oq L`x]n$Zz!ޡ]z &~ >zy)휶Tv`.Om(4m? X•mϹ$P'Qv#:hX>Ejc:+ +)R` 2rz3;C{`^SߎdW>|B#i҇ڷSuN'΍l#ODrSݙYX1:P2S #4 x\s4πsvx[}4^(_ah]fuOBe#8k,Z[mj:yw#zX]sԕadZšl5`kED I%h^3;vYӁnڕGG *ҎBtj`eܹΦ@ZS !]MO~h3o6S Keض,A׼mX=6τQɡ. YmlTk&MZ6[C4K CY ^81dLG5eDܘ'*G=;22QC3+OB :%f0fjP:qZ%k)15t` n@b rhÑfHv@q؉Kͨh<8Q7 o7y-xqy4 W@f< XٴWS ,ej2+?tPy"VfA׽lmY~ѐRX8GGx 6vSN?[아 S ' zSVg{lkʪȔpkBb'̿vo[5}W{-סkO/Vؔ~kh,[kxh(FrbgYAd0@6L鏪i(q2,y$WbhTcPR{:0V֚PI Hj6VA|Q = x,Vy6j1i!_kzڿWC9򝯨݇hWڃ4xV77_wՇhNq|A-8WU(..nQ3s"|H?Zzjjm$ZۯZ<*ìM3b1]jr.r0'yƙgMW SZ[FE`\`5m7?"KFc6EU_@~ճNY1"a]}ʝXKo2Oti%yգ\_U@_c'b.bP,7˭E[O~=&aXsܗ4/$klg\BeT;_)Yk?2]C듵^#ՒG&ku~ֽutQ#^Gx+F'a]\cO2uCu&' ;E5[UW]6BP0A`%ΑƳQ|; ĝF]1ˋos?XS vC_ cFjܔ[aJÚz]+doNp}н͇DX݃RUC$]Ѯm+ō6[nqU>{@YͿ=Fi*O ڜYǕO>|`ljn2`äϤ {;W{GO?0O)|YF EwٴUkC3qܲ\Hb6'=z[ޥIrl& LMj w3s>H =zˆu-+̦q׫d&9^LmX: J< A<5e5l(^]B̋3e?Ğ]A`zC<ˆFnzoF  V"RPkg:,;Dsl# AjkLuƖ{Ď G'f h'2s;Ĭ#yw@8&&}?buPަxnR>9FF۷0x#qQv@V#6*77bKgqM*X!CL|cu;4hܦý\DMC|?0q%VP<@_\!(LBL< OGZ G%̌l/]p-Q&.tq.*i|N(>,^o JCq$-.0BCU w M8,dnAh+ś& ~Cr> HOACsӑP92R)aؒ~rnMچ^-w&'oh8~X<][GzȠ/=b_9&iv =x a|9@A-+JR"PxYhVܤ #1 娱#I汪s%?9#=XG;#8,l-V@U5A@:BUr'@3LD'l ͱ-*;1'"3Q`JOZvT[֭ Ran<R F L)' \> һlԉ}scGptk&o6Djt;m>ڍNQ^!0%֦Jyk^ ,&%"qbL&֪xzEGdc}T9UġJIDN|ӂcmΧ????ZSbh+5 9rXliҁ4OECX"I(J q49ŎfD`47\l-RA- CWЭ^9@L$^/>Gȋ4HE$>EQ.`u"~><7l ߰k8ѡ *w!w]ffѲHqLfzw&2P0|LQy)8$I"Q&1Sy'Rvp[7UyM_Q7MeA  |(!CA B2Q)5Pa n[\M+HW&p+b.(`C}[7gxX#-֫Q iC hghm$x_P* mE &ajYT01iePfȡ#e]#qql\ $`rs b}yYӘ\c%K *]m&oted{fV&j0#! gJrr /KS--w@Z C*i&aZhb&Z?UKBi9]('DAp\y<# vG͗@Ϲr0"_GjGWo #p^NzoyT՚O. co:Ta b=9lfc.E# 2&qE-RX&18Gij>qG?ten6$t:Br}P&* Vd͓~2TgB/УwV9h 湪32juVRrOzKWJfDv_DnD+ Ęp%fcL('8׻UR;jNbݎm-x6XP;بml,T&첒:Dž%P*: I:.-vA{ZEV[m6h7ZS4:f;oEcx!~WCn .G#OzURF-bn&1#|^ʛ$0,|I4 4LVQ@z [r!c(+ QI_8f Ge9#/^ztVޡWZ]uЕk`dο1>@Z|) )8׀+D*`aۭ`f<%wBnɉ@)ݦeb,3>xUbE6/wJL)DƫLZ7د2as}'1S: iWĒ&|D=@?f0{!H2]7*s /-;VzoVwPtGęܳ-,*]QQ~"ɕ+S6~b:zi8͠+xsOjUfƷ8ТL?l|=*J `_}?G@e[~ĝNc+4>Wmx- :X`4^Co*ΠN\L Qlo?N|_ɓ2K"?µ Yb)skK;ZFeZc]eupa`?"*Fo"B= *mW8Z.G2hR} lnXZEx%RwD$ěxv  #dD,a~OxU%&} UelhOȾc Saփ(`Qce8;VŜ<k/ZW9iq&%󒲔u:lRZauCSI*H,m*PȾab#YXK`ڎ"5 ə-B<]~FlbmpB9AG ;Ae;G=~T$xk rNCFe>DWIH_F,.YCq 3Tv7XC7gXhX7w;Bs˛;7w6wQO}"l /YO# TKBgzy\EJL0/sS*Y /#$ $LQ>$::.ӝ:۪"`خ,>۲7z%ٽ㷊ߦb Ѝ"dQdf`c2M\[ʂb8SAa}_ }˴L9z4(GAG{j/E q3 *1>cPBO bVNj\ ohwo @mB}N]E83v^H9KoNQ hD: hN;h pAiwRX#@盹ݼqeם+9??w^ 2#2<䥿\H V <~U&^zp!"57\v0uNxZ}(հ$]HSL-Z CYvXև3 R>ѩOl[/׊2ٔJ$sl9K~poKRlt CwR ^&AP,Izt1~qAq^rKcXA.H"Z.bs< ^cG7M*)'0F hQ/җ 達 R1q2eQTLt6C_`K ee'3@ Cʀu:2@O8Yyg^dnjL&uH兇ʲ̥MCm6EV zBDtjjBC-0,S'Z& Mrh}Y$60u]ʈtAF0`"S;!'cCk&,sD0ԓ3430@o+ Fbs7:i`D9 %ԆaKb"ty? VaHdzm @ zdh>E}v˒ t H(,>0ܪ Cw. jAܣK[ jI& 2'H2lfڕΉ A8> [fpR]I mήzozeKjd] ]\SH.u{UNGv714U>]SWXҦ:YK;m(^^YN3)>z;J0O78#]r0B4rbBC&ql$% 0 ;Zx%*lly5>~XRرtfR!TWqXfYd&DCby')xm9mw [05ZfFX?$lXb[ދ*yCY?͞Wbg{N^`aF>ĉ@IwhL zEFΨL]XfIdrT1RKt\Xl~gLUu a1Ҿs"*Pia5Bփ,ԓ8RZdYT/E()i35["t' mx텰h{V i(-m?e|-+#wӌ礷H ~h].|PrOiD/`:VYm6A]Y-$ rHeèZ:k6YR+Oޞ[hn]65uZ +׳VW/HRMsm!p,Il6 LcrJwN*EIdILpr2ZֆÛ 5;Uact?C>b;9匨.WS)Ƶ%˺QJTӏhŋT4HdKrEq@@W&dR cD-ݳyǃ{b?>LyzPk@bu^2%%?.md{5 mzpM]koĽI^XdAY(i孩gH'Gy6ãL M pH#bn%vmndi>:݉&A?Yj>6١J;+ +B"E8mP2"QmѢpVWN-H<x`@E-ěAw* Ut9-~+VjDW-9z,e{<4zNa}o<s4ʐn[ ܣan? yOBg tIoM|;J%6 H#CU#āÁppȂۋ1 FC=hfy:̦~ś`r4ؚBm6 CՙˏрI$k~=FJoS|=7BX.,\mo3Z[P#P=W%6߸ űMPZu˷.:KZy:Kj J>0sXЙjݼ>Vܛ>8Gn׺nח*eJEZ#Sv>t >`?rXV;Ehq°_(.[ւCtӁYݟY}jGzږdYjQ ܋v\ 9/!C63wY+(Dlr.Ɔt5DE * -:32|*'#BM00gsDl})nw 'k _P7Y2{gS>܌C3"(]?@MO񐽐jIJ쐇'!,uҒ< |ѩTN6pKs8ߛrU[\52 $dP!ܟ}A'"Dݩr5$,@{k}=4p3EW贌PpszR7Pc7\|DdSaPw(U+UUޯR5[+UUSѹNYnK)Uw4t/k%LJd oEr{P$zwd#/H8M頝4;,7`zuޏRTVOY+yջgꪝ庪ֽmPy.B'Yf5LpPEG %NG]m!hY-!zΝ%U/TvHq4r-тg#\Ut֠#ZNrv*3#9xRp#6!Lvg,ʅv2 EՇQ[&5RA*k.SO$E8|//+\A8ؽDmߩ>)I'< Yq{1^ܣP\"7 >$aI|\ dZ%gTϚV zsg-׼YH)Ƭ[{E7\؃_ƌF`ꖳeu~#馏=9yB6y7 igP\13HU:Ch$5^A #{Gtq )gd)5G/{ʿj2;C[/ڈ|4_PiݽJY‰ϲc-8pb=3$*`{^Kq 2!B!|؏ \ry扵6:/3v̾isٳt0vS,1:D"J?78ӖQdCxm_⎚6(D&^O+뿙h&`i){5x{S^:+q@I4GlĨxZbcQlT :ǹ6"3>mړm|DOmzIr6G($sAáf9.°-B$MjFY"׋k(ƚyh>DMdz^Y0_)|qF}|H8OƜ<a,D9zUl(oϻ]/A; nEA$|;` WewQG8>\j `PN|{;;31ZRIQVHoqڤ8R贰P*xVPlF>>_D|PoD6Onw?b¦XƵ4sSҋrZQopu|A?i[t:<&#wc ap̽6 П._aDZ8#q܅I$՗'OHKcZ~*8_UUS5ZTۃ&><il`0Ӕ$f,`95"$oSߧ}>PAM[IXH BC_?{ K+:BglMH:4ǧ^To =AXx2adQdn)2U[et*58lI,p S/譽B!,Wdʵrfà3ĉ|dFQ2Nk f1Mp@T`aǽc]^[}QN%YNfYjC!kx q].DPx>aNΜҷP|G6EHQ#)zT~MH> մb G zÕ^ C8fJ(E;3_{ 3/Ľ˷}-wauT%P(LQ1<i¡ N!' :b+N`Q=vmmdC *dj%uGKɆ 9">}% G}|J-be0YcL8Jc4<Ą=>ƒ \V$ C?.$9<s5!b 09!܁lH 򳅂iI MZ v ?v')! C,^P=q7 B,N|@dp#TwZ=mp=sb?᳀>鹰N@fi6=j`R sJ&xHTmf!Ai/(xYaꮚT,#QO2;5NJ/:=J2r~1yI9x`ZT.9^DzB =kϹ]rz.#\A >Nho(P؃)UKR(5KRyeM -Q+}I ?!jդ0-aV8U` uZсdVy |T)8Ub+5lYDWA NP+wWQ]CK;e*S&W| JSz>[-X^cyVI?$%7eco%ܬB}_mzRA 4[uhۃh6:]ѬW7xFP4Oa2ds6`Xd z:9wėC1|%F9V/_ big5q_f?BÕ3dnbRӧ0%OgS0ry6WoC L࢞[5y8QTNQM^kN^7[UanuLkv&-ɾv|d"z;S7pZ~=T0Ҧy'+}nYH'v8v0.F}EԣϏ qLpT_Q+ J}_5\<]#'JڵG_}WM\8G띺'ΘC!!Y!%Czr%h 8YWOצ[1j*hhL/\Iӱ}J_֓4p ۨxz{r\WfD9QfĥW=zl##!*gy }⃙vA"F/Baoͮt503uAmQ8Zypl`e9YF_t*4FݬPݕO-ɑ^_t|2e]v9͒#uHKZ{ʗp٣87GBi:gCleht]dafB76 SHr4r& ͡~M 0UU 7qէH/} a7^Wg4(͸:%[{r6cLKes0gB;FЈfd l+w91A_qj8d0GO] q;*(eiÑvrpU! KkǑl?c|ȢK6Q5rOw}6ì]Rfo1^V=865"@| ¨_hWDŽ7,BuƲPVmՇVm<6Bs1$