77
88use Extendify \ExtendifySdk \App ;
99use Extendify \ExtendifySdk \User ;
10+ use Extendify \ExtendifySdk \SiteSettings ;
1011
1112/**
1213 * This class handles any file loading for the admin area.
@@ -54,6 +55,10 @@ function ($hook) {
5455 return ;
5556 }
5657
58+ if (!$ this ->isLibraryEnabled ()) {
59+ return ;
60+ }
61+
5762 $ this ->addScopedScriptsAndStyles ();
5863 }
5964 );
@@ -87,7 +92,6 @@ public function addScopedScriptsAndStyles()
8792 App::$ slug . '-scripts ' ,
8893 EXTENDIFYSDK_BASE_URL . 'public/build/extendify-sdk.js ' ,
8994 [
90- 'wp-api ' ,
9195 'wp-i18n ' ,
9296 'wp-components ' ,
9397 'wp-element ' ,
@@ -103,7 +107,8 @@ public function addScopedScriptsAndStyles()
103107 'root ' => \esc_url_raw (rest_url (APP ::$ slug . '/ ' . APP ::$ apiVersion )),
104108 'nonce ' => \wp_create_nonce ('wp_rest ' ),
105109 'user ' => json_decode (User::data ('extendifysdk_user_data ' ), true ),
106- 'source ' => \esc_attr (APP ::$ sourcePlugin ),
110+ 'sitesettings ' => json_decode (SiteSettings::data ()),
111+ 'sdk_partner ' => \esc_attr (APP ::$ sdkPartner ),
107112 ]
108113 );
109114 \wp_enqueue_script (App::$ slug . '-scripts ' );
@@ -117,5 +122,40 @@ public function addScopedScriptsAndStyles()
117122 $ version ,
118123 'all '
119124 );
125+
126+ \wp_enqueue_style (
127+ App::$ slug . '-utility-classes ' ,
128+ EXTENDIFYSDK_BASE_URL . 'public/build/extendify-utilities.css ' ,
129+ [],
130+ $ version ,
131+ 'all '
132+ );
133+ }
134+
135+ /**
136+ * Check if current user is Admin
137+ *
138+ * @return Boolean
139+ */
140+ private function isAdmin ()
141+ {
142+ return in_array ('administrator ' , \wp_get_current_user ()->roles , true );
143+ }
144+
145+ /**
146+ * Check if scripts should add
147+ *
148+ * @return Boolean
149+ */
150+ public function isLibraryEnabled ()
151+ {
152+ $ settings = json_decode (SiteSettings::data ());
153+
154+ // If it's disabled, only show it for admins.
155+ if (isset ($ settings ->state ) && (isset ($ settings ->state ->enabled )) && !$ settings ->state ->enabled ) {
156+ return $ this ->isAdmin ();
157+ }
158+
159+ return true ;
120160 }
121161}
0 commit comments