PluginProbe
Booking Calendar / 11.8.2
Booking Calendar v11.8.2
11.8.2 11.8.1 11.8 11.7 11.6.1 11.6 11.5 11.4.3 11.4.2 11.4.1 11.4 11.3 11.2.1 11.2 11.1 11.0 10.15.7 10.15.6 10.1.3 10.10 10.10.1 10.10.2 10.11 10.11.2 10.11.3 All 202 releases
booking / core / wpbc-css.php

wpbc-css.php in Booking Calendar 11.8.2, at core/wpbc-css.php

259 lines 13.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php /**
2 * @version 1.0
3 * @package
4 * @category Core
5 * @author wpdevelop
6 *
7 * @web-site https://wpbookingcalendar.com/
8 * @email info@wpbookingcalendar.com
9 *
10 * @modified 2013.10.16
11 */
12
13 if ( ! defined( 'ABSPATH' ) ) {
14 exit; // Exit if accessed directly.
15 }
16
17 class WPBC_CSS extends WPBC_JS_CSS {
18
19 public function define() {
20
21 $this->setType( 'css' );
22
23 /**
24 * // Exmaples of usage Font Avesome: http://fontawesome.io/icons/
25 *
26 * $this->add( array(
27 * 'handle' => 'font-awesome',
28 * 'src' => WPBC_PLUGIN_URL . 'assets/libs/font-awesome-4.3.0/css/font-awesome.css' ,
29 * 'deps' => false,
30 * 'version' => '4.3.0',
31 * 'where_to_load' => array( 'admin' ),
32 * 'condition' => false
33 * ) );
34 *
35 * // Exmaples of usage Font Avesome 3.2.1 (benefits of this version - support IE7): http://fontawesome.io/3.2.1/examples/
36 * $this->add( array(
37 * 'handle' => 'font-awesome',
38 * 'src' => WPBC_PLUGIN_URL . '/assets/libs/font-awesome/css/font-awesome.css' ,
39 * 'deps' => false,
40 * 'version' => '3.2.1',
41 * 'where_to_load' => array( 'admin' ),
42 * 'condition' => false
43 * ) );
44 * $this->add( array(
45 * 'handle' => 'font-awesome-ie7',
46 * 'src' => WPBC_PLUGIN_URL . '/assets/libs/font-awesome/css/font-awesome-ie7.css' ,
47 * 'deps' => array('font-awesome'),
48 * 'version' => '3.2.1',
49 * 'where_to_load' => array( 'admin' ),
50 * 'condition' => 'IE 7' // CSS condition. Exmaple: <!--[if IE 7]>
51 * ) );
52 */
53 }
54
55
56 public function enqueue( $where_to_load ) {
57
58 wp_enqueue_style( 'wpdevelop-bts', wpbc_plugin_url( '/vendors/_custom/bootstrap-css/css/bootstrap.css' ), array(), WP_BK_VERSION_NUM ); // FixIn: 9.0.1.1.1.
59 wp_enqueue_style( 'wpdevelop-bts-theme', wpbc_plugin_url( '/vendors/_custom/bootstrap-css/css/bootstrap-theme.css' ), array(), WP_BK_VERSION_NUM );
60 wp_enqueue_style( 'wpbc-tippy-popover', wpbc_plugin_url( '/vendors/_custom/tippy.js/themes/wpbc-tippy-popover.css' ), array(), WP_BK_VERSION_NUM );
61 wp_enqueue_style( 'wpbc-tippy-times', wpbc_plugin_url( '/vendors/_custom/tippy.js/themes/wpbc-tippy-times.css' ), array(), WP_BK_VERSION_NUM );
62 wp_enqueue_style( 'wpbc-material-design-icons', wpbc_plugin_url( '/vendors/_custom/material-design-icons/material-design-icons.css' ), array(), WP_BK_VERSION_NUM ); // FixIn: 9.2.1.4.
63 wp_enqueue_style( 'wpbc-ui-both', wpbc_plugin_url( '/css/wpbc_ui_both.css' ), array(), WP_BK_VERSION_NUM ); // FixIn: 10.0.0.25.
64
65 if ( 'admin' === $where_to_load ) { // Admin CSS files.
66 wp_enqueue_style( 'wpbc-bootstrap-icons', wpbc_plugin_url( '/vendors/_custom/bootstrap-icons/bootstrap-icons.css' ), array(), WP_BK_VERSION_NUM ); // FixIn: 9.0.1.1.
67 wp_enqueue_style( 'wpbc-all-admin', wpbc_plugin_url( '/_dist/all/_out/wpbc_all_admin.min.css' ), array(), WP_BK_VERSION_NUM ); // Several concataned css files.
68 wp_enqueue_style( 'wpbc-admin-support', wpbc_plugin_url( '/core/any/css/admin-support.css' ), array(), WP_BK_VERSION_NUM);
69 wp_enqueue_style( 'wpbc-admin-menu', wpbc_plugin_url( '/core/any/css/admin-menu.css' ), array(), WP_BK_VERSION_NUM);
70 wp_enqueue_style( 'wpbc-admin-toolbar', wpbc_plugin_url( '/core/any/css/admin-toolbar.css' ), array(), WP_BK_VERSION_NUM);
71 wp_enqueue_style( 'wpbc-settings-page', wpbc_plugin_url( '/core/any/css/settings-page.css' ), array(), WP_BK_VERSION_NUM);
72 wp_enqueue_style( 'wpbc-admin-listing-table', wpbc_plugin_url( '/core/any/css/admin-listing-table.css' ), array(), WP_BK_VERSION_NUM);
73 wp_enqueue_style( 'wpbc-br-table', wpbc_plugin_url( '/core/any/css/admin-br-table.css' ), array(), WP_BK_VERSION_NUM);
74 wp_enqueue_style( 'wpbc-flex-table', wpbc_plugin_url( '/core/any/css/wpbc_flextable.css' ), array(), WP_BK_VERSION_NUM); // Flex: Booking resources Table // FixIn: 9.9.0.7.
75 wp_enqueue_style( 'wpbc-admin-modal-popups', wpbc_plugin_url( '/css/modal.css' ), array(), WP_BK_VERSION_NUM);
76 wp_enqueue_style( 'wpbc-admin-pages', wpbc_plugin_url( '/css/admin.css' ), array(), WP_BK_VERSION_NUM);
77 wp_enqueue_style( 'wpbc-admin-skin', wpbc_plugin_url( '/css/admin-skin.css' ), array( 'wpbc-admin-pages' ), WP_BK_VERSION_NUM ); // FixIn: 8.0.2.4.
78 wp_enqueue_style( 'wpbc-admin-components', wpbc_plugin_url( '/includes/_toolbar_ui/_out/wpbc_admin_components.css' ), array( 'wpbc-admin-skin' ), WP_BK_VERSION_NUM ); // Reusable components that must override legacy administration compatibility styles.
79
80 $wpbc_inline_css = '';
81 if ( wpbc_mu__is_simulated_login_as_user() ) {
82 // Mark last item in menu as a button.
83 $wpbc_inline_css .= ' #adminmenu #toplevel_page_wpbc .wp-submenu li:nth-last-child(1) a { font-weight: 600;background-color: #075c00;color: #fff;margin: 10px 10px 0;display: block;text-align: center;border-radius: 3px;transition: all .3s;box-shadow: none; } ';
84 $wpbc_inline_css .= ' #adminmenu #toplevel_page_wpbc .wp-submenu li:nth-last-child(1) { margin-top: 10px;border-top: 1px solid #535454; } ';
85 } else {
86 // Horizontal Lines in Menu. // FixIn: 10.1.3.1.
87 $wpbc_inline_css .= ' #adminmenu #toplevel_page_wpbc .wp-submenu li:nth-child(4) a { border-top: 1px solid #535454;padding-top: 10px;margin-top: 6px; } ';
88 $wpbc_inline_css .= ' #adminmenu #toplevel_page_wpbc .wp-submenu li:nth-last-child(1) a { border-top: 1px solid #535454;padding-top: 10px;margin-top: 6px; } ';
89 }
90 wp_add_inline_style( 'wpbc-admin-pages', $wpbc_inline_css );
91 }
92
93 $server_request_uri = ( ( isset( $_SERVER['REQUEST_URI'] ) ) ? sanitize_text_field( $_SERVER['REQUEST_URI'] ) : '' ); /* phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.MissingUnslash */ /* FixIn: sanitize_unslash */
94 if (
95 ( 'admin' !== $where_to_load ) ||
96 ( wpbc_is_admin_page_with_frontend_booking_preview() ) ||
97 ( ( wpbc_is_settings_page() ) && ( strpos( $server_request_uri, 'tab=payment' ) !== false ) )
98 ) {
99 wpbc_enqueue_styles__front_end();
100 }
101
102 wpbc_enqueue_styles__calendar();
103
104 do_action( 'wpbc_enqueue_css_files', $where_to_load );
105 }
106
107
108 public function remove_conflicts( $where_to_load ) {
109
110 // FixIn: 8.1.3.12.
111 if (
112 wpbc_is_bookings_page() ||
113 wpbc_is_new_booking_page() ||
114 wpbc_is_setup_wizard_page() ||
115 wpbc_is_settings_form_page() ||
116 wpbc_is_resources_page() ||
117 wpbc_is_settings_page()
118 ) {
119 if ( function_exists( 'wp_dequeue_style' ) ) {
120 /**
121 // wp_dequeue_style( 'cs-alert' );
122 // wp_dequeue_style( 'cs-framework' );
123 // wp_dequeue_style( 'cs-font-awesome' );
124 // wp_dequeue_style( 'icomoon' );
125 */
126 wp_dequeue_style( 'chosen' );
127 wp_dequeue_style( 'toolset-font-awesome-css' ); // Remove this script sitepress-multilingual-cms/res/css/font-awesome.min.css?ver=3.1.6, which is load by the "sitepress-multilingual-cms".
128 wp_dequeue_style( 'toolset-font-awesome' ); // FixIn: 5.4.5.8.
129 wp_dequeue_style( 'the7-fontello-css' );
130 wp_dequeue_style( 'dt-awsome-fonts-back-css' ); // FixIn: 8.2.1.10 fix conflict with https://the7.io/.
131 wp_dequeue_style( 'dt-awsome-fonts-css' );
132 wp_dequeue_style( 'dt-fontello-css' );
133 wp_dequeue_style( 'cs_icons_data_css_default' ); // FixIn: 8.1.3.12.
134 wp_dequeue_style( 'icons-style' ); // FixIn: 8.2.1.22.
135 wp_dequeue_style( 'fontawesome-style' ); // FixIn: 8.2.1.22.
136 wp_dequeue_style( 'bootstrap-style' ); // FixIn: 8.2.1.22.
137 wp_dequeue_style( 'bootstrap-theme-style' ); // FixIn: 8.2.1.22.
138 }
139 }
140 }
141 }
142
143
144 /**
145 * Integrate CSS files required for front-end side.
146 *
147 * @return void
148 */
149 function wpbc_enqueue_styles__front_end() {
150
151 // Client or Add New Booking page.
152 if ( ( 'On' === get_bk_option( 'booking_timeslot_picker' ) ) || wpbc_is_setup_wizard_page() || wpbc_is_builder_booking_form_page() || wpbc_is_settings_themes_page() ) { // FixIn: 8.7.11.10.
153 wp_enqueue_style( 'wpbc-time_picker', wpbc_plugin_url( '/css/wpbc_time-selector.css' ), array(), WP_BK_VERSION_NUM );
154
155 $time_picker_skin_path = wpbc_get_time_picker_skin_url();
156 if ( ! empty( $time_picker_skin_path ) ) {
157 wp_enqueue_style( 'wpbc-time_picker-skin', $time_picker_skin_path, array( 'wpbc-time_picker' ), WP_BK_VERSION_NUM );
158 }
159 }
160 wp_enqueue_style( 'wpbc-client-pages', wpbc_plugin_url( '/css/client.css' ), array(), WP_BK_VERSION_NUM );
161 wp_enqueue_style( 'wpbc-all-client', wpbc_plugin_url( '/_dist/all/_out/wpbc_all_client.css' ), array( 'wpbc-client-pages' ), WP_BK_VERSION_NUM ); // Several concataned css files.
162
163 }
164
165 function wpbc_enqueue_styles__calendar() {
166
167 wp_enqueue_style( 'wpbc-calendar', wpbc_plugin_url( '/css/calendar.css' ), array(), WP_BK_VERSION_NUM );
168
169 // Calendar Skins.
170 $calendar_skin_path = wpbc_get_calendar_skin_url();
171 if ( ! empty( $calendar_skin_path ) ) {
172 wp_enqueue_style( 'wpbc-calendar-skin', $calendar_skin_path, array(), WP_BK_VERSION_NUM );
173 }
174
175 }
176
177
178
179 /**
180 * Get URL to Calendar Skin ( CSS file )
181 *
182 * @return string - URL to calendar skin
183 */
184 function wpbc_get_calendar_skin_url() {
185
186 // -- Old 'inc' path -> Re-update // FixIn: 8.7.11.11.
187 $check_skin_path = get_bk_option( 'booking_skin' );
188 if ( false !== strpos( $check_skin_path, 'inc/skins/' ) ) {
189 $check_skin_path = str_replace( 'inc/skins/', 'css/skins/', $check_skin_path );
190 update_bk_option( 'booking_skin', $check_skin_path );
191 }
192 // -- Absolute Path - Remove // FixIn: 8.9.4.8.
193 if ( false !== strpos( $check_skin_path, WPBC_PLUGIN_DIR ) ) {
194 $check_skin_path = str_replace( WPBC_PLUGIN_DIR, '', $check_skin_path );
195 update_bk_option( 'booking_skin', $check_skin_path );
196 }
197
198
199 $calendar_skin_path = false;
200 // -----------------------------------------------------------------------------------------------------------------
201 // Check if this skin exist in Usual folder.
202 // -----------------------------------------------------------------------------------------------------------------
203 if ( file_exists( WPBC_PLUGIN_DIR . str_replace( WPBC_PLUGIN_URL, '', get_bk_option( 'booking_skin') ) ) ) {
204 $calendar_skin_path = WPBC_PLUGIN_URL . str_replace( WPBC_PLUGIN_URL, '', get_bk_option( 'booking_skin') );
205 }
206
207 // -----------------------------------------------------------------------------------------------------------------
208 // Check if skin exist in the Custom User folder at the http://example.com/wp-content/uploads/wpbc_skins/
209 // -----------------------------------------------------------------------------------------------------------------
210 $upload_dir = wp_upload_dir();
211 $custom_user_skin_folder = $upload_dir['basedir'];
212 $custom_user_skin_url = $upload_dir['baseurl'];
213
214 if ( file_exists( $custom_user_skin_folder . str_replace( array( WPBC_PLUGIN_URL , $custom_user_skin_url ), '', get_bk_option( 'booking_skin') ) ) ) {
215 $calendar_skin_path = $custom_user_skin_url . str_replace( array(WPBC_PLUGIN_URL, $custom_user_skin_url ), '', get_bk_option( 'booking_skin') );
216 }
217
218 // -----------------------------------------------------------------------------------------------------------------
219 // If still no file, then Default
220 // -----------------------------------------------------------------------------------------------------------------
221 if ( empty( $calendar_skin_path ) ) {
222 $calendar_skin_path = WPBC_PLUGIN_URL . '/css/skins/25_5__round_1.css';
223 }
224
225 return $calendar_skin_path;
226 }
227
228
229 /**
230 * Get URL of Time Picker Skin - checked by default of this skin exists.
231 *
232 * @return false|string
233 */
234 function wpbc_get_time_picker_skin_url() {
235
236 // Time_picker Skin.
237 $time_picker_skin_path = false;
238
239 // Just default value, if previously was not saved any options.
240 if ( empty( get_bk_option( 'booking_timeslot_picker_skin' ) ) ) {
241 update_bk_option( 'booking_timeslot_picker_skin', '/css/time_picker_skins/form_style.css' ); // FixIn: 11.4.4.
242 }
243
244 // Check if this skin exist in the plugin folder.
245 if ( file_exists( WPBC_PLUGIN_DIR . str_replace( WPBC_PLUGIN_URL, '', get_bk_option( 'booking_timeslot_picker_skin' ) ) ) ) {
246 $time_picker_skin_path = WPBC_PLUGIN_URL . str_replace( WPBC_PLUGIN_URL, '', get_bk_option( 'booking_timeslot_picker_skin' ) );
247 }
248
249 // Check if this skin exist in the Custom User folder at the http://example.com/wp-content/uploads/wpbc_skins/ .
250 $upload_dir = wp_upload_dir();
251 $custom_user_skin_folder = $upload_dir['basedir'];
252 $custom_user_skin_url = $upload_dir['baseurl'];
253 if ( file_exists( $custom_user_skin_folder . str_replace( array( WPBC_PLUGIN_URL, $custom_user_skin_url, ), '', get_bk_option( 'booking_timeslot_picker_skin' ) ) ) ) {
254 $time_picker_skin_path = $custom_user_skin_url . str_replace( array( WPBC_PLUGIN_URL, $custom_user_skin_url, ), '', get_bk_option( 'booking_timeslot_picker_skin' ) );
255 }
256
257 return $time_picker_skin_path;
258 }
259