141 lines
5.0 KiB
PHP
141 lines
5.0 KiB
PHP
<?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' );
|