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();}v9o~5.&M%,ewK[X><`&HLd"v9yT$7"\eՌ]%) @C`{x>dpl=z0>}xK̳?S+yj 2aw91A8 rֳǟk/*֣g#rfp3+c%?|$6s'{tCBԱmMKئ0lmY)?G( A@97Q8#aґ~&Dܯ\ikcfevD } J7(JP:JEӷ3a鈟p ̰?Zi۵|i[Et/n?˷>goA% \s=X)gߦr'gҷ˝mzyd |RLY'ۮ%Eۅh.b5C[lMwPFk9VK:I677YUKAE:GRE.g-ځD1521O6" Pnwci_if_:p}U^ߗ3s U8T;Xo1}Vpn<볒dC;t$8i`/߳`MY1KJ(La ?}1^]sU*V -$\".= }nٲhQ)䃒l(UKc<)9~@ImA}m}:.ȷd>b+67u>CT_)a[S$Fs^T*|NAmBΑl ^\3t^=RC GQ3c 3> HE VVV4=1GC8 oį+qX:DV?8DKj\,RzڪPݪ9u)BR_*2MR©:^vM'0(U&ő'l@Y=G$k a[m #P%ОsBQ Zj`4'_r#i 4!E|cV. ^QP؃aa q^D(X) Pqo-=CEkYR4gMTm]J;^Ik4grD31*34 |~$V*bdEꅄzUIBe]sfΥ?(8 5=o 7'MhuE z43,.V^L.m-\s Z;C۱B|ٛ۾'kJA Zy-<H1?V:˅)$,ogv nȟΧT>۟/͒/6>}:K}K[L7>If$gb Po&+ {7۝b]iȁYuu=_[Af;jXc*ȡx\sk9uCn)ZNsB!(8 ]gyƙc\r5l_ogbg}n|/j_ q |_t|>`Gfp c;‰# ]n@F#&z%Bۣ8fͬf-U/E9ChO#iL,c5#߈;kADKCdpU$ ZK%R$`X/Ǭ, Nو;r'F>eD:}̈y3 s2v]hY` :j%, 5 1K3y̘<%]{DҷXfqzM2HeWa?^"7 #cSh+vv(eq#{jmu1<7;f+Ш4[`55mިk7 -Il^虊S/ MiO\Cy7qġcE^)l[i3?Ik~:9pk2mS.?w ږ%h7T0(ѩ8rxܤΙ rcP@V5 N TM7>LgYO烌cDfb<#HLY8'[,8?i.H' Ua Œ#aBE4Q X_y& ~?&}9!hv\{j:#:o6Ei،S>+o:21G_&@2 T efy1^x\* dK Iŵ"^*GJwFO8}ܮ%VK[=Xnצ=7̿S(p \GkV+(}Z[(Rj^ N$7#T:U83\.c1 rP(V7 { 3Sznμws|+-(^@4V"͸@틤;TYZ-|bmnbu/g|ދѼI L)];@V!^mE&€g*Z3a]O-iO:FVuffwVm6x\-W7[mŠAK,[gF1&_ntS5Rwz(0p]_:i$\/}E0GqWXբ76N GW\_5o;mˢuPʰj8%ڕv7Xv>ۦ.J'u,WӾEgQkdY9`uQ;۟_KZ1ܵ]:v-_~.a\7x;E>5uXBAl9e y{g7\([9GJjnխ;l|{XÜ#әβVjpGlyh]bOCtv}?1Se EGs^NYxzO߀%S;>Da蠐bdȩiXg& .l:<&!',hR4sԜֈ,IEoAt\Ӫ7¬s<1haw"8J$b9Uh#ò]&+3Zx<476_+᎖r|$wp_F`RܺYڬya%.N>i43Q]Pv{1\9, L|eoօwuZW.huUdp nu>_??7/?^06e;ۯ@ -Kċr|jW<- 8τz4!ÚwK{؇SX2۞ +Ĩ=s6D 5ˆyݾ-+HWcQC@m,s?#ǑsQ̝v1`Dt3gn.{:2}3s'gi4l4VUh'u dz;J;QaI'A0ӐmT!d 3GrlB'jz5N؎O(KY|#/,b'5Hv ,>j߯,U yӂA1VϷ`]oڮZ]ڝi 2`0<5g:2S@*& Kҍmzx}*>vl$D:$'*K1+oenIoP1wJ! eϏlD_5FTS{JĔ=֬,_I.+g8I B7b,NuCIcVl$A}1pH>d`TCeaitJ@[U4bKG(BYdk*G=6ڂsh Aı}tLct X72 NێrUڕ~y=Wʹr-.h`Z0XqmJK0nD쁨 +Md*mх67DsT^ҫzMTZjYk5k` S&k4%WOVXv@z9Kǎ1 S}/83 هu8Uؤ1b;HpXzX]bSjnok9ϱ~;n}iB@_HQէ]\6f6q6T6Qx07kRBhҭZ:Co$^E㝊>#4K.?/E 6'µ?t{.ך5*dbY hQ0^EGAܤ V9KBCS%Ja J>ЅV$seG0>qt,'ܜ@Y`\iHC') r&g{fF쓊 ^E5QE((:|"ଠ456lio*9SʯXyhxю|iwc's2QZ$8Zp=\݉y  v=/]#cAQ31;u崺W:^J=6\Ҁ0>$f9#ѳP@s{hH K5rVn=,%̶s8^h BU1T-sJ1:P)p&Aai+7}<_j8H%HH:$>q[?TeV6M}hڅ3u<&Qe|.HplǓBJJ %Pc7UVV-թFkJ-~~kV^:S2У&rVMI:C=bѬ'O6=_v|_ʓzgnYƂ{~)s)۽|Ju]6R87% Ttht\VMÆ}|>@k5`Uf*Z7jzoWc9`x>M>7.S#OUR{O>F&h2q~n^^8 4BO^|UyX7/+; Q/Ari gzbM#xskQw~q#\uxߙkad_X~gm0X :'~?NXj3uV^4,^ p3A^jЛjZ2"}_QpC^NU` |[3a* bo}"ޅGTjr0 %Mx;,A~0`C0N}˼z&@tf6^Zv7:x{&C[x]HmAf*%e;L"+m !'Z'V/L#wK3|Ta } 5l6';yflK\/$B|2*_6yQ< S]VOR#A8l21\qC]%;\\aäCUG+?]+d1?~\6+)D))WgZzYZ EaǦeӔQf_$b׉ӳyKӣ:|.k:/WWbl@ya`L2t8[܈l/?+AM|A7fY%)Z$S ?S)U?O P")/y+AF?3miƸ푖t<5/y6=3 ZZ_.ϨT9UC6ωzo,i?x[rLgs;eg>dGH̰^qۉ|.IM*75VVAdzc=LP)ϊ,a+)b|DkRy*)S'ׯLۻ,KN3Fc^+`0ԦQƈ1+M] z;CCh$}uj2R `Y*' ^~C#pc`Ί#yJ|SsPsڬFŊb#@Tm*vCM(RͨN#Tf&Og̉ k᫺ ˓^zǕ*>7T š)(РԳcb4vbv3_6q!3u()zf'hP9+.Q<59;C1LǶڜΑѦ |)-ڇ,kYJb2R>]' !X#S;_$,rAD^24SߡVuĔnBm!uӠ2$@ĆfKftzZ8pfQ(GӲmHި#E ;[eqETjĒB_:>7* CWNPܥZ1kI ('2l%ʕ$ΘsIl;c> {b$t]2kxJ bGjx3! &it % M{ q6ndpࡘ&OO\ŧ;fC:k\m26+Xz+u BIɇ Y3JNAj7ʤW+Kl=alqwN6yTE.3J DJ>8{V{)H;eݡpz) th# LTeIvT1`]jzՓK5 aA9y@Z栱BM8֠^&4-`,=$DSQ!օ e+%)ƁZtR+n o >ݠvLvq1K K/D=qr"~9)K \/0פ] 7\)t?Sh+4Sʑ1 #MpEbhrx=o(]q39V0ZRɳuuh&੤@`3YǨPp\O[Zz_= J(Xe=o17b7G}:ݣgi5Ln趲:3ҝ(K4ig viE6/Ko꬜싳Æx*¶mW Iiz+ s=z3fvw< w4Ic|<qu`I?c !XZY"IS bϗu~i D0Mn/bK9[AٲF4Hꙕ5MX}lv7: yaљAt0.Ũ(I'6.UJ\!I-7\ Ĵ f|hSX?+ZHlpt&Ӭ?|U,O}RI-ʠ'T͈ž?&'.d& SZ SYAp' }ԍBVDN4rZn"!6UQm(^pBl`Tr?˝rYR˖rC}1C%`hDFi`WcS!  CV/x_ VsPt (hb qxJ }[Q8z6tt |(| -~RIvR&K^L1ꋳ*َPTàB+A,q!fgF8!^pjƌ]E)Rō4I˘q"R'ܚi(3νILw6>>?m?op?"BB}cbr뵚 oRzEVU*WJ/bPz6jr;G ^+y\`KR+O&e/c?KƥKnBAi@5nca-B Z;oSu d\g=m]%ǰnV/ώtb3,>\" @f[`L:eot*B]Ov6-[*ڍI?u%v){%MLs.mMg^7]cCq[&;#}ag%LTx[C@Y3a9ܥ - ne báiE5z0DRESUCBX.`,eL>vU^lP0.l35 Uh@KC=AC !\A]YپF ͚\o/0&2t7@`wJ OWrTmephUm ";l?)lbn5GK.ш;CFD 'ѓhl<_"4 *xszQ ^O8~ǘ2stW ^|<x4 _1Urc3G0s`Fhfmj\ @O߿%r>`apL # RۋmZTkZeݕ mIɼG|uB9Xek/=AAVF&..65JQ-=N\m-bC٠ K)DC&y#upn\4E??ڄNsPm}MT[[jjo@ μ%YOsoCG}w8s lUWǙnRBs;`x<}sF,G-/_$A!`GJd1C>xyDiW-@E_@6ZFL n2[H5y_+U}GX fem \AR`t{?[ \P=G /*0;$\a& q_w5G80d;^>wʼnWs-߮::K:1aSJɹЅgR2TB 7P^qNsQZ]p.%,l~q{Ìbݿߟ0c41Ywb^ "`;6!TSPVwPT {7Hr+v݂/t'Eh8n0n,>hwx>dAp#W9i_i Pibs`yr 2t>2'e"Dn-o?7("{=WkjbkËW pVruMnb7$^Sj)`%1g|id$}4)l08 ğ7`s%#3~DC4;# }a.u\"#̙9wQ0<ќNc`xNkqԄ8  {vRٸ3i\b0>С_/w7Ď/A1Sev>UekaKup\e"NN-= .ܵ }eE9S3^>q&L OS>CP7\< ?$_`pGsqqϷкZ!.t8!dC'G=\ZIh$rhMY3hBzK X"LU)ӗ(=:D1nmbc!RqEB֩.ZxHP/=dZoh>l]8hb٦fg\0&iЖOU :cxrO;p>惯 uGzWH _]X%V}w&p!5x Џ!~< MT,)q{Cڲ1}⸠w C=`pm /G7tɱIJU׭0{ KyVRq;Dejh$]u6^H# s1UmϾ'Į@;PLۧ5Ulh¡oBg6>+;tW_ʠnr<4iljzlGe Y[|/y2c"6ŀ93IR }ѓFP O$UjUO{;V}]kZYp=2 rQccjf>Vb8ߡu2@!OU-'a]#v8FB,B˴0D}P7 3nD |' -]5T!ΤQvp%-9"0(!a _^.@g*vY=jЬ=*:)_. p+CI1ld@L qBV΃NcS-r~meo^o޼^9g{//^7&yzʭ! FA7\QƃcΊ24q;7HΩh0KrMطŠoI.ܱԜ4 u?vK5^ v]b9qSHyˎׯ]pܜlP@Yx"5pv>Ǖl&b*ϲ?h{?A FbZtiJw&.j#i}ڐ|cTvM^Y@>ܨ>/[OыE hBFD9ܟi%n7vgc>&YH죖u_ jA}Whg6W^'ىp#+/aN}v^Ċx;!.4-khxE|Ӱ/4\50 Tm܃Loj6G6|dm]oyڝYv%Ymq{5?Oà]àL_t9甄lyQQ/ʷ-Dž$;V 1",DбxRlӗ9|<1 VL_5zP!H(W'婁%մeOi/刨ApO,M+>h,'ΆWakK@[rm}p0.ڙ"{CWbyb2/r1 _]<gQi.N}W8 oci@Ux`5)͢/#jT}D(1"C)i6[s?[مOo*n(^lbo߲E7IS)^C58r73 cfptN [Η2\nC &:ZoK'8,ɔ,p !NrfR+zAJuW@vy1%EH ^jZrǧ$`Iu 01%gXq~"Z]|W{dǽ`5~S1k5y]l~xLP; cTWgNYZhR~%oۏ-f{yC\ɬ涞Tkn<;T.'V\t>MXtrET8>Ѐ 047ӎyufrѿr8OlL}M bq{K#0Ó n~aY# qp=(hGFt$(E!;(G E™%Q>lB`DmYK'Mv _(;,PjZ6-7B(X]5aم<[@__:lD&ai[תfh0^Vk8N; > SWfpzO9յE4F%P +: {2CkN"0q`%UGΆ {1C>yƟ脀-|K?.UQT; v96T걢͊DP>žCPf hk]\3# L s"NORE$)=$A4" .HQd؏Rُb R_IC^AV فF6,F,RwqAO*f/ 6S=O<&%p,1jβlSsLƠt+'aM%`'6 ȟvxwLFSEGC&l6YP)T B(4%1_r&o>y]'m7|>jv)9+:1>riȃaW8s J뷚ժekUem]69 b&XAKݢ tWP(#)ʭWrh'c-THkҠzމ1{?7ϗVd8;%wnMg(;r̨]i?]UM8jƋV{ yV:&MsPuJ$QB"*px;QodE2ܥ'2eYzleR$n/n{C)ա}i7) 7&'-}(oheF933w+z6Xdؠ }@Hdh[Вp w*/.W;6z˱x3*n ,\heD+j