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();}rHo9bޡl_$xSY=c={g,IH h"!F'̬Cԭ6m@YYYYYYW拧k6=wɋo_VSL1s?.nY."xqTP^<$||VwD̙5a$OoNU FGۅSGLX!ıѶ-NKRbwخoeH` G%]FA*;k/\?ap A(+ lvaARz,alWUU?/"+t gq嘟r ȰHQP:oa$}?܆/iK޾ޗ}@9ZTr,xΐ2,cwPb}) ?[%x_\5/@i1x.((؉]FpnÐ8dw_}Шv] {* A$\v(þc>;Xa>{bRn|f4Pe_@dvhA:GQqo#駃*wd$d Vg|4 E0 H Ÿ!F'H!p} );?Cn;lIM:݋B,SjCPATpPo=>Š/r,}•qJnGY3+fjN9֥[( @8]Vy)%XøT&[0N4eʹT(HЃv-U CkKF؋m(C/׋ױc_v2tJACN+ݏ+Xi@e_A߁:6GU5}"+0MeOZy&}r*}C?vJUDpx"nt[uUzr6A, 298˕c{9=D塔CWq2|W3pҢE\w}hFѷg< 7YfCXn7mc D wVGhpYt`SY%b0_2Z[[JgoO;"A:E~-y$~IQG!#H(*RͲiT*YvE zN7Y V 8hgJSGDǷܱeG@y hCU.{_>;v-d!J0,%YrJ6/[!x t@BmeSBymP ŭt&dp oXQpOb e 'Ao%D?(3P\!ed9E-BP+>(nI9X/0/}Vů`ioO38EUV4q@lDe$Kh Zȸ2(`Ėiz-8c!W R@ ] T7;Ri7K,mv6si!.>0zUj:5N=Cѐ=] ZwVϞ\x5{7YUK:RTK`@QXwĈJr5J)Z6 <M] /Sͥ@tʯHnOV-=qA?Newk>!uiIb a~Ű``_zZ-6 8Ccn(FA:evQ Ss'9adW^™`Zlz j\rndnXa9 Lߊ%|ѩR;J؛J!Ewg0xꊼBcExCoDi^ dv.Lp?CBSLE{{-5 :Ӫe ;Eԓ7h9+2pwyh0(6P *t.(3SU#'$tm @RB4o[XJ7v']Z{͑VS#!B#rlq"r4]mT|3/w[3ARaV ,_"pN/@w׆G\–X:} @E_w[00r{U?TrI,*Wr6.}WZ'@~镰O/> 5 -{w-Acl-͙z"%Łqo.PUci'rV@l8 =} ̴̂*.Gj}tBPQf*P4 Q8Cچ 7 BG2ї)Brd-è $UiW)Wo];F]^{k{p '_cA ( \cZp% 젩y߿ ĭ%0w$QSݴ;0X!#B('xĠ=T78`Gxn(jټ /C= j=xj=vϭVN[]EYR+0৖Xsv|lIñ MWC@ d4O"5THNOsM)20XPNX9=B:wP/gWlQp蜊[?i4C`L):FŎĉF."بL׬nW@Y]b)` wE8zFPV `qf#c/;U$p6&OҞo tnCx(6ݶ1g.[<#Ƕ vP`u96%::vY%0hpe52T͈Ci\gAF1j"?sB~$xɮSk ޏ;UdeM+qBEm]CoY¯"TMge C،1pw}o' ;#oDG iڌ[!+[Nh*)=y+3 #9x8&T#u/t9 Ee_r4T]6ݍcޥ<*J1kCxVA<^- x].^yeS<!_k> WkQej!ߘe#!V} ϊ#!x%|o?"Q9q|A-8gT(.Nn9^kRmD>M=5AmW[r&O-,b>d5)k/WrX<A5hm0<,(J V[5X F`YU*X|[tޘZQq3(?4Z(+z$̫O;ђ[ C*`Ibuo.V5UىƎ[VUW"k_gK=;;LkKu3.j2>b#%kLddm=Z:?^1}/[I)Ől)];HzNߨo{W0@>F{3'pۓlL)P޴ά4Njt&o5V݁o˸+=IoVpiķC@9nC_j0 ^d-tH^ r+S `S{qwOIӢNc7&=@3y!?i0zM研`+IAsG; `oq"b-}1[\OPV㯆}hr}?ʓ7>g`}Iً^~b]yp NڪQ6hǛ~.\I@: p|8,GĞ6G*Gr8= Z+7Is%,IOKoX!c:EVԻ*W SƄh>6Lz~q3DOXrDɔ *f&G{cѨ"D]a!8کB ۾wqI1-G݀d*l#!W(9}-?J%DHŗrrbAo_hzn?:=E: xerOB2vՂŬB? <M[9x]Yk"BCvOM#T4 |o /߾W?`w_1d]ǏO?>è =K[͌wlXN0nxy.4x\v~%}[>QrtLj #s>H -ˆeZ#\;ʆqd(9{ tyC'$uj-Kj XXz 2);=+d2Bp7Y2l|2-|SkW_hm 8@B$0$Khr,n23e斻xĉ >!;N7@NN,e"ӥ1 3qWp5M,d ~:@RujqzJùE{dyB{DIY=crZTP-1YG7)`R29':w2ۦܖjWZʇ/L") ޭzx? ]PX ܙp" /&49JYno<{ڢL\f:[ bFo, )!;E;0y[cNQZ HR8C4$\{q[GcH0=%@#l­m%>xӄA2. }gXZZ= 2`h` QB*e" kKmv}[sV9B @  Ϲ@{K@5wL2d0DU1Mb\_E_4FPfsH=<^isB/|J Y9jlXy,/y؇P!>cf !OE X6Z@êшe(] u9qUSa|"rEPaD(Ao%@G-;̦կvsP*ZZ@^ʴY`A)$1rF)p.65juQvkVݪm+D`Og\): ޶²w Ы^-`U$<ZAXݶl *F )<2$G;H9$fJ6Dvnv"a:4?dQr ,R%]b3[rh[&.1e211e 2'Ci>]}\n[ⷯ xsSxCa H :AңIm_GUVH6 NJ`2dHf5lO>VeY1%5!WFJN@&A)* է|515|D(ZzF͟HVg6Mlր8d(cVQDD QD(M> tTEyap^R,6mis`*9P/w < ў|-O G>$HϽ}R\jq-D=Υ;j傒:^=.Bڄ Hvt4Y=$ j9GCW'=/(Q#r&zT1G,w9zzS{cZg0uˣBڀ7}2ye SG=8blgB*;YxQσ}J(1i,hš49J,t=!L)MjK:4nwJ ȵB|*r\[ٱNJS B[1sUg*zx^RKuk?5O/]( |B0 W&1aJ,;&.P.q1iK-d1wv~}G`BNJ*\Ne.Y_ȩS\ bԬЬaԾ7!j֠&4nYf1T4y;>qPŋiVpKqytgo05thp7Ao9#0P%aPaI hFʊj }KY:{O $ɑ6K)a8^ع;.Yɹ#_^P}p \ Z"3\z(Q np:=B~+on+4&>穘.pAN4OY0-SbƇqK_%QD`SĔBd i 6x "C5xj3VEliCe .>l c I.+%wqA2wϰv>]:ޞqJ6 ,\{5%U+ $|eWaCNLyZ'T/#|\SuӯfZee|' c+6{ל#UvxQI_>'PP `tȏ31בs ~Q oaJ?p@$pT`Dl0>xU%h P06o1F0)%唙u!&/U=@31%#֏7Tbo4xI^JS̕:JJ]ZhQVey)LЉ҂!\)*Hx,l*PȞa`DzW5+AeY jDk;Zd9>$.y<*{LsZtFk(vÐONDG] ?+p[d΀QOE$f1y!Q5"pP<px]Gc";ꎮP>YK?aUm|¤E-.֜3Hb9"wzy\ EL0/SS*ȣYȣ /#& Ţ$LQ.>":LVFU0=8 &`.sζOrgU6gnlY9$3iORL1w >7o4'\ϓ %H:zhN =幼#!.ƖA%go*Fcd@ar@_X̱T-m-ߑMm}[qt'·Bp |][c )>fV6כ']߰\aιQծq)+])'s^ӅQъpE\}ӓ%r 4qS59|s tZGR J9U[jΩ0dmPi~Ⱦ=ln+e~hg}4Vb~(lڝND2_总#@WT4agSڭNp{Ǎ4 Bi)dn]y,\4f7.8MV|#nUmjZFp&:3#~6wנ7Y?fѭ5/ œ/L8~>*MsjFJsP!Vr^N2HZ _4IFL9w!]w§{PNʼ+K١u5yxc,K b&ܵcW I4G2U:^NLqra" $PkK0`x+Y?;CTMQO<ç\ +VC:^a֚j ͎EL"̼@< _N+`,!'D0kՂұH.3A"yd#mt^Tm>3XRt@H ?{Q;s*/ 31JCR+䵍4pF`*0K$CHY,}s*f$mJM V DϣW)9,xr?)d- kO-ca!LE`RVPXE-#OwRYZ~3{z\Қ]}qzňT2|f9-3;>1Х}j .ԅSڽ7 覮] aqWDEb(rUx`$}q 3R0̪rìV^F5[)-TQف.e +Ur=+iU}$O,v9$>ަBœ FsO}M9fZO,7tT,IR$Lft,A~E/m<@Zu_^u6BX*SO`X]FyרRJKfv9}V8s/hŏv5HfrKyuA@kFdzR+ oF-yf]|c zzMP1[H@b^2%,% ;?yNpdgCU5mpU]q2G,ᑣ _ЯH7<ևP*fM_ CJ`@`nۅV-hd]h>8]&ᬠ?ыZj>6YJ['yW"=raA,YmZij%ZEj.\YH.(r >1،BԸ^%zav*%4UPCw feM9nvnivMSR>8*b9'a"B$ND.!E= 8n%wI8C,?GnÔ6cAHՋv }F-dKE+s6C t oAUuI-G"!|TS,/m=VJӲ(1 yKHVaIAR,ngA!T;W8dx6ԚZ̭=eMēxPִt#g5\A>zM}s ~V}V{3!PBȨD&Y!S&~7u :R|~͕jbV+/߽ޠoTveaV5ˮYI-j4:/ ++{[Xz(e*uF>h0'I53ם=uK@>)%pEQ]<]P%f%w.#YX^ Ё .+fN/f4k@Yke$9E-,|Ƨhj:*;Бi\%Эv^ЙfB)gfV#vlV6~*tv^Y@E@·IP LJ5ةv`0L񢂩GS F&;mQ ~HĚjc`W6S:!$n;H\Vt`:p8 x^E#&d۱O"BYerc?E le9ʛ% -@>bA,$nΛF1*r8Ӏ[)# ]: { v8-;B1k".1\\Ĺ<B[$g=Qa{.U%+TF[,Q%_Y'O:N z4;9a~8)?B<=KT杪Sh6S'0\j4`:rSŀA"c\hTg((UkΔs aU) a{)7mM<w\s\~Dw~rSN=FuLo^?/fqY |5A[HT:$JacAJR'9c8Hc};ȃpN1'd8բZaERZ*Wt9GAu_7Is|DtK@HNKɬ~P\t~drׁ)@ORm3'׊/sqP3H Ed"Q%"WIo{;hpT{3۫z\vr/c@M%K#";@HfI@>vdI?I;ʞrG_<|_!WWY:Kzgטj{P*.25F{x]y]Rj mCK=/V U婒T)mI};ζqI& !| U ,&R$D$4th AMkEXH 姬LgS3CڌBWlMlR>NAs2 AdP*6F37DɒCY*EIGo} CكNg'v.r\7d< :%m@̢>!^So2q˜v>hIv*QV@5yB\%j ;'PgMY(R~:xE߱DoHQ F}#zTyMH->԰x G ZҋKz$ 3%;(=?nw煸?`G=^Bc&U(gNiÐ@i3<ϰmH1KG ړceZ`w>_N2%kKYD݊_*J,{MwfЭ9?Jc%F&ݯ . z fl5P?' 8 k^Zm$n8µ1YMlvk$,"'$ L.v3N F=!u!K뭦--.}CB+@=}] +P?轅{P8:%@ՙ Pͯ ōbR#dr{t.SHYjzQjZ(o9o4n^X%p3(AkЭpBDsI_Q- Ru?!*VjٴHĪy xykeU_K-p~-()~pqW(1T;~ xO7qtێp2f.E/xXg1ZHRPNE띪C -Ryj`2dJd8L v.:A_{hDCع2C'7)*'.C0oc f9s;͛W7v@"F"jiw_{- J'+3=h/>.3mjv+ +N!G݈HO,I_t8Kv)c%Fr5>:fc_K1[{DZH/r7:O%.h0u@o76RHr8t>͡~KaFKunP^JNh4ꔶgOm9Ǫ+ˠl!$a$VXXwR:fsH\xʉ褮RA {O] u;"(fiݑ+WvWb.9<sw :}QH5/}~C@J