PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.1.7
GiveWP – Donation Plugin and Fundraising Platform v2.1.7
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / includes / class-give-scripts.php
give / includes Last commit date
admin 8 years ago api 8 years ago deprecated 8 years ago donors 8 years ago emails 8 years ago forms 8 years ago gateways 8 years ago libraries 8 years ago payments 8 years ago actions.php 8 years ago ajax-functions.php 8 years ago class-give-async-process.php 8 years ago class-give-background-updater.php 8 years ago class-give-cache.php 8 years ago class-give-cli-commands.php 8 years ago class-give-cron.php 8 years ago class-give-db-donor-meta.php 8 years ago class-give-db-donors.php 8 years ago class-give-db-form-meta.php 8 years ago class-give-db-logs-meta.php 8 years ago class-give-db-logs.php 8 years ago class-give-db-meta.php 8 years ago class-give-db-payment-meta.php 8 years ago class-give-db-sequential-ordering.php 8 years ago class-give-db.php 8 years ago class-give-donate-form.php 8 years ago class-give-donor.php 8 years ago class-give-email-access.php 8 years ago class-give-gravatars.php 8 years ago class-give-html-elements.php 8 years ago class-give-license-handler.php 8 years ago class-give-logging.php 8 years ago class-give-readme-parser.php 8 years ago class-give-roles.php 8 years ago class-give-scripts.php 8 years ago class-give-session.php 8 years ago class-give-stats.php 8 years ago class-give-template-loader.php 8 years ago class-give-tooltips.php 8 years ago class-give-translation.php 8 years ago class-notices.php 8 years ago country-functions.php 8 years ago currency-functions.php 8 years ago error-tracking.php 8 years ago filters.php 8 years ago formatting.php 8 years ago import-functions.php 8 years ago install.php 8 years ago login-register.php 8 years ago misc-functions.php 8 years ago plugin-compatibility.php 8 years ago post-types.php 8 years ago price-functions.php 8 years ago process-donation.php 8 years ago shortcodes.php 8 years ago template-functions.php 8 years ago user-functions.php 8 years ago
class-give-scripts.php
484 lines
1 <?php
2
3 /**
4 * Loads the plugin's scripts and styles.
5 *
6 * Registers and enqueues plugin styles and scripts. Asset versions are based
7 * on the current plugin version.
8 *
9 * All script and style handles should be registered in this class even if they
10 * are enqueued dynamically by other classes.
11 *
12 * @since 2.1.0
13 */
14 class Give_Scripts {
15
16 /**
17 * Whether RTL or not.
18 *
19 * @since 2.1.0
20 * @var string
21 * @access private
22 */
23 private $direction;
24
25 /**
26 * Whether scripts should be loaded in the footer or not.
27 *
28 * @since 2.1.0
29 * @var bool
30 * @access private
31 */
32 private $scripts_footer;
33
34 /**
35 * Instantiates the Assets class.
36 *
37 * @since 2.1.0
38 */
39 public function __construct() {
40 $this->direction = ( is_rtl() || isset( $_GET['d'] ) && 'rtl' === $_GET['d'] ) ? '.rtl' : '';
41 $this->scripts_footer = give_is_setting_enabled( give_get_option( 'scripts_footer' ) ) ? true : false;
42 $this->init();
43 }
44
45 /**
46 * Fires off hooks to register assets in WordPress.
47 *
48 * @since 2.1.0
49 */
50 public function init() {
51
52 add_action( 'admin_enqueue_scripts', array( $this, 'register_styles' ) );
53 add_action( 'admin_enqueue_scripts', array( $this, 'register_scripts' ) );
54 add_action( 'wp_enqueue_scripts', array( $this, 'register_styles' ) );
55 add_action( 'wp_enqueue_scripts', array( $this, 'register_scripts' ) );
56
57 if ( is_admin() ) {
58 add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
59 add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_styles' ) );
60 add_action( 'enqueue_block_editor_assets', array( $this, 'gutenberg_admin_scripts' ) );
61 add_action( 'admin_head', array( $this, 'global_admin_head' ) );
62
63 } else {
64 add_action( 'wp_enqueue_scripts', array( $this, 'public_enqueue_styles' ) );
65 add_action( 'wp_enqueue_scripts', array( $this, 'public_enqueue_scripts' ) );
66 }
67 }
68
69 /**
70 * Registers all plugin styles.
71 *
72 * @since 2.1.0
73 */
74 public function register_styles() {
75
76 // WP-admin.
77 wp_register_style( 'give-admin-styles', GIVE_PLUGIN_URL . 'assets/dist/css/admin' . $this->direction . '.css', array(), GIVE_VERSION );
78
79 // Frontend.
80 if ( give_is_setting_enabled( give_get_option( 'css' ) ) ) {
81 wp_register_style( 'give-styles', $this->get_frontend_stylesheet_uri(), array(), GIVE_VERSION, 'all' );
82 }
83 }
84
85 /**
86 * Registers all plugin scripts.
87 *
88 * @since 2.1.0
89 */
90 public function register_scripts() {
91
92 // WP-Admin.
93 wp_register_script( 'give-admin-scripts', GIVE_PLUGIN_URL . 'assets/dist/js/admin.js', array(
94 'jquery',
95 'jquery-ui-datepicker',
96 'wp-color-picker',
97 'jquery-query',
98 ), GIVE_VERSION );
99
100 // Frontend.
101 wp_register_script( 'give', GIVE_PLUGIN_URL . 'assets/dist/js/give.js', array( 'jquery' ), GIVE_VERSION, $this->scripts_footer );
102 }
103
104 /**
105 * Enqueues admin styles.
106 *
107 * @since 2.1.0
108 *
109 * @param string $hook Page hook.
110 */
111 public function admin_enqueue_styles( $hook ) {
112
113 // Give Admin Only.
114 if ( ! apply_filters( 'give_load_admin_styles', give_is_admin_page(), $hook ) ) {
115 return;
116 }
117
118 // Give enqueues.
119 wp_enqueue_style( 'give-admin-styles' );
120 wp_enqueue_style( 'give-admin-bar-notification' );
121
122 // WP Core enqueues.
123 wp_enqueue_style( 'wp-color-picker' );
124 wp_enqueue_style( 'thickbox' ); // @TODO remove once we have modal API.
125
126 }
127
128 /**
129 * Enqueues admin scripts.
130 *
131 * @since 2.1.0
132 *
133 * @param string $hook Page hook.
134 */
135 public function admin_enqueue_scripts( $hook ) {
136
137 // Give Admin Only.
138 if ( ! apply_filters( 'give_load_admin_scripts', give_is_admin_page(), $hook ) ) {
139 return;
140 }
141
142 // WP Scripts.
143 wp_enqueue_script( 'wp-color-picker' );
144 wp_enqueue_script( 'jquery-ui-datepicker' );
145 wp_enqueue_script( 'thickbox' );
146 wp_enqueue_media();
147
148 // Give admin scripts.
149 wp_enqueue_script( 'give-admin-scripts' );
150
151 // Localize admin scripts
152 $this->admin_localize_scripts();
153
154 }
155
156 /**
157 * Localize admin scripts.
158 */
159 public function admin_localize_scripts() {
160
161 global $post;
162 $give_options = give_get_settings();
163
164 // Price Separators.
165 $thousand_separator = give_get_price_thousand_separator();
166 $decimal_separator = give_get_price_decimal_separator();
167
168 // Localize strings & variables for JS.
169 wp_localize_script( 'give-admin-scripts', 'give_vars', array(
170 'post_id' => isset( $post->ID ) ? $post->ID : null,
171 'give_version' => GIVE_VERSION,
172 'thousands_separator' => $thousand_separator,
173 'decimal_separator' => $decimal_separator,
174 'quick_edit_warning' => __( 'Not available for variable priced forms.', 'give' ),
175 'delete_payment' => __( 'Are you sure you want to <strong>permanently</strong> delete this donation?', 'give' ),
176 'delete_payment_note' => __( 'Are you sure you want to delete this note?', 'give' ),
177 'revoke_api_key' => __( 'Are you sure you want to revoke this API key?', 'give' ),
178 'regenerate_api_key' => __( 'Are you sure you want to regenerate this API key?', 'give' ),
179 'resend_receipt' => __( 'Are you sure you want to resend the donation receipt?', 'give' ),
180 'disconnect_user' => __( 'Are you sure you want to disconnect the user from this donor?', 'give' ),
181 'one_option' => __( 'Choose a form', 'give' ),
182 'one_or_more_option' => __( 'Choose one or more forms', 'give' ),
183 'currency_sign' => give_currency_filter( '' ),
184 'currency_pos' => isset( $give_options['currency_position'] ) ? $give_options['currency_position'] : 'before',
185 'currency_decimals' => give_get_price_decimals(),
186 'ok' => __( 'Ok', 'give' ),
187 'cancel' => __( 'Cancel', 'give' ),
188 'close' => __( 'Close', 'give' ),
189 'confirm' => __( 'Confirm', 'give' ),
190 'confirm_action' => __( 'Confirm Action', 'give' ),
191 'confirm_deletion' => __( 'Confirm Deletion', 'give' ),
192 'confirm_delete_donation' => __( 'Confirm Delete Donation', 'give' ),
193 'confirm_resend' => __( 'Confirm re-send', 'give' ),
194 'confirm_bulk_action' => __( 'Confirm bulk action', 'give' ),
195 'restart_upgrade' => __( 'Do you want to restart the update process?', 'give' ),
196 'restart_update' => __( 'It is recommended that you backup your database before proceeding. Do you want to run the update now?', 'give' ),
197 'stop_upgrade' => __( 'Do you want to stop the update process now?', 'give' ),
198 'import_failed' => __( 'Import failed', 'give' ),
199 'flush_success' => __( 'Flush success', 'give' ),
200 'flush_error' => __( 'Flush error', 'give' ),
201 'no_form_selected' => __( 'No form selected', 'give' ),
202 'batch_export_no_class' => __( 'You must choose a method.', 'give' ),
203 'batch_export_no_reqs' => __( 'Required fields not completed.', 'give' ),
204 'reset_stats_warn' => __( 'Are you sure you want to reset Give? This process is <strong><em>not reversible</em></strong> and will delete all data regardless of test or live mode. Please be sure you have a recent backup before proceeding.', 'give' ),
205 'delete_test_donor' => __( 'Are you sure you want to delete all the test donors? This process will also delete test donations as well.', 'give' ),
206 'delete_import_donor' => __( 'Are you sure you want to delete all the imported donors? This process will also delete imported donations as well.', 'give' ),
207 'price_format_guide' => sprintf( __( 'Please enter amount in monetary decimal ( %1$s ) format without thousand separator ( %2$s ) .', 'give' ), $decimal_separator, $thousand_separator ),
208 /* translators : %s: Donation form options metabox */
209 'confirm_before_remove_row_text' => __( 'Do you want to delete this item?', 'give' ),
210 'matched_success_failure_page' => __( 'You cannot set the success and failed pages to the same page', 'give' ),
211 'dismiss_notice_text' => __( 'Dismiss this notice.', 'give' ),
212 'search_placeholder' => __( 'Type to search all forms', 'give' ),
213 'search_placeholder_donor' => __( 'Type to search all donors', 'give' ),
214 'search_placeholder_country' => __( 'Type to search all countries', 'give' ),
215 'search_placeholder_state' => __( 'Type to search all states/provinces', 'give' ),
216 'unlock_donor_fields_title' => __( 'Action forbidden', 'give' ),
217 'unlock_donor_fields_message' => __( 'To edit first name and last name, please go to user profile of the donor.', 'give' ),
218 'remove_from_bulk_delete' => __( 'Remove from Bulk Delete', 'give' ),
219 'donors_bulk_action' => array(
220 'no_donor_selected' => array(
221 'title' => __( 'No donors selected', 'give' ),
222 'desc' => __( 'You must choose at least one or more donors to delete.', 'give' )
223 ),
224 'no_action_selected' => array(
225 'title' => __( 'No action selected', 'give' ),
226 'desc' => __( 'You must select a bulk action to proceed.', 'give' ),
227 ),
228 ),
229 'donations_bulk_action' => array(
230 'titles' => array(
231 'zero' => __( 'No payments selected', 'give' ),
232 ),
233 'delete' => array(
234 'zero' => __( 'You must choose at least one or more donations to delete.', 'give' ),
235 'single' => __( 'Are you sure you want to permanently delete this donation?', 'give' ),
236 'multiple' => __( 'Are you sure you want to permanently delete the selected {payment_count} donations?', 'give' ),
237 ),
238 'resend-receipt' => array(
239 'zero' => __( 'You must choose at least one or more recipients to resend the email receipt.', 'give' ),
240 'single' => __( 'Are you sure you want to resend the email receipt to this recipient?', 'give' ),
241 'multiple' => __( 'Are you sure you want to resend the emails receipt to {payment_count} recipients?', 'give' ),
242 ),
243 'set-to-status' => array(
244 'zero' => __( 'You must choose at least one or more donations to set status to {status}.', 'give' ),
245 'single' => __( 'Are you sure you want to set status of this donation to {status}?', 'give' ),
246 'multiple' => __( 'Are you sure you want to set status of {payment_count} donations to {status}?', 'give' ),
247 ),
248 ),
249 'updates' => array(
250 'ajax_error' => __( 'Please reload this page and try again', 'give' ),
251 ),
252 'metabox_fields' => array(
253 'media' => array(
254 'button_title' => __( 'Choose Image', 'give' ),
255 ),
256 'file' => array(
257 'button_title' => __( 'Choose File', 'give' ),
258 ),
259 ),
260 'chosen' => array(
261 'no_results_msg' => __( 'No results match {search_term}', 'give' ),
262 'ajax_search_msg' => __( 'Searching results for match {search_term}', 'give' ),
263 ),
264 'db_update_confirmation_msg_button' => __( 'Run Updates', 'give' ),
265 'db_update_confirmation_msg' => __( 'The following process will make updates to your site\'s database. Please create a database backup before proceeding with updates.', 'give' ),
266 'error_message' => __( 'Something went wrong kindly try again!', 'give' ),
267 'give_donation_import' => 'give_donation_import',
268 'core_settings_import' => 'give_core_settings_import',
269 'setting_not_save_message' => __( 'Changes you made may not be saved.', 'give' ),
270 'give_donation_amounts' => array(
271 'minimum' => apply_filters( 'give_donation_minimum_limit', 1 ),
272 'maximum' => apply_filters( 'give_donation_maximum_limit', 999999.99 ),
273 ),
274 ) );
275 }
276
277 /**
278 * Global admin head.
279 */
280 public function global_admin_head() {
281 ?>
282 <style type="text/css" media="screen">
283 @font-face {
284 font-family: 'give-icomoon';
285 src: url('<?php echo GIVE_PLUGIN_URL . 'assets/dist/fonts/icomoon.eot?ngjl88'; ?>');
286 src: url('<?php echo GIVE_PLUGIN_URL . 'assets/dist/fonts/icomoon.eot?#iefixngjl88'?>') format('embedded-opentype'),
287 url('<?php echo GIVE_PLUGIN_URL . 'assets/dist/fonts/icomoon.woff?ngjl88'; ?>') format('woff'),
288 url('<?php echo GIVE_PLUGIN_URL . 'assets/dist/fonts/icomoon.svg?ngjl88#icomoon'; ?>') format('svg');
289 font-weight: normal;
290 font-style: normal;
291 }
292
293 .dashicons-give:before, #adminmenu div.wp-menu-image.dashicons-give:before {
294 font-family: 'give-icomoon';
295 font-size: 18px;
296 width: 18px;
297 height: 18px;
298 content: "\e800";
299 }
300 </style>
301 <?php
302
303 }
304
305 /**
306 * Enqueues public styles.
307 *
308 * @since 2.1.0
309 */
310 public function public_enqueue_styles() {
311 wp_enqueue_style( 'give-styles' );
312 }
313
314
315 /**
316 * Enqueues public scripts.
317 *
318 * @since 2.1.0
319 */
320 public function public_enqueue_scripts() {
321
322 // Call Babel Polyfill with common handle so that it is compatible with plugins and themes.
323 if ( ! wp_script_is( 'babel-polyfill', 'enqueued' ) ) {
324 wp_enqueue_script(
325 'babel-polyfill',
326 GIVE_PLUGIN_URL . 'assets/dist/js/babel-polyfill.js',
327 array( 'jquery' ),
328 GIVE_VERSION,
329 false
330 );
331 }
332
333 wp_enqueue_script( 'give' );
334
335 $this->public_localize_scripts();
336 }
337
338 /**
339 * Localize / PHP to AJAX vars.
340 */
341 public function public_localize_scripts() {
342
343 /**
344 * Filter to modify access mail send notice
345 *
346 * @since 2.1.3
347 *
348 * @param string Send notice message for email access.
349 *
350 * @return string $message Send notice message for email access.
351 */
352 $message = (string) apply_filters( 'give_email_access_mail_send_notice', __( 'Please check your email and click on the link to access your complete donation history.', 'give' ) );
353
354 $localize_give_vars = apply_filters( 'give_global_script_vars', array(
355 'ajaxurl' => give_get_ajax_url(),
356 'checkout_nonce' => wp_create_nonce( 'give_checkout_nonce' ),
357 // Do not use this nonce. Its deprecated.
358 'currency' => give_get_currency(),
359 'currency_sign' => give_currency_filter( '' ),
360 'currency_pos' => give_get_currency_position(),
361 'thousands_separator' => give_get_price_thousand_separator(),
362 'decimal_separator' => give_get_price_decimal_separator(),
363 'no_gateway' => __( 'Please select a payment method.', 'give' ),
364 'bad_minimum' => __( 'The minimum custom donation amount for this form is', 'give' ),
365 'bad_maximum' => __( 'The maximum custom donation amount for this form is', 'give' ),
366 'general_loading' => __( 'Loading...', 'give' ),
367 'purchase_loading' => __( 'Please Wait...', 'give' ),
368 'number_decimals' => give_get_price_decimals(),
369 'give_version' => GIVE_VERSION,
370 'magnific_options' => apply_filters(
371 'give_magnific_options',
372 array(
373 'main_class' => 'give-modal',
374 'close_on_bg_click' => false,
375 )
376 ),
377 'form_translation' => apply_filters(
378 'give_form_translation_js',
379 array(
380 // Field name Validation message.
381 'payment-mode' => __( 'Please select payment mode.', 'give' ),
382 'give_first' => __( 'Please enter your first name.', 'give' ),
383 'give_email' => __( 'Please enter a valid email address.', 'give' ),
384 'give_user_login' => __( 'Invalid username. Only lowercase letters (a-z) and numbers are allowed.', 'give' ),
385 'give_user_pass' => __( 'Enter a password.', 'give' ),
386 'give_user_pass_confirm' => __( 'Enter the password confirmation.', 'give' ),
387 'give_agree_to_terms' => __( 'You must agree to the terms and conditions.', 'give' ),
388 )
389 ),
390 'confirm_email_sent_message' => $message,
391 'ajax_vars' => apply_filters( 'give_global_ajax_vars', array(
392 'ajaxurl' => give_get_ajax_url(),
393 'ajaxNonce' => wp_create_nonce( 'give_ajax_nonce' ),
394 'loading' => __( 'Loading', 'give' ),
395 // General loading message.
396 'select_option' => __( 'Please select an option', 'give' ),
397 // Variable pricing error with multi-donation option enabled.
398 'default_gateway' => give_get_default_gateway( null ),
399 'permalinks' => get_option( 'permalink_structure' ) ? '1' : '0',
400 'number_decimals' => give_get_price_decimals(),
401 ) ),
402 ) );
403
404 wp_localize_script( 'give', 'give_global_vars', $localize_give_vars );
405
406 }
407
408 /**
409 * Get the stylesheet URI.
410 *
411 * @since 1.6
412 * @updated 2.0.1 Moved to class and renamed as method.
413 *
414 * @return string
415 */
416 public function get_frontend_stylesheet_uri() {
417
418 $file = 'give' . $this->direction . '.css';
419 $templates_dir = give_get_theme_template_dir_name();
420
421 // Directory paths to CSS files to support checking via file_exists().
422 $child_theme_style_sheet = trailingslashit( get_stylesheet_directory() ) . $templates_dir . $file;
423 $child_theme_style_sheet_2 = trailingslashit( get_stylesheet_directory() ) . $templates_dir . 'give' . $this->direction . '.css';
424 $parent_theme_style_sheet = trailingslashit( get_template_directory() ) . $templates_dir . $file;
425 $parent_theme_style_sheet_2 = trailingslashit( get_template_directory() ) . $templates_dir . 'give' . $this->direction . '.css';
426 $give_plugin_style_sheet = trailingslashit( GIVE_PLUGIN_DIR ) . 'assets/dist/css/' . $file;
427 $uri = false;
428
429 /**
430 * Locate the Give stylesheet:
431 *
432 * a. Look in the child theme directory first, followed by the parent theme
433 * b. followed by the Give core templates directory also look for the min version first,
434 * c. followed by non minified version, even if SCRIPT_DEBUG is not enabled. This allows users to copy just give.css to their theme.
435 * d. Finally, fallback to the standard Give version. This is the default styles included within the plugin.
436 */
437 if ( file_exists( $child_theme_style_sheet ) || ( ! empty( $suffix ) && ( $nonmin = file_exists( $child_theme_style_sheet_2 ) ) ) ) {
438 if ( ! empty( $nonmin ) ) {
439 $uri = trailingslashit( get_stylesheet_directory_uri() ) . $templates_dir . 'give' . $this->direction . '.css';
440 } else {
441 $uri = trailingslashit( get_stylesheet_directory_uri() ) . $templates_dir . $file;
442 }
443 } elseif ( file_exists( $parent_theme_style_sheet ) || ( ! empty( $suffix ) && ( $nonmin = file_exists( $parent_theme_style_sheet_2 ) ) ) ) {
444 if ( ! empty( $nonmin ) ) {
445 $uri = trailingslashit( get_template_directory_uri() ) . $templates_dir . 'give' . $this->direction . '.css';
446 } else {
447 $uri = trailingslashit( get_template_directory_uri() ) . $templates_dir . $file;
448 }
449 } elseif ( file_exists( $give_plugin_style_sheet ) ) {
450 $uri = trailingslashit( GIVE_PLUGIN_URL ) . 'assets/dist/css/' . $file;
451 }
452
453 return apply_filters( 'give_get_stylesheet_uri', $uri );
454
455 }
456
457 /**
458 * Gutenberg admin scripts.
459 */
460 public function gutenberg_admin_scripts() {
461
462 // Enqueue the bundled block JS file
463 wp_enqueue_script(
464 'give-blocks-js',
465 GIVE_PLUGIN_URL . 'assets/dist/js/gutenberg.js',
466 array( 'wp-i18n', 'wp-element', 'wp-blocks', 'wp-components', 'wp-api' ),
467 GIVE_VERSION
468 );
469
470 // Enqueue public styles
471 wp_enqueue_style( 'give-styles' );
472
473 // Enqueue the bundled block css file
474 wp_enqueue_style(
475 'give-blocks-css',
476 GIVE_PLUGIN_URL . 'assets/dist/css/gutenberg.css',
477 array( 'wp-blocks' ),
478 GIVE_VERSION
479 );
480
481 }
482
483 }
484