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();r8(wR5(_bk#J]#zd&涱gۍS*$!)N)~{$o(DF4^?ׇl݇'gm~ZEM>ӧNϻv [`A(Y]lW*0(EŋA>2?d=*q9Gz-(1/~0aY." 7,Gg;ϒn݇E̙5a$nWF*<>|N1 0ľ @8u,aK9;5"[-1?sƓq0DHofa6 " wP뱨:/Tv#+tI,S.C} lV<;T|s>|O˷r'^|orxQqʱM:Ca72k.73tgKshXGfx?-;Sù$ &;6ƼJ,1z{ ` bQNYePDQXSeh]fx=w#c/!XS"S= b\Q `/߳ jY !HX//{E!2>U;vUm}f4iÍ-$  ,o~xO BO"*0? p#ʊk?;G 9^vNyŅm`^(> y0*lPp!/B8;Cn;~Ǖ~t@!9iAPA{Tp_x=C,x rePLvT5b6Wuʁ참BTpi]rhBFHB]m:5 Р,Y̌CkKe_#JЃ;Eqx HDL?&N(lS2|- o )'ǘډ>0~?Xärm4!qx.1\*xhU4+Ņj4Kp#`{4MlqM9G$`y,>5v0i$[Gmfٮw}lWi/2鯩|+RO2;Ea{,[ uR9dAIo] m\b\^!QyCW.p:tO3VzܢB2Œk~ Ꙇn&Ӑ1w+-oU3j GAdh.sC4*@Y3]|Ҥ{@c@1t쯅>į$9%=P/ PU(QZ+eӨUڵv>})Q"r K s9:Bx;1(&㕏OEmz6EW%䗜Re+KW`Ulfaۗӧff; 50Vx};ua¦Y2KAY^e)!qCDΥ"-nwl )_fqGy)fEZ4wS:Gѷo2}:$}+t2s # Ʌ"xL o!>sMewl]ӷo^>M5h ?n·m }quq1U** q̭m|OE1| QK`#8p(! ,b̖X,mb'o_/emd vXVӧa9MSo(bx)Վ[M%jHܺLBWh7`hD}}v۠x9cmŀs1gF4@֢X9n#h\3m3l$4w!fyV0'_<!p$ӛ)f]"` ˀFAqu)z<2p'P2$ Z 2l.Lo+<h-% ̔ YI%o݀:; XT H,ȉ9V i7-CnԞTnVGZcÔ;4!DlbY^ndrB^ ,^h,~pNλo1^?5LIm ~ߏ}R`SF;jm[00r*L@+8VECIL{Onfv['~KQ,/]}ĕ9 .TnZtZ7ӒYeQ?xB,WoT[1plUTm@@RXFO#$A6~Udf$1m8wlrEbhzI#c~1{ De$( p|?#rKD7!4 ASe9\?!K`ZIHە㧶ۻnwROaۣ1zԉA{ɬMq(,x5)Pĕ9)ղ ֑F ssrMOD.%¨iK(Krf }rE9hcH`o86L`4䩪HkA ) ;Wሮ(VHYKP`eB醯ԉz|vΩѨvH>jljLɆs:uE]:ϧN4rJfukEB R qW#g7y{ΘoN1WZy|ueW!?9,&Q쏍bfS5;fFQFvG1"W뫋 Ѻ]?jUr6vu6[[pPl47֎/X=K\6qiZ׆i~gz isEEZۀq-7\ۗ+2% !dsG{Tlg &|>2pq3jضCPm6p΄AJ62&H```r1<cT*#4Q?,ΕQ T(cRD0/KR(erw',l$8}޵-]oY¯"fՔF&]f!j& *OZo{~Y{x[ jGKBqʖZ ?ו ? x›쟈'_6 nFJJhU}:s4("4 Clh/D- te2chNp{LJ9z {hs2ydx̚Pw.xl)exwH=q4]tpl]uJCst7`+C޿K}C"_˭7BS}H57R['҂(>AN˙a^R :u[rFNOp4E~=96Yjp`PÛ3O/{~}+~;/BC7?oV 6,e!531Va9hSPsaܶLhceu!*Xf'/c1Ȭ+f"Bכ0O7pkG0>Df}CM].vB?8c0NEƀE$}O+!&ÉuM F"Ê;vqV5_Fx~W]+B)q,d&Zary^ |7'[F d'F2ҵH11w ٹpU "XbK}&mVs{dU0c\idul^Ѯ]S-0G`w{29':wtZm[m:|v:X}=g1LI{ԋDCtq%!Qx~obJSaaavX^[=(A"fƹbR!S :qD $AoI GA0DrP\3 w4Jq#ڕcSn@hKěb \Vc)Jb<ҭTЂgr}D]0UDl)xݩs*8!l|:'1-@6ЗcR2x\!)8:Bv=B@~8q`~0’OHNQ"HuRZsqD1:OFrzO1lC'';܃|l0D)3B l%?ð*hk|Ue  ?D'Y#G@VN/Nf*w|jƠv?hiR  tDcM)j'nS#'A8vS7x.jvn~ߪ[uMtEäJKO%,{W@%B H& MW[tCqD 8GSi[*՛D1]?Vo}8KKKӫ(2\rC}V#qAW|g4D%DLDF.^#=NtQis6RN U~B61AZV˵r}JU8 -2ک3ܛ \ΥYty. wF58GYViusa tf,`Baxƺs wtڰ;'ݭڮ"$j剨ݝҭCn2Kː's__+ph6P <𐏳rނtEw<?yg)'3gRK[*I$-=>@fPz,ٶ5(wwaXG|u{#ҝHg˕,I.M[A0(r=ꨂ/BZ2V.tb'VCarVF>2Pi>#F$5!FJX`#A)ΡV@#,Nk_"4e.QBK˵$ HVgv[ zé :"*x1_ #V+?.?'o\dM498I)%r&i54,//0_ j1(HND'"'%?u`_~| $|wtH / fWqZr{^"zV0m#M^P6]wӘGHb6*mrt%q[AjpmGjoR[_{p!Uv Ǐ0_aPo@D%?̂b(@Ʉn{9:QLvSEѹ4zx}[Ԉ.pfX'oBҹpǭBR#Ұ1P7!zZP],dׁVGk_*S0p'=9a.SÄEK!w-\VgB1iK.Xwv ~}G`\N5RRR*)QFu@悓[z*C\En%UDf-:j5jCۃFo#:r>ը=*  ) ꆶqvPM񘃁 O& x @= £;kec nv>TTf~K)^=uK{d<}l;;rqm } &nnDnf2OKQsC%IxSVw/}G~y}x0pˏ_R_~\Z6QzSKA~M&KS,m➝*?|%]~;`'VlH_5[O>vN~^I!@ v! P eW3%Z<>Sx 9@u xAȓ>dʑN*!űn/2'Zd_.Ke^:m+ל=K4x̫L2mnH+/F(Ơ<ׇ QK Xx3ԉ*<Ȑ~ ,~1/JnHËYw TIƭ u!|P) U,p`Im-ȕBLݮɾ}cf0-"mL&^0|iZDHFoJbn4')qMZ)j\GksseKK0\h&Ev"t4cYqz6V(d0Ob0u">LլJ]4z5qL^uOVscݻ}~&,@gnlY)%4pAOZdS?D38\.0ol =cJ&ӌpH #0]t"GB\yOcfΣW(r8l6Ozoߐܶzhe4[$yVE!,=XA917 NB7Py-5Kn->T }1ЦbG[՚Yy{ʎQo:^c?{u oAvPV{[&}㧬L>@3<FE+q},!^54?NR !;Q0VDW[>]#R)% 26W2]g\Rɿ*:Wh4Yi3JQƥ(7!bf}sopY)TimNaJj:VGT$ Y^J' ;<~A>@6@a|f-{H<HM ұjZܔWZ#1cJ(K-.9VnM: F|Sν$NR}OB3bSfD09+@ rJ#d0L$Cng 3qrrcb#Ӟ@L$gY(F;|Ġ%!Tf&7Z9V1PH_\LC]PUu0F lXZӇz5(L=D\eVOkK-[LZ(H.d(){9OM =S XON0LS'N ;|@fHd kY'&+NØG19֩jPopsF2R2b$vd(})6Tw(\ޔvESӆCKlcn&{?B#胮~ :ٝ(Zl%!T^3NaH^:^ ,,PUcPlòr$aK",J8rHTBMW~sJrs^FOVH%Er{FZ]4RQ~ٰ\RE8WmgREN aO֠B81eb δ}9D"ZD.*OWi?t-I)!?_-oq#0w2σWU۵ūsYz}H((D ی^ѕUy~P|N]#jeoݜ# џ#~_kBQ?,W28}@;S]'-;r@[]vmt=RdY-|4y-hxqN"(C8A| _Vc"c+d|U V}d Hbtl^s$d/R9jWC#s Z} uam-W,aEfnSXVP_G]FaN6͵RUaXe xľ̽[zq%ҹZX}@RQE(DT{FH=5AZ/wȚU:5wZ7DMe@4hA5ϸ{ f5v'\)0\޴4&{z2h: }rC4ZcX-NZM;B*W DbDvpshA#TKXh鶘F7{:۬j2> Àdo5o|+9lL.M=huaWӟ~@7m2"z-ѐR^U:#Ij1Qkx~gINQ0؇z`k*mεӰ B#9z_X#Gn.ܝ+ޓx+#ݯu5tݢkhP)W4Rdvol=ͤx"k6x۲:U㱘>-ݐų+{8w_ޞKyfγo"*C/~e-[^Őh<G:)WUoܳ9yCCmPEXhnK;<t 6z<䏋?|2;[Wk#xOb_>yih K>~ֳ?@ۀ?fdg+sdN2Iy}w(k ih萵n,{O<[=ɣnC|: ~ΰ%ZH zhS ]_7ū#޾ee:}ㄏoLŝk9A[:\KzHSb 4eh$ 0;#u 4T/iNիu{,`N! R/;#f֊v7,0]&˝q)N٩NFvOAj"kҺXO$zi(s8^1Fd>%nIң#$*wArﻉw ;08o7H߃;+ĥ8ZżHUIbnx*c4F`!08c<6l4?OGN@о? Y ʴ}#}L~Hx|OR̢'zA|~+$6/ŭ՚rȱJ-Y4ioy> nUji7$,LnOp/6אVju~6 ` ]=v7:zEcܛ 7=>F_-1Ml]0 E'P4T\r [h(}ޗoN}ݖl>Dp9X)Z"? Jv0)6=ߡNOq\D.uOVRu{Z;2BD))uE`uEFO_p2JH"wtkI/-=R<:q5R 6ͽ̙"zQR~6T$ Ɂv>!UD2b=dLI?)# =N)e 7BC-zj!ʄ:ЈC;;9@lf:?RS:;( Oe2yRiH3SwL=R\+d*;HT}ܔe;WiOD Z(w)P0%_pB.BHe3|ǿ{љCkנU ~B0BDJ~T.;\QHCk5sϙ}*w6E $h1 c9pp0s9(J?eZl2T-JR,>_(㯃YK7zy/nܓA/{.akMh^|t$r%1VUj 'Vs%[eTZ#pG5QZmݩ ? Y%}w=҃h}y 5K@GNp2U֝VJj@.Y|A. XLYtp?KݓQlpûI:z:#u.nt qcNhxBk0f7ZVz#5so}L<; VmEQug0Zĭ T9OW܈XXYw'?Wޥޖq@C24Ѩ'{U95xYڭZji[zn[VHgt_"=:|hE MӼSha䂑+YNjOh?b@ГqG의X.mQC5pA ))~Wxq \*(=9ĉs,w\"2,a>YX_ 5:<&gh%ŢNY>vҋ&C ->MW} IRZ}4 a?*LG 2a֪c :ѽ .SS+&z}hcGGFrfvN O(t2|PX7<=@=q\ȏ[;%$Rui;,Q4`/W7p8uoV]4"ϣx_Z$ W)eGhNS?Ņ<4K,bFCBB-RH%I4_YiDKQ,?q,m?9q'㾛g !/ /@p\$c,{-r#E2.3=[xE򡫑II +F,C2y% IodzQ|IIr- ~* ު>"z`#bȦFr޻7t|'BtW OFj2b:GmJE[;`a;'˭{%eireOw^ žPȝxBiV Fq:oi hP7C(N[60M^e_Sa;Jh{8ܯ /pʣzaC6)$,xcyY{1lY| $aI|i^%kGtb֎|݀jR 4@#}9sV^W[ay rZX  jRel.$iI 0f>ıﻱb3D\xSE&Œ=z]92fg,c; 5K"l3*x G}ґThv|Q>ЏZ{<f00NӺ!`Ȣ@-F?^ĸ+hE'Lx#fu@) m+,;uɪzcٙ쇇SC