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();rF(Uw3-qM,eNŷd\!0$a(Qy=y38u]S[OOOOOϭSwoCíW/X_WffX<ĂPݒ?8j8NE͋eblm4vbKRUʷ%bY~ +> nIekF#(|sTmzlgI-TĜYF"-|X RTǧPω#fbA֙cǓ][80(PawحWؔ:dG$)ća+!°| sރP% qEM-`L8yz]6FV1ԋi\OdVgc1w8''Ƿ" x?tx7@SEoygchS̾jNx;wډ"d‡< m}lEe,|gUǃPrUQY{lK`[ gv>$ڜR:+vwwY)(*AMZA*pOHa"thKv/nogmDEf=\ŬTW'eLM\Qv#7&* `y_Gʡ(-&(؉]߇ó̝񳈽 { 37cD@ӚAsrav‚xރe*پ)L"Az@LAU s(ccV'FӠ6B2GL<>) A3aeHMȱlߟNEhdFi(N?<\Xa͵|b5qsǏrf/})0:K}´_9y0)?BVޅc9S ñir?}&*+" 9+ Y\9|, ? + *Y`%s;5̆Y3[oh䰸~t^)9tQs`P.tH2قd:4 p+4(^,Ck+fUvDT`<Dqxs(["3 -bGq'l>Ö, ;F%<;e?B^ant*<UaYan6v~b},ɼo|ЯafӨVzyVMoI\kj=9tER̪شɦeVU9@q 6 EE@Y~_Au'JNyUǾ?vg*w2#]׫-Pe.,I%'SwJwsa/0:A VA8htQ8L4 p^iJa+۽ ,$7[n;v׀*'Cqtl@BуV{Z|=nyU֬e-FPgCV+'1ҥRJV!YbnS5iƅV K'³'ko~> C~%Xڢ$}B*a(f%8D^wSu7';'GӮuǏT$ww1aip7PˁB{}?ai?5l7/zF Қc+)0bV *ۗװyfreqp4^oA8ք2m@eBE108=\h8 \Jg.[rycU.Wpy?r?*Sr*W\>ߒjGGSeRyWg+M{g:F4u\qV b_6N9-:Sm}臶 S#p@kY./Oamx}fٝOqapC&ì.~ P~|=|$\o(Xx9TX̶07 J3Li.nMjSPOBϠ}c ƣHv@#P˫ҿsAҵ);y3M6w7S˚ڂ]ְP]CBǾ5-t@m}ߍIՖȚBi98AD.ʶ{j^e!p-$aFV݈tr(q泖i>jw᷻ulot;vy _F.pox&TJc4$ȴpwZ7  ]:j C] t{#` v p [R^gom]s)+jb)jZQn N©ѽV j^iW7AwAXJ_O%EW xX`24Эg<0)c?p#EHl0jietSMZzv+([<p!:-65r-р@͔ +fN n.Ak- +Olwpd폡:@ac DjdL9.v 3'bN Cft^e!O[L[иksủ<=gJѷ؊Yh@]кLͲވG[IScX͞ټtar%E2rmض N }6rNQ鱙*;`a>6&?ZA4K!CYَ^1ê1 y@U:z~f@\Px<> ) ^z*`Ǣ1‡&lY[Q/ce@bXMSdϾM⸠xVx:(gf~ۼV^}ޙi}z\oG_-V_Q{{ipQķ_otݯ}xN8y/Jv *`7\\uqls7RcD>-=v7Anw3ZT|x[^䜔-ǽp9G%t+*sV66j`O~G #;*xu`;z$eG鬁P<|#|ŕh$}fJ;ɧO{fh- M\4s^B">g)Ֆ1 6FcCPu,jZj.Ñ FxlM vcD.ktE(Q]>.-*9,Hrw$ LLBJ`aH,&RQ1EEy\@Rq8`h M5XmJ$s $=JD4|m%&oNlYIMg2҆o8\:q85l.`vUҿ$_OreѝaBG<[o' ' vSȷ5_Q]RmR%!+âr^x7k뢷s%@@X]97Yj\Lp`R?ï=: ~~7ǜa?a̛_~ fmYFjn-rjsLmkݹ -WPsߣg2}TVN`^T b:Y$RBD2ea`׎i|DC{%N|z;E'"L3['ֲƀMaǾKyI p!^(:RHٰl_h6Q8ҩ`6Mqz'8UY` HF %`YR}1:c'6xO4GNmkbgKS i#C*"X"|>AIz̫Edy | `ĶvҬi)Ŗ>Gש`or9l:w1:];m>|E :C#W1,I{4DCt2lr (D<0ђVX8*afdC]|;U2{A$G3 qX0"v&p("@0HR8c=39z_s[xG P:$CXx3=<6J) e%o9$vM̀CFzM :Z-Y!,r-dzxl5b/pw|:9!Nl_|Y<Χ 4A_1Hyg>q9N;ƨ*fѩ 4-K(9 zG #(ҁ!%Rj5[+:@ iN8M (FG hyQ f:V߂M}`~|Lyǜ{-w(>%qf0aZU$SVCЖc9!` m\5qTD8 |,Lkt 7 6][m{sぶrm[-H8{ML+@jHa ǎ87GWx)vaciv;MKxE8¤JKOg-JXz=K M YP4^oQ=7xNMlhToRcŴzjjj_^@1뷊̵svp[ECT%"i8Lz743%#gDi<[k.86=jj^mgP~vBI/pQo>r5Hħ]fy/ιgh] T}碇 ~7{i*ON 띻۵]H)"Ѹ;[?d-'=sϯt(\sY &hxȧn:}\nAzf%>z$<;/~L{SM>oFߤk:KUZ2-[|٠!0f][ m#8&{U5 òpJ<2%/17u]:SrFx { Z}G2:J-8*O/VA1.m4Wɰ - ~('mZB2v0 ac6[Wq9ko4|xqpX,bEԀ+cBoQ Bz2xFnPE I了M8rca'LIrc.wҽ" clnA\?üxhB< ೒zZD-.w7z8I4N?&*/Y_ W**g>z Du"3c " }\ш ~:eZ^6ٗ /%AqE/lwswED- ?]`_z| ĈIofIV8^=g(Kzt~#`؏CP;fo'":ӱ2LrDniT@ѥyD>1jf먆.G_e:p|vT[R/ c9b[89핊N]tO$cy")sT;Cڐ> ']qCWԗt* x(+ VPv7Z#^TcBoУV4ujwuPS:_Jhq} }=v賾XqkK*6G-.Gl, ۋ%dsʱ$}Td8mYӣ>h{/C>ݲɂ]7QCt1jݱNkԫD;j{v|00fWQqKyt<|^q !fФ3Njm;s0OE`YP^qЀ aɿqx;Jrmw6 2Fky]׮5Os@3]b&3܀6'!*ADE t]~Za{Z#`+hqw~Lu nhDZ[YJ׫TyBZCZۼ*y߲/l'ëN^킓zra`j';sgS9#d%iɲ5rU*WcCOLI%T/,i[/2k`W>Wrt>YkY@ڥ5^rs 1Qok6{;hWz>'Py~X"vKj06/{q_QFV@wFjy+^R;.rX]O=_ Gi(uO؎VĊ fTwOk<}yi1U<}ڀ4]!) bdC8'H/ѻZ}J~'h/ij 5~I*W<#PjiթKydfZf_T6.ˀ]?{e+g}cJ.U Nj6}#Sgr/c:-Й Xo9A9p|Ϟ+-' k&btq^֏y.,> 6#U< Oo#l D*WG14Uxr]soY} ^¬9e1Q~'?pwĜ<+/ޒ9YI2MKe)OYu:II^Ee)OVDY}qݐi D :l=t+oIN'l\ !Q]XwI'( ;[fBox"t\ EL̈0/sS dI"e$ܔp!~=])hй1R&Yv%j bo^rMBPy-oK_Bʖ7A<` )=72yf֐'րzx.Ҍ$Ãzj]궾(oMN~ %טYk_KDB-!RUgp f ;x\0}|g6#$;V%{ 2:oV&Ek5iC囍K<|;B6b *TWqOg{q O.=u!.et%a\+خCYՆ5*-1DYoCR jy|ZV[L.X1_rb/Y0:JXu{Q {(1IzyO e<&SO#=e94`h$M \&jKmQ9TSbW&=䪍Rg2pFڪt* =#\IQ<ԑkL7o=z0zGl,eߖ]!ff (%J gK'+'kl{0Lz1FiͲQ yAė-,D"f& b]z CQϱ9L242SߔS34بg H";I( obOfVK0@<@QR`t{a1q,8lEjgw\ǹ3<0<_Ut3lT#\ablZ)HKOe^3.T[ɯ4q+~ˡHaңŨa.D=^1M;e{ \J8YH%ɀJo?^HTLY }թ=>d_Bc#EE _7Mf-F#ۡCMbs6.ě2HK 픥擆֒f5f<^L1L7ug-v]e+]k^08k n3=2hıي4ӄG=Sa?7L2`A0LɁxQECkK_gDSP$?U>+V!>hw\SN|3jy22ڰXz{of4kk~4~˘Rn.𾈉}f~},_.\[E8tlvzCR_p7&>pw PëB-| g>*Â_WZ+FNxDMy9qnn nbD89<K AyvjW[I퉀h &A1ۦP:ǪtKjQyD&i&y!dd &Y]KB|zDɴY3 =% D|>q=H/㧷8柺vI^'n(o`&­guI)LHfVHl߫ZKu_^lov]|BL!'aյ/#C U3Bd^3QqM_#O1̯%4 ʠ7 D4-QWx_>c_Z&7%:L~u*[9;| >QI$xQ1B\G0\WZ,VO]}Z .숻*\ΠViՋ̗J_+AF1N@99*sɓ||~uړ %f]P_Ӳ B#lf)4r3cCy^j,^=Wp9.Z-F\xgTs'Gf0@Y*gTsEҶ([xgzEb3vFiXa B}rU$ZWHP4""UެMSZ]F#T^V 0Y(!!Er+\" yHbr8Exv&Y$!B2H B7CFӼ0Y2Nv\m=V+?V5T+g y= @yA3(_ψ.໴tRمN EAL.[43R~3jEV7$,P.m#0٪to)*lSmov6tDȼDx3g"BMDO) ?OVI荝fH S^V}c穥 Z4[E'Z&?//fu,›Լ_13],w!_ߪV-~JEZQN^āBI'U/xɚOPEgQtb. t\ xx2iDM1 ?}'i-,I j+dXUZ^UV*5ZdۃݱltY$ rcj۱l D(OBz"?PXH z7c {~U#%]GsvvVR~+R^?V1A,]uG}_2IE /aIaVPЧ}"5}KxQ5[_v?Ag5y`fY2S_ J[, ̇pAd-}ߪTtج];ffg";%i/u zI l:3>xN߱`JL}2FZfgܥ~iř-Y`%=&BBEMvt6Y&'x/y/ߍl+a|BhRg*D0=G)3#00^4aӌ԰9q՝tCԾ ,*Bҵ'^}Kvm#/I =/+DP^zhPA.Z-79fJpj[m{!'akEark7x Op wVmll`9yng XX2rvH]##FͦP$] u*K; x!s"FtP)tMĊQt#29PdBwc|4)G% w\qiߋȚ8CP+;gZ[*8+/M92t'B>] 5FRߡz94=.9ω" %+ !c]` @Qa!8`{ 8Vڜ>ANtPPQ~XTBAꈬ$a&+L ?vaN*a~cF(bE8DyAwA@:}F2,zNTzA7'. ң1nqE;k;=a>p?6%%kI)%*C HT} G؅DL}"bc(M9&RiJpB*BH%_s9}vifv-ϊW+N${xO<&CK'GRJki+š!i b3\a0pP~4?IZ|1R4*JҮt>g9P_Vn4Ax ]B:7_rb9'>]ny(d;1z\q!B ?enUG|/oqDtdZgiwNuWyzH#̔w-\\U޿ġ3 aU~9}]<1܊qcj<Ѓueth5=jakh6CdF1B3gM-\2&n  GѻN֎5dMWzHFK;< !Z|vYBf%>zSB;^}r fszch`|Lluwri£@rjz1u;mӶF͆ݵ3-)OXAKDK oei_A#)ғ 3'b0uqG쭘BK~<)o'#NO񫂋_4p`3)FzL\o9'^] Od?4bC`c('^L>C#,mwA mH14aI;#G[@zm%<Ү>Hu6*K=Ϥꉴ`C.>xEu/MWraNуKdqq6uh.NXKi>Ufݫ9·:=菜B/|ݭ: z0Iyg>nozIZ" b8 ŗrHTnV*,@Cq[2_+9Ҙs x-gҙv2a--?r&K? h##_eri2GB 5{!"Of*H9R6QA:ǰa6T!)FWKj+&eF2ZIYY‹-,,5idO/BLʜi ]X1FQ±ﻱx9$.Q,¸]=Ơ"E}& Vg3u@