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();vF(^kޡl[AwJ2e;oR=jM (qyk|rTU7x]DDߪoOxp/$>2OΈ=~uMze>c6Ȍe˽q%f<7D% O³g_p{ყSsfMx_+$OEty1XxuoS*YzM3MY$B !DbEDLaju}'KO];ap G+JlQ4`VOqǵWec4B'Y2q׾S.coמyv;s1|a{~ |.N0\[>!go5(3VЦr}ՆNy;wSƉ"d}F#E\> +K`ڿbx.\Ul4=-0tbOܳ]@,ڜP:->+"r~u%Ik(Ur)L$RL7ANpʈ_A P@7 7yd]bxiM{H=s])'[֬!XP\eG~8a cb rدbUFTzl|frZX_"K'wHh,KwRJgqiNG&)UJGV9λh}jzfk߼ѠȐqQ"K[f4x|Q7;]Flcmjlj h@cmQ?wvv{5͒ևYsAVoc·<uIpjYX~y4w[:GV/iS*2?x}0q\{;m, b[2hEQ EWf>2+Y%7N8_Π|r>?mW3xOT$} `XY.n5,}@>r ߂2Guy]wd?zF ʚc˗ɁPa{9nʀ^,'mp˻ې#5L%PrΧvQ nM, Rb5@8sْC̋SlW\A |=/W5nXUÓ'a5m̧B Tr|-͎[3M5fHnnY= +]g:F4u\PN|  '3^ Ї0.9RʙM8*U]V|0;.3YbRuƐ0K{ơ?UK(?$íh"D5~à4Ⱥ9zΠiQm I<4\'5EV^MՖufFז䭤Tog3ւ]ְ9ߺ]CBǾ$5-u@m}ߍIՖnwM!qihЈ[ i"Be=5S2ݖ yzaA,o1]?n>kAv>C?!NMfxrkX]+ Մ7XqNTfq['@aťO/>ZTȷK%<9[ 2L=}Z5^-RVՆ3)'7jF @l8 FZ ȃzAVѻ^ݱoc}()~=h݀bJFxO8B }]4cC?AhaTՒj_A5 kmU7nڭ7C 7joogܿĉ@PF"ȏ˙.DtxD45:/_q4wq#t ]kI]9~jG@?zDuq0N @V}mCaAЈ;cז׫Z#+»02$Lk}$:q`R":Ը$W`'X$@c-ZC D] Vro2Fz]"H"UCKU9gݾS'r{r;FZ'4"됔>Djd9.v s'rNsCat^e!wKL)[k: 4πsϙ~-"}ШT/1.Ӏt*'2,rQfl^Bea%BVj6V_1Fi;"@e%ٱR#[N.W؍jel}4q̦\4ydYYn l;JbWkY=+neEȔ 2^$T[UQaQjtu kRqjo TפrNmjڶ;A>m[oԹ\2!k]ֵ[=m] B4V cbѾF]@Hj +mvnv~kVj*m[ۣmw˴cc.+s4/ՙn4+xJ LGGCp%*5( _]0rcW^f "-ϡo/w؇t2=5A x1=`12rcۂnBwә]6r΄QɁUwglgǬ[4Ъ.D24UaMß1*"N/TZD]43quTS@^OB :a‡b*?em+FqJty, H2VX#lfg̍KX'b2Nw:"͏NǓ5BZrL!ZNh29)7@&, TV?5CDlq^6 wJ_6.Ec<]ye:{ԕ-C7_>ح mU7 Y[xz(7LD+1OtiɈy ժ\mldo)b`U{^"\gۓߝBaj]oC"VqT]Dox6%kgk~zu6?3Y;,Y;fmd-jK㎏x#{Sru.EOWݲV#^g$mtFѵN) Y;t۞3VԁJLC)Zx͆h첔eFpoi7C@:n~*xb j?2;M#o|׹Ͱ)7<T;V~[^$|AoZX8DG 0oX1FiPhuq#˯wrQ5qSE~l> oV>xvCCW\GvnTˎ^Bc1ޛ$,}:︆b>J܈=CgC_/ՅFẽ;ј:zZڪokSOq$Ms[#jphaZ2)zSaҡ|#&?Xɀ@* ,TL(1ӘHEŔ+@ *?Deq:JN<@nt ք`+%:+x,\$1X`@鑈wRnjq6< i`!xHbe,9:9\8}z0=qI[` odd7Go\)vtqD&q#T T7BS/>Xx9hwA#9A/{޸Rb <u[9xww B ,].B~MR (5UTLJA~_> OyOy3?/?R ZF=Mϥej9q=Psqܶ_!6} bOz!MVf'`4 b:ͬG)g"CNk0rkG@%s0=fKL|z;A韜1$O!?eNU9~9@ Y.!B2cg1埅<%GahvG܍y ;ZF햾k6 hίk|c!T[w3F0jѠ.^8q`n<;7O4wF>P4+Ssi#)"X"|>A6Ws?0zZc\|du}Y._S}S9$oerkXOlevMC;-ه/>>vPƙD S\ "2 Aars(D<0ӔfX8*A3!(neLE@sH8wY,sRI;cv\F\:QD8p#I -42}m`!aC=в9& TMX/+A~{ȱ\%wt=2 wr}Dp `0l ٸTOQ)W-wΗߩb+C/q>e`%y `A;c&zQ0?f/\`Kh,!090Ջ?R@Aɗ$%)P{:^i$uiRdD17Vh b^ª!''w̹3قqwSg ֞:T$SPRAwj+uNfV0)'=a[ WdMU98qH2%v~Sl[z>2)xF tOGS͈ 5Jw}հiMG `MP՛Qwث[ v14%"aRTqeMA˥u#%,W%B*"Q1& Y"bss\;P@[yx3%:_[WzP.nh*2rkxWJu#M LDe0(,%=MF#uV.&rxB_sEZ!? dxPWjv4Z3xJ];5@bz*HW']fY/޹{5fœmWP6֝OH|A  s[Xݪ&DNI/ݏtqY9ɞ3~֨v@ՖB_x!f!jq!Y[Xxv;^1YyA5}YoDQR2){G>BzZpue>zmۈ}܎kUͻ;°J0]s/*KDPLZw)e)G4PͿGq)ZYЂ#its ,6:W+LzoB K?L7Ci kqFpa[\nl F|<_@ "5Z$Wq dGz+k2r r'.ei)J0?dH&5lOȘdX\.%KE*:Z@X_`^zo"xJDi LI~#Yiymv;#be6bdՀhDӖC+qQGX/$L@&B7>rJ򵤖 #h- SrAG/$WӞEcaݗu g!$K=ҕԜˠG liކY !iy'eзOOX9.8@Qs|qlװާvF7q^oAHLE0md88bj6+K]'vQLaFEqEև|H]~Q/SS_ \B۫,I2zb\2[ױNoFҩp|УV4:W:SQ(vwK$סGѫH/U)MDvGRa/caȥX3a*_:/=ְ䊄 Y_׵{#K6J;[VTRX[ ˁdCz9 iYlu۫q'W`MknG-nwh-Z*9}~NqK#A|J@Bʷ6gP;h FxH瀉CyA&ʆlj=bC>׵mf牣Qjkg,s|+ +>l %V2>StˌP3`p( +&8"}futױT0XAf%O_ay>N+{|rg)_׶zw_[wFۏ0P9)UUOD[a!q*r^ƨ4&G0Y=Co?xG/!>+<>~^aMDU|~#ɒ/9,d7jE0@"QՀ㵭wxf>M*'=$@?@ﶃyԮ%lrb EI&?0s0x[(&iR>/(KyZɅNNZ/*Kyr J+LSI2H`|/K&(+q9,fE/ rr~dd?(sS= dI"U$܄p!~=] ހS?9Ϋ fOFTp`4VJ`Z;eNu+[mH 7 ׿=|M^6b ګYh*!g3ش #v8U%FaH[HzPVOm׈TI!L6˪4Qg_ vn˩*5w.j[i3[371cfcsşϖӺ imMaNvzVU$"IST.O0.9!ULZk4x2+m4:$Z.6um3uрiE*#19V,ufmFU5<ɛA2H3J}\i%LŋHoԑkCn7e>rU9+LGͤ?`rK6+I:1â ԆQ*onA/Ao!6 "7Lhcz20`*_"!Rh$,0Ce+FB)-I 㵙)U@kTIEP=ZY: A♨5$\$7Eo8Q,(~fkWZ8ʽ3w{ﱗЌNʼI !3/-~V, ,vO`lN7yEɅHn1-{ْ>f^:iL0GǴyK%ڨ὜(?xzg>u?A~p}6s J|| 8uVPF&σ_~rT)%fԸ&e_9$aM{Un$'‰̫Xj NJY8yc'QRZ,"wJڌ#y HJ#.Bge^{0|zV8 i(lɿl(nЎ@N3.'7nI ({ȷҐ)ŃI?9QkHE$ Z0(rW58^0=qCnT: .62k6bNJKe<դv6;P5qaW4X6*u^<}ՄDPeX*IJ>K{5fJL+[nb 1I:J.SE$m 3k`FIshhU'u@P5r*v9bK1Fi;ÖaGq(@{E4ӑsE:XI'ضd}f*VQL5)O|;>m{MF"]dtEdoa \yǒ:Ӝl,-qlc*^]:)}#v0ZK# |:߃2ށ T7 Zzl2nvHRĴwȢ-dUXR)#_4JBQIRB\!HӘ՚@f:YJZtZqX^vZMkvJ|.0t$Dˮ^hNlZ6ZJ-e/q^et-cFM KUn]E@BSz{az!=֠3pJyN;7rVTayl%u^q{:/gU.Wˌ˜4@uqR^*~<63u-PU8ARТhD+хp8ri7bՂ|BtJr2%ڪtɑ2!]ic=56fwꭲ1ծ(b}t q,2,VH :dKth: C}zi߼I=V: ]%s4/ph+ĸ9wԂmհZn^dr/8?#v5$Te&s= rZ ߃L l>ǵpOR hN| ,' rRt͐xDЇx `:^I2FZ<* רJKv)N/0NcczF:‡[x,>x 6\ L׏`"\,!4-b`Y5Ӧ#;r8Ҋ+d3RxRIDBiMC!PざDGS'>^a&/h\ !%ɨF{(Ht~"( >$VLRFK$:}Cp~Av}gdA5zvȒS"FKG<*NH)+R)+ڂCiQ.O߂"G8NAj9#›{w&](B4m`Yh5ͽ*{˔'(+V(Iy & 8Ւ܌IĞk|F{_:Z{^>5jZ-229yU$۴%A9Fд9j[;l.W$suwF_ fim^k_uѸgm?i!;GBD|A_j(\6Q`Sr@:5|,)_lPD< xrmMinTܜ׵2/E]]j%$/j%1 Z:,.]RɄW3|a^_TMnIa kE-H6gE_ݜ*+.oވuA?'w<@O'xOdZRsN 0+ߏPOG2@G%3;'S?2ҙ`֎!-d'RK#LϦO`֞yV-8jHϟ/>OBW<kht2%K/ӱ- /}4Dm-h7{:n2>`NLA![!߳H.:\d-_y17 .nHz8leDt֭iC*yUP`GbcTӻ=(x uB14@yk!M9t͢^MnKt89tQvU3XwsV' g"cF9Jlaóֿ}bϠfI| sVl}=rb}ỵ4J(Oon~6PF?$J;2Pԛ]sqo宣6$kl3۫ifN olR։u:MjbJk5^*Z ^h(q.3: xÚ]wpހ ꅨ{3:?P}N9& t\ 2䏋?|6%8m2CI/?M"mazxL ǪjeRYI"+@x&ig |:il1拔@lɧUM}:_ ??gPӖXH zd@[7 ޾e]NnRrGoJd΁P:BkX.)8~Yn#520ǵ:vnx>MjyjȗdRvJ : H_AfY2Sh>Ɔ "PpB*ebګ؝ RShv OjS!kx5q]-~9NPD ZзoH~Q"1}IrGq$ (6ҀvvTL"őKC_(!z*7ppE!P_Emy< I Q̩61X#0!4өaېcy#=(k9iTf 6 oxⷙU =|̶$lj^@؊KJӷ%3̮QoY(9 P. rdvvN1?IڮF$0%#G6fkxdW z#۫pFS{ y)RۼiۢA;=!  "QsEO1l~M ŋ QRH5%JGɆ:vɥ]j;$3pg+0Nt$I!K1QК@ܳv@׆@SV9Cַ80Ps9 ϒ=W,fVFYiUڕ4@-Q>`CTN5 ϥR c0PU` !u.[QD>2A4FF 4cTjvvv'9?Nd [eTڳp\l'=QZoa{ku+N Y-w=^}yTD!Lhuݵ 4@o0RyFgL=9|ǗvOźEgH0<G:vwA bG5GnNDa4ټP]/p%>U-Q lU'kۼ2-nMWIF+;M8rzLK7Pe-]Zc$K3ϒfzlp;DԡwbG%$5C6G؏J4@-A8?\$c ޠSun-N\ ,z}`1< f9杻+04PA12_:⣉c Q^TLKnD#t~Hg/*"ռ@C2iZ|{#g;- Fjխ+y>o <G^r$U=tΑ} ׯОKD<ZNJ}>b!m7}|WJ SrP~/Zh9DmM \|H#W \2fuE~l'9'^l:tē1%@x[=E98a`Z="0*r#EK?cjDΙ^-}jހ$#cVWrF!Y~5YѣqafeA9s_R9mlzy()~& 1"řd "乃woN0ޟd u%(ڥΤwɛj^QMNh{7!Z OѮ_H&XRU;u DP7ܗ$ݲI4aK5(oS3M\2%Q^R1lSy 3> ܱH8 YzHB"ڪ@z1@Lm:V cE9O#K e_myTO']}lBTr'Un~HcrW]v?sb|I@x8M˅9HFD7b/w٨7#%5qC38TX+iũZ C^NEqKzU25>f"|f(B, >~x34Ԏ8DrF:H2l.㫤Y?=G3`|sӄg(=+Db>gQO^U:hb0W(S#y;1h)TԹyc)aɇKZ={dbWL@B ΆC0Ķ_FVLW){Dq. =Sw+= B:JoP)=B6\_ȏ[|<5eyX&P+QoPa\E$c|d o satβClk˘a_T;