| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- <?php
- if ( ! defined( 'ABSPATH' ) ) {
- die( '-1' );
- }
- /**
- * Used to check for current less version during page open
- *
- * @since 4.5
- */
- add_action( 'vc_before_init', 'vc_check_for_custom_css_build' );
- /**
- * Function check is system has custom build of css
- * and check it version in comparison with current VC version
- *
- * @since 4.5
- */
- function vc_check_for_custom_css_build() {
- $version = vc_settings()->getCustomCssVersion();
- if ( vc_user_access()->wpAny( 'manage_options' )->part( 'settings' )->can( 'vc-color-tab' )
- ->get() && vc_settings()->useCustomCss() && ( ! $version || version_compare( WPB_VC_VERSION, $version, '<>' ) ) ) {
- add_action( 'admin_notices', 'vc_custom_css_admin_notice' );
- }
- }
- /**
- * Display admin notice depending on current page
- *
- * @since 4.5
- */
- function vc_custom_css_admin_notice() {
- global $current_screen;
- vc_settings()->set( 'compiled_js_composer_less', '' );
- $class = 'notice notice-warning vc_settings-custom-design-notice';
- $message_important = esc_html__( 'Important notice', 'js_composer' );
- if ( is_object( $current_screen ) && isset( $current_screen->id ) && 'visual-composer_page_vc-color' === $current_screen->id ) {
- $message = esc_html__( 'You have an outdated version of WPBakery Page Builder Design Options. It is required to review and save it.', 'js_composer' );
- echo '<div class="' . esc_attr( $class ) . '"><p><strong>' . esc_html( $message_important ) . '</strong>: ' . esc_html( $message ) . '</p></div>';
- } else {
- $message = esc_html__( 'You have an outdated version of WPBakery Page Builder Design Options. It is required to review and save it.', 'js_composer' );
- $btnClass = 'button button-primary button-large vc_button-settings-less';
- echo '<div class="' . esc_attr( $class ) . '"><p><strong>' . esc_html( $message_important ) . '</strong>: ' . esc_html( $message ) . '</p>' . '<p>';
- echo '<a ' . implode( ' ', array(
- 'href="' . esc_url( admin_url( 'admin.php?page=vc-color' ) ) . '"',
- 'class="' . esc_attr( $btnClass ) . '"',
- 'id="vc_less-save-button"',
- 'style="vertical-align: baseline;"',
- // needed to fix ":active bug"
- ) ) . '>';
- echo esc_html__( 'Open Design Options', 'js_composer' ) . '</a>';
- echo '</p></div>';
- }
- }
- /**
- * @param $submitButtonAttributes
- * @return mixed
- */
- function vc_page_settings_tab_color_submit_attributes( $submitButtonAttributes ) {
- $submitButtonAttributes['data-vc-less-path'] = vc_str_remove_protocol( vc_asset_url( 'less/js_composer.less' ) );
- $submitButtonAttributes['data-vc-less-root'] = vc_str_remove_protocol( vc_asset_url( 'less' ) );
- $submitButtonAttributes['data-vc-less-variables'] = wp_json_encode( apply_filters( 'vc_settings-less-variables', array(
- // Main accent color:
- 'vc_grey' => array(
- 'key' => 'wpb_js_vc_color',
- 'default' => vc_settings()->getDefault( 'vc_color' ),
- ),
- // Hover color
- 'vc_grey_hover' => array(
- 'key' => 'wpb_js_vc_color_hover',
- 'default' => vc_settings()->getDefault( 'vc_color_hover' ),
- ),
- 'vc_image_slider_link_active' => 'wpb_js_vc_color_hover',
- // Call to action background color
- 'vc_call_to_action_bg' => 'wpb_js_vc_color_call_to_action_bg',
- 'vc_call_to_action_2_bg' => 'wpb_js_vc_color_call_to_action_bg',
- 'vc_call_to_action_border' => array(
- 'key' => 'wpb_js_vc_color_call_to_action_border',
- // darken 5%
- 'default_key' => 'wpb_js_vc_color',
- 'modify_output' => array(
- array(
- 'plain' => array(
- 'darken({{ value }}, 5%)',
- ),
- ),
- ),
- ),
- // Google maps background color
- 'vc_google_maps_bg' => 'wpb_js_vc_color_google_maps_bg',
- // Post slider caption background color
- 'vc_post_slider_caption_bg' => 'wpb_js_vc_color_post_slider_caption_bg',
- // Progress bar background color
- 'vc_progress_bar_bg' => 'wpb_js_vc_color_progress_bar_bg',
- // Separator border color
- 'vc_separator_border' => 'wpb_js_vc_color_separator_border',
- // Tabs navigation background color
- 'vc_tab_bg' => 'wpb_js_vc_color_tab_bg',
- // Active tab background color
- 'vc_tab_bg_active' => 'wpb_js_vc_color_tab_bg_active',
- // Elements bottom margin
- 'vc_element_margin_bottom' => array(
- 'key' => 'wpb_js_margin',
- 'default' => vc_settings()->getDefault( 'margin' ),
- ),
- // Grid gutter width
- 'grid-gutter-width' => array(
- 'key' => 'wpb_js_gutter',
- 'default' => vc_settings()->getDefault( 'gutter' ),
- 'modify_output' => array(
- array(
- 'plain' => array(
- '{{ value }}px',
- ),
- ),
- ),
- ),
- 'screen-sm-min' => array(
- 'key' => 'wpb_js_responsive_max',
- 'default' => vc_settings()->getDefault( 'responsive_max' ),
- 'modify_output' => array(
- array(
- 'plain' => array(
- '{{ value }}px',
- ),
- ),
- ),
- ),
- ) ) );
- return $submitButtonAttributes;
- }
- function vc_page_settings_desing_options_load() {
- add_filter( 'vc_settings-tab-submit-button-attributes-color', 'vc_page_settings_tab_color_submit_attributes' );
- wp_enqueue_script( 'vc_less_js', vc_asset_url( 'lib/bower/lessjs/dist/less.min.js' ), array(), WPB_VC_VERSION, true );
- }
- add_action( 'vc-settings-render-tab-vc-color', 'vc_page_settings_desing_options_load' );
|