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();}{w69ڊ]NtmnD"X>~'3%u&I `<~^Q4v?b{%k꩝(e2R AaZ.;A_HG1HWa>!1>Y2ۭgFS[f: d_Faf&$p8- )M}ױ8kJ/N#C!}`ӨХ' H})P*cpT~sP ñ3(#˖W=/+|ڐBN.\9n1#aE`A%W> Mw%JZV ׫:eCrXmؖnpV*8tQggs}'` 3vr]l:Hh/X)H ͭ!R^$q/A'"Op ~8/mx^+@ e0Gﬤ h t7NQ1M3~ ? z?q_}>KLF'=nV\sɑ텆pEdT kQXF2bEE@4Xr]Au+'JR]}'|t]j Ss v KsߟiZJ0{'r^Ƞy*(8 . zw;bL2##E K=ҪdoꋱH_%~y$(ʰv8/#͔&)Z$HzqS-uG x)VY4w]:'׳Ϟ#flN ~ggPg()ݮkuQf'nvZ3AU5g\s.jY,nJITը)jcBhstW K˥-~_~3O29]h0{۳'& >[.~f.?ֽ|8k PٮZ^L0c<1EzW_{9[#ʴ^\ĺ_0ej~yǾ+@UK1/v|:5׳b93`b7(kٳM:o\bl]%[ZMsԐ"λ9D\Uh-xpbVWľ>~d;Y 8'{{@Ad˩8쫚/ax]Vej{#]2a ' x Ϧ=!p U) "Zc6-5@5;1'g*4py`0**/\PgtN^;y55ɲ栶`8bxWm@nб3qM мi")tm펤)$ c;4!Dlff̽n˔QB^ ,z`? 8L']=4է6w?yZBIuM2<5܁n{ ~n`Aj,O+8V%Y=U6M\ZKa/>Jo x[ 2L=oܛITb1rlި "'h_y\/26훠;8臊Sd476n7{q6lXo (=pH mUY%rD;6=ӶNټqn~ r(?..D{G2bPF~X}p% yaEō%v$$Q]w8'0Y!#(%hD=T8`xfn(s\= .B= rMOD;VVJa+-.,) 9)Bs-pl5cXAjcEO`עڶ[J =vBI"L+>)+''t]Mv9 qY4"&}H̐u3%Xd^ 14:E$;uƊy  LL [и+sủ<=gLҷ؊f1׀Zy|u$ƲtJG[0ccQlv:fSh:Jy{#{z>X]02f˼TX9lfQ vdLEM*FBujԂ_ZCY7qa bEVZ_vHtjY9=caҙd燌x5ٶV\.ntAeTؘoR_ :eUܢəޖ֐ b@V7CN 92"nLsΣ)ƨ@_7#!ċwR9LYx2$|Zx?$R~5JD 5zta n2h.n@87.'rXOs$ୖH@\-qK6`e ,W\&XHN! vh Vbu.OE(N_wG0@>F{׹InaNoZ_ggVal|'h5:V7jvߖq[1$X½uqo3 aqr&7P,hp?ޢH׹9հ)7<=8s4i9)?-zc4q#1O>" noǶb%hqӮ'GwUıe5jط?-W}=uXAal1yqZ=C m: UFQrVnSmkY2 (wX!g:*MU;159Qĝԇ5D/rY0ZN(362PtFYxzJw|DIJ" S"I Ӵ}".!?9 }k{>F?Y9Z^D?t7|(=aϓ:*F&G_fca"D]AT` ۾ wpI!-2܀d#X!W(9=.?H%DၜHŗrrb~b V)quz`!O uue#I"+wx]s^l=xW@eSs'LjxMTÿ!??o>ׯwgsel[0{2qXX03g3JlX8µtz vϛ$<.v?9"<A:u5l'Q$L7I.{rvU4vt6bj47ڬ.tժJGw݂Ou}Xv'4HAn1:j])wf˱|a7O77NЎ=g>͖~q@}G=9hb&K>*jPM|T^-#s%N -ISyM)Mqv^rH]J*V ڮۉm>$ГpT0qxy,-evS O"bƹ"`J;q1v%oq$#.0DG4; E84:dSn@h+ś& v9r^ HWACw˕P92R)aؒ^oچ^-wo8~H< 8A_!Hyg.s9N;LCTT %ā^H@a%_W DL)fgJЭ"}'0T0\^֋$Ǫ~l,}1rJ>b`Tę„eckt@0@aZU4: +]u[-Ǯs 4Cd5c m\5rT8 9:Vd5:J ||eGi͎9nJ@T& tM)# ܛ+@jHosٰM#z0F(`w~7f;zU G=]\kSra˛?xl}.bkIh j!rBnj}O%*z9'OypE*%1uCzp晅{]$vUrv| ޚ}?/AwNrYmW!HNze]o2+7's_^gqWrmjn/x@r݂YZySپtSev^Ep}όI-VnuRЮd\f?]ACf=̂˻.uhF$q;&X\c ttg˔|$Cd()<)e)GT|ئM&ԲJ>ta iqmoĔ(İ@x9E3Xi }bh܎n/^Ar֦k>?@$:gAĀ* !M|ooA갂/dY!5Z; ~l0; H(d2L-k؈=: bL2+zC GHX [33KFo>)Y oTRߕ1I=cfc晍F7vk@,22 b8D("*&|&)yapVR[ٷk ٛyhYhW-e19YHgh #$^.bc!h*^Kc P\NEV%iÑ|.t&d7 @YNjoUX =<:졻c/(/5YCzX6+Xmr `aP[j`lr2ACB wk\R+ۅ|EhA׾-wAHaF EFOL~*%l}h;?exLb\2[ٱgo3x"Ơ%@c7Uv-f{K-%~k^R0"=JVMI@ k>Wb1;h66ޗBEJGWS%ۗd9Ŋ;m\Rq>hp5"dmdanl,T.Ғ:ǹ%P*'qڭ-vA{!~R{ Y5nĠv2Ơc6D=hy;qP )_ %лWqHHu:sLX`xY(o4hGlӠfʍj ջ\̝|3ҵu7H3mΗ TL_rPKs{8]`ʹ3ݝ_^Owڽ]*1Gx;cj beϟFB9UĖVYy%/? ~C C^`2`O)?@ c?1%OGq>@Af]az0yҤ'sӪmԅ ۏ̒(tȾǏpmCŷX,bց10ƣǗ2ı2Y]A*)bF ư׊ůxPg,$ZO.cGRR} ,QJ^"FgϊhzdIs_#X; 3j?]A"Qepg v'Yu'E |^K\-/DB|2ϛy\y}óg o: oXhH7w;DsG˛;6w4wQO="l /YO#TKْB7O@@٢O}L0/sS *ȣ$:Ϋӝ۪"`zخ,9r6=7&ٽ'b4O"dQ$73M\]ʂbI9~_%gc{e"< ׳A<ҴSÐY./ٙePAʵ|p1 4^ ͯP,fXatjh~[DKoHYԶ/л:$L{}?egD>ՀI bX NsPy-/.([@k>zhS{Ykͬ<=?7 ݱ }òr9G9RV '}'LHSg_ђP9G)ךb |sw tZOՇR JU[/Թ5B]Ra8+۠;.+}%|ع]bK~h4Vby(jD2_ӱ#XTЂNaNj:V7$JD`!OC@9Pf@k ae^q]7ԖW5瓙rM& f7 Y? MF6F']۸f(F-%"f3HEu? }Jw9!9ԇ~6cL?SVd'V/[++} I5s9AV1Q|k␻C-0,ǎZ* m.8އ,yLa2b>ݹ'+1=#Ck',qD0ԵcwF 7BCm\My'x80lI,P.Og^*9 8O{F4;נͩwY?nѽˀYRKfV?[Uu%5Aq_M{tp+F 9 %$$#vr!׮pF bǝY{%4#0JC)9=={k]͈3*˨:x,#9q t*>ځ%>ءVs4eۗai>rf$MmӖsP< f}|*a<^T*c<ˈ 5LP$khv(ӃA5HIģ=||#aEJuHSGr}mTkM5BE|6G_Ero4Q1t/'G|7' Q35k7Ҥ˪$y2m^?hx8`}H vuݞWY)XPZ8(Jam6ĜJԡU`I(G#aXνܚ 2ԯz)>$,C=^A2R`Ns0X̦w\H{P[O=sa!e.ˢ }!BNIq*ݠa[iE,mk/O7høv\Җ[N&}qvň4"|r里', iOڅ낋u!#v?RV S.0 +"H1GIO@;G*SFTXWMk4XR+OޞYhn]6GuZ +yI$Y _ugDCXӓb=alɷ ϙ=LkqeuC*5UJ.fZiC޾*:lG&U'G4Sy~Nh022p(C`25˦Ջ1)jMs <sZ IYCc Y:h");J~ } ӵPk@#"n"/bK˒یퟀ\F6Lq S-93R@-nSb2!0Fbk)J?J&050sG~)q%{,Dˌ鰙ON$ڄl %*]ʹ'dēdŠ2Ţ?B+W;$ J k>^PiA4/Q^kLҝ=@^OẄ" t* /T͖QmYjj[\OZv{; |Ԟ8lc E҄jZY22t9 )/&]D—=F,7+ױ;h7jH2pm`{L:e3 xTO>v:BH;FhdIMwAh~b0N&?QuU#9n ԃNSVI-nȺ4&(øHf LQot8M&s=>U)޳+^0#2 qQ9&6uR|}EsٮTʋ74(Wko,jfۄ5sr${ |#"%@~y%麸Nx~$|Ecկȳ-grzjм;}EMqe?5v/V&3>^T@'ұRů=9E_4cB\ < k59qʗ17בNrظ尣+z@9aza<)w1,b]yuNx= wl0l`xpÕ[Rψ2?lm潜Db 4+3YNZkJw0f9:wS} MgPn0_@ Aͤfn]U'-j f{| h!(40D,ߠ s 5PpD-MEꀟ@i(:} ן.*u;[_yOWF\ 酠MyXb@`=:K6%N}u]{C2ZZ1(Z1~ъ*Ť*ݕ*֨bnխηȁSD"x9F/W݊F{=؇z0iin{;jiҮyܥ9&˖ 7sڟ0ߩҗ/R~Bh8L%^Hd"U tͅhz,X4"^R,.ԝNFH VJR#mšBE$ۤjᾰɺ _@ku\ R1=._ZQ{K*=%c1#5 7p1w''sYL2 eTJ,5;Fm6(vCg>IϾ„BPJK"Pzqjsw;r|)zy]-N]ˋE> dd뒡s09A{oX+ʼQ/PLĝ=KOICߏr K1 |"ad&̀dt +ۡn5"! hGS(rN](T̓;3_ RVФZ X0Nڹq'z@Ǽ":ՔJ;@WG9XfQ`$'/R4l;ةhSQ\nDN݋=AI#>wK=5vXsfMkΟn8M)(4,ׄ_w~SWnyQ78OyqTН_JЍn7Efn+\AePEDe,38<D dQDP-Y 8ѳmr">>HE"68zENs$z,&Sר2WJ⑵XFPD$ZY4@G0sHCnW^)Ky|4u7Box;"H7+ř-m5/ǥsw 8}z+53[Z9δX3h'xRV/E;Ȟ'9EΈ#?(sq81fYGhI$GX_/LP1)ЛyH:,KR")z,6>,+|1|Q<]$1~ghUΰ,k!X$]b8@jna,'@Y9R6Toc rʷm /M㱚Fmc'.!u?f)[С$QU;l eƬgX,Z6(\=$B|`&0"ZKCBK-.:Vq!.wN`_Ry; nEA$g·`dZ5BP[=+{8 e`I4(.1Կa?s 5ŕ{qxtW)'š2zcxBIXCZaՍ]>ZwCAͮ%c,p!$MYN}/~U˙ja2S#"^w'I; B:,ʄT8ބG|s,~.0h?.!Iޅaq$Փ'OD[XsZ~*8[UUS5ZTJw(<[`@$34|@j~TѦt$pJBMZEXH Bo1f[oMW a۷l6Cҡ;=>+tR ?)ti=.:d[6 ;"BcQ)2V;\@3ڇ;s%K2sk*k`އPɎ|/zlw5+ e$e{sygȌ%h31ΐ%L6\1Xi2q~J#ʇ+?>hIv"YVK5<.Ao?DPw>aFΚѳQG߱DoK̬0G}#.zX~]P}jZq G Z hʐ 0q>PpFH&7N0$OBܛ|~g]te}KTbnz+có ^8AaېcjC+v[$Z.`>'N2%AcK' ݊^(',$bTۆĉ_n`ԾW&Vo=4=`cnmd3Cm ^Z6JW ژ&6x5N C~z2tU.AcfpYd=>FBf[M[4Z]0`{4">za6W ~{ wp*}IғI*/F^DG1" ?6@N HWx1>”{,1 ^9}P+;w@s9#>{şA][}~r_O]|C7r1 捻+yHr-Dvˍίhwk`ysuAmwQvrّSxU08pWAVg h} zpy65TpmKr$g# mya!a:h$e-x*p٣IIo*-bݜ]|c/CT G S/vm`0t Cc8qݐn?\) LUN .P[_ yY!$J2iK/jQV]]` )1s_jDz.ҍ?Ɠ!qA RC N9 :}eGO\ yHyWueiÑcUA K{G~xo?6Ak h|6$zJ)eN7gn#RdV>©0WO`;q o s.]>?XʪY획E0%