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();}is8gjҎ(QȳL{f8HHMn$d%HFh\ϟ{WlMOt=dOJo_N}OiؗmL1s;i1a~j'k/283<E~=xk1*Nl1  Nm+,qbB ];&wD^a~jOI"7>C/(M\Y?1lrܱc7q =mEf6jCV0yG,X8jGP@>@Rmǵ϶M7{o~_"f޾z o}phQOAevV( ?'<`^`l;;CXF"B#kQs + `9Ffj7.$Յ,+ c׌le%1+prl]Gq 9tz=" T (UrJ&9L/lWAO ֥/N(<-2QLO5yuLCfy|gB"pqy,O+a/k^b\PyMQ9b=;0h}iۏk2v%80r`>=Y$) Oa^0ARebRb^VRv;_ qa%^F׃ N+Cq) cEFͱ~< =7Va kg? im8@$#q(*?GgH!`]+)l+=n^&b8p.J XcN A!Px#Ox;#qp$ ,(祥O}]Qǭ0Fha~^]$ \uԴf# UW2̡H\5ܡLucñ­>P!C&cjfH c^"c/S; )C?F!f1fKrb"v!t| fqړk?)_@}jL kJLb`pUOy&r]υኢB1Er&-frC"2kZ(b308yF˅LNjÃp?aMv<,rO KFŨU9c,UaB p^E6I T!Q"{#w"$JjNIaIۓ NYNm2yM 5,CcON#:3!rvm*PfsXV:mQYoF[,D7gJn;vgsc(w>rwDj4z.=7[ݬd*K%-( PfEV+#1ҥ\JV!ibjCU8y8 >8BCv{-j zQup*bvG8+i?_?ێUdvJA+e(-}\ z;|bTWא+^UGhc9}sJ_>{6"}+t2K \ D{ͭYI|܅t^*g@֥%}Vry @;̯TZ +iPخ 0b<++y% gk*YQ1%*iXv1 #`p8!#w& >ņW\)a'ogjnd*fPUógA5So Tr$Վ1jH‚FWhWvĬBXv;| O{&B̩9,V.&/O`i`U; lHA"ݨ.^ZP~|*PI ROA0D:07tӁkLW-2N U kPOWŭPǽPvC%P˫Ғ_ҹLZ459ʲ꠶ۀbPu5,@΢б1II оk"s"$~R%iUH95"C)"i@CT|\ PWAY= P⢧͝aZ x{ 3L=7ipe52TU݋iӀ\gAz1j"P?s z$xɮS6 OFOV GV%G 􅪋̦|t`]!_e,&ktd0a(C;pm^Tv]HQ)KtjŁS,M #Tx 򴹋*ub RlIya 5^x5ȔpiB'b'>[;}o[5ur{-נkOlV،r4^,5M E9,ʠv3   f# xhJʯe SK09/8`z(#ARG0@_"5%(pQu8Wij쥻Т'J!kǭlj[5֛ScԿޙ|?x7OǨqez1*|;c;bFQ*\Ǩ+Ǩ;5i#o>RQ,Nn ,5MCSQ;M4y`Aä-o0OX_jr.+;?9T\< 3AQ"䫄)b#YI_E_\,J o ܐNY"(K0Q~MVodrIy wb.ɿ 1%+Vj㲦J:;Ȟ VUmo)pպ4|&Z%;s;Lc,^H02θWQ;&*|dzޜ eiduuw|݋;Ѿޭx Cnt|*Bo*w$H4i[+uw]88۞dq^Ԧmvf%wVkl06BЛ@OR<{GF1&/7+ `vC;xxn9iX_r'S [3OrG ٛ曓ӢwNNnx!*0v;E砤`UkIAsGw; `p"bMu1_\%OlP㯂}hrs?ʓ76g`m{ݗ;;?jh0N m ݾe[UQ5;L-xZ͕j-˗m!g?RnnQr$7:ғjKk\"ȒQtV%6)YR[\5L#+Sケ?kI0F?v.aʩ|R"S&FpQ^c/(!ҐPE*@ /'Dfah.}tQ ,b Lcއ15htg)3: 5!?t7}=a\40uF!GۉqU3h`H"/T͠OtzwqI{`[Iw` R( @pÛ(ig2@ t5Bh+\(*twgv;-z9_u>Kk_Ed՗c5&m~H˧{|_} /?_|=LnӼC߿FmYʒlf} drb[¸eP?LūKϥEl/VXg711Ȝ$RB˄2afh a|U2X}7&Ht7x9 JpD=A<1m5(\gN'= 6 y :|8lj?4F%j4wڬ6ۆ!V*>L;sl# Af22A˛x؎tG)͍ak!h'2sbG1{YpMLd ~GRvjGMUܤ}2w<&pX}DKY]0K\;irw*o)Ŗ-Žp29':w4hܦl×>Zп| L") ޭy@ ]P B8 돀/4٧Jnoa.&F5~䑽y,_M<`~|LiG0%wF(>%q0`YX[hU$VF,Pc>!`Z5&m\9e!>:d9:Jl; |d6*\L( tM)' &܍} 5Jcw}YiMc[ύQ՛aw^x)VsƠvF IWٕ65ʟJ@r^*dV+.o[tqH6tۇiH*՛Dǘ1-XA8RF}8KKKWo+Pte"sk!G3.+{4i+X"I.^⁸| ؚ蹱lQ4)=;&dkj!hrFnJ}OJM( ~vT9^LypE*% u/BZp˵ֹ{hMėvE;?jE9),wn2DNI)Mfi4=gzmF{ -ܦ&684Iv/ |ҟ&E>{=}nPI8?gFϤDnu3$gF?]AEf#˛.3hYzvLoVոc tPy!($ ELb4o,OlmEP!"Jn.>#O6&GP˂HT }1iSn mD&@&9lL7i l~Fpa{\nElJFo_>lR>?@$Ⱥ`BĀ*tiCx{/kB++F+# NR`^2LNkؘ]:T9bL2+z#." tc\nΠY@0-9kRs_!4g.QFS$!Hg6ZmnΐXd$eVQ9HD QEHU> t#yErj@ξx8WѼr~K&Z֏vTLSˍ!ԟ)}+ qoWӥ|/oZ928>H%u z8;(zfw^Lr3 @YNKoQLUhDxnOFrΡ{D kuruV<֌a $,tf~/X>VM]L^Cgա|O!;:ۃڶVt8MiP[ɦBD^YH& yypI:H@luSfبol,&천ͅ*Ņ9PJ'Iͺu6:#\7{#aaŭYntZzK4V:oEcx!>!7ZǭJuRF-bn&hmv? 7]~>$ *a((`
|(>+? HQr$rKjjK9{^zSK.T\{ %V텛\JtBūPE1IWN!R ?@n i]:*ySN 3;MXX}/p>l`_a{*L*D̘GQw/p !X &KuicuLrX$}֮ B+ˎ~vx?KC7q':~L'ܵ-),- @W|mv%;ĤuB[]!2D-"B9 *⨔]F++p4)~1jšRO~ۏ`J'?p@$pT z D,Wa|x>M?+a=  J~bj Sf )e6Q~pO<[7*48$9񊼔+u:qqVUy)MTDi|uِhDv$`&"l2LӲgNUJЅDU.cZ̅Y<W'Ts\T,ATG ;AgU;"Q&_$ VP| E=de.IQN^׿lq" -c+g(Q(cq?v *PݱXUw|ꎗWw8XVwu%G^!%K zXO!Q\ "vEL0/SSeE /#$ $LQ*>$:: VF mY0=l8 &`.O{J܄d/?JBMx@KqeVciβ"Icc4 \]JMQFp1C)EPX^6~dJ&Ӝp=O*#E =5t2[Ϗ[T1\4ɀPdI#O+spp*eGQzߑ6h,up~Sv'4M9 QI{m'C  M )[^U]Ya )>fVן }r9G.'JHL]. / .,qj-&ʇN;w<@Z~<@>LjVGȩzP] cq'*ĐqV@V!;#|ظ2:ir3JQٴSD2gY\u{c@_ T4ag%)tHκzU4 BiU9-I\PXҮ@ Wwj-'v?RvtSH?ghoe.=WA@*SQXz̚kXR)O5ޞhn^6eu +EI+&$y eY696r8jszR',q{j]P1[H@=^2%L%3oF8DAzW椁EoUb1!˸0hdyN"qU+YYֈP2f N ^ MpH=an%[V-jdh>8]&-}Y-vbL퓼KB E7|%ɡ\Eክ*\\X֤XVSxEB'8AF!jzlyNCϯ޽go?0zg /Ԩ\HA~/a@ƸIMGCs72? @3~d4dd*,@S\9tK<Oֲ4Ax!6o䊷\j̭eEMxeSδvt'ǧ |9>m|Csc ~yx 3PBȨ<<&Y!S6~M5zĒ zuzfkDGtʤbS(z䏲"nuRכqx|t8$wxe r57_@8)'cq3IBVߝՅ{S.l{mLIqS<$pȞ %`"P5(ФBTNyKu(P^hMV/@1$:%Pyh#P! "qI8FՌvޅOŚ 9:+>uܢ>.0ev}&W6kx_ɷ?О0  P5nOE[hb`h#+PTqEalY Qq 6a&d:in5.h5DҷC;3F8xEchj* ͽy84ȣp4"iBICTePDcWt|;)Zc/=vܞGb@YL3mgND\,1hSE"/CHe&]0VR udUy*+]-(I1)Ȩf`iKmfJ:\$sK~ziͨDZ%^uZ⑬(WEVBܳb KJ44>iIQBVXR$CE,o+>-Иb$!OIL&x,hu-e`X|IvHUBH:fI@/ 5aOmC7YOҎriOYWW]@W,s%]#"khL]D̓cute1Kn0)) u@Zzа~[ͽܪ?vyXk6 sȥZ5j @"<%o|C.!{&z[3+8x4*PCJ)d2w6 O[L4:zklIh S>~?H ǢRe}V/Դf_=K 5=w]i#:q`l)}//Hm~:x/oqʮoҎpE^Ӊ:.Xm$J$ ӝ昌Cq{YvׇNgsw.jZ0d&h 81`lrGgeb}W[8#xZd0'PM]疸.A޼ Է}0'24JlkDf%|M@Oj~hvߧdCJ;hK\yt;j>HO5١t`~Q,Ӹμ>`>h|J Q, ambx61ЭP3Щ_8y>SSA]\ԇz ОPONrBXԃ:.~Ï& AB\V1XDG@kxJnh[S'yoKo]ƇߡNЕ݀ټ kP+9\ ̧؏쭛D8 )mE`؏dc<-L#KL 4VvȋÃ1wAQn"rpBJk%Q> cbN|m2f?>QS>Hw=Õp=s?boi᳀f'e1tOb#\6^R JwQT "Q KSBUB}"DG>WeRaJTr8J6E9VĔr$nϥU1bsi* G!\r8/C s.nR(;OY=m) #\A >xo(l|A'saٌJҨ4+Jr@ȹ|C}i^2 ?%s9JrP o3Эf XFR%娗dTy |dwOisK5lZyxykeu.@x2~:v7"x$G4k[ith506h>T/pїJ֡[d #CC*MTCrèLK<+\rwvC>m7T1‡G%o9)Zn NaE۰aauMs\7LK ?n35K0\a&-TӪ{#K+VũtYXN}Sr&Qܡ >%9Δgjsr[CN񻂋_6z3o*(ycc}9ߴ3oʭ gT1LNˋXǪ_xx wY S.@olɲPf]o<ݳ: