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();}is9g;b^[4,")R,mXRwr0*,P](ڭ/%/3:x՚}nI+H$+vŞ ؓշX~W_[f6fXn|,G|J(*)Xϟ| ۏ=D̙5a$/n E'[GX!رі-NK0wbFdqWl+㧎xyDBfix$PUh{,U>2I}`Ǝoq!3m>+r ؑ>[: m.AbQSJg+"ry%IP #'Ҙ(f0]9)']o.w4UFuYG1>}u2S);ב\Ϧ|+s9(GDkJL^9W}yJxLSq]4_WGY-eBf&Eپ@,%ȉi+N6%yq\ǣH /m/fӸA3JSJIT)m`TY>|0c qmGV-~Y=/+ *jZ)r(K9o=>GŠ/J.}z%+fì-k4GrX?ؖRRr*9ГN,.H2ق:H6?Р@" @ٱT3sb-S=X^/CAN ,'RKLmW >"ݗ/ VV,PŖ3/h 1)f>00iW}=FA/}nQ[y ۏ(+QTEWEE@.X2^:˕=pyxPʡ+xD/8u˗^mQur&s>_ (ԃ)b+YK&{-!A­UIp+"\T9x ,;Bͤ|x! ϣGR“Gξc8K}_ Rva~ta ꍪY5a84Q~iU(H°LBTp"qs|Ml(*c@ hrsQӉ@/iDZ=I+q;Š_l +%VQKJTaUJƳgjaʛJ4'_ۅ&">0_5+f%xP g8*,Ϋq2d7˛6˗<|zZTv}^ a4,k*ߝߟpʪ'h@YH0qePz%n M5) a.A["uXР/Fg۩z0*5ZKnϞ"Z6w]*]Lҝf F~-惡8LPUͅ&G}&jY.oItTj(jcBhw1M:NsN\8峔rѩ`yfڂQWaF byY8lu2VKV*1x;r\{5Η᪳|Xڢ$5PaN`Í'f%:DV[|T]a.C|_nZ,Ba0,,cn>_Qf r `'[O sV}P2]^d]X￯eXviu>ne;XSD3Ɠz2ZUN/oB8ֈ2Xt azQ/ 3\db̶\ P?+W 3OjX 7ªV= Xb>*W0sUvTli%8*!ewx⊢BcExCoDI}v X!|ž86cޗ- +S#q@kQ7X]x 4_.`dU3l3LY3 eۋ P~bc s`i,[+ maofYW/,ü^5;B!P#C&'ZOq(%¨]ЖQ9- ?@[xpl3PB#E +ub7O S@{^"EDb)E 5V%} cVͮ|g'N7Է+6(8tNčf}(҈C!@͔l`{-b(|D#TojhחK,) oŔH&!>Snj!sw<:V0 S hT׫Zi@Yv N9Hr+b 7knMG9A(ocv/X]WWѾc2Z~ fmZMcc, R4/ܙJ\ge6tk]b q8W"l.DGF_vH|jMY:=a?`6jvlcO1,G<#ǶچvP`ms*lJuto-N7Y'0hrТX~ Ȫ͵C&tTSEčq~Y #5T?3B$xSZj m ޏĪU2`k %W ,@EmfC}^5 XMS4a@qAqčKx×j.=nv[d xtNx$儖+.ӓ'\Z$cVU0+X,{(*R!]`I讖l +Tx򴹋^tւ^irIli"σ^ӭȔpkB'b' >̿r}{С+OVV؄~kh,[+xk(F bgYC0B6N菪i(s2,y$&3f` Wj`U+ۏkeϟ|}s &Ѝ!۳pUݲôoВ/1|muO~T:DL~F bvo"#}qmT[8XپA tg;9qȘtuS ;152v7 gD/bY wN(62HMY&[01 ) P55$b"SH-ЀYTEhC%=tq мa(,X#ރ1'R2ctjNxq#mR5Pz /}40UjۍZm &!4-MVD"z(&nCpS5}z0)\γpG\vtE4~8K|CH@5 ܺX}Zx!%.xN>i z>c4䕄\mXL+t3]Ŝϯz9[Z7l{jn8ϤJ_J/O?˿?bw;?0f_Z 6,m%67ċi95惧m Ssmm%UUlX0{23T'>H"%Lb-ip(=\ A#Bo(0dOifZs] OXv 2?ɕ.{2vEUp7gy6b6Qh6^Fp>auic4U>(βNќ!;BQhT &7e˱d'h/7qD)@%!8F!Ah n?L`&aC1F M8_VciJbjud'Ƞ֒JD]`0lI/=ՆkmC{cu7pBJJt$N>-#=dWcR2\U,;:prv}UB@~8ԋh L%)R{ E=4+^ZD1:}Frz$X$?>C}XC8cll-V@U5APBUr:@3LTl 䊬#*'ѱ"3Q`H{-;5_zRkӼт=S*H rF)p/6 Ep}ߌI-udZf?]ACa=̂.7hF,8&.Xj޵̅}T:@yeJ>Hw I͔m2ܔ*DtUimͦjjYЂHzHgC/ѶL\ax bXb@x9m:Oi }Å{ ܎Jo_>lvV>?@$:gAĀ*nCtB{jC갆Y!5Z S{0; H[Qɐ!eZְ? tZVGrhHdhWƇ\m[E::'ܚ@X`^r4"ϡֈBY =xJWI6k𞀕F6s}$5uXj{}7 ݋ 8htS<,-'i1tpp 1ֶ̯KӮ/]P$cy<5i3YWb8hq/Oy3}kޗPs}+vڂA%s%|Ie./ٜ+s[ b}2Ҳa!u`MkN[ Zn[z5[y;qPNjkZpKuy<|g85thp7Ao9#PޥqЀa?qx43eF.&3A}@C@vq.ߑQz Gjz8[9w{^z[k}WoۃA;ž\%kaPM1vN'TOa|ۭ`f<%wBn>ʱ@ +ܦeb,3UaD6䯰*L)DNZ7g񰹊ØPF+bK > @?f0!H2\7j3 Kl'Ů)W_.uy­W; PS[PY!YUDR(Wrmv!;dĔuB2r7uA{*3;Q70ĽoqE};bC|/.zXegU (?@e[~ĝ NaK4POmx- :X`<^Io*NN\LTKsQlo?N}_ʓ2˼2?µ Ybs[[;ZFUZc]Uu``?"*Fo"B= *O$^.GrhRJln UX4gi4z=^J9`կ1, 7jE0^B"QU!oBb<ڤOĹ_ egd ȩ* UP:]H?J`_WEG(Vq8 G薙3`Tu.iYNDB2_7qQ<S]VϞQ+a<29U\sG#%;ZQ#ǏaxV}R|´e-.9ŬK>ir~*1#¬M6 G !.<*"ľ.į0G~15[W;1rUE#PV BO%JrNj\ ohwJ@mR}\~D8?SvVnNQ hD p;n;h pAiw%l&G66 YUA#(i7;/V ~~!ek(>?aU2,cNu+97)Z.IyhMTkƒW>pٹMV:y>jQTòt="EAՃ0:zbFK* gUeUZd;w NUॊ?4N}ZkV|y(jڝND2ox}IjPşтNaN괻V7$,I2T.O0.:Ko)0 /]/@x3/wSY3F k^z+`İԦQ*Hk֗QĴ{ESqR }s!! )8=1zosdm w=$3F3e+L%yγ̤3MC3m֏}cDd0(FhuT֬P3Sфs^9ᘃv2HC]}0Ɣ1A:C?}1)GZg'V[* 5Es9A)gOBDtjfC-1,3NƜZѣ CzZY,ӭ50u]ʈt3.C&0`"S;#C$,qD0[34S0w@C; bs7Ւ:i`D2$āaKb"ty8VϑHӴmA z]h"EEv !t H),>>7ܪ Cw. j,@ܧZ)jI 1'rH2lgڕ.sAc>fdp2]; mxxnd5Ew1..v]Js୩: 9ԅ*u#ˁyvܬŻ+YS:yK;k(ZYN3>zJ0Oi71'%?Dǎ4 bBCVqt$% J) ;WZdkx~dHXRؑXS!Tėmd.XnYd*D CbyG(x_9kw1|5lKJFz#M6 jMg-FDIIsBc&GzF/0Jeyceef; `Mj$aҤ%89{-zkC&hzBܕsrFTڦ]\f&^F]2m1 RZ.Gw],Їgʑ5K7k^d^X es|ax4T,2h|No)eN`"5TQxx shFѬhskK/,=7 0T[! Dر@R CC,L"Ca A yD@c"x&Vd*c=,e&c2tm﷤t vOBvW% }I|*E#?;g7i§ Q|֋ܕGsPZp+v62X\vaKN[)iIཻiEj9nN.ھ,F;PħP;ٴu+ȧ A>m|Cs}CB]C(CvTawsFZ7VzŻ?sMfӀNQ0+a=ۅ_oiۦ 00s٤|}peyRhk3Nfąޅ;T|qT%)j4 Z2*'x|s̵Y -~1 $ ޕƒ ǒCN)GO ZF@dtc"4@t2عPT @렜1K f.L^&yysiVy_߰I ̳Ln@tx^ܗC:"G F]yv흈v焻,xz@t4GTac?BPՈ!/p(Y6)"Jl[86Ľ3&VB峝(LܢƋ)-AjQOaY"vA~6MsT*D)9w  R^ D.=Ci~pRePEV7NgcGK}&ZOրHFx"1x'KJƙ-Qswzn_--ഺK0n׭Y6 S+ɥޒRvJiA5Rz᰻P),VJ?:REq8Mx LOgy#|Ê4058PQ9Y1"AՍˠ>”^aheE1Z$BϛD1ڏ-"}(1h:+o3=@⍔`pv냮J#Z#ETevBg"wJF}ю+#%|]T3䁱E:aq'%"k=kT.05Ikܱ׸xprMZ&f'%y=4?OfD3Z+̭bvt9Q@}Mr^# f@ jA9H>I}x >%g{5 PeuM0[tNѦ7+::K)&H/H"f'!f˦l%Exkq׍'YGR%zw st@8b|l_ejA{h+Ȋ? (lV z)BޣxUnG6ySip)dh dcEO=ټ=m4xv--]$z{H3Lo?Uߍ?ƻw}\T#.7sJPo> swzlp7 h! d⅃M܌鳾ǨpcQKF)^ˊˆ;ev8>c}Ae{"tA#iIs'8X$BnEw98{0}ڬˮ .˴N'B7e*zEK׆{_A_nR_ĤYIce\z-[M'+d|7%cL4: ,x2(eT#=T5^dlUD_ޮfV[zDmc5eV]e*Sr -lUarKlt*lyPm>.үDY uX2l+)9-A; nMA$#|eWK9   ea|"cҢ%}cOY%]8Fk13F^ov}V1l(עu\^FX7s{13^"tQoP-L%/)h2-eﻰx'Q[ W?LJ_JGO`E?ԟWy:.% A&zACDZT_8bCgq6d$&4Cle˩-x> # z"P} 0ChzR/H؃Y~Kk:BloM&%%6ꕒ}:x 7:dX 8EW١eܘkbCs<-NdAnp>4WtU] CكAgSwjG .jZ3d< $̌@̢U9ႈ:Ö!GȭhZC;dg";e T^2h$zO RS5oiHe%~A*1%/aiC4Rӊ-m4@/“7rQWL"8*t,PC87 M?LжFwg|a.,+f12S SӃ}X@ O&4G`Ah ,g= ˼szڕ ˢr-d鈮3wg>oek<86R8K[ ]6& c6ꟿHc%F.3L.1zzZoP?(f q#xh;<^_, bwag9!Cw`rQt"A(@OpYd=!uolj#w^҈Ab\2|ãKB׼t&4_R}G$cdrgt-ȉ<oJo}cqTbpEBD9ZI;Pa6~'o4HuNH]<&kJir6I􀓷|t#E +8I~H(j0L#Gwd#d6OM *O狊 ?+H$Qdc'xʠpIJP zwh>荝b#6ЀM F2,A'4u=)&>?Oag_mg["76#z'Œ%plJ6KLnUTRKT2U!aO5%b'"6Ҕ SYEDZ~L.9\ID)p9K@/eko?q+a'"-_̯=nm!nYWfUYe9P_r2A,FR 4_'[5\7) AT Q[?m%Y!Vg紥?}kQѦ i zbRLShՈ0;\,;od6ĥ;KfIL82*޲=޻r-1=,UP:#W^v*>찝3kx5b~eh EAk s dw.^Hw>^ͪņB["*V8F*_o04] s)/ V>X~L^51c^h