PluginProbe
User Submitted Posts – Enable Users to Submit Posts from the Front End / 20230901
User Submitted Posts – Enable Users to Submit Posts from the Front End v20230901
20260916 20260810 20260608 20230806 20230809 20230811 20230901 20230902 20230914 20231102 20240319 20240516 20240703 20241026 20250327 20250329 20251121 20251210 20260110 20260113 20260207 20260217 20260407 20260422 trunk All 59 releases
user-submitted-posts / library / enqueue-scripts.php

enqueue-scripts.php in User Submitted Posts – Enable Users to Submit Posts from the Front End 20230901, at library/enqueue-scripts.php

193 lines 7.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php // User Submitted Posts - Enqueue Script & Style
2
3 if (!defined('ABSPATH')) die();
4
5 function usp_enqueueResources() {
6
7 global $usp_options;
8
9 $min_images = isset($usp_options['min-images']) ? $usp_options['min-images'] : null;
10 $include_js = isset($usp_options['usp_include_js']) ? $usp_options['usp_include_js'] : null;
11 $form_type = isset($usp_options['usp_form_version']) ? $usp_options['usp_form_version'] : null;
12 $display_url = isset($usp_options['usp_display_url']) ? $usp_options['usp_display_url'] : null;
13 $recaptcha = isset($usp_options['usp_recaptcha']) ? $usp_options['usp_recaptcha'] : null;
14 $multi_cats = isset($usp_options['multiple-cats']) ? $usp_options['multiple-cats'] : null;
15 $existing_tags = isset($usp_options['usp_existing_tags']) ? $usp_options['usp_existing_tags'] : null;
16
17 $protocol = is_ssl() ? 'https://' : 'http://';
18
19 $http_host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'undefined';
20
21 $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '/na';
22
23 $current_url = esc_url_raw($protocol . $http_host . $request_uri);
24
25 $current_url = remove_query_arg(array('submission-error', 'error', 'success', 'post_id'), $current_url);
26
27 $plugin_url = plugins_url('/user-submitted-posts');
28
29 $custom_url = get_stylesheet_directory_uri() .'/usp/usp.css';
30
31 $custom_path = get_stylesheet_directory() .'/usp/usp.css';
32
33 $usp_css = ($form_type === 'custom' && file_exists($custom_path)) ? $custom_url : $plugin_url . '/resources/usp.css';
34
35 $display_js = false;
36 $display_css = false;
37
38 if (!empty($display_url)) {
39
40 $display_urls = explode(',', $display_url);
41
42 foreach ($display_urls as $url) {
43
44 $url = esc_url_raw(trim($url));
45
46 if ($url === $current_url) {
47
48 if ($include_js == true) $display_js = true;
49 if ($form_type !== 'disable') $display_css = true;
50
51 break;
52
53 }
54
55 }
56
57 } else {
58
59 if ($include_js == true) $display_js = true;
60 if ($form_type !== 'disable') $display_css = true;
61
62 }
63
64 if ($display_css) {
65
66 wp_enqueue_style('usp_style', $usp_css, array(), USP_VERSION, 'all');
67
68 }
69
70 if ($display_js) {
71
72 $deps = array();
73
74 if ($recaptcha === 'show') {
75
76 usp_enqueue_recaptcha();
77
78 array_push($deps, 'usp_recaptcha');
79
80 }
81
82 if ($multi_cats || $existing_tags) {
83
84 wp_enqueue_script('usp_chosen', $plugin_url .'/resources/jquery.chosen.js', array('jquery'), USP_VERSION);
85
86 array_push($deps, 'jquery', 'usp_chosen');
87
88 }
89
90 array_push($deps, 'jquery', 'usp_cookie', 'usp_parsley');
91
92 $deps = array_unique($deps);
93
94 wp_enqueue_script('usp_cookie', $plugin_url .'/resources/jquery.cookie.js', array('jquery'), USP_VERSION);
95 wp_enqueue_script('usp_parsley', $plugin_url .'/resources/jquery.parsley.min.js', array('jquery'), USP_VERSION);
96 wp_enqueue_script('usp_core', $plugin_url .'/resources/jquery.usp.core.js', $deps, USP_VERSION);
97
98 usp_inline_script();
99
100 }
101
102 }
103 add_action('wp_enqueue_scripts', 'usp_enqueueResources');
104
105 function usp_enqueue_recaptcha() {
106
107 global $usp_options;
108
109 if (isset($usp_options['usp_recaptcha']) && ($usp_options['usp_recaptcha'] == 'show')) {
110
111 $recaptcha = isset($usp_options['recaptcha_public']) ? $usp_options['recaptcha_public'] : '';
112 $version = isset($usp_options['recaptcha_version']) ? $usp_options['recaptcha_version'] : 2;
113
114 $query = apply_filters('usp_recaptcha_querystring', '');
115
116 if ($version == 3) {
117
118 $query = !empty($query) ? '&hl='. $query : '';
119
120 wp_enqueue_script('usp_recaptcha', 'https://www.google.com/recaptcha/api.js?render='. $recaptcha . $query, array(), null);
121
122 } else {
123
124 $query = !empty($query) ? '?hl='. $query : '';
125
126 wp_enqueue_script('usp_recaptcha', 'https://www.google.com/recaptcha/api.js'. $query, array(), USP_VERSION);
127
128 }
129
130 }
131
132 }
133
134 function usp_inline_script() {
135
136 global $usp_options;
137
138 $min_images = isset($usp_options['min-images']) ? $usp_options['min-images'] : '';
139 $max_images = isset($usp_options['max-images']) ? $usp_options['max-images'] : '';
140 $custom_field = isset($usp_options['custom_name']) ? $usp_options['custom_name'] : '';
141 $custom_field_2 = isset($usp_options['custom_name_2']) ? $usp_options['custom_name_2'] : '';
142 $custom_checkbox = isset($usp_options['custom_checkbox_name']) ? $usp_options['custom_checkbox_name'] : '';
143 $usp_casing = isset($usp_options['usp_casing']) ? $usp_options['usp_casing'] : '';
144 $usp_response = isset($usp_options['usp_response']) ? $usp_options['usp_response'] : '';
145 $multiple_cats = isset($usp_options['multiple-cats']) ? $usp_options['multiple-cats'] : '';
146 $existing_tags = isset($usp_options['usp_existing_tags']) ? $usp_options['usp_existing_tags'] : '';
147 $recaptcha_disp = isset($usp_options['usp_recaptcha']) ? $usp_options['usp_recaptcha'] : '';
148 $recaptcha_vers = isset($usp_options['recaptcha_version']) ? $usp_options['recaptcha_version'] : 2;
149 $recaptcha_key = isset($usp_options['recaptcha_public']) ? $usp_options['recaptcha_public'] : '';
150
151 $print_casing = $usp_casing ? 'true' : 'false';
152 $parsley_error = apply_filters('usp_parsley_error', esc_html__('Incorrect response.', 'usp'));
153
154 $script = 'var usp_custom_field = '. json_encode($custom_field) .'; ';
155 $script .= 'var usp_custom_field_2 = '. json_encode($custom_field_2) .'; ';
156 $script .= 'var usp_custom_checkbox = '. json_encode($custom_checkbox) .'; ';
157 $script .= 'var usp_case_sensitivity = '. json_encode($print_casing) .'; ';
158 $script .= 'var usp_challenge_response = '. json_encode($usp_response) .'; ';
159 $script .= 'var usp_min_images = '. json_encode($min_images) .'; ';
160 $script .= 'var usp_max_images = '. json_encode($max_images) .'; ';
161 $script .= 'var usp_parsley_error = '. json_encode($parsley_error) .'; ';
162 $script .= 'var usp_multiple_cats = '. json_encode($multiple_cats) .'; ';
163 $script .= 'var usp_existing_tags = '. json_encode($existing_tags) .'; ';
164 $script .= 'var usp_recaptcha_disp = '. json_encode($recaptcha_disp) .'; ';
165 $script .= 'var usp_recaptcha_vers = '. json_encode($recaptcha_vers) .'; ';
166 $script .= 'var usp_recaptcha_key = '. json_encode($recaptcha_key) .'; ';
167
168 wp_add_inline_script('usp_core', $script, 'before');
169
170 }
171
172 function usp_load_admin_styles($hook) {
173
174 global $pagenow;
175
176 if ($hook === 'settings_page_user-submitted-posts') {
177
178 wp_enqueue_style('dashicons');
179 wp_enqueue_style ('usp_admin_styles', USP_URL .'resources/usp-admin.css', array(), USP_VERSION, 'all');
180 wp_enqueue_script('usp_admin_script', USP_URL .'resources/jquery.usp.admin.js', array('jquery'), USP_VERSION, false);
181 wp_enqueue_media();
182
183 }
184
185 if ($pagenow === 'edit.php') {
186
187 wp_enqueue_style('usp_posts_styles', USP_URL .'resources/usp-posts.css', array(), USP_VERSION, 'all');
188
189 }
190
191 }
192 add_action('admin_enqueue_scripts', 'usp_load_admin_styles');
193