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();}r8Iվ[;DRW˱g;nn_9)DBmbYɸ Su<>n],==$4 Ch<~^Qx$B| y}'L}PP[ +JlViAVaӁW3 Y{Y,8kGP`ѯv<;0= ? [/DNv~ SE{X!\f_grNx:wwl D|D -F< e},EE,|L'Uǃx!bijbغ/+;X- 簴<Tx}^ztzĮ~DHG0lkc؎{|>Re*پ.J"AOzl_AϲWUh7nw>3U_(")8W-\6Fn5m-CQ3k4~<7xQ\;~$8 K_Ka f9ˏ8J* CJOC{c8v! Q=/*|1>gADJ~z 2x?V|re@Sy- \QM70^4;CqX ,RRr*9&X\5 ꑌueIu/m~@2cbL Z#^)4GhkD zǽ(ox~KD8/H0q(~KP_-ۮﺂr_)󝕥db]H  ؄jQl&x>߳gr*h{=ٽj pD P(a0zU׌Z׋Ϟ#flU 鳁ɋ_(u3$/n&|06zlt F\חo󜉪̹u60 h@&IXu\JR5*[ SJB غ*9tt)(oq68lbTZ zhmA0[qup*}b v%ʟg^ẳ|.hEI EI=07 Ћa^^Z"_AB?[ܩƣM9O'-wWsz[KC=R>W K-_́~3O 1](0ӭ' >íLw#Xlr֠9̛~X_ [/Afrf_0È(Wz%:Ĉcn(z2=bh0cpP`Fq %,>Ŋ/W\YN zVF^U= D=c}`Ѽ7f|s@ 4*߸?\ o}x<_Paܠ,J) =WM.z0Y2MCSIkk hk;K4yjaA:è 7B1,5H|\c`& ʮEq^7EFٮFAlVJMŊ԰,Izc̲l:V/@j_ 3='MD$& xJǐ Xg.[՛檪J;;#fܬ67 Zg_u6skԞ[߆EDc-kHsTPq}灊hڸ^]gkgk{#^`ňֽl=-#r% xe;ůUW#IBqLYwE_k_1뙍InaN-Z_geVr-|gl5:V7uS7͛mbCOR "[gF1&!/)pV#dixnid\}EDžqwiݢ7VNP Wԟ/ۦ}PR*4-vH;mKunW)Ǿh"[\] yn`m?=iwo`k1:L=#G0ig;j*diݠ'O6!CK\>T5uXCQl9yy(xZ=C m:QDQԬ6I}9.iroT;9qșlz[y^ay٘8Yęԇ1Act. -R)h\s$_C,&+_c7` ID*(XYW9 (C7t {(0[CȁѓaDg9S ʋcH&UQ"yJ-hjpP7K.I${hj }](ulp4Bs?@L~~p=@ĕqG[9!jNOD gOO@K5}ufV(zN߇8=4!O|븀U #$`1 ԑg;.{[l=xF'&K T8+/^߽?}y y;_JaԆ<.{|XN0nxy.4} Br{t}>UU,X{~X02IP3 l8µ||$vK .v?8c<a:eAI^\BKrɟ:bO.h?Jw#qGÊ.F fl!:buu>%(0$OhoMval'[XIwE3D}cCYzt;oq}D2p%>K}q¹E{0c\'t?IV8SyM-_qv]'zHkam]E0%pC'Ű 8aJg+^$ ]PXܙpT"BДgfX+add}]<<@Ujev׮@DsłA?!C>d'^&/t7qD)ywKJߠ1 BaД+{n 0Jq#yt"&ҖS7%y9Rz HG֒9"T)WaX^n\ښ-w'o8~!ґ 9y4Cΐ <]rv *f !)쇉SEԁ1%RiO5Wnp&?QM I9"^쓇y}h>9`&3[0Q}JL`P*[) 0X+\UY,Ǯs 2Cd5=UiqEacXAo@zco*@lK9m[,H91&s/Q e$ǎA:2A1 ި Ӯw-7zUW=LJ\?O[)eٻD/Ar^* t f+V-^qH>48H*MR1-xA8RNn}8oO믫P4xVk\-G4+4i*?4Joѻd|? U~֒;^jB 1Ar}O%*<ީsқ<_JʋR$KSgy/W3 с5f%:Vm؝g/@Nqdư޺;*F,i+Ef4q5gzu7ھ#_0!rނQXySفxӧxzxr!<3z&X\+ҔipT,[ ?tN5j>ŸtYӈ.-F%RV%wiLx?1RFɛMP 2 D 30P>tԧ 3ldKӝ}+qRJe&m<4,~+2_KAMqughc?Ip5]ݞy5_z8G"bwjy%uz4';K] ;|+`&ٍCY-=M㼡g';sXB=tvr,U:+|Hwa ]WIZxcٙMyd xSG.WH]ݲ!혋|Qσ}(ŘVA(aՌ,aœϥZ,v S![G˗%-rLGc1N4dܯ\Li.7Ŕ҅]R87% ]٨itZvCӆ]}B>DOr6tk`v%[1h5!A#v@,pKwy\x^a!ktp `xE*o0(0mMàFҍ.'&sr>ow4Dn#Q Ckj8C/].幎q}gvہ˷%,^n3'KBGhF1ͬd*mOq5k<@[/j{qxKE ULeUO^jПnZ&72km_QDpS *$ ^lwT~C.6W.<~Df2YEl߂Rq4 'T0ɻkkDPma?|x{{+oa`H:Gĝ -ɬYf"@RHWtmvasɫ։ d T ?zJ78УX&慄~-.ްRk=}^r=WScˏZg c>5Kj ]:9vx(>Taf8N.\8R7)c:Qf_G8![,#bV-x=Ti&yU Zq}MzB1IV.}eD|@U8c'z~2^>QN]ʰX--gVuYYv9p/1L q}*E0Y!"QUpO QxhP03n=LrJ̺S&Uh/T>@D1&#ڋernӔxAZS.:Js]h6QEi)LЉ!\2LɌe ƳCɰR)!"mU5%B*ϠFdPܹ2+CjE[c~*[lbn*p#@ATvOND1}O#T_PN#t0J(4X//$B|ҌϛH w Is+g(R0av?v ߜb#Uܑ*-/XQVܑ,Gi{VuR~´e.9ES>Y--ɏUblY=_Ԅ)=H']5T%F=l8 d.sNͳG57&ݽZ怒&iеoeVcYʲL4pAORdS?JL PTER_W6gJ'Ӝr=K #%0?5l{q$Dcl 1@@싅!R\h +Si,EEN;xw%}M`_`J#K);+ee;(tM⻠zw$D?w < ]-?V}1@S{YͣfVכ؏➺r\G:Vߝ%}'JXS_g_ђr 4j6 !ri>;Y`Z'}DQ aZIXDQzP~ʭخCY︬JCavzpW^*CGxO ͪ09[L2Φ/1ҖH:@k7\pwx"U7uv^Ad~c5MP)ϋ,c+)b|Dmy.?mD%(Zad3uA|mxMS: co2'}Z30#Z 3n: %_iXzv[%M$f x0PWy2r4g* 4ё~M.'+?ox̋"1q>I.x<7 \PlJN7bT\MsbuEY™`b:bBQa-|w:a׃r~:x `A`qh% ZPYK1L1ZUXBXNcH[`[Q#=TrƜ6ٛP=Q<5s]%@EIa-1L3N &@VFg' tx{bO-kmh1V)Ƨ*DSld ~dr}'bHSȄE#3GTTjt"{|CU[3,J xe-L#;=:VH tܯTfır&"ؾbd8۔nPtӭ"v!IiN9.fiiI'I_ܠ0cb q;Ÿ~NeFS`W{#FN'vN]*h?*n%RfwE)X-*wYg F'nqf;G+SnH.u(iF5[,xI0;P9ܼl7u ΃YM+&$E _7|/ !x,',q<61#5ZZeq]S}emn;0'9K0iE[2mH_d/ϊEXG>C)\.g$h(X2+dܟ63/feU$}7edUј.LO6V9y%Dž{ 1A y i5DN1Kn4'}ubsx8= h] m%qq"b[=譢F 57jdEk1TfcEkx %^];F Q Q kQ?xXwmlVГk2؇Bx c\n֭F8*R*6FVى ̴sv 9&c 7@0oe:Jmx!lH0Wx#2i"8 4#^Mq\a BoQ&qC x}:dxYW?qFg.jr"D u|~ h҆Dzn 84NOT(*{7/krq3769hu]S_ Le[~,$=ҁh1;CXA^ {ZN>oooB=b_C@5vuKz-,mvL[0! M9f6닡^9݋&tY:bSߜB&F(9D-).U(MEZaymKbKC[4[NC_qIhޝ!vswe{IoUKر}k7F7 fOa\Vʸ2\0 l4֧7za=~3o|x{V6@*pcEmt674]0|+.nD{ e# kl/Rس | ]=(>OB9Ik0Ĉo͗x *jG>6:Rn:'RNQS# |vфv oEC!WIBSd;1^/; Xi碯 v]v5֮&3sOvC v!>4'%(1o|x.JgQۥ9Xahw g j$+6 0cCGwt 5A~(QʴR1͏"[#ށ΀xmtn=[/4uރ5n UydO#9xBc <0B"} `qNQ_pa8! zЧ8twed!baxcfl}x[Xeޡ_tG ٤nqXhIRHyi1Ic Z,pO^Nb5V6 #wJ [Z=#Za{bvP'rW?$HJԚS2u ìJR`{01sX@gtM_p&\7do,#~-dy>sOs@w#% B?q"S< ~2Žn_8ix?@+*ă7#Ԉl|NiVB!EPU0g)%% q GN_W`bFGE Ӯ(x' lu(11eRs 5Z۰ =;rly X?ta:?W e{'>ZJZ/A |!cC}%\gj9,db mwvjtJz/ݨB<*~ܒnKg(SͭFf !%^}>ܒ{~E~PPY-#^Nx?2+ţ#y6yNxC|޿UμR=d]lNYo7)LMb,3XG~ΏP|P3omw#>=2-C,1zI8rfF*ѣ\~2=`Ҳo)~'աGH~K6 Q<K#[1:oϳU"ڑ岖2^^Y'Š"(g!lJ$gσ ܇uOgd _ OE>͍F0; _"֑IRmo]fGM)W*ʷr}%r :_][_Y:Kv/oƏZFҒDH5/.H3BHHIh j5H ^ԍ1 ւrfͪ*1I٪kߧnhRVakhHmqQqL&55 L$ޟnū\#c͊5:قQP͖ֈJH5I< yVڮkRxk$<ʖ[kuXmdF૲21sTe;md ̆4(kaG%"* r`^%ǵO>|b=fà-}apCLQҸEMR% oa61ϟ1V]%\8&64~jSCXX",6jUj?zeUN׳aZ~/laDqU^W}niMԓNVk_|cuBT~* | 㘃d/BwG''CPIQ q'b#r<14b2WO$s miݡlўl>D eՓ MN>M|>ڴ_P>Α|'6sN5+E"Fd(=%-&z |x ߯/dX%A(޾e)5*%'xԥa⹛)I` ڤ3xWAp_KǫuQ Qwb>XqX怓*Y 0vl܇V^vfըjT=tPL 䁽9^zո3f>@JZ~u5\;@?A.L7l?q~ubک(w}@IvQVS<.Ao?TPA<*PgMٷQG߱Doj̢4F$}Wom>?ߧV1R^z03*DB_ 3*"vx?ǝ L&+qi?x.:+yHl| dqfxkcP) ^4aif#ze9zPЮ,(G!(G EUpQ8!lB`bcؖO+@B(kz[38F VyOo`paC#uk@|P$,m[iZmFn/8µ1)6x5N;Y$N\v(A/=Ju '!I뭦--l]0 E{#><~] +{  / ;?L*LSAK9"#: 6[z1>k,u^9}TN;2؏~=wu.xT3_'qq‡=>$KحH#^f{059nFkls# LsŤ"MOREd)7T7YdLO qd?p#TJ1bOT ~@*(@&qfA'RHqR*=5flmg[o>5#z#G_̪+A)%2@0dD#OR=SzRS4 NŋqOBݕÔ|1 !y]ǞkJmgF^j*v@!^ާz(xhp9M T ,k0gcF1pp0s9J?e!`('+FŬ+J|@ʅt"=D^|B#9($ C:%\QtTy H-b+h>-wtp8^8oVa|q_2CP&_r;]4^6鳝nSBm5a{ٕ&N i-{miP!w|IǗf`d'ʺZ 4 `4B8{qDz B?d܉jq=.3x#Cg¬vt=Nv-\4`5k<404ysjuѨ;a~CeF1$Z4ZFE@t|jv K|f"M.S`TPaf K+<Ϲv ZJW|7E>!Y>}z5\T\ajd`'|HriģQO4s jpiiZMmkP7eunq4ALoIf8Jp4"vy>Zu\AƔũB}4ъ8RA/rV7WL$п %7:smvnwGc rӎA4 J,}43n4#=Ia;K?~4OJ_#W>F}udn!.nya!fAKyC4&e%KwGIޜeXEh F~N2ғJ2.H۵ s8$ύS U5_ muWdWDae;^WG8:{shT]` !iLUU7;\n)lKWXt_6:屦m?&L