function wps_vc_column_inner_shortcode()
{
    vc_remove_param('vc_column_inner', 'css');
    vc_remove_param('vc_column_inner', 'offset');
    vc_remove_param('vc_column_inner', 'el_class');
    // vc_remove_param('vc_column__inner','full_height');
    // vc_remove_param('vc_column__inner','equal_height');
    // vc_remove_param('vc_column__inner','columns_placement');
    // vc_remove_param('vc_column__inner','content_placement');
    // vc_remove_param('vc_column__inner','video_bg');
    // vc_remove_param('vc_column__inner','parallax');
    // vc_remove_param('vc_column__inner','el_id');
    // vc_remove_param('vc_column__inner','video_bg_url');
    // vc_remove_param('vc_column__inner','video_bg_parallax');
    // vc_remove_param('vc_column__inner','parallax_image');
    // vc_remove_param('vc_column__inner','parallax_speed_bg');
    // vc_remove_param('vc_column__inner','parallax_speed_video');
    //Get VC gallery shortcode config
    //$shortcode_vc_gallery_tmp = WPBMap::getShortCode('vc_column');
    //Loop over config to find the condition we want to change
    //foreach($shortcode_vc_gallery_tmp['params'] as $key => $param)
    //{
    //
    //}
    //VC doesn't like even the thought of you changing the shortcode base, and errors out, so we unset it.
    //unset($shortcode_vc_gallery_tmp['base']);
    //Update the actual parameter
    //vc_map_update('vc_column', $shortcode_vc_gallery_tmp);
    $attributes = array(array('type' => 'wps_column_offset', 'heading' => __('Responsiveness', 'wps-prime'), 'param_name' => 'layout_width', 'group' => __('Responsive Options', 'wps-prime'), 'description' => __('Adjust column for different screen sizes. Control width, offset and visibility settings.', 'wps-prime')), array('type' => 'textfield', 'heading' => "Column item class", 'param_name' => 'class', 'admin_label' => true, 'value' => '', 'group' => esc_html__('Column item', 'wps-prime'), 'description' => __('Add optional CSS classes to the layout__item element', 'wps-prime')), array('type' => 'attach_image', 'heading' => "Bg Image", 'admin_label' => true, 'param_name' => 'inner_img', 'value' => '', 'group' => esc_html__('Inner element', 'wps-prime'), 'description' => __('Add image to be used as a background. Limit to 1 image', 'wps-prime')), array('type' => 'dropdown', 'heading' => "Background image size", 'param_name' => 'inner_img_size', 'admin_label' => true, 'value' => wps_image_sizes(), 'std' => 'full', 'group' => esc_html__('Inner element', 'wps-prime'), 'description' => __('Select background image size (image will be stretched)', 'wps-prime')), array('type' => 'textfield', 'heading' => "Column item inner element class", 'param_name' => 'inner_class', 'admin_label' => true, 'value' => '', 'group' => esc_html__('Inner element', 'wps-prime'), 'description' => __('Add optional CSS classes to the layout__item_inner element', 'wps-prime')), array('type' => 'checkbox', 'heading' => "Inner element turn off", 'param_name' => 'inner', 'admin_label' => true, 'value' => '', 'group' => esc_html__('Inner element', 'wps-prime'), 'description' => __('Turn off the inner element (by default true if inner_class is specified )', 'wps-prime')));
    vc_add_params('vc_column_inner', $attributes);
    vc_map_update('vc_column_inner', array('html_template' => locate_template('vc_templates/vc_column_inner.php')));
}
Example #2
0
function add_media_center_vc_params()
{
    // Apply updtes to default VC elements using add param function
    // ===============================================================
    if (function_exists('vc_add_param')) {
        // Add custom row options
        // ===============================================================
        // Add parameters to 'vc_row'
        $base = 'vc_row';
        $extraParams = array(array('type' => 'checkbox', 'param_name' => 'has_container', 'value' => array(__('Has Container ?', 'media_center') => 'true'), 'description' => __('Wrap the row element with container.', 'media_center')), array('type' => 'dropdown', 'heading' => __('Container Class', 'media_center'), 'param_name' => 'container_class', 'value' => array(__('Container', 'media_center') => 'container', __('Container Fluid', 'media_center') => 'container-fluid'), 'description' => __('Specify the class for the container. Will be applied only if has container is set to true.', 'media_center')), array('type' => 'dropdown', 'heading' => __('CSS3 Animation', 'media_center'), 'param_name' => 'row_animation', 'value' => array(__('No Animation', 'media_center') => 'none', __('BounceIn', 'media_center') => 'bounceIn', __('BounceInDown', 'media_center') => 'bounceInDown', __('BounceInLeft', 'media_center') => 'bounceInLeft', __('BounceInRight', 'media_center') => 'bounceInRight', __('BounceInUp', 'media_center') => 'bounceInUp', __('FadeIn', 'media_center') => 'fadeIn', __('FadeInDown', 'media_center') => 'fadeInDown', __('FadeInDown Big', 'media_center') => 'fadeInDownBig', __('FadeInLeft', 'media_center') => 'fadeInLeft', __('FadeInLeft Big', 'media_center') => 'fadeInLeftBig', __('FadeInRight', 'media_center') => 'fadeInRight', __('FadeInRight Big', 'media_center') => 'fadeInRightBig', __('FadeInUp', 'media_center') => 'fadeInUp', __('FadeInUp Big', 'media_center') => 'fadeInUpBig', __('FlipInX', 'media_center') => 'flipInX', __('FlipInY', 'media_center') => 'flipInY', __('Light SpeedIn', 'media_center') => 'lightSpeedIn', __('RotateIn', 'media_center') => 'rotateIn', __('RotateInDown Left', 'media_center') => 'rotateInDownLeft', __('RotateInDown Right', 'media_center') => 'rotateInDownRight', __('RotateInUp Left', 'media_center') => 'rotateInUpLeft', __('RotateInUp Right', 'media_center') => 'rotateInUpRight', __('RoleIn', 'media_center') => 'roleIn', __('ZoomIn', 'media_center') => 'zoomIn', __('ZoomInDown', 'media_center') => 'zoomInDown', __('ZoomInLeft', 'media_center') => 'zoomInLeft', __('ZoomInRight', 'media_center') => 'zoomInRight', __('ZoomInUp', 'media_center') => 'zoomInUp'), 'description' => __('Choose the animation effect on the row when scrolled into view.', 'media_center')));
        foreach ($extraParams as $params) {
            vc_add_param($base, $params);
        }
        // Update 'vc_row' to include custom shortcode template and re-map shortcode
        vc_map_update('vc_row');
        //Add parameters to vc_accordion
        $base = 'vc_accordion';
        $extraParams = array(array('type' => 'dropdown', 'param_name' => 'accordion_style', 'value' => array(__('Style 1', 'media_center') => 'style-1', __('Style 2', 'media_center') => 'style-2')));
        foreach ($extraParams as $params) {
            vc_add_param($base, $params);
        }
        // Update 'vc_row' to include custom shortcode template and re-map shortcode
        vc_map_update('vc_accordion');
    }
}
Example #3
0
function wps_vc_column_text_shortcode()
{
    // Remove Default Parameters
    vc_remove_param('vc_column_text', 'css_animation');
    vc_remove_param('vc_column_text', 'css');
    vc_map_update('vc_column_text', array('html_template' => locate_template('vc_templates/vc_column_text.php')));
}
Example #4
0
/**
 * Sort WPB Elements
 */
function om_wpb_sort_elements()
{
    $elements = array('vc_row', 'vc_column_text', 'vc_separator', 'vc_text_separator', 'om_icon_separator', 'vc_message', 'vc_facebook', 'vc_tweetmeme', 'vc_googleplus', 'vc_pinterest', 'vc_toggle', 'vc_single_image', 'vc_gallery', 'vc_images_carousel', 'vc_tabs', 'vc_tour', 'vc_accordion', 'vc_btn', 'vc_cta', 'vc_icon', 'vc_video', 'vc_gmaps', 'vc_raw_html', 'vc_raw_js', 'vc_flickr', 'vc_progress_bar', 'vc_pie', 'vc_empty_space', 'vc_custom_heading', 'om_box', 'om_counter', 'om_a_button', 'om_pricing_table', 'om_pricing_table_column', 'om_html_table', 'om_posts', 'om_testimonials', 'om_portfolio', 'om_logos', 'om_chart', 'om_person', 'om_click_box', 'om_moving_box', 'om_click_icon_box', 'om_click_icon_box2', 'om_teaser');
    $elements = array_reverse($elements);
    $w = 10;
    foreach ($elements as $v) {
        if (WPBMap::exists($v)) {
            vc_map_update($v, array('weight' => $w));
            $w += 10;
        }
    }
}
Example #5
0
function wps_vc_row_inner_shortcode()
{
    // Remove Default Parameters
    vc_remove_param('vc_row_inner', 'full_width');
    vc_remove_param('vc_row_inner', 'gap');
    vc_remove_param('vc_row_inner', 'css');
    vc_remove_param('vc_row_inner', 'full_height');
    vc_remove_param('vc_row_inner', 'equal_height');
    vc_remove_param('vc_row_inner', 'columns_placement');
    vc_remove_param('vc_row_inner', 'content_placement');
    vc_remove_param('vc_row_inner', 'video_bg');
    vc_remove_param('vc_row_inner', 'parallax');
    vc_remove_param('vc_row_inner', 'el_id');
    vc_remove_param('vc_row_inner', 'el_class');
    vc_remove_param('vc_row_inner', 'video_bg_url');
    vc_remove_param('vc_row_inner', 'video_bg_parallax');
    vc_remove_param('vc_row_inner', 'parallax_image');
    vc_remove_param('vc_row_inner', 'parallax_speed_bg');
    vc_remove_param('vc_row_inner', 'parallax_speed_video');
    // Add custom parameters
    $attributes = array(array('type' => 'textfield', 'heading' => "Row Class (L:class)", 'admin_label' => true, 'param_name' => 'class', 'value' => '', 'group' => esc_html__('Row Layout', 'wps-prime'), 'description' => __('Add optional CSS classes to the layout element, classes can contain the column control classes defined in the theme css architecture', 'wps-prime')), array('type' => 'checkbox', 'heading' => "Add Wrapper", 'param_name' => 'wrapper', 'value' => '', 'group' => esc_html__('Row Wrapper', 'wps-prime'), 'description' => __('Add wrapper container around the layout, this is useful if you want to contain elements wne you are using the full width template. Options true/false(default false)', 'wps-prime')), array('type' => 'textfield', 'heading' => "Add Row Wrapper class (W L W)", 'admin_label' => true, 'param_name' => 'wrapper_class', 'value' => '', 'group' => esc_html__('Row Wrapper', 'wps-prime'), 'description' => __('Add optional CSS class to the wrapper (if activated). Optional classes can contain background color extra paddings or any CSS rule that would apply to the wrapper. This setting requires a good knowledge of the css architecture used in the theme', 'wps-prime')), array('type' => 'textfield', 'heading' => "Row Holder Class (H:class L H)", 'admin_label' => true, 'param_name' => 'holder_class', 'value' => '', 'group' => esc_html__('Row Holder Class / Bg Image', 'wps-prime'), 'description' => __('Add custom class to be applied on the layout outer holder element. Ex: add (predefined) class that centers the background image', 'wps-prime')), array('type' => 'attach_image', 'heading' => "Row Holder image (H L H)", 'admin_label' => true, 'param_name' => 'holder_img', 'value' => '', 'group' => esc_html__('Row Layout Holder Class / Bg Image', 'wps-prime'), 'description' => __('Add image to be used as a background for the current layout. Limit to 1 image', 'wps-prime')), array('type' => 'dropdown', 'heading' => "Row Holder background image size (H:bg-image-size L H)", 'param_name' => 'holder_img_size', 'value' => wps_image_sizes(), 'std' => 'full', 'group' => esc_html__('Row Holder Class / Bg Image', 'wps-prime'), 'description' => __('Add image to be used as a background for the current layout. Limit to 1 image', 'wps-prime')));
    vc_add_params('vc_row_inner', $attributes);
    vc_map_update('vc_row_inner', array('html_template' => locate_template('vc_templates/vc_row_inner.php')));
}
	),
	"description" => ""
));

// add custom color selector
vc_add_param("vc_pie", array(
	"type" => "colorpicker",
	"heading" => __("Bar color", LANGUAGE_ZONE),
	"param_name" => "color",
	"value" => '#f7f7f7',
	"description" => ""
));

//***********************************************************************
// Carousel
//***********************************************************************

vc_remove_param('vc_carousel', 'mode');

//////////////////
// VC Separator //
//////////////////

vc_map_update( 'vc_separator', array( "name" => __("Separator (deprecated)", LANGUAGE_ZONE), "category"  => __('Deprecated', LANGUAGE_ZONE), "weight" => -1 ) );

///////////////////////
// VC Text Separator //
///////////////////////

vc_map_update( 'vc_text_separator', array( "name" => __("Separator with Text (deprecated)", LANGUAGE_ZONE), "category"  => __('Deprecated', LANGUAGE_ZONE), "weight" => -1 ) );
Example #7
0
// [vc_button2]
$setting = array('name' => 'Button', 'category' => 'Content');
vc_map_update('vc_button2', $setting);
vc_remove_param("vc_button2", "style");
vc_add_param("vc_button2", array("type" => "dropdown", "class" => "", "heading" => "Style", "param_name" => "style", "value" => array("Square" => "square", "Square Outlined" => "square_outlined")));
vc_add_param("vc_button2", array("type" => "dropdown", "class" => "", "heading" => "Align", "param_name" => "align", "value" => array("Left" => "left", "Center" => "center", "Right" => "right")));
// [vc_widget_sidebar]
$setting = array('category' => 'Content');
vc_map_update('vc_widget_sidebar', $setting);
vc_remove_param("vc_widget_sidebar", "title");
// [vc_raw_html]
$setting = array('category' => 'Content');
vc_map_update('vc_raw_html', $setting);
// [vc_raw_js]
$setting = array('category' => 'Content');
vc_map_update('vc_raw_js', $setting);
// [vc_single_image]
vc_remove_param("vc_single_image", "title");
// [vc_gallery]
/*vc_remove_param("vc_gallery", "title");
vc_remove_param("vc_gallery", "type");
vc_remove_param("vc_gallery", "interval");*/
// [vc_message]
vc_remove_param("vc_message", "style");
// [vc_gmaps]
vc_remove_param("vc_gmaps", "title");
// [vc_accordion]
vc_remove_param("vc_accordion", "title");
// [vc_progress_bar]
vc_remove_param("vc_progress_bar", "title");
vc_remove_param("vc_progress_bar", "options");
Example #8
0
    vc_map(array("name" => "Featured products", "base" => "featured_products", "icon" => "icon-wpb-featured_products", "category" => 'Woocommerce', "allowed_container_element" => 'vc_row', "params" => array(array("type" => "textfield", "holder" => "div", "class" => "", "heading" => "Per Page", "param_name" => "per_page", "value" => "12"), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => "Columns", "param_name" => "columns", "value" => "4"), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => "Order By", "param_name" => "order_by", "value" => array("Date" => "date", "Title" => "title"), 'save_always' => true, "description" => ""), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => "Order", "param_name" => "order", "value" => array("DESC" => "desc", "ASC" => "asc"), 'save_always' => true, "description" => ""))));
    /**** Shop Messages ***/
    vc_map(array("name" => "Shop Messages", "base" => "woocommerce_messages", "icon" => "icon-wpb-woocommerce_messages", "category" => 'Woocommerce', "allowed_container_element" => 'vc_row', "show_settings_on_create" => false));
    /**** Cart ***/
    vc_map(array("name" => "Pages - Cart", "base" => "woocommerce_cart", "icon" => "icon-wpb-woocommerce_cart", "category" => 'Woocommerce', "allowed_container_element" => 'vc_row', "show_settings_on_create" => false));
    /**** Checkout ***/
    vc_map(array("name" => "Pages - Checkout", "base" => "woocommerce_checkout", "icon" => "icon-wpb-woocommerce_checkout", "category" => 'Woocommerce', "allowed_container_element" => 'vc_row', "show_settings_on_create" => false));
    /**** My Account ***/
    vc_map(array("name" => "Pages - My Account", "base" => "woocommerce_my_account", "icon" => "icon-wpb-woocommerce_my_account", "category" => 'Woocommerce', "allowed_container_element" => 'vc_row', "show_settings_on_create" => false));
    /**** Edit Address ***/
    vc_map(array("name" => "Pages - Edit Address", "base" => "woocommerce_edit_address", "icon" => "icon-wpb-woocommerce_edit_address", "category" => 'Woocommerce', "allowed_container_element" => 'vc_row', "show_settings_on_create" => false));
    /**** Change Password ***/
    vc_map(array("name" => "Pages - Change Password", "base" => "woocommerce_change_password", "icon" => "icon-wpb-woocommerce_change_password", "category" => 'Woocommerce', "allowed_container_element" => 'vc_row', "show_settings_on_create" => false));
    /**** View Order ***/
    vc_map(array("name" => "Pages - View Order", "base" => "woocommerce_view_order", "icon" => "icon-wpb-woocommerce_view_order", "category" => 'Woocommerce', "allowed_container_element" => 'vc_row', "show_settings_on_create" => false));
    /**** Pay ***/
    vc_map(array("name" => "Pages - Pay", "base" => "woocommerce_pay", "icon" => "icon-wpb-woocommerce_pay", "category" => 'Woocommerce', "allowed_container_element" => 'vc_row', "show_settings_on_create" => false));
    /**** Thankyou ***/
    vc_map(array("name" => "Pages - Thankyou", "base" => "woocommerce_thankyou", "icon" => "icon-wpb-woocommerce_thankyou", "category" => 'Woocommerce', "allowed_container_element" => 'vc_row', "show_settings_on_create" => false));
}
/*** Contact Form 7 ***/
if (qode_contact_form_7_installed()) {
    vc_add_param("contact-form-7", array("type" => "dropdown", "class" => "", "heading" => "Style", "param_name" => "html_class", "value" => array("Default" => "default", "Custom Style 1" => "cf7_custom_style_1", "Custom Style 2" => "cf7_custom_style_2", "Custom Style 3" => "cf7_custom_style_3"), 'save_always' => true, "description" => "You can style each form element individually in Qode Options > Contact Form 7"));
}
/*** Restore Tabs&Accordion from Deprecated category ***/
$vc_map_deprecated_settings = array('deprecated' => false, 'category' => __('Content', 'js_composer'));
vc_map_update('vc_accordion', $vc_map_deprecated_settings);
vc_map_update('vc_tabs', $vc_map_deprecated_settings);
vc_map_update('vc_tab', array('deprecated' => false));
vc_map_update('vc_accordion_tab', array('deprecated' => false));
Example #9
0
#####################################################################################*/
$toggle_setting = array('allowed_container_element' => 'vc_tabs');
if (function_exists('vc_map_update')) {
    vc_map_update('vc_tab', $toggle_setting);
}
$tab_icon = array('type' => 'dropdown', 'heading' => __('Icon', 'kraftives'), 'param_name' => 'tab_icon', 'value' => folio_icons(), 'description' => __('Tab Icon.', 'kraftives'), 'param_holder_class' => 'vc-colored-dropdown');
if (function_exists('vc_add_param')) {
    vc_add_param('vc_tab', $tab_icon);
}
//Vc_tab end
/*###################################################################################
/##				KraftiveComments: Extend Toggle							   		   ##/										
#####################################################################################*/
$toggle_setting = array('name' => __('Folio Toggle', 'kraftives'), 'category' => __('Folio Zee Modules', 'kraftives'));
if (function_exists('vc_map_update')) {
    vc_map_update('vc_toggle', $toggle_setting);
}
if (function_exists('vc_remove_param')) {
    vc_remove_param("vc_toggle", "css_animation");
}
//Vc_toggle end
/*###################################################################################
/##				KraftiveComments: Custom Params							   		   ##/										
#####################################################################################*/
// Generate param type "number"
add_action('admin_init', 'folio_generate_shortcode_params');
function folio_generate_shortcode_params()
{
    /* Generate param type "number" */
    if (function_exists('add_shortcode_param')) {
        add_shortcode_param('number', 'folio_number_settings_field');
Example #10
0
vc_add_param("vc_row_inner", array("type" => "colorpicker", "class" => "", "heading" => "Background color", "param_name" => "background_color", "value" => "", "description" => "", "dependency" => array('element' => "row_type", 'value' => array('row', 'expandable'))));
vc_add_param("vc_row_inner", array("type" => "attach_image", "class" => "", "heading" => "Background image", "value" => "", "param_name" => "background_image", "description" => "", "dependency" => array('element' => "row_type", 'value' => array('parallax'))));
vc_add_param("vc_row_inner", array("type" => "textfield", "class" => "", "heading" => "Section height", "param_name" => "section_height", "value" => "", "dependency" => array('element' => "row_type", 'value' => array('parallax'))));
vc_add_param("vc_row_inner", array("type" => "colorpicker", "class" => "", "heading" => "Border color", "param_name" => "border_color", "value" => "", "description" => "", "dependency" => array('element' => "row_type", 'value' => array('row', 'expandable'))));
vc_add_param("vc_row_inner", array("type" => "textfield", "class" => "", "heading" => "Padding", "value" => "", "param_name" => "padding", "description" => "Padding (left/right in % - full width only)", "dependency" => array('element' => "type", 'value' => array('full_width'))));
vc_add_param("vc_row_inner", array("type" => "textfield", "class" => "", "heading" => "Padding Top", "value" => "", "param_name" => "padding_top", "description" => "", "dependency" => array('element' => "row_type", 'value' => array('row'))));
vc_add_param("vc_row_inner", array("type" => "textfield", "class" => "", "heading" => "Padding Bottom", "value" => "", "param_name" => "padding_bottom", "description" => "", "dependency" => array('element' => "row_type", 'value' => array('row'))));
vc_add_param("vc_row_inner", array("type" => "textfield", "class" => "", "heading" => "More Button Label", "param_name" => "more_button_label", "value" => "", "description" => "", "dependency" => array('element' => "row_type", 'value' => array('expandable'))));
vc_add_param("vc_row_inner", array("type" => "textfield", "class" => "", "heading" => "Less Button Label", "param_name" => "less_button_label", "value" => "", "description" => "", "dependency" => array('element' => "row_type", 'value' => array('expandable'))));
vc_add_param("vc_row_inner", array("type" => "dropdown", "class" => "", "heading" => "Button Position", "param_name" => "button_position", "value" => array("" => "", "Left" => "left", "Right" => "right", "Center" => "center"), "description" => "", "dependency" => array('element' => "row_type", 'value' => array('expandable'))));
vc_add_param("vc_row_inner", array("type" => "colorpicker", "class" => "", "heading" => "Color", "param_name" => "color", "value" => "", "description" => "", "dependency" => array('element' => "row_type", 'value' => array('expandable'))));
vc_add_param("vc_row_inner", array("type" => "dropdown", "heading" => "CSS Animation", "param_name" => "css_animation", "admin_label" => true, "value" => $animations, "description" => "", "dependency" => array('element' => "row_type", 'value' => array('row'))));
vc_add_param("vc_row_inner", array("type" => "textfield", "heading" => "Transition delay (ms)", "param_name" => "transition_delay", "admin_label" => true, "value" => "", "description" => "", "dependency" => array('element' => "row_type", 'value' => array('row'))));
/*** Separator ***/
$separator_setting = array('show_settings_on_create' => true, "controls" => '');
vc_map_update('vc_separator', $separator_setting);
vc_add_param("vc_separator", array("type" => "dropdown", "class" => "", "heading" => "Type", "param_name" => "type", "value" => array("Normal" => "normal", "Transparent" => "transparent", "Small" => "small"), "description" => ""));
vc_add_param("vc_separator", array("type" => "dropdown", "class" => "", "heading" => "Position", "param_name" => "position", "value" => array("Center" => "center", "Left" => "left", "Right" => "right"), "dependency" => array("element" => "type", "value" => array("small")), "description" => ""));
vc_add_param("vc_separator", array("type" => "colorpicker", "class" => "", "heading" => "Color", "param_name" => "color", "value" => "", "dependency" => array("element" => "type", "value" => array("normal", "small")), "description" => ""));
vc_add_param("vc_separator", array("type" => "textfield", "class" => "", "heading" => "Transparency", "param_name" => "transparency", "value" => "", "dependency" => array("element" => "type", "value" => array("normal", "small")), "description" => "Value should be between 0 and 1"));
vc_add_param("vc_separator", array("type" => "textfield", "class" => "", "heading" => "Thickness", "param_name" => "thickness", "value" => "", "description" => ""));
vc_add_param("vc_separator", array("type" => "textfield", "class" => "", "heading" => "Width", "param_name" => "width", "value" => "", "dependency" => array("element" => "type", "value" => array("small")), "description" => ""));
vc_add_param("vc_separator", array("type" => "checkbox", "class" => "", "heading" => "", "value" => array("Width In Percentages?" => "yes"), "param_name" => "width_in_percentages", "dependency" => array('element' => 'width', 'not_empty' => true)));
vc_add_param("vc_separator", array("type" => "textfield", "class" => "", "heading" => "Top Margin", "param_name" => "up", "value" => "", "description" => ""));
vc_add_param("vc_separator", array("type" => "textfield", "class" => "", "heading" => "Bottom Margin", "param_name" => "down", "value" => "", "description" => ""));
/*** Separator With Text ***/
vc_add_param("vc_text_separator", array("type" => "dropdown", "class" => "", "heading" => "Border", "param_name" => "border", "value" => array("No" => "no", "Yes" => "yes")));
vc_add_param("vc_text_separator", array("type" => "colorpicker", "class" => "", "heading" => "Border Color", "param_name" => "border_color", "dependency" => array('element' => "border", 'value' => array('yes'))));
vc_add_param("vc_text_separator", array("type" => "colorpicker", "class" => "", "heading" => "Background Color", "param_name" => "background_color"));
vc_add_param("vc_text_separator", array("type" => "colorpicker", "class" => "", "heading" => "Title Color", "param_name" => "title_color"));
/*** Single Image ***/
Example #11
0
    function etheme_VS_setup()
    {
        global $vc_params_list;
        if (!class_exists('WPBakeryVisualComposerAbstract')) {
            return;
        }
        $vc_params_list[] = 'icon';
        // **********************************************************************//
        // ! Register New Element: Brands
        // **********************************************************************//
        $brands_params = array('name' => 'Brands', 'base' => 'brands', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array("type" => "textfield", "heading" => __("Title", ETHEME_DOMAIN), "param_name" => "title"), array("type" => "dropdown", "heading" => __("Display type", ETHEME_DOMAIN), "param_name" => "display_type", "value" => array(__("Slider", ETHEME_DOMAIN) => 'slider', __("Grid", ETHEME_DOMAIN) => 'grid')), array("type" => "dropdown", "heading" => __("Number of columns", ETHEME_DOMAIN), "param_name" => "columns", "dependency" => array('element' => "display_type", 'value' => array('grid')), "value" => array('2' => 2, '3' => 3, '4' => 4, '5' => 5, '6' => 6)), array("type" => "textfield", "heading" => __("Maximum number of brands to display", ETHEME_DOMAIN), "param_name" => "limit"), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class")));
        vc_map($brands_params);
        // **********************************************************************//
        // ! Register New Element: Search Form
        // **********************************************************************//
        $search_params = array('name' => 'Mega Search Form', 'base' => 'etheme_search', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array("type" => "dropdown", "heading" => __("Search for products", "js_composer"), "param_name" => "products", "value" => array("", __("Yes", ETHEME_DOMAIN) => 1, __("No", ETHEME_DOMAIN) => 0)), array("type" => "dropdown", "heading" => __("Display images for products", ETHEME_DOMAIN), "param_name" => "images", "value" => array("", __("Yes", ETHEME_DOMAIN) => 1, __("No", ETHEME_DOMAIN) => 0)), array("type" => "dropdown", "heading" => __("Search for posts", "js_composer"), "param_name" => "posts", "value" => array("", __("Yes", ETHEME_DOMAIN) => 1, __("No", ETHEME_DOMAIN) => 0)), array("type" => "dropdown", "heading" => __("Search in portfolio", "js_composer"), "param_name" => "portfolio", "value" => array("", __("Yes", ETHEME_DOMAIN) => 1, __("No", ETHEME_DOMAIN) => 0)), array("type" => "dropdown", "heading" => __("Search for pages", "js_composer"), "param_name" => "pages", "value" => array("", __("Yes", ETHEME_DOMAIN) => 1, __("No", ETHEME_DOMAIN) => 0)), array("type" => "textfield", "heading" => __("Number of items from each section", ETHEME_DOMAIN), "param_name" => "count"), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class")));
        vc_map($search_params);
        // **********************************************************************//
        // ! Register New Element: Twitter Slider
        // **********************************************************************//
        $twitter_params = array('name' => 'Twitter Slider', 'base' => 'twitter_slider', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array("type" => "textfield", "heading" => __("Title", ETHEME_DOMAIN), "param_name" => "title"), array("type" => "textfield", "heading" => __("User account name", ETHEME_DOMAIN), "param_name" => "user"), array("type" => "textfield", "heading" => __("Consumer Key", ETHEME_DOMAIN), "param_name" => "consumer_key"), array("type" => "textfield", "heading" => __("Consumer Secret", ETHEME_DOMAIN), "param_name" => "consumer_secret"), array("type" => "textfield", "heading" => __("User Token", ETHEME_DOMAIN), "param_name" => "user_token"), array("type" => "textfield", "heading" => __("User Secret", ETHEME_DOMAIN), "param_name" => "user_secret"), array("type" => "textfield", "heading" => __("Limit", ETHEME_DOMAIN), "param_name" => "limit"), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class")));
        vc_map($twitter_params);
        // **********************************************************************//
        // ! Register New Element: Testimonials Widget
        // **********************************************************************//
        $testimonials_params = array('name' => 'Testimonials widget', 'base' => 'testimonials', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array("type" => "textfield", "heading" => __("Limit", ETHEME_DOMAIN), "param_name" => "limit", "description" => __('How many testimonials to show? Enter number.', ETHEME_DOMAIN)), array("type" => "dropdown", "heading" => __("Display type", "js_composer"), "param_name" => "type", "value" => array("", __("Slider", ETHEME_DOMAIN) => 'slider', __("Grid", ETHEME_DOMAIN) => 'grid')), array("type" => "textfield", "heading" => __("Interval", ETHEME_DOMAIN), "param_name" => "interval", "description" => __('Interval between slides. In milliseconds. Default: 10000', ETHEME_DOMAIN), "dependency" => array('element' => "type", 'value' => array('slider'))), array("type" => "dropdown", "heading" => __("Show Control Navigation", "js_composer"), "param_name" => "navigation", "dependency" => array('element' => "type", 'value' => array('slider')), "value" => array("", __("Hide", ETHEME_DOMAIN) => 'hide', __("Show", ETHEME_DOMAIN) => 'show')), array("type" => "textfield", "heading" => __("Category", ETHEME_DOMAIN), "param_name" => "category", "description" => __('Display testimonials from category.', ETHEME_DOMAIN))));
        vc_map($testimonials_params);
        // **********************************************************************//
        // ! Register New Element: Recent Comments Widget
        // **********************************************************************//
        $recent_comments_params = array('name' => 'Recent comments widget', 'base' => 'et_recent_comments', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array('type' => 'textfield', "heading" => __("Widget title", ETHEME_DOMAIN), "param_name" => "title", "description" => __("What text use as a widget title. Leave blank if no title is needed.", ETHEME_DOMAIN)), array("type" => "textfield", "heading" => __("Limit", ETHEME_DOMAIN), "param_name" => "number", "description" => __('How many comments to show? Enter number.', ETHEME_DOMAIN))));
        vc_map($recent_comments_params);
        // **********************************************************************//
        // ! Register New Element: Recent Posts Widget
        // **********************************************************************//
        $recent_posts_params = array('name' => 'Recent posts widget', 'base' => 'et_recent_posts_widget', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array('type' => 'textfield', "heading" => __("Widget title", ETHEME_DOMAIN), "param_name" => "title", "description" => __("What text use as a widget title. Leave blank if no title is needed.", ETHEME_DOMAIN)), array("type" => "textfield", "heading" => __("Limit", ETHEME_DOMAIN), "param_name" => "number", "description" => __('How many posts to show? Enter number.', ETHEME_DOMAIN))));
        vc_map($recent_posts_params);
        // **********************************************************************//
        // ! Register New Element: Team Member
        // **********************************************************************//
        $team_member_params = array('name' => 'Team member', 'base' => 'team_member', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array('type' => 'textfield', "heading" => __("Member name", ETHEME_DOMAIN), "param_name" => "name"), array('type' => 'textfield', "heading" => __("Member email", ETHEME_DOMAIN), "param_name" => "email"), array('type' => 'textfield', "heading" => __("Position", ETHEME_DOMAIN), "param_name" => "position"), array('type' => 'attach_image', "heading" => __("Avatar", ETHEME_DOMAIN), "param_name" => "img"), array("type" => "textfield", "heading" => __("Image size", "js_composer"), "param_name" => "img_size", "description" => __("Enter image size. Example in pixels: 200x100 (Width x Height).", "js_composer")), array("type" => "textarea_html", "holder" => "div", "heading" => __("Member information", "js_composer"), "param_name" => "content", "value" => __("Member description", "js_composer")), array("type" => "dropdown", "heading" => __("Display Type", "js_composer"), "param_name" => "type", "value" => array("", __("Vertical", ETHEME_DOMAIN) => 1, __("Horizontal", ETHEME_DOMAIN) => 2)), array('type' => 'textfield', "heading" => __("Twitter link", ETHEME_DOMAIN), "param_name" => "twitter"), array('type' => 'textfield', "heading" => __("Facebook link", ETHEME_DOMAIN), "param_name" => "facebook"), array('type' => 'textfield', "heading" => __("Linkedin", ETHEME_DOMAIN), "param_name" => "linkedin"), array('type' => 'textfield', "heading" => __("Skype name", ETHEME_DOMAIN), "param_name" => "skype"), array('type' => 'textfield', "heading" => __("Instagram", ETHEME_DOMAIN), "param_name" => "instagram"), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class", "description" => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', ETHEME_DOMAIN))));
        vc_map($team_member_params);
        // **********************************************************************//
        // ! Register New Element: Icon
        // **********************************************************************//
        $icon_box_params = array('name' => 'Awesome Icon', 'base' => 'icon', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array('type' => 'icon', "heading" => __("Icon", ETHEME_DOMAIN), "param_name" => "name"), array('type' => 'textfield', "heading" => __("Size", ETHEME_DOMAIN), "param_name" => "size", "description" => __('For example: 64')), array('type' => 'colorpicker', "heading" => __("Color", ETHEME_DOMAIN), "param_name" => "color"), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class", "description" => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', ETHEME_DOMAIN))));
        vc_map($icon_box_params);
        // **********************************************************************//
        // ! Register New Element: Icon Box
        // **********************************************************************//
        $icon_box_params = array('name' => 'Icon Box', 'base' => 'icon_box', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array('type' => 'textfield', "heading" => __("Box title", ETHEME_DOMAIN), "param_name" => "title"), array('type' => 'icon', "heading" => __("Icon", ETHEME_DOMAIN), "param_name" => "icon"), array('type' => 'colorpicker', "heading" => __("Icon Color", ETHEME_DOMAIN), "param_name" => "color"), array('type' => 'colorpicker', "heading" => __("Background Color", ETHEME_DOMAIN), "param_name" => "bg_color"), array('type' => 'colorpicker', "heading" => __("Icon Color [HOVER]", ETHEME_DOMAIN), "param_name" => "color_hover"), array('type' => 'colorpicker', "heading" => __("Background Color [HOVER]", ETHEME_DOMAIN), "param_name" => "bg_color_hover"), array("type" => "textarea_html", 'admin_label' => true, "heading" => __("Text", "js_composer"), "param_name" => "content", "value" => __("Click edit button to change this text.", "js_composer"), "description" => __("Enter your content.", "js_composer")), array("type" => "dropdown", "heading" => __("Icon Position", "js_composer"), "param_name" => "icon_position", "value" => array("", __("Top", ETHEME_DOMAIN) => 'top', __("Left", ETHEME_DOMAIN) => 'left')), array("type" => "dropdown", "heading" => __("Icon Style", "js_composer"), "param_name" => "icon_style", "value" => array(__("Encircled", ETHEME_DOMAIN) => 'encircled', __("Small", ETHEME_DOMAIN) => 'small', __("Large", ETHEME_DOMAIN) => 'large')), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class", "description" => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', ETHEME_DOMAIN))));
        vc_map($icon_box_params);
        // **********************************************************************//
        // ! Register New Element: Banner with mask
        // **********************************************************************//
        $icon_box_params = array('name' => 'Banner', 'base' => 'banner', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array('type' => 'attach_image', "heading" => __("Banner Image", ETHEME_DOMAIN), "param_name" => "img"), array("type" => "textfield", "heading" => __("Banner size", "js_composer"), "param_name" => "img_size", "description" => __("Enter image size. Example in pixels: 200x100 (Width x Height).", "js_composer")), array("type" => "textfield", "heading" => __("Link", "js_composer"), "param_name" => "link"), array("type" => "textarea_html", "holder" => "div", "heading" => "Banner Mask Text", "param_name" => "content", "value" => "Some promo text"), array("type" => "dropdown", "heading" => __("Vertical text centering", ETHEME_DOMAIN), "param_name" => "valign", "value" => array("", __("Enable", ETHEME_DOMAIN) => "middle", __("Disable", ETHEME_DOMAIN) => "top")), array("type" => "dropdown", "heading" => __("Banner style", ETHEME_DOMAIN), "param_name" => "banner_style", "value" => array("", __("dark with border", ETHEME_DOMAIN) => "dark_border")), array("type" => "dropdown", "heading" => __("Font style", ETHEME_DOMAIN), "param_name" => "font_style", "value" => array("", __("light", ETHEME_DOMAIN) => "light", __("dark", ETHEME_DOMAIN) => "dark")), array("type" => "dropdown", "heading" => __("Hover effect", ETHEME_DOMAIN), "param_name" => "hover", "value" => array("", __("zoom", ETHEME_DOMAIN) => "zoom", __("fade", ETHEME_DOMAIN) => "fade")), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class", "description" => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', ETHEME_DOMAIN))));
        vc_map($icon_box_params);
        // **********************************************************************//
        // ! Register New Element:Pricing Table
        // **********************************************************************//
        $demoTable = "\n\t" . '<ul>';
        $demoTable .= "\n\t\t" . '<li class="row-title">Free</li>';
        $demoTable .= "\n\t\t" . '<li class="row-price"><sup class="currency">$</sup>19<sup>00</sup><sub>per month</sub></li>';
        $demoTable .= "\n\t\t" . '<li>512 mb</li>';
        $demoTable .= "\n\t\t" . '<li>0.6 GHz</li>';
        $demoTable .= "\n\t\t" . '<li>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</li>';
        $demoTable .= "\n\t\t" . '<li><a href="#" class="button">Add to Cart</a></li>';
        $demoTable .= "\n\t" . '</ul>';
        $ptable_params = array('name' => 'Pricing Table', 'base' => 'ptable', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array("type" => "textarea_html", "holder" => "div", "heading" => "Table", "param_name" => "content", "value" => $demoTable), array("type" => "dropdown", "heading" => __("Style", ETHEME_DOMAIN), "param_name" => "style", "value" => array("", __("default", ETHEME_DOMAIN) => "default", __("Style 2", ETHEME_DOMAIN) => "style2")), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class", "description" => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', ETHEME_DOMAIN))));
        vc_map($ptable_params);
        // **********************************************************************//
        // ! Register New Element: Single post
        // **********************************************************************//
        $fpost_params = array('name' => 'Single blog post', 'base' => 'single_post', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array("type" => "textfield", "heading" => __("Title", ETHEME_DOMAIN), "param_name" => "title"), array("type" => "textfield", "heading" => __("Post ID", ETHEME_DOMAIN), "param_name" => "id"), array("type" => "dropdown", "heading" => __("Show more posts link", ETHEME_DOMAIN), "param_name" => "more_posts", "value" => array("", __("Show", ETHEME_DOMAIN) => 1, __("Hide", ETHEME_DOMAIN) => 0)), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class", "description" => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', ETHEME_DOMAIN))));
        vc_map($fpost_params);
        // **********************************************************************//
        // ! Register New Element: Teaser Box
        // **********************************************************************//
        $teaser_box_params = array('name' => 'Teaser Box', 'base' => 'teaser_box', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array("type" => "textfield", "heading" => __("Title", ETHEME_DOMAIN), "param_name" => "title"), array('type' => 'attach_image', "heading" => __("Image", ETHEME_DOMAIN), "param_name" => "img"), array("type" => "textfield", "heading" => __("Image size", "js_composer"), "param_name" => "img_size", "description" => __("Enter image size. Example in pixels: 200x100 (Width x Height).", "js_composer")), array("type" => "textarea_html", 'admin_label' => true, "heading" => __("Text", "js_composer"), "param_name" => "content", "value" => __("Click edit button to change this text.", "js_composer"), "description" => __("Enter your content.", "js_composer")), array("type" => "dropdown", "heading" => __("Style", ETHEME_DOMAIN), "param_name" => "style", "value" => array(__("Default", ETHEME_DOMAIN) => 'default', __("Bordered", ETHEME_DOMAIN) => 'bordered')), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class", "description" => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', ETHEME_DOMAIN))));
        vc_map($teaser_box_params);
        // **********************************************************************//
        // ! Register New Element: Products
        // **********************************************************************//
        $static_blocks = array('--choose--' => '');
        foreach (et_get_static_blocks() as $value) {
            $static_blocks[$value['label']] = $value['value'];
        }
        $fpost_params = array('name' => 'Products', 'base' => 'etheme_products', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array("type" => "textfield", "heading" => __("Title", ETHEME_DOMAIN), "param_name" => "title"), array("type" => "textfield", "heading" => __("IDs", ETHEME_DOMAIN), "param_name" => "ids"), array("type" => "textfield", "heading" => __("SKUs", ETHEME_DOMAIN), "param_name" => "skus"), array("type" => "dropdown", "heading" => __("Display Type", ETHEME_DOMAIN), "param_name" => "type", "value" => array(__("Slider", ETHEME_DOMAIN) => 'slider', __("Slider full width (LOOK BOOK)", ETHEME_DOMAIN) => 'full-width', __("Grid", ETHEME_DOMAIN) => 'grid')), array("type" => "dropdown", "dependency" => array('element' => "type", 'value' => array('full-width')), "heading" => __("Static block for the first slide of the LOOK BOOK", ETHEME_DOMAIN), "param_name" => "block_id", "value" => $static_blocks), array("type" => "textfield", "heading" => __("Columns", ETHEME_DOMAIN), "param_name" => "columns", "dependency" => array('element' => "type", 'value' => array('grid'))), array("type" => "dropdown", "heading" => __("Product view", ETHEME_DOMAIN), "param_name" => "style", "dependency" => array('element' => "type", 'value' => array('slider')), "value" => array(__("Default", ETHEME_DOMAIN) => 'default', __("Advanced", ETHEME_DOMAIN) => 'advanced')), array("type" => "textfield", "heading" => __("Number of items on desktop", ETHEME_DOMAIN), "param_name" => "desktop", "dependency" => array('element' => "type", 'value' => array('slider'))), array("type" => "textfield", "heading" => __("Number of items on notebook", ETHEME_DOMAIN), "param_name" => "notebook", "dependency" => array('element' => "type", 'value' => array('slider'))), array("type" => "textfield", "heading" => __("Number of items on tablet", ETHEME_DOMAIN), "param_name" => "tablet", "dependency" => array('element' => "type", 'value' => array('slider'))), array("type" => "textfield", "heading" => __("Number of items on phones", ETHEME_DOMAIN), "param_name" => "phones", "dependency" => array('element' => "type", 'value' => array('slider'))), array("type" => "dropdown", "heading" => __("Products type", ETHEME_DOMAIN), "param_name" => "products", "value" => array(__("All", ETHEME_DOMAIN) => '', __("Featured", ETHEME_DOMAIN) => 'featured', __("New", ETHEME_DOMAIN) => 'new', __("Sale", ETHEME_DOMAIN) => 'sale', __("Recently viewed", ETHEME_DOMAIN) => 'recently_viewed', __("Bestsellings", ETHEME_DOMAIN) => 'bestsellings')), array("type" => "textfield", "heading" => __("Limit", ETHEME_DOMAIN), "param_name" => "limit"), array("type" => "textfield", "heading" => __("Categories IDs", ETHEME_DOMAIN), "param_name" => "categories")));
        vc_map($fpost_params);
        $vc_is_wp_version_3_6_more = version_compare(preg_replace('/^([\\d\\.]+)(\\-.*$)/', '$1', get_bloginfo('version')), '3.6') >= 0;
        // Used in "Button", "Call to Action", "Pie chart" blocks
        $colors_arr = array(__("Grey", "js_composer") => "wpb_button", __("Blue", "js_composer") => "btn-primary", __("Turquoise", "js_composer") => "btn-info", __("Green", "js_composer") => "btn-success", __("Orange", "js_composer") => "btn-warning", __("Red", "js_composer") => "btn-danger", __("Black", "js_composer") => "btn-inverse");
        // Used in "Button" and "Call to Action" blocks
        $size_arr = array(__("Regular size", "js_composer") => "wpb_regularsize", __("Large", "js_composer") => "btn-large", __("Small", "js_composer") => "btn-small", __("Mini", "js_composer") => "btn-mini");
        $target_arr = array(__("Same window", "js_composer") => "_self", __("New window", "js_composer") => "_blank");
        $add_css_animation = array("type" => "dropdown", "heading" => __("CSS Animation", "js_composer"), "param_name" => "css_animation", "admin_label" => true, "value" => array(__("No", "js_composer") => '', __("Top to bottom", "js_composer") => "top-to-bottom", __("Bottom to top", "js_composer") => "bottom-to-top", __("Left to right", "js_composer") => "left-to-right", __("Right to left", "js_composer") => "right-to-left", __("Appear from center", "js_composer") => "appear"), "description" => __("Select type of animation if you want this element to be animated when it enters into the browsers viewport. Note: Works only in modern browsers.", "js_composer"));
        // Remove Some Elements
        vc_remove_element("vc_text_separator");
        vc_remove_element("vc_tour");
        vc_remove_element("vc_carousel");
        // **********************************************************************//
        // ! Row HTML
        // **********************************************************************//
        $row_params = array('params' => array(array("type" => "colorpicker", "heading" => __('Font Color', 'wpb'), "param_name" => "font_color", "description" => __("Select font color", "wpb"), "edit_field_class" => 'col-md-6'), array("type" => "dropdown", "heading" => __("Full width section", ETHEME_DOMAIN), "param_name" => "full_width", "value" => array("", __("enable", ETHEME_DOMAIN) => 1, __("disable", ETHEME_DOMAIN) => 0)), array("type" => "dropdown", "heading" => __("Color Scheme", ETHEME_DOMAIN), "param_name" => "color_scheme", "value" => array("", __("light with black text", ETHEME_DOMAIN) => 'light', __("dark with white text", ETHEME_DOMAIN) => 'dark'), "dependency" => array('element' => "full_width", 'value' => array('1'))), array("type" => "textfield", "heading" => __("Video URL (mp4)", "js_composer"), "param_name" => "video_mp4", "dependency" => array('element' => "full_width", 'value' => array('1'))), array("type" => "textfield", "heading" => __("Video URL (webm)", "js_composer"), "param_name" => "video_webm", "dependency" => array('element' => "full_width", 'value' => array('1'))), array("type" => "textfield", "heading" => __("Video URL (ogv)", "js_composer"), "param_name" => "video_ogv", "dependency" => array('element' => "full_width", 'value' => array('1'))), array("type" => "attach_image", "heading" => __("Video poster image", "js_composer"), "param_name" => "video_poster", "dependency" => array('element' => "full_width", 'value' => array('1'))), array("type" => "dropdown", "heading" => __("Parallax effect for background", ETHEME_DOMAIN), "param_name" => "parallax", "value" => array("", __("enable", ETHEME_DOMAIN) => 1, __("disable", ETHEME_DOMAIN) => 0), "dependency" => array('element' => "full_width", 'value' => array('1'))), array("type" => "textfield", "heading" => __("Extra class name", "js_composer"), "param_name" => "el_class", "description" => __("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "js_composer")), array("type" => "css_editor", "heading" => __('CSS for section', "js_composer"), "param_name" => "css_outer", "group" => __('Design options', 'js_composer'), "dependency" => array('element' => "full_width", 'value' => array('1'))), array("type" => "css_editor", "heading" => __('Css', "js_composer"), "param_name" => "css", "group" => __('Design options', 'js_composer'))));
        vc_map_update('vc_row', $row_params);
        function vc_theme_vc_row($atts, $content = null)
        {
            $output = $section_class = $el_class = $video = $bg_image = $bg_color = $full_width = $bg_image_repeat = $font_color = $padding = $margin_bottom = $css = '';
            extract(shortcode_atts(array('el_class' => '', 'full_width' => 0, 'bg_image' => '', 'bg_color' => '', 'bg_image_repeat' => '', 'font_color' => '', 'color_scheme' => '', 'padding' => '', 'margin_bottom' => '', 'parallax' => 0, 'video_poster' => '', 'video_mp4' => '', 'video_webm' => '', 'video_ogv' => '', 'css' => '', 'css_outer' => ''), $atts));
            wp_enqueue_style('js_composer_front');
            wp_enqueue_script('wpb_composer_front_js');
            wp_enqueue_style('js_composer_custom_css');
            $el_class = ' ' . $el_class;
            $css_class = apply_filters(VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, 'row-fluid ' . get_row_css_class() . $el_class . vc_shortcode_custom_css_class($css, ' '));
            $style = buildStyle($bg_image, $bg_color, $bg_image_repeat, $font_color, $padding, $margin_bottom);
            if ($full_width) {
                $section_class .= ' color-scheme-' . $color_scheme . ' ';
                if ($parallax) {
                    $section_class .= ' parallax-section';
                }
                if ($video_mp4 != '' || $video_webm != '' || $video_ogv != '') {
                    if ($video_poster != '') {
                        $video_poster = etheme_get_image($video_poster);
                        $video .= '
			                <div class="section-video-poster" style="background-image: url(' . $video_poster . ')"></div>
			            ';
                    }
                    $video .= '
			        <div class="section-back-video hidden-tablet hidden-phone">
			            <video autoplay="autoplay" loop="loop" muted="muted" style="" class="et-section-video">
			                <source src="' . $video_mp4 . '" type="video/mp4">
			                <source src="' . $video_ogv . '" type="video/ogv">
			                <source src="' . $video_webm . '" type="video/webm">
			            </video>
			        </div>
			        <div class="section-video-mask"></div>
			        ';
                }
                $output .= '<div class="et_section ' . vc_shortcode_custom_css_class($css_outer, ' ') . $section_class . '" data-parallax-speed="0.1">' . $video . '<div class="container">';
            }
            $output .= '<div class="' . $css_class . '"' . $style . '>';
            $output .= wpb_js_remove_wpautop($content);
            $output .= '</div>';
            if ($full_width) {
                $output .= '</div></div>';
            }
            return $output;
        }
        function vc_theme_vc_row_inner($atts, $content = null)
        {
            $output = $section_class = $el_class = $video = $bg_image = $bg_color = $full_width = $bg_image_repeat = $font_color = $padding = $margin_bottom = $css = '';
            extract(shortcode_atts(array('el_class' => '', 'full_width' => 0, 'bg_image' => '', 'bg_color' => '', 'bg_image_repeat' => '', 'font_color' => '', 'padding' => '', 'margin_bottom' => '', 'parallax' => 0, 'video_poster' => '', 'video_mp4' => '', 'video_webm' => '', 'video_ogv' => '', 'css' => '', 'css_outer' => ''), $atts));
            wp_enqueue_style('js_composer_front');
            wp_enqueue_script('wpb_composer_front_js');
            wp_enqueue_style('js_composer_custom_css');
            $el_class = ' ' . $el_class;
            $css_class = apply_filters(VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, 'row-fluid ' . get_row_css_class() . $el_class . vc_shortcode_custom_css_class($css, ' '));
            $style = buildStyle($bg_image, $bg_color, $bg_image_repeat, $font_color, $padding, $margin_bottom);
            $output .= '<div class="' . $css_class . '"' . $style . '>';
            $output .= wpb_js_remove_wpautop($content);
            $output .= '</div>';
            return $output;
        }
        /* Convert 2 to
        		---------------------------------------------------------- */
        function et_translateColumnsCountToSpanClass($grid_columns_count)
        {
            $teaser_width = '';
            switch ($grid_columns_count) {
                case '1':
                    $teaser_width = 'et_col12';
                    break;
                case '2':
                    $teaser_width = 'et_col6';
                    break;
                case '3':
                    $teaser_width = 'et_col4';
                    break;
                case '4':
                    $teaser_width = 'et_col3';
                    break;
                case '6':
                    $teaser_width = 'et_col2';
                    break;
            }
            //return $teaser_width;
            $custom = get_custom_column_class($teaser_width);
            return $custom ? $custom : $teaser_width;
        }
        // **********************************************************************//
        // ! Column HTML
        // **********************************************************************//
        function vc_theme_vc_column($atts, $content = null)
        {
            $output = $el_class = $width = '';
            extract(shortcode_atts(array('font_color' => '', 'el_class' => '', 'width' => '1/1', 'css' => '', 'offset' => ''), $atts));
            switch ($width) {
                case "1/12":
                    $w = "span1";
                    break;
                case "1/6":
                    $w = "span2";
                    break;
                case "1/4":
                    $w = "span3";
                    break;
                case "1/3":
                    $w = "span4";
                    break;
                case "5/12":
                    $w = "span5";
                    break;
                case "1/2":
                    $w = "span6";
                    break;
                case "7/12":
                    $w = "span7";
                    break;
                case "2/3":
                    $w = "span8";
                    break;
                case "3/4":
                    $w = "span9";
                    break;
                case "5/6":
                    $w = "span10";
                    break;
                case "11/12":
                    $w = "span11";
                    break;
                case "1/1":
                    $w = "span12";
                    break;
                default:
                    $w = $width;
            }
            $w = vc_column_offset_class_merge($offset, $w);
            $el_class .= ' ' . $w . ' ' . vc_shortcode_custom_css_class($css, ' ');
            $style = buildStyle($font_color);
            $output .= "\n\t" . '<div class="wpb_column ' . $el_class . '" ' . $style . '>';
            $output .= "\n\t\t" . '<div class="wpb_wrapper">';
            $output .= "\n\t\t\t" . wpb_js_remove_wpautop($content);
            $output .= "\n\t\t" . '</div>';
            $output .= "\n\t" . '</div>';
            return $output;
        }
        function vc_theme_vc_column_inner($atts, $content = null)
        {
            $output = $el_class = $width = '';
            extract(shortcode_atts(array('el_class' => '', 'css' => '', 'width' => '1/1'), $atts));
            switch ($width) {
                case "1/12":
                    $w = "span1";
                    break;
                case "1/6":
                    $w = "span2";
                    break;
                case "1/4":
                    $w = "span3";
                    break;
                case "1/3":
                    $w = "span4";
                    break;
                case "5/12":
                    $w = "span5";
                    break;
                case "1/2":
                    $w = "span6";
                    break;
                case "7/12":
                    $w = "span7";
                    break;
                case "2/3":
                    $w = "span8";
                    break;
                case "3/4":
                    $w = "span9";
                    break;
                case "5/6":
                    $w = "span10";
                    break;
                case "11/12":
                    $w = "span11";
                    break;
                case "1/1":
                    $w = "span12";
                    break;
                default:
                    $w = $width;
            }
            $el_class .= ' ' . $w . ' ' . vc_shortcode_custom_css_class($css, ' ');
            $font_color = '';
            $style = buildStyle($font_color);
            $output .= "\n\t" . '<div class="wpb_column_inner ' . $el_class . '" ' . $style . '>';
            $output .= "\n\t\t" . '<div class="wpb_wrapper">';
            $output .= "\n\t\t\t" . wpb_js_remove_wpautop($content);
            $output .= "\n\t\t" . '</div>';
            $output .= "\n\t" . '</div>';
            return $output;
        }
        // **********************************************************************//
        // ! Separator
        // **********************************************************************//
        $setting_vc_separator = array("show_settings_on_create" => true, 'params' => array(array("type" => "dropdown", "heading" => __("Type", "js_composer"), "param_name" => "type", "value" => array("", __("Default", ETHEME_DOMAIN) => "", __("Double", ETHEME_DOMAIN) => "double", __("Dashed", ETHEME_DOMAIN) => "dashed", __("Dotted", ETHEME_DOMAIN) => "dotted", __("Double Dotted", ETHEME_DOMAIN) => "double dotted", __("Double Dashed", ETHEME_DOMAIN) => "double dashed", __("Horizontal break", ETHEME_DOMAIN) => "horizontal-break", __("Space", ETHEME_DOMAIN) => "space")), array("type" => "textfield", "heading" => __("Height", "js_composer"), "param_name" => "height", "dependency" => array('element' => "type", 'value' => array('space'))), array("type" => "textfield", "heading" => __("Extra class", "js_composer"), "param_name" => "class")));
        vc_map_update('vc_separator', $setting_vc_separator);
        function vc_theme_vc_separator($atts, $content = null)
        {
            $output = $color = $el_class = $css_animation = '';
            extract(shortcode_atts(array('type' => '', 'class' => '', 'height' => ''), $atts));
            $output .= do_shortcode('[hr class="' . $type . ' ' . $class . '" height="' . $height . '"]');
            return $output;
        }
        // **********************************************************************//
        // ! Alert boxes
        // **********************************************************************//
        function vc_theme_vc_message($atts, $content = null)
        {
            $output = $color = $el_class = $css_animation = '';
            extract(shortcode_atts(array('color' => 'alert-info', 'el_class' => '', 'style' => '', 'css_animation' => ''), $atts));
            $el_class = ' ' . $el_class;
            $class = "";
            //$style = "square_outlined";
            $class .= $style != '' ? ' vc_alert_' . $style : '';
            $class .= $color != '' && $color != "alert-block" ? ' wpb_' . $color : '';
            $css_class = apply_filters(VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, 'wpb_alert wpb_content_element' . $class . $el_class);
            $css_class .= getCSSAnimation($css_animation);
            $output .= '<div class="' . $css_class . '"><div class="messagebox_text">' . wpb_js_remove_wpautop($content, true) . '</div><span class="close-parent"></span></div>';
            return $output;
        }
        // **********************************************************************//
        // ! FAQ toggle elements
        // **********************************************************************//
        function vc_theme_vc_toggle($atts, $content = null)
        {
            $output = $title = $css_class = $el_class = $open = $css_animation = '';
            extract(shortcode_atts(array('title' => __("Click to toggle", "js_composer"), 'el_class' => '', 'open' => 'false', 'css_animation' => ''), $atts));
            $open = $open == 'true' ? 1 : 0;
            $css_class .= getCSSAnimation($css_animation);
            $css_class .= ' ' . $el_class;
            $output .= '<div class="toggle-block ' . $css_class . '">' . do_shortcode('[toggle title="' . $title . '" class="' . $css_class . '" active="' . $open . '"]' . wpb_js_remove_wpautop($content) . '[/toggle]') . '</div>';
            return $output;
        }
        // **********************************************************************//
        // ! Sliders
        // **********************************************************************//
        $setting_vc_gallery = array("name" => __("Image Gallery", "js_composer"), "icon" => "icon-wpb-images-stack", "category" => __('Content', 'js_composer'), "params" => array(array("type" => "textfield", "heading" => __("Widget title", "js_composer"), "param_name" => "title", "description" => __("What text use as a widget title. Leave blank if no title is needed.", "js_composer")), array("type" => "dropdown", "heading" => __("Gallery type", "js_composer"), "param_name" => "type", "value" => array(__("Flex slider fade", "js_composer") => "flexslider_fade", __("Flex slider slide", "js_composer") => "flexslider_slide", __("Nivo slider", "js_composer") => "nivo", __("Carousel", "js_composer") => "carousel", __("Image grid", "js_composer") => "image_grid"), "description" => __("Select gallery type.", "js_composer")), array("type" => "dropdown", "heading" => __("Auto rotate slides", "js_composer"), "param_name" => "interval", "value" => array(3, 5, 10, 15, __("Disable", "js_composer") => 0), "description" => __("Auto rotate slides each X seconds.", "js_composer"), "dependency" => array('element' => "type", 'value' => array('flexslider_fade', 'flexslider_slide', 'nivo'))), array("type" => "attach_images", "heading" => __("Images", "js_composer"), "param_name" => "images", "value" => "", "description" => __("Select images from media library.", "js_composer")), array("type" => "textfield", "heading" => __("Image size", "js_composer"), "param_name" => "img_size", "description" => __("Enter image size. Example: thumbnail, medium, large, full or other sizes defined by current theme. Alternatively enter image size in pixels: 200x100 (Width x Height). Leave empty to use 'thumbnail' size.", "js_composer")), array("type" => "dropdown", "heading" => __("On click", "js_composer"), "param_name" => "onclick", "value" => array(__("Open prettyPhoto", "js_composer") => "link_image", __("Do nothing", "js_composer") => "link_no", __("Open custom link", "js_composer") => "custom_link"), "description" => __("What to do when slide is clicked?", "js_composer")), array("type" => "exploded_textarea", "heading" => __("Custom links", "js_composer"), "param_name" => "custom_links", "description" => __('Enter links for each slide here. Divide links with linebreaks (Enter).', 'js_composer'), "dependency" => array('element' => "onclick", 'value' => array('custom_link'))), array("type" => "dropdown", "heading" => __("Custom link target", "js_composer"), "param_name" => "custom_links_target", "description" => __('Select where to open  custom links.', 'js_composer'), "dependency" => array('element' => "onclick", 'value' => array('custom_link')), 'value' => $target_arr), array("type" => "textfield", "heading" => __("Extra class name", "js_composer"), "param_name" => "el_class", "description" => __("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "js_composer"))));
        vc_map_update('vc_gallery', $setting_vc_gallery);
        function vc_theme_vc_gallery($atts, $content = null)
        {
            $output = $title = $type = $onclick = $custom_links = $img_size = $custom_links_target = $images = $el_class = $interval = '';
            extract(shortcode_atts(array('title' => '', 'type' => 'flexslider', 'onclick' => 'link_image', 'custom_links' => '', 'custom_links_target' => '', 'img_size' => 'thumbnail', 'images' => '', 'el_class' => '', 'interval' => '5'), $atts));
            $gal_images = '';
            $link_start = '';
            $link_end = '';
            $el_start = '';
            $el_end = '';
            $slides_wrap_start = '';
            $slides_wrap_end = '';
            $rand = rand(1000, 9999);
            $el_class = ' ' . $el_class;
            if ($type == 'nivo') {
                $type = ' wpb_slider_nivo theme-default';
                wp_enqueue_script('nivo-slider');
                wp_enqueue_style('nivo-slider-css');
                wp_enqueue_style('nivo-slider-theme');
                $slides_wrap_start = '<div class="nivoSlider">';
                $slides_wrap_end = '</div>';
            } else {
                if ($type == 'flexslider' || $type == 'flexslider_fade' || $type == 'flexslider_slide' || $type == 'fading') {
                    $el_start = '<li>';
                    $el_end = '</li>';
                    $slides_wrap_start = '<ul class="slides">';
                    $slides_wrap_end = '</ul>';
                } else {
                    if ($type == 'image_grid') {
                        wp_enqueue_script('isotope');
                        $el_start = '<li class="isotope-item">';
                        $el_end = '</li>';
                        $slides_wrap_start = '<ul class="wpb_image_grid_ul">';
                        $slides_wrap_end = '</ul>';
                    } else {
                        if ($type == 'carousel') {
                            $el_start = '<li class="">';
                            $el_end = '</li>';
                            $slides_wrap_start = '<ul class="images-carousel carousel-' . $rand . '">';
                            $slides_wrap_end = '</ul>';
                        }
                    }
                }
            }
            $flex_fx = '';
            $flex = false;
            if ($type == 'flexslider' || $type == 'flexslider_fade' || $type == 'fading') {
                $flex = true;
                $type = ' wpb_flexslider' . $rand . ' flexslider_fade flexslider';
                $flex_fx = ' data-flex_fx="fade"';
            } else {
                if ($type == 'flexslider_slide') {
                    $flex = true;
                    $type = ' wpb_flexslider' . $rand . ' flexslider_slide flexslider';
                    $flex_fx = ' data-flex_fx="slide"';
                } else {
                    if ($type == 'image_grid') {
                        $type = ' wpb_image_grid';
                    }
                }
            }
            /*
            	       else if ( $type == 'fading' ) {
            	          $type = ' wpb_slider_fading';
            	          $el_start = '<li>';
            	          $el_end = '</li>';
            	          $slides_wrap_start = '<ul class="slides">';
            	          $slides_wrap_end = '</ul>';
            	          wp_enqueue_script( 'cycle' );
            	      }*/
            //if ( $images == '' ) return null;
            if ($images == '') {
                $images = '-1,-2,-3';
            }
            $pretty_rel_random = 'rel-' . rand();
            if ($onclick == 'custom_link') {
                $custom_links = explode(',', $custom_links);
            }
            $images = explode(',', $images);
            $i = -1;
            foreach ($images as $attach_id) {
                $i++;
                if ($attach_id > 0) {
                    $post_thumbnail = wpb_getImageBySize(array('attach_id' => $attach_id, 'thumb_size' => $img_size));
                } else {
                    $different_kitten = 400 + $i;
                    $post_thumbnail = array();
                    $post_thumbnail['thumbnail'] = '<img src="http://placekitten.com/g/' . $different_kitten . '/300" />';
                    $post_thumbnail['p_img_large'][0] = 'http://placekitten.com/g/1024/768';
                }
                $thumbnail = $post_thumbnail['thumbnail'];
                $p_img_large = $post_thumbnail['p_img_large'];
                $link_start = $link_end = '';
                if ($onclick == 'link_image') {
                    $link_start = '<a rel="lightboxGall" href="' . $p_img_large[0] . '">';
                    $link_end = '</a>';
                } else {
                    if ($onclick == 'custom_link' && isset($custom_links[$i]) && $custom_links[$i] != '') {
                        $link_start = '<a href="' . $custom_links[$i] . '"' . (!empty($custom_links_target) ? ' target="' . $custom_links_target . '"' : '') . '>';
                        $link_end = '</a>';
                    }
                }
                $gal_images .= $el_start . $link_start . $thumbnail . $link_end . $el_end;
            }
            $css_class = apply_filters(VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, 'wpb_gallery wpb_content_element' . $el_class . ' clearfix');
            $output .= "\n\t" . '<div class="' . $css_class . '">';
            $output .= "\n\t\t" . '<div class="wpb_wrapper">';
            $output .= wpb_widget_title(array('title' => $title, 'extraclass' => 'wpb_gallery_heading'));
            $output .= '<div class="wpb_gallery_slides' . $type . '" data-interval="' . $interval . '"' . $flex_fx . '>' . $slides_wrap_start . $gal_images . $slides_wrap_end . '</div>';
            $output .= "\n\t\t" . '</div> ';
            $output .= "\n\t" . '</div> ';
            if ($flex) {
                $output .= '<script type="text/javascript">';
                $output .= 'jQuery(document).ready(function(){';
                $output .= 'var sliderElement = jQuery(".wpb_flexslider' . $rand . '");';
                $output .= 'var sliderSpeed = 800,';
                $output .= "sliderTimeout = parseInt(sliderElement.attr('data-interval'))*1000,";
                $output .= "sliderFx = sliderElement.attr('data-flex_fx'),";
                $output .= "slideshow = true;";
                $output .= "if ( sliderTimeout == 0 ) slideshow = false;";
                $output .= "sliderElement.flexslider({";
                $output .= "animation: sliderFx,";
                $output .= "slideshow: slideshow,";
                $output .= "slideshowSpeed: sliderTimeout,";
                $output .= "sliderSpeed: sliderSpeed,";
                $output .= "smoothHeight: false";
                $output .= "});";
                $output .= "});";
                $output .= "</script>";
            }
            if ($type == 'carousel') {
                $items = '[[0, 1], [479,2], [619,2], [768,4],  [1200, 4], [1600, 4]]';
                $output .= '<script type="text/javascript">';
                //$output .=  '     jQuery(".images-carousel").etFullWidth();';
                $output .= '     jQuery(".carousel-' . $rand . '").owlCarousel({';
                $output .= '         items:4, ';
                $output .= '         navigation: true,';
                $output .= '         navigationText:false,';
                $output .= '         rewindNav: false,';
                $output .= '         itemsCustom: ' . $items . '';
                $output .= '    });';
                $output .= ' </script>';
            }
            return $output;
        }
        // **********************************************************************//
        // ! Single Image
        // **********************************************************************//
        $setting_vc_single_image = array("params" => array(array("type" => "textfield", "heading" => __("Widget title", "js_composer"), "param_name" => "title", "description" => __("What text use as a widget title. Leave blank if no title is needed.", "js_composer")), array("type" => "attach_image", "heading" => __("Image", "js_composer"), "param_name" => "image", "value" => "", "description" => __("Select image from media library.", "js_composer")), $add_css_animation, array("type" => "textfield", "heading" => __("Image size", "js_composer"), "param_name" => "img_size", "description" => __("Enter image size. Example: thumbnail, medium, large, full or other sizes defined by current theme. Alternatively enter image size in pixels: 200x100 (Width x Height). Leave empty to use 'thumbnail' size.", "js_composer")), array("type" => 'checkbox', "heading" => __("Link to large image?", "js_composer"), "param_name" => "img_link_large", "description" => __("If selected, image will be linked to the bigger image.", "js_composer"), "value" => array(__("Yes, please", "js_composer") => 'yes')), array('type' => 'href', 'heading' => __('Image link', 'js_composer'), 'param_name' => 'link', 'description' => __('Enter URL if you want this image to have a link.', 'js_composer'), 'dependency' => array('element' => 'img_link_large', 'is_empty' => true, 'callback' => 'wpb_single_image_img_link_dependency_callback')), array("type" => "dropdown", "heading" => __("Link Target", "js_composer"), "param_name" => "img_link_target", "value" => $target_arr, "dependency" => array('element' => "img_link", 'not_empty' => true)), array("type" => "textfield", "heading" => __("Extra class name", "js_composer"), "param_name" => "el_class", "description" => __("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "js_composer"))));
        vc_map_update('vc_single_image', $setting_vc_single_image);
        function vc_theme_vc_single_image($atts, $content = null)
        {
            $output = $a_class = $el_class = $image = $img_size = $img_link = $img_link_target = $img_link_large = $title = $css_animation = '';
            extract(shortcode_atts(array('title' => '', 'image' => '', 'img_src' => '', 'img_size' => 'thumbnail', 'img_link_large' => false, 'link' => '', 'img_link_target' => '_self', 'el_class' => '', 'css_animation' => ''), $atts));
            $img_id = preg_replace('/[^\\d]/', '', $image);
            $img = wpb_getImageBySize(array('attach_id' => $img_id, 'thumb_size' => $img_size));
            $link_to = '';
            if ($img_link_large == true) {
                $link_to = wp_get_attachment_image_src($img_id, 'large');
                $link_to = $link_to[0];
            } else {
                if (!empty($link)) {
                    $link_to = $link;
                }
            }
            if ($img == NULL) {
                if ($img_link_large == true) {
                    $link_to = $img_src;
                }
                $img = array('thumbnail' => '<img src="' . $img_src . '">');
            }
            $el_class = ' ' . $el_class . ' ';
            if ($img_link_large == true) {
                $a_class = ' rel="lightbox"';
            }
            $image_string = !empty($link_to) ? '<a' . $a_class . ' href="' . $link_to . '"' . ($img_link_target != '_self' ? ' target="' . $img_link_target . '"' : '') . '>' . $img['thumbnail'] . '</a>' : $img['thumbnail'];
            $css_class = apply_filters(VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, 'wpb_single_image wpb_content_element' . $el_class);
            $css_class .= getCSSAnimation($css_animation);
            $output .= "\n\t" . '<div class="' . $css_class . '">';
            $output .= "\n\t\t" . '<div class="wpb_wrapper">';
            $output .= "\n\t\t\t" . wpb_widget_title(array('title' => $title, 'extraclass' => 'wpb_singleimage_heading'));
            $output .= "\n\t\t\t" . $image_string;
            $output .= "\n\t\t" . '</div> ';
            $output .= "\n\t" . '</div> ';
            return $output;
        }
        // **********************************************************************//
        // ! Accordion
        // **********************************************************************//
        function vc_theme_vc_accordion($atts, $content = null)
        {
            $output = $title = $interval = $el_class = $collapsible = $active_tab = '';
            //
            extract(shortcode_atts(array('title' => '', 'interval' => 0, 'el_class' => '', 'collapsible' => 'no', 'active_tab' => '1'), $atts));
            $el_class = ' ' . $el_class;
            if ($active_tab == 'false') {
                $el_class .= ' closed-tabs ';
            }
            $css_class = apply_filters(VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, 'wpb_content_element ' . $el_class . ' not-column-inherit');
            $output .= wpb_widget_title(array('title' => $title, 'extraclass' => 'wpb_accordion_heading'));
            $output .= "\n\t" . '<div class="' . $css_class . ' tabs accordion">';
            $output .= "\n\t\t\t" . wpb_js_remove_wpautop($content);
            $output .= "\n\t" . '</div> ';
            return $output;
        }
        function vc_theme_vc_accordion_tab($atts, $content = null)
        {
            global $tab_count;
            $output = $title = '';
            extract(shortcode_atts(array('title' => __("Section", "js_composer")), $atts));
            $tab_count++;
            $output .= "\n\t\t\t\t" . '<a href="#tab_' . $tab_count . '" id="tab_' . $tab_count . '" class="tab-title">' . $title . '</a>';
            $output .= "\n\t\t\t\t" . '<div id="content_tab_' . $tab_count . '" class="tab-content">';
            $output .= $content == '' || $content == ' ' ? __("Empty section. Edit page to add content here.", "js_composer") : "\n\t\t\t\t" . wpb_js_remove_wpautop($content);
            $output .= "\n\t\t\t\t" . '</div>';
            return $output;
        }
        // **********************************************************************//
        // ! Tabs
        // **********************************************************************//
        $tab_id_1 = time() . '-1-' . rand(0, 100);
        $tab_id_2 = time() . '-2-' . rand(0, 100);
        vc_map(array("name" => __("Tabs", "js_composer"), "base" => "vc_tabs", "show_settings_on_create" => true, "is_container" => true, "icon" => "icon-wpb-ui-tab-content", "category" => __('Content', 'js_composer'), "params" => array(array("type" => "textfield", "heading" => __("Widget title", "js_composer"), "param_name" => "title", "description" => __("What text use as a widget title. Leave blank if no title is needed.", "js_composer")), array("type" => "dropdown", "heading" => __("Tabs type", "js_composer"), "param_name" => "type", "value" => array(__("Default", "js_composer") => '', __("Accordion", "js_composer") => 'accordion', __("Left bar", "js_composer") => 'left-bar', __("Right bar", "js_composer") => 'right-bar')), array("type" => "textfield", "heading" => __("Extra class name", "js_composer"), "param_name" => "el_class", "description" => __("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "js_composer"))), "custom_markup" => '
	      <div class="wpb_tabs_holder wpb_holder vc_container_for_children">
	      <ul class="tabs_controls">
	      </ul>
	      %content%
	      </div>', 'default_content' => '
	      [vc_tab title="' . __('Tab 1', 'js_composer') . '" tab_id="' . $tab_id_1 . '"][/vc_tab]
	      [vc_tab title="' . __('Tab 2', 'js_composer') . '" tab_id="' . $tab_id_2 . '"][/vc_tab]
	      ', "js_view" => $vc_is_wp_version_3_6_more ? 'VcTabsView' : 'VcTabsView35'));
        function vc_theme_vc_tabs($atts, $content = null)
        {
            $output = $title = $interval = $el_class = $collapsible = $active_tab = '';
            //
            extract(shortcode_atts(array('title' => '', 'interval' => 0, 'el_class' => '', 'type' => '', 'collapsible' => 'no', 'active_tab' => '1'), $atts));
            $el_class = ' ' . $el_class;
            $css_class = apply_filters(VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, 'wpb_content_element ' . $el_class . ' ' . $type . ' not-column-inherit');
            $output .= wpb_widget_title(array('title' => $title, 'extraclass' => 'wpb_accordion_heading'));
            $output .= "\n\t" . '<div class="' . $css_class . ' tabs">';
            $output .= "\n\t\t\t" . wpb_js_remove_wpautop($content);
            $output .= "\n\t" . '</div> ';
            return $output;
        }
        vc_map(array("name" => __("Tab", "js_composer"), "base" => "vc_tab", "allowed_container_element" => 'vc_row', "is_container" => true, "content_element" => false, "params" => array(array("type" => "textfield", "heading" => __("Title", "js_composer"), "param_name" => "title", "description" => __("Tab title.", "js_composer")), array('type' => 'icon', "heading" => __("Icon", ETHEME_DOMAIN), "param_name" => "icon"), array("type" => "tab_id", "heading" => __("Tab ID", "js_composer"), "param_name" => "tab_id")), 'js_view' => $vc_is_wp_version_3_6_more ? 'VcTabView' : 'VcTabView35'));
        function vc_theme_vc_tab($atts, $content = null)
        {
            global $tab_count;
            $output = $title = $iconHtml = '';
            extract(shortcode_atts(array('title' => __("Section", "js_composer"), 'icon' => ''), $atts));
            $tab_count++;
            if ($icon != '') {
                $iconHtml = '<i class="icon-' . $icon . '"></i>';
            }
            $output .= "\n\t\t\t\t" . '<a href="#tab_' . $tab_count . '" id="tab_' . $tab_count . '" class="tab-title">' . $iconHtml . $title . '</a>';
            $output .= "\n\t\t\t\t" . '<div id="content_tab_' . $tab_count . '" class="tab-content">';
            $output .= $content == '' || $content == ' ' ? __("Empty section. Edit page to add content here.", "js_composer") : "\n\t\t\t\t" . wpb_js_remove_wpautop($content);
            $output .= "\n\t\t\t\t" . '</div>';
            return $output;
        }
        // **********************************************************************//
        // ! Posts Slider
        // **********************************************************************//
        $setting_vc_posts_slider = array('params' => array(array("type" => "textfield", "heading" => __("Widget title", "js_composer"), "param_name" => "title", "description" => __("What text use as a widget title. Leave blank if no title is needed.", "js_composer")), array("type" => "textfield", "heading" => __("Slides count", "js_composer"), "param_name" => "count", "description" => __('How many slides to show? Enter number or word "All".', "js_composer")), array("type" => "posttypes", "heading" => __("Post types", "js_composer"), "param_name" => "posttypes", "description" => __("Select post types to populate posts from.", "js_composer")), array("type" => 'checkbox', "heading" => __("Output post date?", "js_composer"), "param_name" => "slides_date", "description" => __("If selected, date will be printed before the teaser text.", "js_composer"), "value" => array(__("Yes, please", "js_composer") => true)), array("type" => "dropdown", "heading" => __("Description", "js_composer"), "param_name" => "slides_content", "value" => array(__("No description", "js_composer") => "", __("Teaser (Excerpt)", "js_composer") => "teaser"), "description" => __("Some sliders support description text, what content use for it?", "js_composer"), "dependency" => array('element' => "type", 'value' => array('flexslider_fade', 'flexslider_slide'))), array("type" => 'checkbox', "heading" => __("Output post title?", "js_composer"), "param_name" => "slides_title", "description" => __("If selected, title will be printed before the teaser text.", "js_composer"), "value" => array(__("Yes, please", "js_composer") => true), "dependency" => array('element' => "slides_content", 'value' => array('teaser'))), array("type" => "textfield", "heading" => __("Thumbnail size", "js_composer"), "param_name" => "thumb_size", "description" => __('Enter thumbnail size. Example: 200x100 (Width x Height).', "js_composer")), array("type" => "textfield", "heading" => __("Post/Page IDs", "js_composer"), "param_name" => "posts_in", "description" => __('Fill this field with page/posts IDs separated by commas (,), to retrieve only them. Use this in conjunction with "Post types" field.', "js_composer")), array("type" => "exploded_textarea", "heading" => __("Categories", "js_composer"), "param_name" => "categories", "description" => __("If you want to narrow output, enter category names here. Note: Only listed categories will be included. Divide categories with linebreaks (Enter).", "js_composer")), array("type" => "dropdown", "heading" => __("Order by", "js_composer"), "param_name" => "orderby", "value" => array("", __("Date", "js_composer") => "date", __("ID", "js_composer") => "ID", __("Author", "js_composer") => "author", __("Title", "js_composer") => "title", __("Modified", "js_composer") => "modified", __("Random", "js_composer") => "rand", __("Comment count", "js_composer") => "comment_count", __("Menu order", "js_composer") => "menu_order"), "description" => sprintf(__('Select how to sort retrieved posts. More at %s.', 'js_composer'), '<a href="http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters" target="_blank">WordPress codex page</a>')), array("type" => "dropdown", "heading" => __("Order by", "js_composer"), "param_name" => "order", "value" => array(__("Descending", "js_composer") => "DESC", __("Ascending", "js_composer") => "ASC"), "description" => sprintf(__('Designates the ascending or descending order. More at %s.', 'js_composer'), '<a href="http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters" target="_blank">WordPress codex page</a>')), array("type" => "textfield", "heading" => __("Extra class name", "js_composer"), "param_name" => "el_class", "description" => __("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "js_composer"))));
        vc_map_update('vc_posts_slider', $setting_vc_posts_slider);
        function vc_theme_vc_posts_slider($atts, $content = null)
        {
            $output = $title = $type = $count = $interval = $slides_content = $link = '';
            $custom_links = $thumb_size = $posttypes = $posts_in = $categories = '';
            $orderby = $order = $el_class = $link_image_start = '';
            extract(shortcode_atts(array('title' => '', 'type' => 'flexslider_fade', 'count' => 10, 'interval' => 3, 'slides_content' => '', 'slides_title' => '', 'link' => 'link_post', 'more_link' => 1, 'custom_links' => site_url() . '/', 'thumb_size' => '300x200', 'posttypes' => '', 'posts_in' => '', 'slides_date' => false, 'categories' => '', 'orderby' => NULL, 'order' => 'DESC', 'el_class' => ''), $atts));
            $gal_images = '';
            $link_start = '';
            $link_end = '';
            $el_start = '';
            $el_end = '';
            $slides_wrap_start = '';
            $slides_wrap_end = '';
            $el_class = ' ' . $el_class;
            $query_args = array();
            //exclude current post/page from query
            if ($posts_in == '') {
                global $post;
                $query_args['post__not_in'] = array($post->ID);
            } else {
                if ($posts_in != '') {
                    $query_args['post__in'] = explode(",", $posts_in);
                }
            }
            // Post teasers count
            if ($count != '' && !is_numeric($count)) {
                $count = -1;
            }
            if ($count != '' && is_numeric($count)) {
                $query_args['posts_per_page'] = $count;
            }
            // Post types
            $pt = array();
            if ($posttypes != '') {
                $posttypes = explode(",", $posttypes);
                foreach ($posttypes as $post_type) {
                    array_push($pt, $post_type);
                }
                $query_args['post_type'] = $pt;
            }
            // Narrow by categories
            if ($categories != '') {
                $categories = explode(",", $categories);
                $gc = array();
                foreach ($categories as $grid_cat) {
                    array_push($gc, $grid_cat);
                }
                $gc = implode(",", $gc);
                ////http://snipplr.com/view/17434/wordpress-get-category-slug/
                $query_args['category_name'] = $gc;
                $taxonomies = get_taxonomies('', 'object');
                $query_args['tax_query'] = array('relation' => 'OR');
                foreach ($taxonomies as $t) {
                    if (in_array($t->object_type[0], $pt)) {
                        $query_args['tax_query'][] = array('taxonomy' => $t->name, 'terms' => $categories, 'field' => 'slug');
                    }
                }
            }
            // Order posts
            if ($orderby != NULL) {
                $query_args['orderby'] = $orderby;
            }
            $query_args['order'] = $order;
            $thumb_size = explode('x', $thumb_size);
            $width = $thumb_size[0];
            $height = $thumb_size[1];
            $crop = true;
            ob_start();
            etheme_create_posts_slider($query_args, $title, $more_link, $slides_date, $slides_content, $width, $height, $crop);
            $output = ob_get_contents();
            ob_end_clean();
            return $output;
        }
        // **********************************************************************//
        // ! Button
        // **********************************************************************//
        $setting_vc_button = array("params" => array(array("type" => "textfield", "heading" => __("Text on the button", "js_composer"), "holder" => "button", "class" => "wpb_button", "param_name" => "title", "value" => __("Text on the button", "js_composer"), "description" => __("Text on the button.", "js_composer")), array("type" => "textfield", "heading" => __("URL (Link)", "js_composer"), "param_name" => "href", "description" => __("Button link.", "js_composer")), array("type" => "dropdown", "heading" => __("Target", "js_composer"), "param_name" => "target", "value" => $target_arr, "dependency" => array('element' => "href", 'not_empty' => true)), array("type" => "dropdown", "heading" => __("Type", "js_composer"), "param_name" => "btn_type", "value" => array('bordered', 'filled'), "description" => __("Button type.", "js_composer")), array("type" => "dropdown", "heading" => __("Size", "js_composer"), "param_name" => "size", "value" => array('small', 'medium', 'big'), "description" => __("Button size.", "js_composer")), array("type" => "textfield", "heading" => __("Extra class name", "js_composer"), "param_name" => "el_class", "description" => __("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "js_composer"))));
        vc_map_update('vc_button', $setting_vc_button);
        function vc_theme_vc_button($atts, $content = null)
        {
            $output = $btn_type = $size = $icon = $target = $href = $el_class = $title = $position = '';
            extract(shortcode_atts(array('btn_type' => '', 'size' => '', 'target' => '_self', 'href' => '', 'el_class' => '', 'title' => __('Text on the button', "js_composer"), 'position' => ''), $atts));
            if ($target == 'same' || $target == '_self') {
                $target = '';
            }
            $target = $target != '' ? ' target="' . $target . '"' : '';
            $btn_type = $btn_type != '' ? ' ' . $btn_type : '';
            $size = $size != '' ? ' ' . $size : ' ';
            $position = $position != '' ? ' ' . $position . '-button-position' : '';
            $el_class = ' ' . $el_class;
            $css_class = apply_filters(VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, ' ' . $btn_type . $size . $el_class . $position);
            if ($href != '') {
                $output = '<a class="button ' . $css_class . '" title="' . $title . '" href="' . $href . '"' . $target . '>' . $title . '</a>';
            } else {
                $output .= '<button class="button ' . $css_class . '">' . $title . '</button>';
            }
            return $output;
        }
        // **********************************************************************//
        // ! Call To Action
        // **********************************************************************//
        $setting_cta_button = array("params" => array(array("type" => "textarea_html", "heading" => __("Text", "js_composer"), "param_name" => "content", "value" => __("Click edit button to change this text.", "js_composer"), "description" => __("Enter your content.", "js_composer")), array("type" => "dropdown", "heading" => __("Block Style", "js_composer"), "param_name" => "style", "value" => array("" => "", __("Default", "js_composer") => "default", __("Filled", "js_composer") => "filled", __("Without Border", "js_composer") => "without-border", __("Dark", "js_composer") => "dark")), array("type" => "textfield", "heading" => __("Text on the button", "js_composer"), "param_name" => "title", "value" => __("Text on the button", "js_composer"), "description" => __("Text on the button.", "js_composer")), array("type" => "textfield", "heading" => __("URL (Link)", "js_composer"), "param_name" => "href", "description" => __("Button link.", "js_composer")), array("type" => "dropdown", "heading" => __("Button position", "js_composer"), "param_name" => "position", "value" => array(__("Align right", "js_composer") => "right", __("Align left", "js_composer") => "left"), "description" => __("Select button alignment.", "js_composer"))));
        vc_map_update('vc_cta_button', $setting_cta_button);
        function vc_theme_vc_cta_button($atts, $content = null)
        {
            $output = $call_title = $href = $title = $call_text = $el_class = '';
            extract(shortcode_atts(array('href' => '', 'style' => '', 'title' => '', 'position' => 'right'), $atts));
            return do_shortcode('[callto btn_position="' . $position . '" btn="' . $title . '" style="' . $style . '" link="' . $href . '"]' . $content . '[/callto]');
        }
        // **********************************************************************//
        // ! Teaser grid
        // **********************************************************************//
        $setting_teaser_grid = array("params" => array(array("type" => "textfield", "heading" => __("Widget title", "js_composer"), "param_name" => "title", "description" => __("What text use as a widget title. Leave blank if no title is needed.", "js_composer")), array("type" => "dropdown", "heading" => __("Columns count", "js_composer"), "param_name" => "grid_columns_count", "value" => array(4, 3, 2, 1), "admin_label" => true, "description" => __("Select columns count.", "js_composer")), array("type" => "posttypes", "heading" => __("Post types", "js_composer"), "param_name" => "grid_posttypes", "description" => __("Select post types to populate posts from.", "js_composer")), array("type" => "textfield", "heading" => __("Teasers count", "js_composer"), "param_name" => "grid_teasers_count", "description" => __('How many teasers to show? Enter number or word "All".', "js_composer")), array("type" => "dropdown", "heading" => __("Pagination", "js_composer"), "param_name" => "pagination", "value" => array(__("Show Pagination", "js_composer") => "show", __("Hide", "js_composer") => "hide")), array("type" => "dropdown", "heading" => __("Content", "js_composer"), "param_name" => "grid_content", "value" => array(__("Teaser (Excerpt)", "js_composer") => "teaser", __("Full Content", "js_composer") => "content"), "description" => __("Teaser layout template.", "js_composer")), array("type" => "dropdown", "heading" => __("'Posted by' block", "js_composer"), "param_name" => "posted_block", "value" => array(__("Show", "js_composer") => "show", __("Hide", "js_composer") => "hide")), array("type" => "dropdown", "heading" => __("Hover mask", "js_composer"), "param_name" => "hover_mask", "value" => array(__("Show", "js_composer") => "show", __("Hide", "js_composer") => "hide")), array("type" => "dropdown", "heading" => __("Layout", "js_composer"), "param_name" => "grid_layout", "value" => array(__("Title + Thumbnail + Text", "js_composer") => "title_thumbnail_text", __("Thumbnail + Title + Text", "js_composer") => "thumbnail_title_text", __("Thumbnail + Text", "js_composer") => "thumbnail_text", __("Thumbnail + Title", "js_composer") => "thumbnail_title", __("Thumbnail only", "js_composer") => "thumbnail", __("Title + Text", "js_composer") => "title_text"), "description" => __("Teaser layout.", "js_composer")), array("type" => "dropdown", "heading" => __("Border", "js_composer"), "param_name" => "border", "value" => array(__("Show border", "js_composer") => "on", __("Without border", "js_composer") => "off"), "description" => __("Teaser layout.", "js_composer")), array("type" => "dropdown", "heading" => __("Teaser grid layout", "js_composer"), "param_name" => "grid_template", "value" => array(__("Grid", "js_composer") => "grid", __("Grid with filter", "js_composer") => "filtered_grid"), "description" => __("Teaser layout template.", "js_composer")), array("type" => "taxonomies", "heading" => __("Taxonomies", "js_composer"), "param_name" => "grid_taxomonies", "dependency" => array('element' => 'grid_template', 'value' => array('filtered_grid'), 'callback' => 'wpb_grid_post_types_for_taxonomies_handler'), "description" => __("Select taxonomies from.", "js_composer")), array("type" => "textfield", "heading" => __("Thumbnail size", "js_composer"), "param_name" => "grid_thumb_size", "description" => __('Enter thumbnail size. Example: thumbnail, medium, large, full or other sizes defined by current theme. Alternatively enter image size in pixels: 200x100 (Width x Height).', "js_composer")), array("type" => "textfield", "heading" => __("Post/Page IDs", "js_composer"), "param_name" => "posts_in", "description" => __('Fill this field with page/posts IDs separated by commas (,) to retrieve only them. Use this in conjunction with "Post types" field.', "js_composer")), array("type" => "textfield", "heading" => __("Exclude Post/Page IDs", "js_composer"), "param_name" => "posts_not_in", "description" => __('Fill this field with page/posts IDs separated by commas (,) to exclude them from query.', "js_composer")), array("type" => "exploded_textarea", "heading" => __("Categories", "js_composer"), "param_name" => "grid_categories", "description" => __("If you want to narrow output, enter category names here. Note: Only listed categories will be included. Divide categories with linebreaks (Enter).", "js_composer")), array("type" => "dropdown", "heading" => __("Order by", "js_composer"), "param_name" => "orderby", "value" => array("", __("Date", "js_composer") => "date", __("ID", "js_composer") => "ID", __("Author", "js_composer") => "author", __("Title", "js_composer") => "title", __("Modified", "js_composer") => "modified", __("Random", "js_composer") => "rand", __("Comment count", "js_composer") => "comment_count", __("Menu order", "js_composer") => "menu_order"), "description" => sprintf(__('Select how to sort retrieved posts. More at %s.', 'js_composer'), '<a href="http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters" target="_blank">WordPress codex page</a>')), array("type" => "dropdown", "heading" => __("Order way", "js_composer"), "param_name" => "order", "value" => array(__("Descending", "js_composer") => "DESC", __("Ascending", "js_composer") => "ASC"), "description" => sprintf(__('Designates the ascending or descending order. More at %s.', 'js_composer'), '<a href="http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters" target="_blank">WordPress codex page</a>')), array("type" => "textfield", "heading" => __("Extra class name", "js_composer"), "param_name" => "el_class", "description" => __("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "js_composer"))));
        vc_map_update('vc_posts_grid', $setting_teaser_grid);
        function vc_theme_vc_posts_grid($atts, $content = null)
        {
            return etheme_teaser($atts, $content = null);
        }
        // **********************************************************************//
        // ! Progress bar
        // **********************************************************************//
        $setting_progress_bar = array("params" => array(array("type" => "exploded_textarea", "heading" => __("Graphic values", "js_composer"), "param_name" => "values", "description" => __('Input graph values here. Divide values with linebreaks (Enter). Example: 90|Development', 'js_composer'), "value" => "90|Development,80|Design,70|Marketing")));
        vc_map_update('vc_progress_bar', $setting_progress_bar);
        function vc_theme_vc_progress_bar($atts, $content = null)
        {
            $output = $title = '';
            extract(shortcode_atts(array('title' => '', 'values' => ''), $atts));
            $graph_lines = explode(",", $values);
            $output .= '<div class="progress-bars">';
            foreach ($graph_lines as $line) {
                $single_val = explode("|", $line);
                $output .= do_shortcode('[progress title="' . $single_val[1] . '" complete="' . $single_val[0] . '"]');
            }
            $output .= '</div>';
            return $output;
        }
    }
Example #12
0
 function x_visual_composer_update_existing_shortcodes()
 {
     //
     // [vc_row]
     //
     vc_map_update('vc_row', array('name' => __('Content Band', '__x__'), 'weight' => 1000, 'class' => 'x-content-element x-content-element-content-band', 'icon' => 'content-band', 'category' => __('Structure', '__x__'), 'description' => __('Place and structure your shortcodes inside of a row', '__x__')));
     vc_remove_param('vc_row', 'bg_color');
     vc_remove_param('vc_row', 'font_color');
     vc_remove_param('vc_row', 'padding');
     vc_remove_param('vc_row', 'margin_bottom');
     vc_remove_param('vc_row', 'bg_image');
     vc_remove_param('vc_row', 'bg_image_repeat');
     vc_remove_param('vc_row', 'el_class');
     vc_remove_param('vc_row', 'css');
     vc_remove_param('vc_row', 'full_width');
     vc_remove_param('vc_row', 'full_height');
     vc_remove_param('vc_row', 'content_placement');
     vc_remove_param('vc_row', 'video_bg');
     vc_remove_param('vc_row', 'video_bg_url');
     vc_remove_param('vc_row', 'video_bg_parallax');
     vc_remove_param('vc_row', 'parallax');
     vc_remove_param('vc_row', 'parallax_image');
     vc_remove_param('vc_row', 'el_id');
     vc_add_param('vc_row', array('param_name' => 'inner_container', 'heading' => __('Inner Container', '__x__'), 'description' => __('Select to insert a container inside of the content band. Use this instead of the [container] shortcode for greater flexibility and to contain multiple columns.', '__x__'), 'type' => 'checkbox', 'holder' => 'div', 'value' => array('' => 'true')));
     vc_add_param('vc_row', array('param_name' => 'no_margin', 'heading' => __('Remove Margin', '__x__'), 'description' => __('Select to remove the margin from the content band and stack them on top of each other.', '__x__'), 'type' => 'checkbox', 'holder' => 'div', 'value' => array('' => 'true')));
     vc_add_param('vc_row', array('param_name' => 'padding_top', 'heading' => __('Padding Top', '__x__'), 'description' => __('Set the top padding of the content band (leave blank to keep default).', '__x__'), 'type' => 'textfield', 'holder' => 'div', 'value' => '0px'));
     vc_add_param('vc_row', array('param_name' => 'padding_bottom', 'heading' => __('Padding Bottom', '__x__'), 'description' => __('Set the bottom padding of the content band (leave blank to keep default).', '__x__'), 'type' => 'textfield', 'holder' => 'div', 'value' => '0px'));
     vc_add_param('vc_row', array('param_name' => 'border', 'heading' => __('Border', '__x__'), 'description' => __('Select whether or not to display a border on your content band.', '__x__'), 'type' => 'dropdown', 'holder' => 'div', 'value' => array('- Select Option -' => '', 'None' => 'none', 'Top' => 'top', 'Left' => 'left', 'Right' => 'right', 'Bottom' => 'bottom', 'Horizontal' => 'horizontal', 'Vertical' => 'vertical', 'All' => 'all')));
     vc_add_param('vc_row', array('param_name' => 'bg_color', 'heading' => __('Background Color', '__x__'), 'description' => __('Select the background color of your content band (leave blank for "transparent").', '__x__'), 'type' => 'colorpicker', 'holder' => 'div'));
     vc_add_param('vc_row', array('param_name' => 'bg_pattern', 'heading' => __('Background Pattern', '__x__'), 'description' => __('Upload a background pattern to your content band.', '__x__'), 'type' => 'attach_image', 'holder' => 'div'));
     vc_add_param('vc_row', array('param_name' => 'bg_image', 'heading' => __('Background Image', '__x__'), 'description' => __('Upload a background image to your content band (this will overwrite your Background Pattern).', '__x__'), 'type' => 'attach_image', 'holder' => 'div'));
     vc_add_param('vc_row', array('param_name' => 'parallax', 'heading' => __('Parallax', '__x__'), 'description' => __('Select to activate the parallax effect with background patterns and images.', '__x__'), 'type' => 'checkbox', 'holder' => 'div', 'value' => array('' => 'true')));
     vc_add_param('vc_row', array('param_name' => 'bg_video', 'heading' => __('Background Video', '__x__'), 'description' => __('Include the path to your background video (this will overwrite both your Background Pattern and Background Image).', '__x__'), 'type' => 'textfield', 'holder' => 'div'));
     vc_add_param('vc_row', array('param_name' => 'bg_video_poster', 'heading' => __('Background Video Poster', '__x__'), 'description' => __('Include a poster image for your background video on mobile devices.', '__x__'), 'type' => 'attach_image', 'holder' => 'div'));
     vc_add_param('vc_row', array('param_name' => 'marginless_columns', 'heading' => __('Marginless Columns', '__x__'), 'description' => __('Select to remove the spacing between columns.', '__x__'), 'type' => 'checkbox', 'holder' => 'div', 'value' => array('' => 'true')));
     vc_add_param('vc_row', array('param_name' => 'class', 'heading' => __('Class', '__x__'), 'description' => __('(Optional) Enter a unique class name.', '__x__'), 'type' => 'textfield', 'holder' => 'div'));
     vc_add_param('vc_row', array('param_name' => 'style', 'heading' => __('Style', '__x__'), 'description' => __('(Optional) Enter inline CSS.', '__x__'), 'type' => 'textfield', 'holder' => 'div'));
     //
     // [vc_row_inner]
     //
     vc_map_update('vc_row_inner', array('name' => __('Content Band', '__x__'), 'weight' => 1000, 'class' => 'x-content-element x-content-element-content-band', 'icon' => 'content-band', 'category' => __('Structure', '__x__'), 'description' => __('Place and structure your shortcodes inside of a row', '__x__')));
     vc_remove_param('vc_row_inner', 'font_color');
     vc_remove_param('vc_row_inner', 'el_class');
     vc_remove_param('vc_row_inner', 'css');
     vc_remove_param('vc_row_inner', 'el_id');
     vc_add_param('vc_row_inner', array('param_name' => 'inner_container', 'heading' => __('Inner Container', '__x__'), 'description' => __('Select to insert a container inside of the content band. Use this instead of the [container] shortcode for greater flexibility and to contain multiple columns.', '__x__'), 'type' => 'checkbox', 'holder' => 'div', 'value' => array('' => 'true')));
     vc_add_param('vc_row_inner', array('param_name' => 'no_margin', 'heading' => __('Remove Margin', '__x__'), 'description' => __('Select to remove the margin from the content band and stack them on top of each other.', '__x__'), 'type' => 'checkbox', 'holder' => 'div', 'value' => array('' => 'true')));
     vc_add_param('vc_row_inner', array('param_name' => 'padding_top', 'heading' => __('Padding Top', '__x__'), 'description' => __('Set the top padding of the content band (leave blank to keep default).', '__x__'), 'type' => 'textfield', 'holder' => 'div', 'value' => '0px'));
     vc_add_param('vc_row_inner', array('param_name' => 'padding_bottom', 'heading' => __('Padding Bottom', '__x__'), 'description' => __('Set the bottom padding of the content band (leave blank to keep default).', '__x__'), 'type' => 'textfield', 'holder' => 'div', 'value' => '0px'));
     vc_add_param('vc_row_inner', array('param_name' => 'border', 'heading' => __('Border', '__x__'), 'description' => __('Select whether or not to display a border on your content band.', '__x__'), 'type' => 'dropdown', 'holder' => 'div', 'value' => array('- Select Option -' => '', 'None' => 'none', 'Top' => 'top', 'Left' => 'left', 'Right' => 'right', 'Bottom' => 'bottom', 'Horizontal' => 'horizontal', 'Vertical' => 'vertical', 'All' => 'all')));
     vc_add_param('vc_row_inner', array('param_name' => 'bg_color', 'heading' => __('Background Color', '__x__'), 'description' => __('Select the background color of your content band (leave blank for "transparent").', '__x__'), 'type' => 'colorpicker', 'holder' => 'div'));
     vc_add_param('vc_row_inner', array('param_name' => 'bg_pattern', 'heading' => __('Background Pattern', '__x__'), 'description' => __('Upload a background pattern to your content band.', '__x__'), 'type' => 'attach_image', 'holder' => 'div'));
     vc_add_param('vc_row_inner', array('param_name' => 'bg_image', 'heading' => __('Background Image', '__x__'), 'description' => __('Upload a background image to your content band (this will overwrite your Background Pattern).', '__x__'), 'type' => 'attach_image', 'holder' => 'div'));
     vc_add_param('vc_row_inner', array('param_name' => 'parallax', 'heading' => __('Parallax', '__x__'), 'description' => __('Select to activate the parallax effect with background patterns and images.', '__x__'), 'type' => 'checkbox', 'holder' => 'div', 'value' => array('' => 'true')));
     vc_add_param('vc_row_inner', array('param_name' => 'bg_video', 'heading' => __('Background Video', '__x__'), 'description' => __('Include the path to your background video (this will overwrite both your Background Pattern and Background Image).', '__x__'), 'type' => 'textfield', 'holder' => 'div'));
     vc_add_param('vc_row_inner', array('param_name' => 'bg_video_poster', 'heading' => __('Background Video Poster', '__x__'), 'description' => __('Include a poster image for your background video on mobile devices.', '__x__'), 'type' => 'attach_image', 'holder' => 'div'));
     vc_add_param('vc_row_inner', array('param_name' => 'marginless_columns', 'heading' => __('Marginless Columns', '__x__'), 'description' => __('Select to remove the spacing between columns.', '__x__'), 'type' => 'checkbox', 'holder' => 'div', 'value' => array('' => 'true')));
     vc_add_param('vc_row_inner', array('param_name' => 'class', 'heading' => __('Class', '__x__'), 'description' => __('(Optional) Enter a unique class name.', '__x__'), 'type' => 'textfield', 'holder' => 'div'));
     vc_add_param('vc_row_inner', array('param_name' => 'style', 'heading' => __('Style', '__x__'), 'description' => __('(Optional) Enter inline CSS.', '__x__'), 'type' => 'textfield', 'holder' => 'div'));
     //
     // [vc_column]
     //
     vc_remove_param('vc_column', 'width');
     vc_remove_param('vc_column', 'offset');
     vc_remove_param('vc_column', 'font_color');
     vc_remove_param('vc_column', 'el_class');
     vc_remove_param('vc_column', 'css');
     vc_add_param('vc_column', array('param_name' => 'fade', 'heading' => __('Fade Effect', '__x__'), 'description' => __('Select to activate the fade effect.', '__x__'), 'type' => 'checkbox', 'holder' => 'div', 'value' => array('' => 'true')));
     vc_add_param('vc_column', array('param_name' => 'fade_animation', 'heading' => __('Fade Animation', '__x__'), 'description' => __('Select the type of fade animation you want to use.', '__x__'), 'type' => 'dropdown', 'holder' => 'div', 'value' => array('- Select Option -' => '', 'In' => 'in', 'In From Top' => 'in-from-top', 'In From Left' => 'in-from-left', 'In From Right' => 'in-from-right', 'In From Bottom' => 'in-from-bottom')));
     vc_add_param('vc_column', array('param_name' => 'fade_animation_offset', 'heading' => __('Fade Animation Offset', '__x__'), 'description' => __('Set how large you want the offset for your fade animation to be.', '__x__'), 'type' => 'textfield', 'holder' => 'div', 'value' => '45px'));
     vc_add_param('vc_column', array('param_name' => 'id', 'heading' => __('ID', '__x__'), 'description' => __('(Optional) Enter a unique ID.', '__x__'), 'type' => 'textfield', 'holder' => 'div'));
     vc_add_param('vc_column', array('param_name' => 'class', 'heading' => __('Class', '__x__'), 'description' => __('(Optional) Enter a unique class name.', '__x__'), 'type' => 'textfield', 'holder' => 'div'));
     vc_add_param('vc_column', array('param_name' => 'style', 'heading' => __('Style', '__x__'), 'description' => __('(Optional) Enter inline CSS.', '__x__'), 'type' => 'textfield', 'holder' => 'div'));
     //
     // [vc_column_inner]
     //
     vc_remove_param('vc_column_inner', 'width');
     vc_remove_param('vc_column_inner', 'font_color');
     vc_remove_param('vc_column_inner', 'el_class');
     vc_remove_param('vc_column_inner', 'css');
     vc_add_param('vc_column_inner', array('param_name' => 'fade', 'heading' => __('Fade Effect', '__x__'), 'description' => __('Select to activate the fade effect.', '__x__'), 'type' => 'checkbox', 'holder' => 'div', 'value' => array('' => 'true')));
     vc_add_param('vc_column_inner', array('param_name' => 'fade_animation', 'heading' => __('Fade Animation', '__x__'), 'description' => __('Select the type of fade animation you want to use.', '__x__'), 'type' => 'dropdown', 'holder' => 'div', 'value' => array('- Select Option -' => '', 'In' => 'in', 'In From Top' => 'in-from-top', 'In From Left' => 'in-from-left', 'In From Right' => 'in-from-right', 'In From Bottom' => 'in-from-bottom')));
     vc_add_param('vc_column_inner', array('param_name' => 'fade_animation_offset', 'heading' => __('Fade Animation Offset', '__x__'), 'description' => __('Set how large you want the offset for your fade animation to be.', '__x__'), 'type' => 'textfield', 'holder' => 'div', 'value' => '45px'));
     vc_add_param('vc_column_inner', array('param_name' => 'id', 'heading' => __('ID', '__x__'), 'description' => __('(Optional) Enter a unique ID.', '__x__'), 'type' => 'textfield', 'holder' => 'div'));
     vc_add_param('vc_column_inner', array('param_name' => 'class', 'heading' => __('Class', '__x__'), 'description' => __('(Optional) Enter a unique class name.', '__x__'), 'type' => 'textfield', 'holder' => 'div'));
     vc_add_param('vc_column_inner', array('param_name' => 'style', 'heading' => __('Style', '__x__'), 'description' => __('(Optional) Enter inline CSS.', '__x__'), 'type' => 'textfield', 'holder' => 'div'));
     //
     // [vc_widget_sidebar]
     //
     vc_map_update('vc_widget_sidebar', array('name' => __('Widget Area', '__x__'), 'weight' => 950, 'icon' => 'widget-area', 'category' => __('Content', '__x__'), 'description' => __('Place one of your widget areas into your content', '__x__')));
     vc_remove_param('vc_widget_sidebar', 'title');
     vc_remove_param('vc_widget_sidebar', 'el_class');
     //
     // [vc_raw_html]
     //
     vc_map_update('vc_raw_html', array('name' => __('Raw HTML', '__x__'), 'weight' => 939, 'icon' => 'raw-html', 'category' => __('Content', '__x__'), 'description' => __('Output raw HTML code on your page', '__x__')));
     //
     // [vc_raw_js]
     //
     vc_map_update('vc_raw_js', array('name' => __('Raw JavaScript', '__x__'), 'weight' => 938, 'icon' => 'raw-js', 'category' => __('Content', '__x__'), 'description' => __('Output raw JavaScript code on your page', '__x__')));
     //
     // [rev_slider_vc]
     //
     if (X_REVOLUTION_SLIDER_IS_ACTIVE) {
         vc_map_update('rev_slider_vc', array('name' => __('Revolution Slider', '__x__'), 'weight' => 600, 'icon' => 'revslider', 'category' => __('Media', '__x__'), 'description' => __('Place a Revolution Slider element into your content', '__x__')));
         vc_remove_param('rev_slider_vc', 'title');
         vc_remove_param('rev_slider_vc', 'el_class');
     }
     //
     // [contact-form-7]
     //
     if (X_CONTACT_FORM_7_IS_ACTIVE) {
         vc_map_update('contact-form-7', array('name' => __('Contact Form 7', '__x__'), 'weight' => 520, 'icon' => 'contact-form-7', 'category' => __('Social', '__x__'), 'description' => __('Place one of your contact forms into your content', '__x__')));
     }
     //
     // [gravityform]
     //
     if (X_GRAVITY_FORMS_IS_ACTIVE) {
         $param_gf_forms_value = array('- Select Option -' => '');
         $forms = RGFormsModel::get_forms(null, 'title');
         foreach ($forms as $form) {
             $param_gf_forms_value[$form->title] = $form->id;
         }
         vc_map(array('base' => 'gravityform', 'name' => __('Gravity Form', '__x__'), 'weight' => 525, 'class' => 'x-content-element x-content-element-gravity-form', 'icon' => 'gravity-form', 'category' => __('Social', '__x__'), 'description' => __('Place one of your Gravity Forms into your content', '__x__'), 'params' => array(array('param_name' => 'id', 'heading' => 'Form', 'description' => __('Select which form you would like to display.', '__x__'), 'type' => 'dropdown', 'holder' => 'div', 'value' => $param_gf_forms_value), array('param_name' => 'title', 'heading' => __('Disable Title', '__x__'), 'description' => __('Select to disable the title of your form.', '__x__'), 'type' => 'checkbox', 'holder' => 'div', 'value' => array('' => 'false')), array('param_name' => 'description', 'heading' => __('Disable Description', '__x__'), 'description' => __('Select to disable the description of your form.', '__x__'), 'type' => 'checkbox', 'holder' => 'div', 'value' => array('' => 'false')), array('param_name' => 'ajax', 'heading' => __('Enable AJAX', '__x__'), 'description' => __('Select to enable the AJAX functionality of your form.', '__x__'), 'type' => 'checkbox', 'holder' => 'div', 'value' => array('' => 'true')))));
     }
 }
Example #13
0
function kleo_vc_manipulate_shortcodes()
{
    global $kleo_config;
    $animation = array("type" => "dropdown", "class" => "hide hidden", "holder" => 'div', "heading" => __("Animation"), "admin_label" => true, "param_name" => "animation", "value" => array("None" => "", "Animate when visible" => "animate-when-visible", "Animate when almost visible" => "animate-when-almost-visible"), "description" => "");
    $css_animation = array("type" => "dropdown", "class" => "hide hidden", "holder" => 'div', "heading" => __("Animation type"), "admin_label" => true, "param_name" => "css_animation", "value" => array("Right to Left" => "right-to-left", "Left to Right" => "left-to-right", "Bottom to Top" => "bottom-to-top", "Top to Bottom" => "top-to-bottom", "Scale" => "el-appear", "Fade" => "el-fade", "Pulsate" => "pulsate"), "dependency" => array("element" => "animation", "not_empty" => true), "description" => "");
    $icon = array('type' => 'iconpicker', 'heading' => __('Icon', 'js_composer'), 'param_name' => 'icon', "admin_label" => true, 'value' => '', 'settings' => array('emptyIcon' => false, 'type' => 'fontello', 'iconsPerPage' => 4000), 'description' => __('Select icon from library.', 'js_composer'));
    $icon_size = array("type" => "dropdown", "class" => "hide hidden", "holder" => 'div', "heading" => __("Icon size"), "admin_label" => true, "param_name" => "icon_size", "value" => array("Regular" => "", "2x" => "2x", "3x" => "3x", "4x" => "4x"));
    $el_class = array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Extra class name"), "param_name" => "el_class", "value" => "", "description" => __("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "js_composer"));
    $tooltip = array("type" => "dropdown", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Show Tooltip/Popover"), "param_name" => "tooltip", "value" => array('No' => '', "Tooltip" => "tooltip", "Popover" => "popover"), "description" => __("Display a tooltip or popover with descriptive text."));
    $tooltip_position = array("type" => "dropdown", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Tip position"), "param_name" => "tooltip_position", "value" => array("Left" => "left", "Right" => "right", "Top" => "top", "Bottom" => "bottom"), "dependency" => array("element" => "tooltip", "not_empty" => true), "description" => __("In which position to show the tooltip/popover"));
    $tooltip_title = array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Tip/Popover Title"), "param_name" => "tooltip_title", "value" => "", "dependency" => array("element" => "tooltip", "not_empty" => true));
    $tooltip_text = array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Popover text"), "param_name" => "tooltip_text", "value" => "", "dependency" => array("element" => "tooltip", "value" => "popover"));
    $tooltip_action = array("type" => "dropdown", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Tip/Popover action"), "param_name" => "tooltip_action", "value" => array("Hover" => "hover", "Click" => "click"), "dependency" => array("element" => "tooltip", "not_empty" => true), "description" => __("When to trigger the popover"));
    $button_args = array(array("param_name" => "title", "type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Title"), "value" => __('Text on the button', "kleo_framework"), "description" => __("Button text.")), array("param_name" => "href", "type" => "textfield", "holder" => "div", "class" => "", "heading" => __("URL(Link)"), "value" => '', "description" => ""), array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Target"), "param_name" => "target", "value" => array('Same window' => '_self', 'New window' => '_blank'), "description" => ""), array("param_name" => "style", "type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Style"), "value" => array('Default' => 'default', 'Primary' => 'primary', 'See through' => 'see-through', 'Highlight' => 'highlight', 'Highlight style 2' => 'highlight style2', 'Link' => 'link', 'Custom' => 'custom'), "description" => "Choose the button style"), array('type' => 'colorpicker', 'heading' => __('Background', 'js_composer'), 'param_name' => 'custom_background', 'description' => __('Select custom background color.', 'js_composer'), 'dependency' => array('element' => 'style', 'value' => array('custom')), 'edit_field_class' => 'vc_col-sm-6 vc_column'), array('type' => 'colorpicker', 'heading' => __('Text', 'js_composer'), 'param_name' => 'custom_text', 'description' => __('Select custom text color.', 'js_composer'), 'dependency' => array('element' => 'style', 'value' => array('custom')), 'edit_field_class' => 'vc_col-sm-6 vc_column'), array("param_name" => "size", "type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Size"), "value" => array('Default' => '', 'Extra small' => 'xs', 'Small' => 'sm', 'Large' => 'lg'), "description" => "Choose how you want them to appear"), array("param_name" => "type", "type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Type"), "value" => array('Regular' => '', 'Animated' => 'text-animated', 'Subtext' => 'subtext', 'App button' => 'app'), "description" => "Choose between several button types."), array("param_name" => "title_alt", "type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Second title"), "value" => '', "dependency" => array("element" => "type", "value" => array('text-animated', 'subtext', 'app')), "description" => ""), array("param_name" => "special", "type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Extra rounded(special)"), "value" => array('No' => '', 'Yes' => 'yes', 'No-border' => 'no_border'), "description" => "Make the button extra rounded"), $icon, $tooltip, $tooltip_position, $tooltip_title, $tooltip_text, $tooltip_action);
    /* ROW */
    vc_remove_param('vc_row', 'full_width');
    vc_remove_param('vc_row', 'bg_color');
    vc_remove_param('vc_row', 'font_color');
    vc_remove_param('vc_row', 'bg_image');
    vc_remove_param('vc_row', 'bg_image_repeat');
    vc_remove_param('vc_row', 'padding');
    vc_remove_param('vc_row', 'margin_bottom');
    vc_remove_param('vc_row', 'el_class');
    vc_remove_param('vc_row', 'css');
    vc_remove_param('vc_row', 'parallax');
    vc_remove_param('vc_row', 'parallax_image');
    vc_add_param('vc_row', array('param_name' => 'front_status', 'heading' => __('Status', 'kleo_framework'), 'description' => __('Select front-end visibility status. If set to Draft it will not show on your page.', 'kleo_framework'), 'type' => 'dropdown', 'holder' => 'div', 'class' => 'hide hidden', "value" => array('Enabled' => '', 'Draft' => 'draft')));
    vc_add_param('vc_row', array('param_name' => 'inner_container', 'heading' => __('Inner Container', 'kleo_framework'), 'description' => __('Select whether to insert a container to the section. This will keep the content from going full with.', 'kleo_framework'), 'type' => 'dropdown', 'holder' => 'div', 'class' => 'hide hidden', "admin_label" => true, "value" => array('Yes' => 'yes', 'No' => 'no')));
    vc_add_param('vc_row', array('param_name' => 'text_align', 'heading' => __('Text align', 'kleo_framework'), 'description' => __('Align whole row content.', 'kleo_framework'), 'type' => 'dropdown', 'holder' => 'div', 'class' => 'hide hidden', "value" => array('Left' => '', 'Right' => 'right', 'Center' => 'center')));
    vc_add_param("vc_row", array("type" => "colorpicker", "class" => "", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Text color"), "param_name" => "text_color", "value" => "", "description" => __("")));
    vc_add_param("vc_row", array("type" => "dropdown", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Section style"), "admin_label" => true, "param_name" => "section_type", "value" => array("Main style" => "main", "Alternate style" => "alternate", "Header style" => "header", "Footer style" => "footer", "Socket style" => "socket"), "description" => __("These styles are set under Theme options.")));
    vc_add_param("vc_row", array("type" => "dropdown", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Background style"), "admin_label" => true, "param_name" => "type", "value" => array("Default" => '', "Color" => "color", "Image" => "image", "Video" => "video"), "description" => ""));
    vc_add_param("vc_row", array("type" => "colorpicker", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Background color"), "param_name" => "bg_color", "value" => "", "description" => __(""), "dependency" => array("element" => "type", "value" => "color")));
    vc_add_param("vc_row", array("type" => "attach_image", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Background image"), "param_name" => "bg_image", "description" => "", "dependency" => array("element" => "type", "value" => "image")));
    vc_add_param("vc_row", array("type" => "dropdown", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Background vertical position"), "param_name" => "bg_position", "value" => array("Top" => "top", "Middle" => "center", "Bottom" => "bottom"), "description" => __(""), "dependency" => array("element" => "type", "value" => "image")));
    vc_add_param("vc_row", array("type" => "dropdown", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Background horizontal position"), "param_name" => "bg_position_horizontal", "value" => array("Left" => "left", "Middle" => "center", "Right" => "right"), "description" => __(""), "dependency" => array("element" => "type", "value" => "image")));
    vc_add_param("vc_row", array("type" => "dropdown", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Background repeat"), "param_name" => "bg_repeat", "value" => array("No repeat" => "no-repeat", "Repeat (horizontally & vertically)" => "repeat", "Repeat horizontally" => "repeat-x", "Repeat vertically" => "repeat-y"), "description" => __(""), "dependency" => array("element" => "type", "value" => "image")));
    vc_add_param("vc_row", array("type" => "dropdown", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Full-width background"), "param_name" => "bg_cover", "value" => array("Enabled" => "true", "Disabled" => "false"), "description" => "", "dependency" => array("element" => "type", "value" => "image")));
    vc_add_param("vc_row", array("type" => "dropdown", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Fixed background"), "param_name" => "bg_attachment", "value" => array("Disabled" => "false", "Enabled" => "true"), "description" => __(""), "dependency" => array("element" => "type", "value" => "image")));
    // parallax enable
    vc_add_param("vc_row", array("type" => "checkbox", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Enable parallax"), "param_name" => "enable_parallax", "value" => array("" => "false"), "dependency" => array("element" => "type", "value" => "image")));
    vc_add_param("vc_row", array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Parallax speed"), "param_name" => "parallax_speed", "value" => "0.1", "dependency" => array("element" => "enable_parallax", "not_empty" => true)));
    // video background
    vc_add_param("vc_row", array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Video background (mp4)"), "param_name" => "bg_video_src_mp4", "value" => "", "dependency" => array("element" => "type", "value" => "video")));
    vc_add_param("vc_row", array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Video background (ogv)"), "param_name" => "bg_video_src_ogv", "value" => "", "dependency" => array("element" => "type", "value" => "video")));
    vc_add_param("vc_row", array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Video background (webm)"), "param_name" => "bg_video_src_webm", "value" => "", "dependency" => array("element" => "type", "value" => "video")));
    vc_add_param("vc_row", array("type" => "attach_image", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Image cover"), "param_name" => "bg_video_cover", "description" => "It will show before video load and on some mobile devices where video can't be played.", "dependency" => array("element" => "type", "value" => "video")));
    vc_add_param("vc_row", array("type" => "dropdown", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Vertical Aligned Content"), "param_name" => "vertical_align", "value" => array("No" => '', "Yes" => "yes"), "description" => "If you set Yes then the content in the row columns will have middle vertical alignment"));
    vc_add_param("vc_row", array("type" => "dropdown", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Between Columns Gap"), "param_name" => "column_gap", "value" => array("Yes" => '', "No" => "no"), "description" => "Set to No only if you want the inner columns not to have gaps between them."));
    vc_add_param("vc_row", array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Top padding"), "param_name" => "padding_top", "value" => "40", "description" => __("Allowed measures: px,em,%,pt,cm.")));
    vc_add_param("vc_row", array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Bottom padding"), "param_name" => "padding_bottom", "value" => "40", "description" => __("Allowed measures: px,em,%,pt,cm.")));
    vc_add_param("vc_row", array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Left padding"), "param_name" => "padding_left", "value" => "", "description" => __("Allowed measures: px,em,%,pt,cm.")));
    vc_add_param("vc_row", array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Right padding"), "param_name" => "padding_right", "value" => "", "description" => __("Allowed measures: px,em,%,pt,cm.")));
    vc_add_param("vc_row", array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Top margin"), "param_name" => "margin_top", "value" => "", "description" => __("Allowed measures: px,em,%,pt,cm.")));
    vc_add_param("vc_row", array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Bottom margin"), "param_name" => "margin_bottom", "value" => "", "description" => __("Allowed measures: px,em,%,pt,cm.")));
    vc_add_param("vc_row", array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Minim height"), "param_name" => "min_height", "value" => "0", "description" => __("Allowed measures: px,em,%,pt,cm.")));
    vc_add_param('vc_row', array('param_name' => 'border', 'heading' => __('Border', 'kleo_framework'), 'description' => __('Select whether or not to display a border on this section.', 'kleo_framework'), 'type' => 'dropdown', "holder" => 'div', 'class' => 'hide hidden', 'value' => array('Bottom' => 'bottom', 'Top' => 'top', 'Left' => 'left', 'Right' => 'right', 'Horizontal' => 'horizontal', 'Vertical' => 'vertical', 'All' => 'all', 'None' => 'none')));
    // overflow hidden
    vc_add_param("vc_row", array("type" => "checkbox", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Overflow hidden"), "param_name" => "overflow", 'description' => __('Check if you want to hide section overflow', 'kleo_framework'), "value" => array("" => "false")));
    vc_add_param("vc_row", $animation);
    vc_add_param("vc_row", $css_animation);
    vc_add_param("vc_row", array('param_name' => 'visibility', 'heading' => __('Responsive Visibility', 'kleo_framework'), 'description' => __('Hide/Show content by screen size.', 'kleo_framework'), 'type' => 'checkbox', 'holder' => 'div', 'value' => array('Hidden Phones (max 768px)' => 'hidden-xs', 'Hidden Tablets (768px - 991px)' => 'hidden-sm', 'Hidden Desktops (992px - 1199px)' => 'hidden-md', 'Hidden Large Desktops (min 1200px)' => 'hidden-lg', 'Visible Phones (max 767px)' => 'visible-xs', 'Visible Tablets (768px - 991px)' => 'visible-sm', 'Visible Desktops (992px - 1199px)' => 'visible-md', 'Visible Large Desktops (min 1200px)' => 'visible-lg')));
    vc_add_param("vc_row", array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Custom inline style"), "param_name" => "inline_style", "value" => ""));
    vc_add_param("vc_row", $el_class);
    vc_add_param("vc_row", array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Element ID"), "param_name" => "el_id", "value" => "", "description" => "Set an ID for this section(without #). Can be used for One page links"));
    /* Inner column */
    vc_map_update("vc_column_inner", array("allowed_container_element" => true));
    /* Alert */
    global $pixel_icons;
    $pixel_icons = array(array('vc_pixel_icon vc_pixel_icon-alert' => __('Alert', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-info' => __('Info', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-tick' => __('Tick', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-explanation' => __('Explanation', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-address_book' => __('Address book', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-alarm_clock' => __('Alarm clock', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-anchor' => __('Anchor', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-application_image' => __('Application Image', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-arrow' => __('Arrow', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-asterisk' => __('Asterisk', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-hammer' => __('Hammer', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-balloon' => __('Balloon', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-balloon_buzz' => __('Balloon Buzz', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-balloon_facebook' => __('Balloon Facebook', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-balloon_twitter' => __('Balloon Twitter', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-battery' => __('Battery', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-binocular' => __('Binocular', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-document_excel' => __('Document Excel', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-document_image' => __('Document Image', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-document_music' => __('Document Music', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-document_office' => __('Document Office', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-document_pdf' => __('Document PDF', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-document_powerpoint' => __('Document Powerpoint', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-document_word' => __('Document Word', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-bookmark' => __('Bookmark', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-camcorder' => __('Camcorder', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-camera' => __('Camera', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-chart' => __('Chart', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-chart_pie' => __('Chart pie', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-clock' => __('Clock', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-fire' => __('Fire', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-heart' => __('Heart', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-mail' => __('Mail', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-play' => __('Play', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-shield' => __('Shield', 'js_composer')), array('vc_pixel_icon vc_pixel_icon-video' => __('Video', 'js_composer')));
    vc_remove_param('vc_message', 'icon_type');
    vc_remove_param('vc_message', 'icon_fontawesome');
    vc_remove_param('vc_message', 'icon_openiconic');
    vc_remove_param('vc_message', 'icon_typicons');
    vc_remove_param('vc_message', 'icon_entypo');
    vc_remove_param('vc_message', 'icon_linecons');
    vc_remove_param('vc_message', 'icon_pixelicons');
    vc_add_param("vc_message", array('type' => 'dropdown', 'heading' => __('Icon library', 'js_composer'), 'value' => array(__('Fontello(theme default)', 'js_composer') => 'fontello', __('Font Awesome', 'js_composer') => 'fontawesome', __('Open Iconic', 'js_composer') => 'openiconic', __('Typicons', 'js_composer') => 'typicons', __('Entypo', 'js_composer') => 'entypo', __('Linecons', 'js_composer') => 'linecons', __('Pixel', 'js_composer') => 'pixelicons'), 'param_name' => 'icon_type', 'description' => __('Select icon library.', 'js_composer')));
    vc_add_param("vc_message", array('type' => 'iconpicker', 'heading' => __('Icon', 'js_composer'), 'param_name' => 'icon_fontello', 'value' => 'icon-info-circled', 'settings' => array('emptyIcon' => false, 'type' => 'fontello', 'iconsPerPage' => 4000), 'dependency' => array('element' => 'icon_type', 'value' => 'fontello'), 'description' => __('Select icon from library.', 'js_composer')));
    vc_add_param("vc_message", array('type' => 'iconpicker', 'heading' => __('Icon', 'js_composer'), 'param_name' => 'icon_fontawesome', 'value' => 'fa fa-info-circle', 'settings' => array('emptyIcon' => false, 'iconsPerPage' => 200), 'dependency' => array('element' => 'icon_type', 'value' => 'fontawesome'), 'description' => __('Select icon from library.', 'js_composer')));
    vc_add_param("vc_message", array('type' => 'iconpicker', 'heading' => __('Icon', 'js_composer'), 'param_name' => 'icon_openiconic', 'settings' => array('emptyIcon' => false, 'type' => 'openiconic', 'iconsPerPage' => 200), 'dependency' => array('element' => 'icon_type', 'value' => 'openiconic'), 'description' => __('Select icon from library.', 'js_composer')));
    vc_add_param("vc_message", array('type' => 'iconpicker', 'heading' => __('Icon', 'js_composer'), 'param_name' => 'icon_typicons', 'settings' => array('emptyIcon' => false, 'type' => 'typicons', 'iconsPerPage' => 200), 'dependency' => array('element' => 'icon_type', 'value' => 'typicons'), 'description' => __('Select icon from library.', 'js_composer')));
    vc_add_param("vc_message", array('type' => 'iconpicker', 'heading' => __('Icon', 'js_composer'), 'param_name' => 'icon_entypo', 'settings' => array('emptyIcon' => false, 'type' => 'entypo', 'iconsPerPage' => 300), 'dependency' => array('element' => 'icon_type', 'value' => 'entypo')));
    vc_add_param("vc_message", array('type' => 'iconpicker', 'heading' => __('Icon', 'js_composer'), 'param_name' => 'icon_linecons', 'settings' => array('emptyIcon' => false, 'type' => 'linecons', 'iconsPerPage' => 200), 'dependency' => array('element' => 'icon_type', 'value' => 'linecons'), 'description' => __('Select icon from library.', 'js_composer')));
    vc_add_param("vc_message", array('type' => 'iconpicker', 'heading' => __('Icon', 'js_composer'), 'param_name' => 'icon_pixelicons', 'settings' => array('emptyIcon' => false, 'type' => 'pixelicons', 'source' => $pixel_icons), 'dependency' => array('element' => 'icon_type', 'value' => 'pixelicons'), 'description' => __('Select icon from library.', 'js_composer')));
    vc_remove_param('vc_message', 'css_animation');
    vc_add_param("vc_message", $animation);
    vc_add_param("vc_message", $css_animation);
    /* Text column */
    vc_remove_param('vc_column_text', 'css_animation');
    vc_map_update('vc_column_text', array('weight' => '990'));
    vc_add_param("vc_column_text", array("type" => "dropdown", "class" => "hide hidden", "holder" => 'div', "heading" => __("Lead Content"), "admin_label" => true, "param_name" => "lead", "value" => array("No" => "", "Yes" => "yes"), "description" => ""));
    vc_add_param("vc_column_text", array("type" => "textfield", "class" => "hide hidden", "holder" => 'div', "heading" => __("Font size"), "admin_label" => true, "param_name" => "font_size", "value" => "", "description" => "Set a custom Font size in pixels. Example: writing 16 in the text box will make a 16px font size"));
    vc_add_param("vc_column_text", array("type" => "dropdown", "class" => "hide hidden", "holder" => 'div', "heading" => __("Font weight"), "admin_label" => true, "param_name" => "font_weight", "value" => array("Normal" => "", "Bold" => "bold"), "description" => "Set a custom Font Weight for this text"));
    vc_add_param("vc_column_text", $animation);
    vc_add_param("vc_column_text", $css_animation);
    /* Toggle */
    vc_map_update('vc_toggle', array('name' => 'Toggle', 'description' => 'Add a Toggle element', 'weight' => 6));
    vc_remove_param('vc_toggle', 'color');
    vc_remove_param('vc_toggle', 'css_animation');
    vc_remove_param('vc_toggle', 'el_class');
    vc_add_param("vc_toggle", array('type' => 'iconpicker', 'heading' => __('Icon when toggle is opened'), 'param_name' => 'icon', 'value' => '', 'settings' => array('emptyIcon' => false, 'type' => 'fontello', 'iconsPerPage' => 4000), 'description' => __('Select icon from library.', 'js_composer')));
    vc_add_param("vc_toggle", array('type' => 'iconpicker', 'heading' => __('Icon when toggle is closed'), 'param_name' => 'icon_closed', 'value' => '', 'settings' => array('emptyIcon' => false, 'type' => 'fontello', 'iconsPerPage' => 4000), 'description' => __('Select icon from library.', 'js_composer')));
    vc_add_param("vc_toggle", array("type" => "dropdown", "class" => "hide hidden", "holder" => 'div', "heading" => __("Icon position"), "admin_label" => true, "param_name" => "icon_position", "value" => array("Left" => "to-left", "Right" => "to-right"), "description" => ""));
    vc_add_param("vc_toggle", $tooltip);
    vc_add_param("vc_toggle", $tooltip_position);
    vc_add_param("vc_toggle", $tooltip_title);
    vc_add_param("vc_toggle", $tooltip_text);
    vc_add_param("vc_toggle", $tooltip_action);
    vc_add_param("vc_toggle", $animation);
    vc_add_param("vc_toggle", $css_animation);
    vc_add_param("vc_toggle", $el_class);
    //add the class field
    /* Single Image */
    vc_remove_param('vc_single_image', 'css_animation');
    vc_remove_param('vc_single_image', 'el_class');
    vc_add_param('vc_single_image', array("type" => "dropdown", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Full width image"), "param_name" => "full_width", "value" => array('No' => '', 'Yes' => 'yes'), 'description' => 'If enabled then the image will stretch to the width of the container'));
    vc_add_param("vc_single_image", $animation);
    vc_add_param("vc_single_image", $css_animation);
    vc_add_param("vc_single_image", $el_class);
    //add the class field
    /* Gallery */
    vc_map_update('vc_gallery', array('description' => ''));
    vc_remove_param('vc_gallery', 'interval');
    vc_remove_param('vc_gallery', 'el_class');
    vc_add_param('vc_gallery', array("type" => "dropdown", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Type"), "param_name" => "type", "value" => array('Big image + thumbs' => 'thumbs', 'Grid' => 'grid')));
    vc_add_param('vc_gallery', array("type" => "dropdown", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Number of items per row"), "param_name" => "grid_number", "value" => array('6' => '6', '5' => '5', '4' => '4', '3' => '3', '2' => '2'), "dependency" => array("element" => "type", "value" => "grid")));
    vc_add_param('vc_gallery', array("type" => "dropdown", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Gap"), "param_name" => "gap", "value" => array('None' => '', 'Small' => 'small', 'Large' => 'large'), "dependency" => array("element" => "type", "value" => "grid")));
    vc_add_param('vc_gallery', $el_class);
    /* Block Grid */
    vc_map(array('base' => 'kleo_grid', 'name' => __('Feature Items Grid', 'kleo_framework'), 'weight' => 6, 'class' => '', 'icon' => 'block-grid', 'category' => "Content", 'description' => __('Easily include elements into a Grid container', 'kleo_framework'), 'as_parent' => array('only' => 'kleo_feature_item'), 'content_element' => true, 'js_view' => 'VcColumnView', 'params' => array(array('param_name' => 'type', 'heading' => __('Type', 'kleo_framework'), 'description' => __('Select how many items you want per row.', 'kleo_framework'), 'type' => 'dropdown', 'holder' => "div", 'class' => 'hide hidden', 'value' => array('One' => '1', 'Two' => '2', 'Three' => '3', 'Four' => '4')), array('param_name' => 'animation', 'heading' => __('Animation', 'kleo_framework'), 'description' => __('Animate elements inside the grid one by one', 'kleo_framework'), 'type' => 'dropdown', 'holder' => "div", 'class' => 'hide hidden', 'value' => array('No' => '', 'Yes' => 'yes')), array('param_name' => 'colored_icons', 'heading' => __('Colored icons', 'kleo_framework'), 'description' => __('Show colored icons. Color will be taken from the Highlight color from Theme options', 'kleo_framework'), 'type' => 'dropdown', 'holder' => "div", 'class' => 'hide hidden', 'value' => array('No' => '', 'Yes' => 'yes')), array('param_name' => 'bordered_icons', 'heading' => __('Bordered icons', 'kleo_framework'), 'description' => __('Show bordered icons', 'kleo_framework'), 'type' => 'dropdown', 'holder' => "div", 'class' => 'hide hidden', 'value' => array('No' => '', 'Yes' => 'yes')), array('param_name' => 'style', 'heading' => __('Style', 'kleo_framework'), 'description' => __('Choose a different style', 'kleo_framework'), 'type' => 'dropdown', 'holder' => "div", 'class' => 'hide hidden', 'value' => array('Default' => '', 'Box' => 'box')), $el_class)));
    /* Feature item */
    vc_map(array('base' => 'kleo_feature_item', 'name' => __('Feature Item', 'kleo_framework'), 'weight' => 880, 'class' => '', 'icon' => '', 'category' => "Content", 'description' => __('Include a feature item in your block grid', 'kleo_framework'), 'as_child' => array('only' => 'kleo_grid'), 'content_element' => true, 'params' => array(array('param_name' => 'title', 'heading' => 'Title', 'description' => "Enter your title here", 'type' => 'textfield', 'holder' => "div", 'value' => ""), array('param_name' => 'content', 'heading' => 'Text', 'description' => "Enter your text here", 'type' => 'textarea_html', 'holder' => "div", 'value' => ""), $icon, array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Icon size"), "param_name" => "icon_size", "value" => array('Default' => 'default', 'Big' => 'big'), "description" => ""), array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Icon position"), "param_name" => "icon_position", "value" => array('Left' => '', 'Center' => 'center'), "description" => ""))));
    /* List */
    vc_map(array('base' => 'kleo_list', 'name' => __('Fancy List', 'kleo_framework'), 'weight' => 6, 'class' => '', 'icon' => 'block-list', 'category' => "Content", 'description' => '', 'as_parent' => array('only' => 'kleo_list_item'), 'content_element' => true, 'js_view' => 'VcColumnView', 'params' => array(array('param_name' => 'type', 'heading' => __('Type', 'kleo_framework'), 'description' => __('Select the list type.', 'kleo_framework'), 'type' => 'dropdown', 'holder' => "div", 'class' => 'hide hidden', 'value' => array('Standard' => 'standard', 'With Icons' => 'icons', 'Ordered' => 'ordered', 'Ordered Roman' => 'ordered-roman', 'Unstyled' => 'unstyled')), array('param_name' => 'icon_color', 'heading' => __('Icon color', 'kleo_framework'), 'description' => "", 'type' => 'dropdown', 'holder' => "div", 'class' => 'hide hidden', 'value' => array('Normal' => '', 'Colored' => 'yes'), "dependency" => array("element" => "type", "value" => array("standard", "icons", "ordered", "ordered-roman"))), array('param_name' => 'icon_shadow', 'heading' => __('Icon shadow', 'kleo_framework'), 'description' => "", 'type' => 'dropdown', 'holder' => "div", 'class' => 'hide hidden', 'value' => array('Normal' => '', 'Shadow' => 'yes'), "dependency" => array("element" => "type", "value" => "icons")), array('param_name' => 'icon_large', 'heading' => __('Large icon', 'kleo_framework'), 'description' => "", 'type' => 'dropdown', 'holder' => "div", 'class' => 'hide hidden', 'value' => array('Normal' => '', 'Large' => 'yes'), "dependency" => array("element" => "type", "value" => "icons")), array('param_name' => 'inline', 'heading' => __('Inline', 'kleo_framework'), 'description' => "", 'type' => 'dropdown', 'holder' => "div", 'class' => 'hide hidden', 'value' => array('No' => '', 'Yes' => 'yes'), "dependency" => array("element" => "type", "value" => "icons")), array('param_name' => 'divider', 'heading' => __('Divider', 'kleo_framework'), 'description' => "", 'type' => 'dropdown', 'holder' => "div", 'class' => 'hide hidden', 'value' => array('No' => '', 'Solid' => 'yes', 'Dashed' => 'dashed')), array('param_name' => 'align', 'heading' => __('Align', 'kleo_framework'), 'description' => __('Align the list', 'kleo_framework'), 'type' => 'dropdown', 'holder' => "div", 'class' => 'hide hidden', 'value' => array('None' => '', 'Left' => 'left', 'Right' => 'right', 'Center' => 'center')), $el_class)));
    /* List item */
    vc_map(array('base' => 'kleo_list_item', 'name' => __('List Item', 'kleo_framework'), 'weight' => 880, 'category' => "Content", 'description' => '', 'as_child' => array('only' => 'kleo_list'), 'content_element' => true, 'params' => array($icon, array('param_name' => 'content', 'heading' => 'Text', 'description' => "Enter your text here", 'type' => 'textarea_html', 'holder' => "div", 'value' => ""))));
    /* TABS */
    vc_remove_param('vc_tabs', 'interval');
    vc_remove_param('vc_tabs', 'title');
    vc_remove_param('vc_tabs', 'el_class');
    vc_map_update("vc_tabs", array('weight' => 6));
    vc_add_param('vc_tabs', array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Type"), "param_name" => "type", "value" => array('Tabs' => 'tabs', 'Pills' => 'pills'), "description" => "Choose how you want them to appear"));
    vc_add_param('vc_tabs', array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Style"), "param_name" => "style", "value" => array('Default' => 'default', 'Square' => 'square', 'Line' => 'line'), "dependency" => array("element" => "type", "value" => "tabs"), "description" => ""));
    vc_add_param('vc_tabs', array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Style"), "param_name" => "style_pills", "value" => array('Square' => 'square', 'Ghost' => 'ghost'), "dependency" => array("element" => "type", "value" => "pills"), "description" => ""));
    vc_add_param('vc_tabs', array('param_name' => 'active_tab', 'heading' => 'Active tab', 'description' => "Enter tab number to be active on load(Example: 1)", 'type' => 'textfield', 'holder' => "div", 'class' => "hide hidden", 'value' => ""));
    vc_add_param('vc_tabs', array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Align"), "param_name" => "align", "value" => array('Left' => '', 'Centered' => 'centered'), "description" => ""));
    vc_add_param('vc_tabs', array('param_name' => 'margin_top', 'heading' => 'Top Margin', 'description' => "Enter the value in pixels. Eq. 50. Field accepts negative values.", 'type' => 'textfield', 'holder' => "div", 'class' => "hide hidden", 'value' => ""));
    vc_add_param('vc_tabs', $el_class);
    vc_map_update("vc_tab", array("allowed_container_element" => true));
    vc_add_param('vc_tab', $icon);
    /* Tours */
    vc_remove_param('vc_tour', 'el_class');
    vc_add_param('vc_tour', array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Tabs Position"), "param_name" => "position", "value" => array('Left' => '', 'Right' => 'right'), "description" => "Choose how you want them to appear"));
    vc_add_param('vc_tour', $el_class);
    /* Accordion */
    vc_remove_param('vc_accordion', 'interval');
    vc_remove_param('vc_accordion', 'title');
    vc_remove_param('vc_accordion', 'el_class');
    vc_map_update("vc_accordion", array('weight' => 6, 'description' => ''));
    vc_add_param("vc_accordion", array("type" => "dropdown", "class" => "hide hidden", "holder" => 'div', "heading" => __("Icons position"), "admin_label" => true, "param_name" => "icons_position", "value" => array("Left" => "to-left", "Right" => "to-right"), "description" => ""));
    vc_add_param('vc_accordion', $el_class);
    vc_map_update("vc_accordion_tab", array("allowed_container_element" => true));
    vc_add_param("vc_accordion_tab", array('type' => 'iconpicker', 'heading' => __('Icon when accordion item is opened'), 'param_name' => 'icon', 'value' => '', 'settings' => array('emptyIcon' => false, 'type' => 'fontello', 'iconsPerPage' => 4000), 'description' => __('Select icon from library.', 'js_composer')));
    vc_add_param("vc_accordion_tab", array('type' => 'iconpicker', 'heading' => __('Icon when accordion item is closed'), 'param_name' => 'icon_closed', 'value' => '', 'settings' => array('emptyIcon' => false, 'type' => 'fontello', 'iconsPerPage' => 4000), 'description' => __('Select icon from library.', 'js_composer')));
    vc_add_param("vc_accordion_tab", $tooltip);
    vc_add_param("vc_accordion_tab", $tooltip_position);
    vc_add_param("vc_accordion_tab", $tooltip_title);
    vc_add_param("vc_accordion_tab", $tooltip_text);
    vc_add_param("vc_accordion_tab", $tooltip_action);
    /* Icon */
    vc_map(array('base' => 'kleo_icon', 'name' => 'Kleo Icon', 'weight' => 5, 'class' => '', 'icon' => 'icon-wpb-ui-icon', 'category' => __("Content", 'js_composer'), 'description' => __('Insert an icon into your content', 'kleo_framework'), 'params' => array($icon, $icon_size, $tooltip, $tooltip_position, $tooltip_title, $tooltip_text, $tooltip_action, array('param_name' => 'href', 'heading' => __('Add a link', 'kleo_framework'), 'description' => __('Type a http:// address', 'kleo_framework'), 'type' => 'textfield', 'class' => 'hide hidden', 'holder' => 'div', 'value' => ''), array('param_name' => 'target', 'heading' => __('Target window', 'kleo_framework'), 'description' => '', 'type' => 'dropdown', 'class' => 'hide hidden', 'holder' => 'div', "dependency" => array("element" => "href", "not_empty" => true), 'value' => array('Same window' => '_self', 'New window' => '_blank')), $el_class)));
    /* Clients */
    $client_tags = array();
    $defined_tags = get_terms('clients-tag');
    if (is_array($defined_tags) && !empty($defined_tags)) {
        //var_dump($defined_tags);
        foreach ($defined_tags as $tag) {
            $client_tags[$tag->name] = $tag->term_id;
        }
    }
    vc_map(array('base' => 'kleo_clients', 'name' => 'Clients', 'weight' => 5, 'class' => '', 'icon' => 'kleo_clients', 'category' => __("Content", 'js_composer'), 'description' => __('Showcase clients logos', 'kleo_framework'), 'params' => array(array('param_name' => 'animated', 'heading' => __('Animated', 'kleo_framework'), 'description' => __('Animate the icons when you first view them', 'kleo_framework'), 'type' => 'dropdown', 'class' => 'hide hidden', 'holder' => 'div', 'value' => array('Yes' => 'yes', 'No' => '')), array('param_name' => 'animation', 'heading' => __('Animation', 'kleo_framework'), 'description' => "", 'type' => 'dropdown', 'class' => 'hide hidden', 'holder' => 'div', 'value' => array('Fade' => 'fade', 'Appear' => 'appear'), "dependency" => array("element" => "animated", "value" => "yes")), array('param_name' => 'number', 'heading' => 'Number of logos', 'description' => "How many images to show", 'type' => 'textfield', 'class' => 'hide hidden', 'holder' => "div", 'value' => "5"), array('param_name' => 'target', 'heading' => __('Open links in new window', 'kleo_framework'), 'description' => "", 'type' => 'dropdown', 'class' => 'hide hidden', 'holder' => 'div', 'value' => array('No' => '', 'Yes' => '_blank')), array('param_name' => 'tags', 'heading' => __('Filter by Tags', 'kleo_framework'), 'description' => "", 'type' => 'checkbox', 'class' => 'hide hidden', 'holder' => 'div', 'value' => $client_tags), $el_class)));
    /* Testimonials */
    $testimonial_tags = array();
    $defined_tags = get_terms('testimonials-tag');
    if (is_array($defined_tags) && !empty($defined_tags)) {
        //var_dump($defined_tags);
        foreach ($defined_tags as $tag) {
            $testimonial_tags[$tag->name] = $tag->term_id;
        }
    }
    vc_map(array('base' => 'kleo_testimonials', 'name' => 'Testimonials', 'weight' => 5, 'class' => '', 'icon' => 'kleo_testimonials', 'category' => __("Content", 'js_composer'), 'description' => __('Showcase client testimonials', 'kleo_framework'), 'params' => array(array('param_name' => 'type', 'heading' => __('Type', 'kleo_framework'), 'description' => "", 'type' => 'dropdown', 'class' => 'hide hidden', 'holder' => 'div', 'value' => array('Simple' => 'simple', 'Carousel' => 'carousel')), array('param_name' => 'specific_id', 'heading' => __('By IDs', 'kleo_framework'), 'description' => "", 'type' => 'dropdown', 'class' => 'hide hidden', 'holder' => 'div', 'value' => array('Yes' => 'yes', 'No' => 'no')), array('param_name' => 'ids', 'heading' => 'Testimonials IDs to show.', 'description' => "Comma separated list of ids to display. ", "dependency" => array("element" => "specific_id", "value" => "yes"), 'type' => 'textfield', 'class' => 'hide hidden', 'holder' => "div", 'value' => ""), array('param_name' => 'number', 'heading' => 'Number of testimonials', 'description' => "How many testimonials to show. Default is 3", "dependency" => array("element" => "specific_id", "value" => "no"), 'type' => 'textfield', 'class' => 'hide hidden', 'holder' => "div", 'value' => ""), array('param_name' => 'offset', 'heading' => 'Testimonials offset', 'description' => "Display testimonials starting from the number you enter. Eq: if you enter 3, it will show testimonials from the 4th one ", "dependency" => array("element" => "specific_id", "value" => "no"), 'type' => 'textfield', 'class' => 'hide hidden', 'holder' => "div", 'value' => ""), array('param_name' => 'tags', 'heading' => __('Filter by Tags', 'kleo_framework'), 'description' => "", "dependency" => array("element" => "specific_id", "value" => "no"), 'type' => 'checkbox', 'class' => 'hide hidden', 'holder' => 'div', 'value' => $testimonial_tags), array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Minimum items to show"), "param_name" => "min_items", "value" => "", "description" => "Default 1", "dependency" => array("element" => "specific_id", "value" => "no"), "dependency" => array("element" => "type", "value" => "carousel")), array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Maximum items to show"), "param_name" => "max_items", "value" => "", "description" => "Default 1", "dependency" => array("element" => "type", "value" => "carousel")), array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Speed between slides"), "param_name" => "speed", "value" => "", "description" => "In miliseconds. Default is 5000 miliseconds, meaning 5 seconds", "dependency" => array("element" => "type", "value" => "carousel")), array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Elements height"), "param_name" => "height", "value" => "", "description" => "Force a height on all elements. Expressed in pixels, eq: 300 will represent 300px"), $el_class)));
    /* PIN */
    vc_map(array('base' => 'kleo_pin', 'name' => 'Pin', 'weight' => 5, 'class' => '', 'icon' => 'icon-wpb-ui-icon', 'category' => __("Content", 'js_composer'), 'description' => __('Add pins with info', 'kleo_framework'), 'params' => array(array('param_name' => 'type', 'heading' => __('Type', 'kleo_framework'), 'description' => __('Type of pin', 'kleo_framework'), 'type' => 'dropdown', 'holder' => 'div', 'value' => array('Icon' => 'icon', 'Circle' => 'circle', 'POI' => 'poi')), array('type' => 'iconpicker', 'heading' => __('Icon when toggle is closed'), 'param_name' => 'icon', "class" => "hide hidden", 'value' => '', 'settings' => array('emptyIcon' => false, 'type' => 'fontello', 'iconsPerPage' => 4000), 'description' => __('Choose the icon to display'), "dependency" => array("element" => "type", "value" => "icon")), array('param_name' => 'top', 'heading' => 'Top position', 'description' => "Please enter only pixels and percentage, eq. 50px or 15%", 'type' => 'textfield', 'holder' => "div", 'value' => ""), array('param_name' => 'left', 'heading' => 'Left position', 'description' => "Please enter only pixels and percentage, eq. 50px or 15%", 'type' => 'textfield', 'holder' => "div", 'value' => ""), array('param_name' => 'right', 'heading' => 'Right position', 'description' => "Please enter only pixels and percentage, eq. 50px or 15%", 'type' => 'textfield', 'holder' => "div", 'value' => ""), array('param_name' => 'bottom', 'heading' => 'Bottom position', 'description' => "Please enter only pixels and percentage, eq. 50px or 15%", 'type' => 'textfield', 'holder' => "div", 'value' => ""), $tooltip, $tooltip_position, $tooltip_title, $tooltip_text, $tooltip_action, $animation, $css_animation, $el_class)));
    /* Button */
    vc_map(array('base' => 'kleo_button', 'name' => 'Kleo Button', 'weight' => 970, 'class' => '', 'icon' => 'icon-wpb-ui-button', 'category' => __("Content", 'js_composer'), 'description' => __('Insert a button in your content', 'kleo_framework'), 'params' => $button_args));
    vc_add_param('kleo_button', $el_class);
    /* Animated numbers */
    vc_map(array('base' => 'kleo_animate_numbers', 'name' => 'Animated numbers', 'weight' => 970, 'content_element' => true, 'class' => '', 'icon' => 'animated-numbers', 'category' => __("Content", 'js_composer'), 'description' => __('Insert an animated number', 'kleo_framework'), 'params' => array($animation, array('param_name' => 'content', 'heading' => 'Number', 'description' => "Enter the number to animate", 'type' => 'textfield', 'holder' => "div", 'value' => ""), array('param_name' => 'timer', 'heading' => 'Timer', 'description' => "The time in miliseconds to complete the animation, eq 3000 for 3 seconds of animation", 'type' => 'textfield', 'holder' => "div", 'class' => "hide hidden", 'value' => ""), $el_class)));
    vc_add_param('kleo_animate_numbers', $el_class);
    /* Responsive visibility */
    vc_map(array('base' => 'kleo_visibility', 'name' => __('Visibility', 'kleo_framework'), 'weight' => 6, 'class' => '', 'icon' => 'visibility', 'category' => "Content", 'description' => __('Alter content based on screen size', 'kleo_framework'), 'as_parent' => array('except' => 'vc_row, vc_column'), 'content_element' => true, 'js_view' => 'VcColumnView', 'params' => array(array('param_name' => 'type', 'heading' => __('Visibility Type', 'kleo_framework'), 'description' => __('Hide/Show content by screen size.', 'kleo_framework'), 'type' => 'checkbox', 'holder' => 'div', 'value' => array('Hidden Phones (max 768px)' => 'hidden-xs', 'Hidden Tablets (768px - 991px)' => 'hidden-sm', 'Hidden Desktops (992px - 1199px)' => 'hidden-md', 'Hidden Large Desktops (min 1200px)' => 'hidden-lg', 'Visible Phones (max 767px)' => 'visible-xs', 'Visible Tablets (768px - 991px)' => 'visible-sm', 'Visible Desktops (992px - 1199px)' => 'visible-md', 'Visible Large Desktops (min 1200px)' => 'visible-lg')), $el_class)));
    /* Content restrict by user type */
    vc_map(array('base' => 'kleo_restrict', 'name' => __('Content by user type', 'kleo_framework'), 'weight' => 6, 'class' => '', 'icon' => 'kleo_restrict', 'category' => "Content", 'description' => __('Restrict content based on user type', 'kleo_framework'), 'as_parent' => array('except' => 'vc_row, vc_column'), 'content_element' => true, "admin_label" => true, 'js_view' => 'VcColumnView', 'params' => array(array('param_name' => 'type', 'heading' => __('User Type', 'kleo_framework'), 'description' => __('Show content for user type.', 'kleo_framework'), 'type' => 'dropdown', 'holder' => 'div', 'class' => 'hide hidden', "admin_label" => true, 'value' => array('Logged in user' => 'user', 'Guest user' => 'guest')), $el_class)));
    /* GAP */
    vc_map(array('base' => 'kleo_gap', 'name' => 'Gap', 'weight' => 6, 'class' => 'kleo-icon', 'icon' => 'gap', 'category' => __("Content", 'js_composer'), 'description' => __('Insert a vertical gap in your content', 'kleo_framework'), 'params' => array(array('param_name' => 'size', 'heading' => __('Size', 'kleo_framework'), 'description' => __('Enter in the size of your gap. Pixels, ems, and percentages are all valid units of measurement.', 'kleo_framework'), 'type' => 'textfield', 'holder' => "div", 'value' => '10px'), array("param_name" => "class", "type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Class"), "value" => '', "description" => __("A class to add to the element for CSS referrences.")), array('param_name' => "id", 'heading' => "Id", 'description' => __('Unique id to add to the element for CSS referrences', 'kleo_framework'), 'type' => "textfield", 'holder' => "div"), array("param_name" => "style", "type" => "textfield", "class" => "", "holder" => 'div', "heading" => __("Custom inline style"), "value" => ""))));
    /* Divider */
    vc_map(array('base' => 'kleo_divider', 'name' => 'Divider with icon', 'weight' => 6, 'class' => 'kleo-icon', 'icon' => 'icon-wpb-ui-separator-label', 'category' => __("Content", 'js_composer'), 'description' => __('Insert a vertical divider in your content', 'kleo_framework'), 'params' => array(array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Type"), "param_name" => "type", "value" => array('Full' => 'full', 'Long' => 'long', 'Short' => 'short', 'Double' => 'double'), "description" => __("The type of the divider.")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Double border"), "param_name" => "double", "value" => array('No' => '', 'Yes' => 'Yes'), "description" => __("Have the divider double lined.")), array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Position"), "param_name" => "position", "value" => array('Center' => 'center', 'Left' => 'left', 'Right' => 'right'), "description" => ""), $icon, array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Icon size"), "param_name" => "icon_size", "value" => array('Normal' => '', 'Large' => 'large'), "description" => ""), array("param_name" => "text", "type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Text"), "value" => '', "description" => __("This text wil show inside the divider")), array('param_name' => "id", 'heading' => "Id", 'description' => __('Unique id to add to the element for CSS referrences', 'kleo_framework'), 'type' => "textfield", 'holder' => "div"), array("param_name" => "class", "type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Class"), "value" => '', "description" => __("A class to add to the element for CSS referrences.")), array("param_name" => "style", "type" => "textfield", "class" => "", "holder" => 'div', "heading" => __("Custom inline style"), "value" => ""))));
    /* Posts grid */
    vc_map_update("vc_posts_grid", array("name" => "Kleo Posts", 'category' => __("Content", 'js_composer'), "deprecated" => null, "content_element" => true));
    vc_remove_param('vc_posts_grid', 'title');
    vc_remove_param('vc_posts_grid', 'grid_columns_count');
    vc_remove_param('vc_posts_grid', 'grid_layout');
    vc_remove_param('vc_posts_grid', 'grid_link_target');
    vc_remove_param('vc_posts_grid', 'filter');
    vc_remove_param('vc_posts_grid', 'grid_layout_mode');
    vc_remove_param('vc_posts_grid', 'grid_thumb_size');
    vc_remove_param('vc_posts_grid', 'el_class');
    vc_add_param("vc_posts_grid", array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Layout"), "param_name" => "post_layout", "value" => array('Grid' => 'grid', 'Small Left Thumb' => 'small', 'Standard' => 'standard'), "description" => ""));
    vc_add_param("vc_posts_grid", array("param_name" => "columns", "type" => "textfield", "holder" => "div", "class" => "hide hidden", "heading" => __('Number of items per row', 'kleo_framework'), "value" => '4', "description" => 'A number between 2 and 6', "dependency" => array("element" => "post_layout", "value" => "grid")));
    if (isset($kleo_config['blog_layouts'])) {
        vc_add_param("vc_posts_grid", array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Show Layout Switcher"), "param_name" => "show_switcher", "value" => array('No' => 'no', 'Yes' => 'yes'), "description" => "This allows the visitor to change posts layout."));
        vc_add_param("vc_posts_grid", array("type" => "checkbox", "holder" => "div", "class" => "hide hidden", "heading" => __("Switcher Layouts"), "param_name" => "switcher_layouts", "value" => array_flip($kleo_config['blog_layouts']), 'std' => join(",", array_values(array_flip($kleo_config['blog_layouts']))), "description" => "What layouts are available for the user to switch.", "dependency" => array("element" => "show_switcher", "value" => "yes")));
    }
    vc_add_param("vc_posts_grid", array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Show Thumbnail image"), "param_name" => "show_thumb", "value" => array('Yes' => 'yes', 'Just for the first post' => 'just_1', 'Just for first two posts' => 'just_2', 'Just for first three posts' => 'just_3', 'No' => 'no'), "description" => "", "dependency" => array("element" => "post_layout", "value" => "standard")));
    vc_add_param("vc_posts_grid", array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Show post meta"), "param_name" => "show_meta", "value" => array('Yes' => 'yes', 'No' => 'no'), "description" => ""));
    vc_add_param("vc_posts_grid", array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Inline post meta"), "param_name" => "inline_meta", "value" => array('No' => 'no', 'Yes' => 'yes'), "description" => "Applies to Standard Layout only. Shows the post meta elements in one line if enabled.", "dependency" => array("element" => "show_meta", "value" => "yes")));
    vc_add_param("vc_posts_grid", array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Show post excerpt"), "param_name" => "show_excerpt", "value" => array('Yes' => 'yes', 'No' => 'no'), "description" => ""));
    vc_add_param("vc_posts_grid", array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Show post footer"), "param_name" => "show_footer", "value" => array('Yes' => 'yes', 'No' => 'no'), "description" => "Show read more button and post likes"));
    vc_add_param('vc_posts_grid', $el_class);
    /* Posts carousel */
    vc_map_update("vc_carousel", array("name" => "Kleo Posts Carousel", "deprecated" => null, "content_element" => true));
    vc_remove_param('vc_carousel', 'title');
    vc_remove_param('vc_carousel', 'layout');
    vc_remove_param('vc_carousel', 'link_target');
    vc_remove_param('vc_carousel', 'thumb_size');
    vc_remove_param('vc_carousel', 'mode');
    vc_remove_param('vc_carousel', 'slides_per_view');
    vc_remove_param('vc_carousel', 'partial_view');
    vc_remove_param('vc_carousel', 'wrap');
    vc_remove_param('vc_carousel', 'el_class');
    vc_remove_param('vc_carousel', 'hide_pagination_control');
    vc_remove_param('vc_carousel', 'hide_prev_next_buttons');
    vc_add_param("vc_carousel", array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Layout"), "param_name" => "layout", "value" => array('Default' => 'default', 'Overlay' => 'overlay'), "description" => "Select the carousel layout"));
    vc_add_param("vc_carousel", array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Minimum items to show"), "param_name" => "min_items", "value" => "", "description" => ""));
    vc_add_param("vc_carousel", array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Maximum items to show"), "param_name" => "max_items", "value" => "", "description" => ""));
    vc_add_param("vc_carousel", array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Elements height"), "param_name" => "height", "value" => "", "description" => "Force a height on all elements. Expressed in pixels, eq: 300 will represent 300px"));
    vc_add_param('vc_carousel', $el_class);
    /* Image carousel */
    vc_remove_param('vc_images_carousel', 'title');
    vc_remove_param('vc_images_carousel', 'mode');
    vc_remove_param('vc_images_carousel', 'slides_per_view');
    vc_remove_param('vc_images_carousel', 'partial_view');
    vc_remove_param('vc_images_carousel', 'wrap');
    vc_remove_param('vc_images_carousel', 'el_class');
    //vc_remove_param('vc_images_carousel','hide_prev_next_buttons');
    vc_add_param("vc_images_carousel", array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Scroll effect"), "param_name" => "scroll_fx", "value" => array('Scroll' => 'scroll', 'CrossFade' => 'crossfade'), "description" => ""));
    vc_add_param("vc_images_carousel", $animation);
    vc_add_param("vc_images_carousel", array('param_name' => 'css_animation', 'heading' => __('Animation type', 'kleo_framework'), 'description' => "", 'type' => 'dropdown', 'class' => 'hide hidden', 'holder' => 'div', 'value' => array('Fade' => 'fade', 'Appear' => 'appear'), "dependency" => array("element" => "animation", "not_empty" => true)));
    vc_add_param("vc_images_carousel", array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Minimum items to show"), "param_name" => "min_items", "value" => "", "description" => ""));
    vc_add_param("vc_images_carousel", array("type" => "textfield", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Maximum items to show"), "param_name" => "max_items", "value" => "", "description" => ""));
    vc_add_param('vc_images_carousel', $el_class);
    /* Tagcloud */
    vc_map_update('vc_wp_tagcloud', array('description' => 'Your most used tags or single post tags in cloud format'));
    vc_add_param('vc_wp_tagcloud', array("type" => "dropdown", "heading" => __("Context"), "param_name" => "context", "value" => array('All Posts' => 'all_posts', 'Current Post' => 'single_post'), "dependency" => array("element" => "taxonomy", "value" => "post_tag")));
    vc_remove_param('vc_wp_tagcloud', 'el_class');
    vc_add_param('vc_wp_tagcloud', $el_class);
    /* Portfolio */
    if (defined('KLEO_THEME_VERSION') && version_compare(KLEO_THEME_VERSION, '2.0') >= 0) {
        $exclude_cats = kleo_get_category_list_key_array(apply_filters('kleo_portfolio_cat_slug', 'portfolio-category'), 'term_id');
        unset($exclude_cats['all']);
        $exclude_cats = array_flip($exclude_cats);
        vc_map(array('base' => 'kleo_portfolio', 'name' => 'Portfolio', 'weight' => 6, 'class' => 'kleo-icon', 'icon' => 'portfolio', 'category' => __("Content", 'js_composer'), 'description' => __('Insert portfolio items', 'kleo_framework'), 'params' => array(array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Display type"), "param_name" => "display_type", "value" => array('Default' => 'default', 'Overlay' => 'overlay'), "description" => ''), array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Title style"), "param_name" => "title_style", "dependency" => array("element" => "display_type", "value" => "overlay"), "value" => array('Normal' => 'normal', 'Shown only on item hover' => 'hover'), "description" => ''), array("param_name" => "columns", "type" => "textfield", "holder" => "div", "class" => "hide hidden", "heading" => __('Number of items per row', 'kleo_framework'), "value" => '4', "description" => 'A number between 2 and 6'), array("param_name" => "item_count", "type" => "textfield", "holder" => "div", "class" => "hide hidden", "heading" => __('Items to show', 'kleo_framework'), "value" => '', "description" => 'Leave blank for default value as in Settings - Reading'), array("param_name" => "pagination", "type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Display pagination. Only if is the case it will be showed"), "value" => array('No' => 'no', 'Yes' => 'yes'), "description" => ''), array("param_name" => "filter", "type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Show filter on top with categories"), "value" => array('Yes' => 'yes', 'No' => 'no'), "description" => ''), array("param_name" => "excerpt", "type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Display Subtitle for each item"), "value" => array('Yes' => 'yes', 'No' => 'no'), "description" => ''), array("param_name" => "image_size", "type" => "textfield", "holder" => "div", "class" => "hide hidden", "heading" => __('Images size', 'kleo_framework'), "value" => '', "description" => 'Leave blank to use default value 480x270. Expressed in pixels. Insert like: 400x400'), array("param_name" => "category", "type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Show from Category"), "value" => kleo_get_category_list(apply_filters('kleo_portfolio_cat_slug', 'portfolio-category'), 1), "description" => ''), array("param_name" => "exclude_categories", "type" => "checkbox", "holder" => "div", "class" => "hide hidden", "heading" => __("Exclude categories"), "value" => $exclude_cats, "description" => ''), $el_class)));
    }
    /* Search form */
    $kleo_post_types = array();
    if (function_exists('bp_is_active')) {
        $kleo_post_types['Members'] = 'members';
        $kleo_post_types['Groups'] = 'groups';
    }
    $kleo_post_types['Posts'] = 'post';
    $kleo_post_types['Pages'] = 'page';
    $args = array('public' => true, '_builtin' => false);
    $types_return = 'objects';
    // names or objects, note names is the default
    $post_types = get_post_types($args, $types_return);
    $except_post_types = array('kleo_clients', 'kleo-testimonials', 'topic', 'reply');
    foreach ($post_types as $post_type) {
        if (in_array($post_type->name, $except_post_types)) {
            continue;
        }
        $kleo_post_types[$post_type->labels->name] = $post_type->name;
    }
    vc_map(array('base' => 'kleo_search_form', 'name' => 'Search Form', 'weight' => 6, 'class' => 'kleo-search', 'icon' => 'kleo-search', 'category' => __("Content", 'js_composer'), 'description' => __('Insert search form', 'kleo_framework'), 'params' => array(array("param_name" => "form_style", "type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Form Style"), "value" => array('Default' => 'default', 'Transparent' => 'transparent'), "description" => 'This affects the look of the form. Default has a border and works for white backgrounds.'), array("param_name" => "type", "type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Form Type"), "value" => array('Form submit + AJAX results' => 'both', 'Just Form Submit' => 'form_submit', 'Just AJAX results' => 'ajax'), "description" => 'Here you can disable Form Submit or AJAX results.'), array("param_name" => "context", "type" => "checkbox", "holder" => "div", "class" => "hide hidden", "heading" => __("Search context"), "value" => $kleo_post_types, "std" => "", "description" => 'Leave unchecked to search in all content. What content do you want to search for. For example if you select just Members then the form submit will go to members directory. Same applies for Forums and Products.'), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Placeholder"), "param_name" => "placeholder", "value" => '', "description" => __("Placeholder to show when the input is empty")), $el_class)));
    /* bbPress Search form */
    vc_map(array("name" => __("bbPress Header Search"), "base" => "kleo_bbp_header_search", "class" => "", "category" => __('bbPress'), "icon" => "kleo-bpp-icon", "params" => array(array("type" => "textfield", "holder" => "div", "class" => "hide hidden", "heading" => __("Forum ID"), "param_name" => "forum_id", "value" => '', "description" => __("Enter a Forum ID to search just in that forum. Leave blank to search in all forums ")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Placeholder"), "param_name" => "placeholder", "value" => '', "description" => __("Placeholder to show when the input is empty")), array("type" => "colorpicker", "holder" => "div", "class" => "hide hidden", "heading" => __("Button text color"), "param_name" => "text_color", "value" => '#ffffff', "description" => ''), array("type" => "colorpicker", "holder" => "div", "class" => "hide hidden", "heading" => __("Button background color"), "param_name" => "bg_color", "value" => '#e74c3c', "description" => ''), $el_class)));
    /* Posts count */
    vc_map(array("name" => __("Count Posts"), "base" => "kleo_post_count", "class" => "", "category" => __('Content'), "icon" => "kleo-post-icon", "params" => array(array("type" => "textfield", "holder" => "div", "class" => "hide hidden", "heading" => __("Post type"), "param_name" => "type", "value" => '', "description" => __("Enter a post type to count for. This should be something like: post, page or portfolio ")))));
    /* Let it Snow */
    vc_map(array("name" => __("Let it Snow"), "base" => "kleo_snow", "class" => "", "category" => __('Content'), "icon" => "kleo-snow-icon", "params" => array(array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Where the snowing effect should happen"), "param_name" => "scope", "value" => array('Parent Column' => 'column', 'Whole window' => 'window'), "description" => __("Add beautiful snow effect. Let it snow only in the container column element or activate it for the whole site. ")))));
    /* Pricing table */
    vc_map(array('base' => 'kleo_pricing_table', 'name' => __('Pricing Table', 'kleo_framework'), 'weight' => 6, 'class' => '', 'icon' => 'kleo-pricing-table', 'category' => "Content", 'description' => __('Easy to add pricing tables', 'kleo_framework'), 'as_parent' => array('only' => 'kleo_pricing_table_item'), 'content_element' => true, 'js_view' => 'VcColumnView', 'params' => array(array("type" => "dropdown", "holder" => "div", 'class' => 'hide hidden', "admin_label" => true, "heading" => __("Columns"), "param_name" => "columns", "value" => array('2' => '2', '3' => '3', '4' => '4', '6' => '6'), "description" => __("Number of pricing table columns.")), array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "heading" => __("Style"), "param_name" => "style", "value" => array('Default' => '', 'Condensed' => '2'), "description" => __("Choose a different style.")), array("type" => "colorpicker", "class" => "hide hidden", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Custom Heading background"), "param_name" => "heading_bg", "value" => ""), array("type" => "colorpicker", "class" => "hide hidden", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Custom Price background"), "param_name" => "price_bg", "value" => ""), array("type" => "colorpicker", "class" => "hide hidden", "holder" => 'div', 'class' => 'hide hidden', "heading" => __("Custom Text color"), "param_name" => "text_color", "value" => ""), $el_class)));
    /* Pricing table item */
    vc_map(array("name" => __("Pricing table item"), "base" => "kleo_pricing_table_item", "class" => "kleo-pricing-table-item", "category" => __('Content'), 'as_child' => array('only' => 'kleo_pricing_table'), 'content_element' => true, "icon" => "kleo-pricing-table-item", "params" => array(array("type" => "textfield", "holder" => "div", "class" => "hide hidden", "admin_label" => true, "heading" => __("Title"), "param_name" => "title", "value" => "Column title"), array("type" => "textfield", "holder" => "div", "admin_label" => true, "class" => "hide hidden", "heading" => __("Price"), "param_name" => "price", "value" => "\$10"), array("type" => "dropdown", "holder" => "div", "class" => "hide hidden", "admin_label" => true, "heading" => __("Popular column?"), "param_name" => "popular", "value" => array('No' => '', 'Yes' => 'yes'), "description" => __("Shows this column with a different style")), array('param_name' => 'content', 'heading' => 'Description', 'description' => "Enter description column here", 'type' => 'textarea_html', 'holder' => "div", "class" => "hide hidden", 'value' => ""), array("type" => "exploded_textarea", "holder" => "div", "class" => "hide hidden", "heading" => __("Features list"), "param_name" => "features", "description" => __("")), array("type" => "textfield", "holder" => "div", "class" => "hide hidden", "heading" => __("Button label"), "param_name" => "button_label", "value" => "Select"), array('type' => 'vc_link', 'heading' => __('URL (Link)', 'js_composer'), 'param_name' => 'link', 'description' => __('Add link to button', 'js_composer')))));
    /* Kleo Particles */
    vc_map(array("name" => __("Galaxy Particles"), "base" => "kleo_particles", "class" => "", "category" => __('Content'), "icon" => "kleo-particles", "description" => __("Add nice background connected particles"), "params" => array(array("type" => "textfield", "holder" => "div", "class" => "hide hidden", "admin_label" => true, "heading" => __("Particles number"), "param_name" => "number", "value" => "80"), array("type" => "textfield", "holder" => "div", "class" => "hide hidden", "admin_label" => true, "heading" => __("Particles size"), "param_name" => "size", "value" => "4"), array("type" => "colorpicker", "holder" => "div", "class" => "hide hidden", "admin_label" => true, "heading" => __("Particles color"), "param_name" => "color", "value" => "#ffffff"))));
    /* Kleo News Focus */
    vc_map(array("name" => __("NEWS Focus"), "base" => "kleo_news_focus", "class" => "", "category" => __('Content'), "icon" => "kleo-news-focus", "description" => __("News Posts with big left image"), "params" => array(array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Section name"), "param_name" => "name", "value" => "", "description" => __("Enter a section name.")), array("type" => "textfield", "holder" => "div", "class" => "hide hidden", "heading" => __("Featured posts on left side"), "param_name" => "featured", "value" => "1", "description" => __("Enter the number of post to highlight and show big on the left column.")), array('type' => 'loop', 'heading' => __('Build your query', 'js_composer'), 'param_name' => 'posts_query', 'settings' => array('size' => array('hidden' => false, 'value' => 10), 'order_by' => array('value' => 'date')), 'description' => __('If you refine your posts by category then they will show as tabbed content in the shortcode', 'js_composer')), $el_class)));
    /* Kleo News Highlight */
    vc_map(array("name" => __("NEWS Highlight"), "base" => "kleo_news_highlight", "class" => "", "category" => __('Content'), "icon" => "kleo-news-highlight", "description" => __("News Posts with first post big image"), "params" => array(array("type" => "textfield", "holder" => "div", "class" => "hide hidden", "heading" => __("Featured posts to show big"), "param_name" => "featured", "value" => "1", "description" => __("Enter the number of post to highlight and show with bigger thumb.")), array('type' => 'loop', 'heading' => __('Build your query', 'js_composer'), 'param_name' => 'posts_query', 'settings' => array('size' => array('hidden' => false, 'value' => 10), 'order_by' => array('value' => 'date')), 'description' => __('If you refine your posts by category then the first category will show as a label on first post image', 'js_composer')), $el_class)));
    /* Kleo News Ticker */
    vc_map(array("name" => __("NEWS Ticker"), "base" => "kleo_news_ticker", "class" => "", "category" => __('Content'), "icon" => "kleo-news-ticker", "description" => __("Auto Scrolling posts"), "params" => array(array('type' => 'loop', 'heading' => __('Build your query', 'js_composer'), 'param_name' => 'posts_query', 'settings' => array('size' => array('hidden' => false, 'value' => 10), 'order_by' => array('value' => 'date')), 'description' => __('Refine your posts by specific filters', 'js_composer')), $el_class)));
    /* Buddypress members count */
    vc_map(array("name" => __("Members Count"), "base" => "kleo_total_members", "class" => "", "category" => __('BuddyPress'), "icon" => "kleo-bp-icon", "description" => __("Show the total member count."), "show_settings_on_create" => false, "params" => array()));
    /* Buddypress members statistics */
    vc_map(array("name" => __("Members Statistics"), "base" => "kleo_bp_member_stats", "class" => "", "category" => __('BuddyPress'), "icon" => "kleo-bp-icon", "params" => array(array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Field Name"), "param_name" => "field", "value" => "", "description" => __("Profile field name.")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Field Value"), "param_name" => "value", "value" => "", "description" => __("Profile field value.")), array("type" => "checkbox", "holder" => "div", "class" => "", "heading" => __("Online?"), "param_name" => "online", "value" => array("" => "false"), "description" => __("Only include online members."))), "description" => __("Show the member count by profile field value.")));
    // Buddypress Members Carousel
    vc_map(array("name" => __("Members Carousel"), "base" => "kleo_bp_members_carousel", "class" => "", "category" => __('BuddyPress'), "icon" => "kleo-bp-icon", "params" => array(array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Type"), "param_name" => "type", "value" => array('Active' => 'active', 'Newest' => 'newest', 'Popular' => 'popular', 'Online' => 'online', 'Alphabetical' => 'alphabetical', 'Random' => 'random'), "description" => __("The type of members to display.")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Number of members"), "param_name" => "number", "value" => 12, "description" => __("How many members to get.")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Minimum Items"), "param_name" => "min_items", "value" => 1, "description" => __("Minimum number of items to show on the screen")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Maximum Items"), "param_name" => "max_items", "value" => 6, "description" => __("Maximum number of items to show on the screen")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Image Type"), "param_name" => "image_size", "value" => array('Full' => 'full', 'Thumbnail' => 'thumb'), "description" => __("The size to get from buddypress")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Avatar type"), "param_name" => "rounded", "value" => array('Rounded' => 'rounded', 'Square' => 'square'), "description" => __("Rounded or square avatar")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Image Width"), "param_name" => "item_width", "value" => 150, "description" => __("The size of the member image")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Auto play"), "param_name" => "autoplay", "value" => array('No' => '', 'Yes' => 'yes'), "description" => __("If the carousel should play automatically")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Online status"), "param_name" => "online", "value" => array('Show' => 'show', 'Hide' => 'noshow'), "description" => __("Show online status")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Class"), "param_name" => "class", "value" => '', "description" => __("A class to add to the element for CSS referrences.")))));
    // Buddypress Members Masonry
    vc_map(array("name" => __("Members Masonry"), "base" => "kleo_bp_members_masonry", "class" => "", "category" => __('BuddyPress'), "icon" => "kleo-bp-icon", "params" => array(array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Type"), "param_name" => "type", "value" => array('Active' => 'active', 'Newest' => 'newest', 'Popular' => 'popular', 'Online' => 'online', 'Alphabetical' => 'alphabetical', 'Random' => 'random'), "description" => __("The type of members to display.")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Number of members"), "param_name" => "number", "value" => 12, "description" => __("How many members to get.")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Avatar type"), "param_name" => "rounded", "value" => array('Rounded' => 'rounded', 'Square' => 'square'), "description" => __("Rounded or square avatar")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Online status"), "param_name" => "online", "value" => array('Show' => 'show', 'Hide' => 'noshow'), "description" => __("Show online status")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Class"), "param_name" => "class", "value" => '', "description" => __("A class to add to the element for CSS referrences.")))));
    /* Members grid */
    vc_map(array("name" => __("Members Grid"), "base" => "kleo_bp_members_grid", "class" => "", "category" => __('BuddyPress'), "icon" => "bp-icon", "params" => array(array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Type"), "param_name" => "type", "value" => array('Active' => 'active', 'Newest' => 'newest', 'Popular' => 'popular', 'Online' => 'online', 'Alphabetical' => 'alphabetical', 'Random' => 'random'), "description" => __("The type of members to display.")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Maximum members"), "param_name" => "number", "value" => 12, "description" => __("How many members you want to display.")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Members per line"), "param_name" => "perline", "value" => array('1' => 'one', '2' => 'two', '3' => 'three', '4' => 'four', '5' => 'five', '6' => 'six', '7' => 'seven', '8' => 'eight', '9' => 'nine', '10' => 'ten', '11' => 'eleven', '12' => 'twelve'), "description" => __("How many members to show per line")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Avatar type"), "param_name" => "rounded", "value" => array('Square' => 'square', 'Rounded' => 'rounded'), "description" => __("Rounded or square avatar")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Animation"), "param_name" => "animation", "value" => array('None' => '', 'Fade' => 'fade', 'Appear' => 'appear'), "description" => __("Elements will appear animated")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Class"), "param_name" => "class", "value" => '', "description" => __("A class to add to the element for CSS referrences.")))));
    // Buddypress Groups Carousel
    vc_map(array("name" => __("Groups Carousel"), "base" => "kleo_bp_groups_carousel", "class" => "", "category" => __('BuddyPress'), "icon" => "bp-icon", "params" => array(array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Type"), "param_name" => "type", "value" => array('Active' => 'active', 'Newest' => 'newest', 'Popular' => 'popular', 'Alphabetical' => 'alphabetical', 'Most Forum Topics' => 'most-forum-topics', 'Most Forum Posts' => 'most-forum-posts', 'Random' => 'random'), "description" => __("The type of groups to display.")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Number of groups"), "param_name" => "number", "value" => 12, "description" => __("How many groups to get.")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Minimum Items"), "param_name" => "min_items", "value" => 1, "description" => __("Minimum number of items to show on the screen")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Maximum Items"), "param_name" => "max_items", "value" => 6, "description" => __("Maximum number of items to show on the screen")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Image Type"), "param_name" => "image_size", "value" => array('Full' => 'full', 'Thumbnail' => 'thumb'), "description" => __("The size to get from buddypress")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Auto play"), "param_name" => "autoplay", "value" => array('No' => '', 'Yes' => 'yes'), "description" => __("If the carousel should play automatically")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Avatar type"), "param_name" => "rounded", "value" => array('Rounded' => 'rounded', 'Square' => 'square'), "description" => __("Rounded or square avatar")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Image Width"), "param_name" => "item_width", "value" => 150, "description" => __("The size of the group image")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Class"), "param_name" => "class", "value" => '', "description" => __("A class to add to the element for CSS referrences.")))));
    // Buddypress Groups Masonry
    vc_map(array("name" => __("Groups Masonry"), "base" => "kleo_bp_groups_masonry", "class" => "", "category" => __('BuddyPress'), "icon" => "bp-icon", "params" => array(array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Type"), "param_name" => "type", "value" => array('Active' => 'active', 'Newest' => 'newest', 'Popular' => 'popular', 'Alphabetical' => 'alphabetical', 'Most Forum Topics' => 'most-forum-topics', 'Most Forum Posts' => 'most-forum-posts', 'Random' => 'random'), "description" => __("The type of groups to display.")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Number of groups"), "param_name" => "number", "value" => 12, "description" => __("How many groups to get.")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Avatar type"), "param_name" => "rounded", "value" => array('Rounded' => 'rounded', 'Square' => 'square'), "description" => __("Rounded or square avatar")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Class"), "param_name" => "class", "value" => '', "description" => __("A class to add to the element for CSS referrences.")))));
    /* Groups grid */
    vc_map(array("name" => __("Groups Grid"), "base" => "kleo_bp_groups_grid", "class" => "", "category" => __('BuddyPress'), "icon" => "bp-icon", "params" => array(array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Type"), "param_name" => "type", "value" => array('Active' => 'active', 'Newest' => 'newest', 'Popular' => 'popular', 'Alphabetical' => 'alphabetical', 'Most Forum Topics' => 'most-forum-topics', 'Most Forum Posts' => 'most-forum-posts', 'Random' => 'random'), "description" => __("The type of groups to display.")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Maximum members"), "param_name" => "number", "value" => 12, "description" => __("How many groups you want to display.")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Groups per line"), "param_name" => "perline", "value" => array('1' => 'one', '2' => 'two', '3' => 'three', '4' => 'four', '5' => 'five', '6' => 'six', '7' => 'seven', '8' => 'eight', '9' => 'nine', '10' => 'ten', '11' => 'eleven', '12' => 'twelve'), "description" => __("How many groups to show per line")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Avatar type"), "param_name" => "rounded", "value" => array('Square' => 'square', 'Rounded' => 'rounded'), "description" => __("Rounded or square avatar")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Animatione"), "param_name" => "animation", "value" => array('None' => '', 'Fade' => 'fade', 'Appear' => 'appear'), "description" => __("Elements will appear animated")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Class"), "param_name" => "class", "value" => '', "description" => __("A class to add to the element for CSS referrences.")))));
    //Activity Stream
    vc_map(array("name" => __("Activity Stream"), "base" => "kleo_bp_activity_stream", "class" => "", "category" => __('BuddyPress'), "icon" => "kleo-bp-icon", "params" => array(array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Display"), "param_name" => "show", "value" => array('All' => false, 'Blogs' => 'blogs', 'Groups' => 'groups', 'Friends' => 'friends', 'Profile' => 'profile', 'Status' => 'status'), "description" => __("The type of activity to show")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Number"), "param_name" => "number", "value" => '6', "description" => __("How many activity streams to show")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Show post update form"), "param_name" => "post_form", "value" => array('No' => 'no', 'Yes' => 'yes'), "description" => __("Shows the form to post a new update")), array("type" => "dropdown", "holder" => "div", "class" => "", "heading" => __("Bottom button"), "param_name" => "show_button", "value" => array('Yes' => 'yes', 'No' => 'no'), "description" => __("Show a button with link to the activity page")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Activity Button Label"), "param_name" => "button_label", "value" => 'View All Activity', "dependency" => array("element" => "show_button", "value" => "yes"), "description" => __("Button text")), array("type" => "textfield", "holder" => "div", "class" => "", "heading" => __("Activity Button Link"), "param_name" => "button_link", "value" => '/activity', "dependency" => array("element" => "show_button", "value" => "yes"), "description" => __("Put here the link to your activity page")))));
    //Activity Page
    vc_map(array("name" => __("Activity Page"), "base" => "kleo_bp_activity_page", "class" => "", "category" => __('BuddyPress'), "icon" => "kleo-bp-icon", "show_settings_on_create" => false));
}
Example #14
0
vc_remove_element("vc_message");
vc_remove_element("vc_pie");
vc_remove_element("vc_posts_slider");
vc_remove_element("vc_toggle");
vc_remove_element("vc_progress_bar");
vc_remove_element("vc_gallery");
//vc_remove_element("vc_tta_accordion");
//vc_remove_element("vc_tta_tour");
//vc_remove_element("vc_tta_tab");
//vc_remove_element("vc_tabs");
//vc_remove_element("vc_accordion");
//vc_remove_element("vc_tta_tabs");
$remove_depreciate = array('deprecated' => '');
vc_map_update('vc_tab', $remove_depreciate);
vc_map_update('vc_tour', $remove_depreciate);
vc_map_update('vc_accordion_tab', $remove_depreciate);
// Add VC admin CSS styles
function load_custom_vc_admin_style()
{
    wp_register_style('custom_vc_admin_css', get_template_directory_uri() . '/dynamo_framework/vc_extend/dp_vc_admin.css', false, '');
    wp_enqueue_style('custom_vc_admin_css');
}
add_action('admin_enqueue_scripts', 'load_custom_vc_admin_style');
//Add VC frontend styles
function load_custom_vc_frontend_style()
{
    wp_register_style('custom_vc_frontend_css', get_template_directory_uri() . '/dynamo_framework/vc_extend/dp_vc_frontend.css', array('js_composer_front'), '', 'screen');
    wp_enqueue_style('custom_vc_frontend_css');
}
add_action('wp_head', 'load_custom_vc_frontend_style', 6);
// Add custom functions and arrays
Example #15
0
<?php

/*-----------------------------------------------------------------------------------*/
/*	Section - Row
/*-----------------------------------------------------------------------------------*/
vc_map_update('vc_row', array('name' => __('Section/Row', AZ_THEME_NAME), 'description' => __('Place content elements inside the section', AZ_THEME_NAME), 'show_settings_on_create' => true, 'params' => array(array('type' => 'textfield', 'heading' => __('Extra Section ID name', AZ_THEME_NAME), 'param_name' => 'section_id', 'admin_label' => true, 'description' => __('If you wish to style particular content element differently, then use this field to add an ID and then refer to it in your css/js file.', AZ_THEME_NAME)), array('type' => 'textfield', 'heading' => __('Extra Section Class name', AZ_THEME_NAME), 'param_name' => 'section_class', 'admin_label' => true, 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css/js file.', AZ_THEME_NAME)), array('type' => 'dropdown', 'heading' => __('Section Mode', AZ_THEME_NAME), 'param_name' => 'section_mode', 'value' => array(__('Default', AZ_THEME_NAME) => 'normal', __('Full Width', AZ_THEME_NAME) => 'fluid', __('Full Screen', AZ_THEME_NAME) => 'full-screen'), 'admin_label' => true, 'description' => __('Choose Layout Mode.<br/>Default 1170px Container.<br/>Full Width is a 100% Width Container.', AZ_THEME_NAME)), array('type' => 'checkbox', 'heading' => __('No Margin and Padding', AZ_THEME_NAME), 'param_name' => 'no_margin_padding', 'value' => array(__('Yes, please', AZ_THEME_NAME) => 'yes'), 'admin_label' => true, 'description' => __('Enable it if you want a container without margin and padding. Useful for sliders, maps, etc.', AZ_THEME_NAME), 'dependency' => array('element' => 'section_mode', 'value' => array('fluid'))), array('type' => 'checkbox', 'heading' => __('No Content Center', AZ_THEME_NAME), 'param_name' => 'no_content_wrap', 'value' => array(__('Yes, please', AZ_THEME_NAME) => 'yes'), 'admin_label' => true, 'description' => __('Enable it if you want a container without center the content. Useful for Google Maps Full Screen.', AZ_THEME_NAME), 'dependency' => array('element' => 'section_mode', 'value' => array('full-screen'))), array('type' => 'checkbox', 'heading' => __('Scroll Button to Next Section', AZ_THEME_NAME), 'param_name' => 'scroll_button', 'value' => array(__('Yes, please', AZ_THEME_NAME) => 'yes'), 'admin_label' => true, 'description' => __('Enable it if you want a button scroll to next section.', AZ_THEME_NAME), 'dependency' => array('element' => 'section_mode', 'value' => array('fluid', 'full-screen'))), array('type' => 'textfield', 'heading' => __('ID Next Section - Required', AZ_THEME_NAME), 'param_name' => 'scroll_id', 'description' => __('Enter ID of Next Section. For set the ID of Next Section click on Edit (pencil icon) and write your ID and copy and paste here.', AZ_THEME_NAME), 'value' => '', 'admin_label' => true, 'dependency' => array('element' => 'scroll_button', 'value' => array('yes'))), array('type' => 'dropdown', 'heading' => __('Section Module', AZ_THEME_NAME), 'param_name' => 'bg_mode', 'value' => array(__('Default', AZ_THEME_NAME) => 'default', __('Custom Image', AZ_THEME_NAME) => 'custom_image_bg', __('Custom Image Parallax', AZ_THEME_NAME) => 'custom_image_bg_parallax', __('Custom Color', AZ_THEME_NAME) => 'custom', __('Custom Video', AZ_THEME_NAME) => 'video'), 'admin_label' => true, 'description' => __('Choose your favorite Section Module.', AZ_THEME_NAME)), array('type' => 'attach_image', 'heading' => __('Image Parallax', AZ_THEME_NAME), 'param_name' => 'image_parallax', 'value' => '', 'description' => __('Select image from media library.', AZ_THEME_NAME), 'dependency' => array('element' => 'bg_mode', 'value' => array('custom_image_bg_parallax'))), array('type' => 'attach_image', 'heading' => __('Image', AZ_THEME_NAME), 'param_name' => 'image', 'value' => '', 'description' => __('Select image from media library.', AZ_THEME_NAME), 'dependency' => array('element' => 'bg_mode', 'value' => array('custom_image_bg'))), array('type' => 'colorpicker', 'heading' => __('Background Color Image', AZ_THEME_NAME), 'param_name' => 'bg_image_background_color', 'description' => __('Choose a background color if you want use a transparent image.', AZ_THEME_NAME), 'dependency' => array('element' => 'image', 'not_empty' => true)), array('type' => 'dropdown', 'heading' => __('Background Image Position', AZ_THEME_NAME), 'param_name' => 'bg_position', 'value' => array(__('Left Top', AZ_THEME_NAME) => 'left top', __('Left Center', AZ_THEME_NAME) => 'left center', __('Left Bottom', AZ_THEME_NAME) => 'left bottom', __('Center Top', AZ_THEME_NAME) => 'center top', __('Center Center', AZ_THEME_NAME) => 'center center', __('Center Bottom', AZ_THEME_NAME) => 'center bottom', __('Right Top', AZ_THEME_NAME) => 'right top', __('Right Center', AZ_THEME_NAME) => 'right center', __('Right Bottom', AZ_THEME_NAME) => 'right bottom'), 'dependency' => array('element' => 'image', 'not_empty' => true)), array('type' => 'dropdown', 'heading' => __('Background Image Repeat', AZ_THEME_NAME), 'param_name' => 'bg_repeat', 'value' => array(__('No Repeat', AZ_THEME_NAME) => 'no-repeat', __('Repeat', AZ_THEME_NAME) => 'repeat', __('Repeat Horizontally', AZ_THEME_NAME) => 'repeat-x', __('Repeat vertically', AZ_THEME_NAME) => 'repeat-y', __('Stretch to fit', AZ_THEME_NAME) => 'stretch'), 'dependency' => array('element' => 'image', 'not_empty' => true)), array('type' => 'dropdown', 'heading' => __('Overlay Mask', AZ_THEME_NAME), 'param_name' => 'section_overlay', 'value' => array(__('No Overlay Mask', AZ_THEME_NAME) => 'no_mask_overlay', __('Yes, Overlay Mask', AZ_THEME_NAME) => 'yes_mask_overlay'), 'description' => __('Enable or Disable the custom options for overlay section.', AZ_THEME_NAME), 'dependency' => array('element' => 'bg_mode', 'value' => array('custom_image_bg', 'custom_image_bg_parallax'))), array('type' => 'colorpicker', 'heading' => __('Background Color Overlay Mask', AZ_THEME_NAME), 'param_name' => 'section_overaly_color', 'description' => __('Choose a background color overlay for your section block. Only if Overlay Mask is enabled.', AZ_THEME_NAME), 'dependency' => array('element' => 'section_overlay', 'value' => array('yes_mask_overlay'))), array('type' => 'colorpicker', 'heading' => __('Background Color', AZ_THEME_NAME), 'param_name' => 'custom_bg_color', 'description' => __('Select a custom background color.', AZ_THEME_NAME), 'dependency' => array('element' => 'bg_mode', 'value' => array('custom'))), array('type' => 'dropdown', 'heading' => __('Video Mode', AZ_THEME_NAME), 'param_name' => 'video_mode', 'value' => array(__('Self-Hosted', AZ_THEME_NAME) => 'self_hosted', __('Youtube', AZ_THEME_NAME) => 'youtube_url', __('Vimeo', AZ_THEME_NAME) => 'vimeo_embed_code'), 'description' => __('Choose your Video Module.', AZ_THEME_NAME), 'dependency' => array('element' => 'bg_mode', 'value' => array('video'))), array('type' => 'dropdown', 'heading' => __('Mobile Video Settings', AZ_THEME_NAME), 'param_name' => 'custom_video_mobile_settings', 'value' => array(__('New Window', AZ_THEME_NAME) => 'new-window', __('Popup', AZ_THEME_NAME) => 'lightbox'), 'description' => __('Required. Choose if your video open in new window or pop-up.<br/><em>Work only with Play/Pause Video Module</em>', AZ_THEME_NAME), 'dependency' => array('element' => 'bg_mode', 'value' => array('video'))), array('type' => 'attach_image', 'heading' => __('Mobile Background Image Fallback', AZ_THEME_NAME), 'param_name' => 'custom_image_video', 'value' => '', 'description' => __('Required. Upload your image for mobile and tablet devices.', AZ_THEME_NAME), 'dependency' => array('element' => 'bg_mode', 'value' => array('video'))), array('type' => 'attach_image', 'heading' => __('Self-Video Background Image Fallback', AZ_THEME_NAME), 'param_name' => 'custom_image_self_video', 'value' => '', 'description' => __('Optional. Upload your image.', AZ_THEME_NAME), 'dependency' => array('element' => 'video_mode', 'value' => array('self_hosted'))), array('type' => 'textfield', 'heading' => __('WEBM File URL', AZ_THEME_NAME), 'param_name' => 'custom_video_webm', 'description' => __('Required. Upload a WEBM File.', AZ_THEME_NAME), 'dependency' => array('element' => 'video_mode', 'value' => array('self_hosted'))), array('type' => 'textfield', 'heading' => __('MP4 File URL', AZ_THEME_NAME), 'param_name' => 'custom_video_mp4', 'description' => __('Required. Upload a MP4 File.', AZ_THEME_NAME), 'dependency' => array('element' => 'video_mode', 'value' => array('self_hosted'))), array('type' => 'dropdown', 'heading' => __('Self-Hosted Video Module', AZ_THEME_NAME), 'param_name' => 'custom_video_self_hosted_module', 'value' => array(__('Decorative', AZ_THEME_NAME) => 'decorative_video_self_hosted', __('Play/Pause', AZ_THEME_NAME) => 'play_pause_video_self_hosted'), 'description' => __('Choose Self Hosted Background Module.<br/><strong>Decorative</strong>: The video has autoplay, loop and mute audio enabled.<br/><strong>Play/Pause</strong>: The video has autoplay, loop and mute disabled. You can play &amp; pause the video with a click, remember with this module NOT insert any content into the section.', AZ_THEME_NAME), 'dependency' => array('element' => 'video_mode', 'value' => array('self_hosted'))), array('type' => 'attach_image', 'heading' => __('Youtube Background Image Fallback', AZ_THEME_NAME), 'param_name' => 'custom_image_youtube_video', 'value' => '', 'description' => __('Optional. Upload your image.', AZ_THEME_NAME), 'dependency' => array('element' => 'video_mode', 'value' => array('youtube_url'))), array('type' => 'textfield', 'heading' => __('Youtube Video ID', AZ_THEME_NAME), 'param_name' => 'custom_video_youtube', 'description' => __('Enter only ID video from Youtube.<br/>Example: 3XviR7esUvo', AZ_THEME_NAME), 'dependency' => array('element' => 'video_mode', 'value' => array('youtube_url'))), array('type' => 'dropdown', 'heading' => __('Youtube Video Module', AZ_THEME_NAME), 'param_name' => 'custom_video_youtube_module', 'value' => array(__('Decorative', AZ_THEME_NAME) => 'decorative_video_youtube', __('Play/Pause', AZ_THEME_NAME) => 'play_pause_video_youtube'), 'description' => __('Choose Youtube Background Module.<br/><strong>Decorative</strong>: The video has autoplay, loop and mute audio enabled.<br/><strong>Play/Pause</strong>: The video has autoplay, loop and mute disabled. You can play &amp; pause the video with a click, remember with this module NOT insert any content into the section.', AZ_THEME_NAME), 'dependency' => array('element' => 'video_mode', 'value' => array('youtube_url'))), array('type' => 'textfield', 'heading' => __('Vimeo Video ID', AZ_THEME_NAME), 'param_name' => 'custom_video_vimeo', 'description' => __('Enter only ID video from Vimeo.<br/>Example: 116214074', AZ_THEME_NAME), 'dependency' => array('element' => 'video_mode', 'value' => array('vimeo_embed_code'))), array('type' => 'dropdown', 'heading' => __('Vimeo Video Module', AZ_THEME_NAME), 'param_name' => 'custom_video_vimeo_module', 'value' => array(__('Decorative', AZ_THEME_NAME) => 'decorative_video_vimeo', __('Play/Pause', AZ_THEME_NAME) => 'play_pause_video_vimeo'), 'description' => __('Choose Vimeo Background Module.<br/><strong>Decorative</strong>: The video has autoplay, loop and mute audio enabled.<br/><strong>Play/Pause</strong>: The video has autoplay, loop and mute disabled. You can play &amp; pause the video with a click, remember with this module NOT insert any content into the section.', AZ_THEME_NAME), 'dependency' => array('element' => 'video_mode', 'value' => array('vimeo_embed_code'))), array('type' => 'dropdown', 'heading' => __('Video Overlay Mask', AZ_THEME_NAME), 'param_name' => 'video_overlay', 'value' => array(__('No Overlay Mask', AZ_THEME_NAME) => 'no_video_overlay', __('Yes, Overlay Mask', AZ_THEME_NAME) => 'yes_video_overlay'), 'description' => __('Enable or Disable the custom options for video overlay section.', AZ_THEME_NAME), 'dependency' => array('element' => 'bg_mode', 'value' => array('video'))), array('type' => 'colorpicker', 'heading' => __('Video Overlay Color', AZ_THEME_NAME), 'param_name' => 'video_color_overlay', 'description' => __('Select a custom color for video overlay block. Only if Video Overlay Mask is enabled.', AZ_THEME_NAME), 'dependency' => array('element' => 'video_overlay', 'value' => array('yes_video_overlay'))), array('type' => 'attach_image', 'heading' => __('Pattern Image', AZ_THEME_NAME), 'param_name' => 'pattern', 'value' => '', 'description' => __('Optional. Select a pattern from media library.', AZ_THEME_NAME), 'dependency' => array('element' => 'bg_mode', 'value' => array('custom_image_bg', 'custom_image_bg_parallax', 'custom', 'video'))), array('type' => 'dropdown', 'heading' => __('Section Padding', AZ_THEME_NAME), 'param_name' => 'padding', 'value' => array(__('No Padding', AZ_THEME_NAME) => 'no-padding', __('Small Padding', AZ_THEME_NAME) => 'small-padding', __('Default Padding', AZ_THEME_NAME) => 'default-padding', __('Large Padding', AZ_THEME_NAME) => 'large-padding', __('Custom Padding', AZ_THEME_NAME) => 'custom-padding'), 'admin_label' => true, 'description' => __('Define the sections top and bottom padding.', AZ_THEME_NAME)), array('type' => 'textfield', 'heading' => __('Padding Top', AZ_THEME_NAME), 'param_name' => 'padding_top_value', 'description' => __('Padding Top value in pixel. Enter only number value. Default value is 70.', AZ_THEME_NAME), 'value' => '70', 'dependency' => array('element' => 'padding', 'value' => array('custom-padding'))), array('type' => 'textfield', 'heading' => __('Padding Bottom', AZ_THEME_NAME), 'param_name' => 'padding_bottom_value', 'description' => __('Padding Bottom value in pixel. Enter only number value. Default value is 70.', AZ_THEME_NAME), 'value' => '70', 'dependency' => array('element' => 'padding', 'value' => array('custom-padding'))), array('type' => 'textfield', 'heading' => __('Extra Row Class name', AZ_THEME_NAME), 'param_name' => 'el_class', 'admin_label' => true, 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css/js file.', AZ_THEME_NAME)), $responsive_lg, $responsive_md, $responsive_sm, $responsive_xs, $sections_colors_check)));
/*-----------------------------------------------------------------------------------*/
/*	Columns
/*-----------------------------------------------------------------------------------*/
vc_map_update('vc_column', array('params' => array(array('type' => 'dropdown', 'heading' => __('Column Mode', AZ_THEME_NAME), 'param_name' => 'column_mode', 'value' => array(__('Default', AZ_THEME_NAME) => 'default', __('Custom Image', AZ_THEME_NAME) => 'custom_col_image_bg', __('Custom Color', AZ_THEME_NAME) => 'custom_col_color'), 'description' => __('Choose your favorite Column Module.', AZ_THEME_NAME)), array('type' => 'attach_image', 'heading' => __('Image', AZ_THEME_NAME), 'param_name' => 'image', 'value' => '', 'description' => __('Select image from media library.', AZ_THEME_NAME), 'dependency' => array('element' => 'column_mode', 'value' => array('custom_col_image_bg'))), array('type' => 'dropdown', 'heading' => __('Background Image Position', AZ_THEME_NAME), 'param_name' => 'bg_col_position', 'value' => array(__('Left Top', AZ_THEME_NAME) => 'left top', __('Left Center', AZ_THEME_NAME) => 'left center', __('Left Bottom', AZ_THEME_NAME) => 'left bottom', __('Center Top', AZ_THEME_NAME) => 'center top', __('Center Center', AZ_THEME_NAME) => 'center center', __('Center Bottom', AZ_THEME_NAME) => 'center bottom', __('Right Top', AZ_THEME_NAME) => 'right top', __('Right Center', AZ_THEME_NAME) => 'right center', __('Right Bottom', AZ_THEME_NAME) => 'right bottom'), 'dependency' => array('element' => 'image', 'not_empty' => true)), array('type' => 'dropdown', 'heading' => __('Background Image Repeat', AZ_THEME_NAME), 'param_name' => 'bg_col_repeat', 'value' => array(__('No Repeat', AZ_THEME_NAME) => 'no-repeat', __('Repeat', AZ_THEME_NAME) => 'repeat', __('Repeat Horizontally', AZ_THEME_NAME) => 'repeat-x', __('Repeat vertically', AZ_THEME_NAME) => 'repeat-y', __('Stretch to fit', AZ_THEME_NAME) => 'stretch'), 'dependency' => array('element' => 'image', 'not_empty' => true)), array('type' => 'dropdown', 'heading' => __('Overlay Mask', AZ_THEME_NAME), 'param_name' => 'bg_column_overlay', 'value' => array(__('No Overlay Mask', AZ_THEME_NAME) => 'no_mask_overlay', __('Yes, Overlay Mask', AZ_THEME_NAME) => 'yes_mask_overlay'), 'description' => __('Enable or Disable the custom options for overlay column.', AZ_THEME_NAME), 'dependency' => array('element' => 'column_mode', 'value' => array('custom_col_image_bg'))), array('type' => 'colorpicker', 'heading' => __('Background Color Overlay Mask', AZ_THEME_NAME), 'param_name' => 'bg_column_overaly_color', 'description' => __('Choose a background color overlay for your column block. Only if Overlay Mask is enabled.', AZ_THEME_NAME), 'dependency' => array('element' => 'bg_column_overlay', 'value' => array('yes_mask_overlay'))), array('type' => 'colorpicker', 'heading' => __('Background Color', AZ_THEME_NAME), 'param_name' => 'custom_bg_color', 'description' => __('Select a custom background color.', AZ_THEME_NAME), 'dependency' => array('element' => 'column_mode', 'value' => array('custom_col_color'))), array('type' => 'textfield', 'heading' => __('Extra class name', AZ_THEME_NAME), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css/js file.', AZ_THEME_NAME)), array('type' => 'checkbox', 'group' => __('Equals Col Height', AZ_THEME_NAME), 'heading' => __('Equals Columns Height Script?', AZ_THEME_NAME), 'param_name' => 'equals_col_height', 'value' => array(__('Yes, please', AZ_THEME_NAME) => 'yes'), 'description' => __('Enable Equals Columns Height!', AZ_THEME_NAME)), array('type' => 'checkbox', 'group' => __('Equals Col Height', AZ_THEME_NAME), 'heading' => __('Vertical Center Text?', AZ_THEME_NAME), 'param_name' => 'vertical_center_text', 'value' => array(__('Yes, please', AZ_THEME_NAME) => 'yes'), 'description' => __('Enable Vertical Center Text.', AZ_THEME_NAME), 'dependency' => array('element' => 'equals_col_height', 'value' => array('yes'))), array('type' => 'checkbox', 'group' => __('Equals Col Height', AZ_THEME_NAME), 'heading' => __('Vertical Center Text on Mobile/Tablet Devices?', AZ_THEME_NAME), 'param_name' => 'vertical_center_text_mobile', 'value' => array(__('Yes, please', AZ_THEME_NAME) => 'yes'), 'description' => __('Enable Vertical Center Text on Mobile/Tablet Devices.', AZ_THEME_NAME), 'dependency' => array('element' => 'equals_col_height', 'value' => array('yes'))), array('type' => 'textfield', 'group' => __('Equals Col Height', AZ_THEME_NAME), 'heading' => __('Min Column Height', AZ_THEME_NAME), 'param_name' => 'min_column_height', 'description' => __('Define the min-height of the column in pixel. It is useful for tablet/mobile devices if you use a column image/color mode without text inside the column. Enter only number value. Default value is 350.', AZ_THEME_NAME), 'value' => '350', 'dependency' => array('element' => 'equals_col_height', 'value' => array('yes'))), array('type' => 'checkbox', 'group' => __('Equals Col Height', AZ_THEME_NAME), 'heading' => __('Remove Padding?', AZ_THEME_NAME), 'param_name' => 'remove_col_padding', 'value' => array(__('Yes, please', AZ_THEME_NAME) => 'yes'), 'description' => __('Remove the padding around the column.', AZ_THEME_NAME), 'dependency' => array('element' => 'equals_col_height', 'value' => array('yes'))), $animated_choice, $animated_effects, $animated_delay)));
vc_map_update('vc_column_inner', array('params' => array(array('type' => 'textfield', 'heading' => __('Extra class name', AZ_THEME_NAME), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css/js file.', AZ_THEME_NAME)))));
/*-----------------------------------------------------------------------------------*/
/*	Accordions
/*-----------------------------------------------------------------------------------*/
vc_map_update('vc_accordion', array('params' => array(array('type' => 'textfield', 'heading' => __('Toggle ID', AZ_THEME_NAME), 'param_name' => 'toggle_id', 'description' => __('Optional. Insert an ID for have a toggle effect. Leave blank if you want a simple accordion.', AZ_THEME_NAME)), array('type' => 'textfield', 'heading' => __('Extra class name', AZ_THEME_NAME), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css/js file.', AZ_THEME_NAME)))));
vc_map_update('vc_accordion_tab', array('params' => array(array('type' => 'textfield', 'heading' => __('Title', AZ_THEME_NAME), 'param_name' => 'title', 'description' => __('Accordion section title.', AZ_THEME_NAME)), array('type' => 'textfield', 'heading' => __('Toggle Parent ID', AZ_THEME_NAME), 'param_name' => 'toggle_id_parent', 'description' => __('Optional. Copy the same ID from accordion element for have a toggle effect. Leave blank if you want a simple accordion.', AZ_THEME_NAME)), array('type' => 'checkbox', 'heading' => __('Collapse', AZ_THEME_NAME), 'param_name' => 'collapsible', 'description' => __('Select checkbox to allow section to be collapsible.', AZ_THEME_NAME), 'value' => array(__('Allow', AZ_THEME_NAME) => 'yes')))));
/*-----------------------------------------------------------------------------------*/
/*	Special Heading
/*-----------------------------------------------------------------------------------*/
class WPBakeryShortCode_AZ_Special_Heading extends WPBakeryShortCode
{
}
vc_map(array('name' => __('Special Heading', AZ_THEME_NAME), 'description' => __('A special heading text block', AZ_THEME_NAME), 'base' => 'az_special_heading', 'icon' => 'icon-wpb-layer-shape-text', 'category' => __('Content', AZ_THEME_NAME), 'params' => array(array('type' => 'textfield', 'heading' => __('Heading Title', AZ_THEME_NAME), 'param_name' => 'special_heading_title', 'value' => '', 'admin_label' => true, 'description' => __('Required. Enter the your title. You can use only br html tag.', AZ_THEME_NAME)), array('type' => 'textfield', 'heading' => __('Heading Sub Title', AZ_THEME_NAME), 'param_name' => 'special_heading_subtitle', 'value' => '', 'admin_label' => true, 'description' => __('Optional. Enter the your sub-title. You can use only br html tag.', AZ_THEME_NAME)), array('type' => 'dropdown', 'heading' => __('Colors Mode', AZ_THEME_NAME), 'param_name' => 'special_heading_colors_mode', 'value' => array(__('Default', AZ_THEME_NAME) => 'default-special-heading-color', __('Custom', AZ_THEME_NAME) => 'custom-special-heading-color'), 'admin_label' => true, 'description' => __('Select the special heading color mode.', AZ_THEME_NAME)), array('type' => 'colorpicker', 'heading' => __('Special Heading Color Master', AZ_THEME_NAME), 'param_name' => 'special_heading_master_color', 'description' => __('Choose a color for your title and subtitle.', AZ_THEME_NAME), 'dependency' => array('element' => 'special_heading_colors_mode', 'value' => array('custom-special-heading-color'))), array('type' => 'checkbox', 'heading' => __('Wrap Special Heading in a link?', AZ_THEME_NAME), 'param_name' => 'special_heading_wrap_link', 'value' => array(__('Yes, please', AZ_THEME_NAME) => 'yes'), 'description' => __('Enable a URL link for the current special heading block.', AZ_THEME_NAME)), array('type' => 'textfield', 'heading' => __('Link URL', AZ_THEME_NAME), 'param_name' => 'special_heading_wrap_link_url', 'description' => __('Where should your special heading box link to?', AZ_THEME_NAME), 'value' => '', 'dependency' => array('element' => 'special_heading_wrap_link', 'value' => 'yes')), array('type' => 'dropdown', 'heading' => __('Link Target', AZ_THEME_NAME), 'param_name' => 'special_heading_link_target', 'value' => $target_arr, 'dependency' => array('element' => 'special_heading_wrap_link', 'value' => 'yes')), array('type' => 'textfield', 'heading' => __('Extra class name', AZ_THEME_NAME), 'param_name' => 'el_class', 'admin_label' => true, 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css/js file.', AZ_THEME_NAME)), $responsive_typo_check, $responsive_typo_default, $responsive_typo_medium, $responsive_typo_small, $responsive_typo_very_small, $responsive_typo_ultra_small, $responsive_lg, $responsive_md, $responsive_sm, $responsive_xs, $animated_choice, $animated_effects, $animated_delay)));
/*-----------------------------------------------------------------------------------*/
/*	Text Block
/*-----------------------------------------------------------------------------------*/
class WPBakeryShortCode_AZ_Column_Text extends WPBakeryShortCode
{
}
vc_map(array('name' => __('Text Block', AZ_THEME_NAME), 'description' => __('A block of text with WYSIWYG editor', AZ_THEME_NAME), 'base' => 'az_column_text', 'icon' => 'icon-wpb-layer-shape-text', 'category' => __('Content', AZ_THEME_NAME), 'wrapper_class' => 'clearfix', 'params' => array(array('type' => 'textarea_html', 'holder' => 'div', 'heading' => __('Text', AZ_THEME_NAME), 'param_name' => 'content', 'value' => __('I am text block. Click edit button to change this text.', AZ_THEME_NAME)), array('type' => 'textfield', 'heading' => __('Extra class name', AZ_THEME_NAME), 'param_name' => 'el_class', 'admin_label' => true, 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css/js file.', AZ_THEME_NAME)), $responsive_lg, $responsive_md, $responsive_sm, $responsive_xs, $animated_choice, $animated_effects, $animated_delay)));
/*-----------------------------------------------------------------------------------*/
Example #16
0
$param['value'] = presscore_get_vc_animation_options();
WPBMap::mutateParam('vc_toggle', $param);
//***********************************************************************
// Single Image
//***********************************************************************
// add custom animation
$param = WPBMap::getParam('vc_single_image', 'css_animation');
$param['value'] = presscore_get_vc_animation_options();
WPBMap::mutateParam('vc_single_image', $param);
// replace pretty photo with theme popup
$param = WPBMap::getParam('vc_single_image', 'onclick');
if ($param && ($key = array_search('link_image', $param['value']))) {
    unset($param['value'][$key]);
    $key = 'Open Magnific Popup';
    $param['value'][$key] = 'link_image';
    WPBMap::mutateParam('vc_single_image', $param);
}
unset($param, $key);
vc_add_param("vc_single_image", array("type" => "dropdown", "class" => "", "heading" => __("Image hovers", 'the7mk2'), "param_name" => "image_hovers", "std" => "true", "value" => array("Disabled" => "false", "Enabled" => "true")));
//***********************************************************************
// Accordion
//***********************************************************************
// undeprecate
vc_map_update("vc_accordion", array("deprecated" => null, "category" => __('by Dream-Theme', 'the7mk2'), "icon" => "dt_vc_ico_accordion", "weight" => -1));
vc_add_param("vc_accordion", array("type" => "dropdown", "heading" => __("Style", 'the7mk2'), "param_name" => "style", "value" => array('Style 1 (no background)' => '1', 'Style 2 (with background)' => '2', 'Style 3 (with dividers)' => '3'), "description" => ""));
//***********************************************************************
// Deprecated shortcodes
//***********************************************************************
vc_map_update('vc_text_separator', array("deprecated" => '4.6'));
vc_map_update('vc_separator', array("deprecated" => '4.6'));
function add_custom_theme_vc_params()
{
    // Old element color structure
    // ...............................................................
    // Visual Composer color values
    $vc_colors = array(__("Grey", "js_composer") => "wpb_button", __("Blue", "js_composer") => "btn-primary", __("Turquoise", "js_composer") => "btn-info", __("Green", "js_composer") => "btn-success", __("Orange", "js_composer") => "btn-warning", __("Red", "js_composer") => "btn-danger", __("Black", "js_composer") => "btn-inverse");
    // Custom color values
    $theme_custom_colors = array(__("Theme Default", "framework") => "theme-default", __("Theme Accent Color", "framework") => "accent-primary");
    // Merged all colors
    $all_colors = array_merge((array) $theme_custom_colors, (array) $vc_colors);
    // Updated element color structure
    // ...............................................................
    // Visual Composer color values
    $vc_shared_colors = function_exists('getVcShared') ? getVcShared("colors") : array();
    // Custom color values
    $theme_custom_shared_colors = array(__("Theme Default", "framework") => "theme-default", __("Theme Accent Color", "framework") => "accent-primary");
    // Merged all colors
    $all_shared_colors = array_merge((array) $theme_custom_shared_colors, (array) $vc_shared_colors);
    // Apply updtes to default VC elements using add param function
    // ===============================================================
    if (function_exists('vc_add_param')) {
        // Add custom progress bar colors
        // ===============================================================
        // Add parameters to 'vc_progress_bar'
        // ...............................................................
        $base = 'vc_progress_bar';
        $extraParams = array(array("type" => "dropdown", "heading" => __("Bar color", "js_composer"), "param_name" => "bgcolor", "value" => array_merge(array(__("Theme Accent Color", "js_composer") => "accent-primary"), (array) $vc_colors), "description" => __("Select bar background color.", "js_composer"), "admin_label" => true));
        foreach ($extraParams as $params) {
            vc_add_param($base, $params);
        }
        // Add custom button colors
        // ===============================================================
        // Add parameters to 'vc_button' (Button)
        // ...............................................................
        $base = 'vc_button';
        $extraParams = array(array("type" => "dropdown", "heading" => __("Color", "js_composer"), "param_name" => "color", "value" => $all_colors, "description" => __("Button color.", "js_composer"), "param_holder_class" => 'vc-colored-dropdown'));
        foreach ($extraParams as $params) {
            vc_add_param($base, $params);
        }
        // Add parameters to 'vc_button2' (Button 2)
        // ...............................................................
        /*$base = 'vc_button2';
        		$extraParams = array(
        			array(
        				"type" => "dropdown",
        				"heading" => __("Color", "js_composer"),
        				"param_name" => "color",
        				"value" => $all_shared_colors,
        				"description" => __("Button color.", "js_composer"),
        				"param_holder_class" => 'vc-colored-dropdown'
        			)
        		);
        		foreach ($extraParams as $params) {
        			vc_add_param( $base, $params );
        		}*/
        // Add parameters to 'vc_cta_button' (Call to Action)
        // ...............................................................
        $base = 'vc_cta_button';
        $extraParams = array(array("type" => "dropdown", "heading" => __("Color", "js_composer"), "param_name" => "color", "value" => $all_colors, "description" => __("Button color.", "js_composer"), "param_holder_class" => 'vc-colored-dropdown'));
        foreach ($extraParams as $params) {
            vc_add_param($base, $params);
        }
        // Add parameters to 'vc_cta_button2' (Call to Action 2)
        // ...............................................................
        /*$base = 'vc_cta_button2'; 
        		$extraParams = array(
        			array(
        				"type" => "dropdown",
        				"heading" => __("Color", "js_composer"),
        				"param_name" => "color",
        				"value" => $all_shared_colors,
        				"description" => __("Button color.", "js_composer"),
        				"param_holder_class" => 'vc-colored-dropdown'
        			)
        		);
        		foreach ($extraParams as $params) {
        			vc_add_param( $base, $params );
        		}*/
        // Add custom row options
        // ===============================================================
        // Add parameters to 'vc_row'
        $base = 'vc_row';
        $extraParams = array(array("type" => "checkbox", "param_name" => "bg_parallax", "value" => array(__('Enable parallax effect', 'framework') => 'true'), "description" => __("Make the background image have a parallax scrolling effect.", "framework")), array("type" => "dropdown", "class" => "", "heading" => __("Scroll Offset (inertia)", 'framework'), "param_name" => "inertia", "value" => array(1 => '0.1', 2 => '0.2', 3 => '0.3', 4 => '0.4', 5 => '0.5', 6 => '0.6', 7 => '0.7', 8 => '0.8', 9 => '0.9'), "description" => __("Specify the offset speed of the parallax effect. The lower the number the less the background moves relative to browser window.", 'framework')), array("type" => "textfield", "admin_label" => true, "heading" => __("Google Maps Url", "framework"), "param_name" => "bg_maps", "description" => __("Instead of a background image, show a gorgeous full width google map. Parallax effect won't apply here.", "framework")), array("type" => "textfield", "admin_label" => true, "heading" => __("Google Maps Height", "framework"), "param_name" => "bg_maps_height", "description" => __("Specify the height of the maps. (default 200px)", "framework")), array("type" => "textfield", "admin_label" => true, "heading" => __("Google Maps Zoom Level", "framework"), "param_name" => "bg_maps_zoom", "description" => __("Specify the zoom level for the maps. The higher the number the closer up it gets zoomed in. (Range 1 - 19, 17 by default)", "framework")), array("type" => "checkbox", "param_name" => "bg_maps_scroll", "value" => array(__('Google Maps Mousewheel Scrolling', 'framework') => 'true'), "description" => __("Should the user be able to scroll the maps with his mousewheel? Not recommended for one page layouts.", 'framework')), array("type" => "checkbox", "param_name" => "bg_maps_infobox", "value" => array(__('Google Maps Show info box', 'framework') => 'true'), "description" => __("Shows an information box right next to the pin that locates the address.", "framework")), array("type" => "textarea", "admin_label" => true, "heading" => __("Google Maps Info Box Content", "framework"), "param_name" => "bg_maps_infobox_content", "description" => __("Enter the content that should be shown in the information box of the location. If empty, the address will be shown. Basic HTML allowed.", "framework")));
        foreach ($extraParams as $params) {
            vc_add_param($base, $params);
        }
        // Update 'vc_row' to include custom shortcode template and re-map shortcode
        $sc = vc_map_update('vc_row', array('html_template' => locate_template('templates/vc_templates/vc_row.php')));
        // Remove default vc_row shortcode
        vc_remove_element('vc_row');
        // Remap shortcode, identical to original, but with custom template path
        vc_map($sc['vc_row']);
    }
}
Example #18
0
// Message Box
//***********************************************************************
// add custom animation
$param = WPBMap::getParam('vc_message', 'css_animation');
$param['value'] = presscore_get_vc_animation_options();
WPBMap::mutateParam('vc_message', $param);
//***********************************************************************
// Toggle
//***********************************************************************
// add custom animation
$param = WPBMap::getParam('vc_toggle', 'css_animation');
$param['value'] = presscore_get_vc_animation_options();
WPBMap::mutateParam('vc_toggle', $param);
//***********************************************************************
// Single Image
//***********************************************************************
// add custom animation
$param = WPBMap::getParam('vc_single_image', 'css_animation');
$param['value'] = presscore_get_vc_animation_options();
WPBMap::mutateParam('vc_single_image', $param);
vc_add_param("vc_single_image", array("type" => "dropdown", "class" => "", "heading" => __("Image hovers", 'the7mk2'), "param_name" => "image_hovers", "std" => "true", "value" => array("Disabled" => "false", "Enabled" => "true")));
//***********************************************************************
// Accordion
//***********************************************************************
vc_add_param("vc_accordion", array("type" => "dropdown", "heading" => __("Style", 'the7mk2'), "param_name" => "style", "value" => array('Style 1 (no background)' => '1', 'Style 2 (with background)' => '2', 'Style 3 (with dividers)' => '3'), "description" => ""));
//***********************************************************************
// Deprecated shortcodes
//***********************************************************************
vc_map_update('vc_text_separator', array("name" => __("Separator with Text (deprecated)", 'the7mk2'), "category" => __('Deprecated', 'the7mk2'), "weight" => -1));
vc_map_update('vc_separator', array("name" => __("Separator (deprecated)", 'the7mk2'), "category" => __('Deprecated', 'the7mk2'), "weight" => -1));
<?php

/*
*
* Column
* [Column] 
*
*/
vc_map_update('vc_column', array('icon' => 'content-band', 'category' => array(__('Structure', 'rt_theme_admin'), __('Theme Addons', 'rt_theme_admin'))));
rt_vc_add_param(array('vc_column', 'vc_column_inner'), array('param_name' => 'rt_color_set', 'heading' => __('Column Color Scheme', 'rt_theme_admin'), 'description' => __('Select a color scheme for the column.', 'rt_theme_admin'), 'type' => 'dropdown', "value" => array(__("Global", "rt_theme_admin") => "global-style", __("Color Set 1", "rt_theme_admin") => "default-style", __("Color Set 2", "rt_theme_admin") => "alt-style-1", __("Color Set 3", "rt_theme_admin") => "alt-style-2", __("Color Set 4", "rt_theme_admin") => "light-style")));
//remove vc_column params
rt_vc_remove_param('vc_column', array('bg_color', 'font_color', 'padding', 'margin_bottom', 'bg_image', 'bg_image_repeat', 'el_class', 'css'));
rt_vc_remove_param('vc_column_inner', array('bg_color', 'font_color', 'padding', 'margin_bottom', 'bg_image', 'bg_image_repeat', 'el_class', 'css'));
//column general options
rt_vc_add_param(array('vc_column', 'vc_column_inner'), array('param_name' => 'id', 'heading' => __('ID', 'rt_theme_admin'), 'description' => __('Unique ID', 'rt_theme_admin'), 'type' => 'textfield', 'value' => ''));
rt_vc_add_param(array('vc_column', 'vc_column_inner'), array('param_name' => 'class', 'heading' => __('Class', 'rt_theme_admin'), 'description' => __('CSS Class Name', 'rt_theme_admin'), 'type' => 'textfield'));
rt_vc_add_param(array('vc_column', 'vc_column_inner'), array('param_name' => 'rt_padding_top', 'heading' => __('Padding Top', 'rt_theme_admin'), 'description' => __('Set padding top value (px)', 'rt_theme_admin'), 'type' => 'rt_number'));
rt_vc_add_param(array('vc_column', 'vc_column_inner'), array('param_name' => 'rt_padding_bottom', 'heading' => __('Padding Bottom', 'rt_theme_admin'), 'description' => __('Set padding bottom value (px)', 'rt_theme_admin'), 'type' => 'rt_number'));
rt_vc_add_param(array('vc_column', 'vc_column_inner'), array('param_name' => 'rt_padding_left', 'heading' => __('Padding Left', 'rt_theme_admin'), 'description' => __('Set padding left value (px)', 'rt_theme_admin'), 'type' => 'rt_number'));
rt_vc_add_param(array('vc_column', 'vc_column_inner'), array('param_name' => 'rt_padding_right', 'heading' => __('Padding Right', 'rt_theme_admin'), 'description' => __('Set padding right value (px)', 'rt_theme_admin'), 'type' => 'rt_number'));
//column background options
rt_vc_add_param(array('vc_column', 'vc_column_inner'), array('param_name' => 'rt_bg_image', 'heading' => __('Background Image', 'rt_theme_admin'), 'description' => __('Select a background image', 'rt_theme_admin'), 'type' => 'attach_image', 'group' => __('Background Options', 'rt_theme_admin'), 'value' => ''));
rt_vc_add_param(array('vc_column', 'vc_column_inner'), array('param_name' => 'rt_bg_color', 'heading' => __('Background Color', 'rt_theme_admin'), 'description' => __('Select a background color for the content row', 'rt_theme_admin'), 'type' => 'colorpicker', 'group' => __('Background Options', 'rt_theme_admin')));
rt_vc_add_param(array('vc_column', 'vc_column_inner'), array('param_name' => 'rt_bg_image_repeat', 'heading' => __('Background Repeat', 'rt_theme_admin'), 'description' => __('Select and set repeat mode direction for the background image.', 'rt_theme_admin'), 'type' => 'dropdown', "value" => array(__("Tile", "rt_theme_admin") => "repeat", __("Tile Horizontally", "rt_theme_admin") => "repeat-x", __("Tile Vertically", "rt_theme_admin") => "repeat-y", __("No Repeat", "rt_theme_admin") => "no-repeat"), 'group' => __('Background Options', 'rt_theme_admin'), 'save_always' => true));
rt_vc_add_param(array('vc_column', 'vc_column_inner'), array('param_name' => 'rt_bg_size', 'heading' => __('Background Image Size', 'rt_theme_admin'), 'description' => __('Select and set size / coverage behaviour for the background image.', 'rt_theme_admin'), 'type' => 'dropdown', "value" => array(__("Auto", "rt_theme_admin") => "auto auto", __("Cover", "rt_theme_admin") => "cover", __("Contain", "rt_theme_admin") => "contain", __("100%", "rt_theme_admin") => "100% auto", __("50%", "rt_theme_admin") => "50% auto", __("25%", "rt_theme_admin") => "25% auto"), 'group' => __('Background Options', 'rt_theme_admin'), 'save_always' => true));
rt_vc_add_param(array('vc_column', 'vc_column_inner'), array('param_name' => 'rt_bg_attachment', 'heading' => __('Background Attachment', 'rt_theme_admin'), 'description' => __('Select and set fixed or scroll mode for the background image.', 'rt_theme_admin'), 'type' => 'dropdown', "value" => array(__("Scroll", "rt_theme_admin") => "scroll", __("Fixed", "rt_theme_admin") => "fixed"), 'group' => __('Background Options', 'rt_theme_admin'), 'save_always' => true));
    // -------------------
    // Load Required Files
    // -------------------
    vc_add_param("vc_row", array("type" => "load_file", "class" => "", "heading" => __("", "ts_visual_composer_extend"), "param_name" => "el_file1", "value" => "", "file_type" => "js", "file_path" => "js/ts-visual-composer-extend-element.min.js", "description" => __("", "ts_visual_composer_extend")));
    vc_add_param("vc_row_inner", array("type" => "load_file", "class" => "", "heading" => __("", "ts_visual_composer_extend"), "param_name" => "el_file1", "value" => "", "file_type" => "js", "file_path" => "js/ts-visual-composer-extend-element.min.js", "description" => __("", "ts_visual_composer_extend")));
    vc_add_param("vc_row", array("type" => "load_file", "class" => "", "heading" => __("", "ts_visual_composer_extend"), "param_name" => "el_file2", "value" => "", "file_type" => "css", "file_id" => "ts-extend-animations", "file_path" => "css/ts-visual-composer-extend-animations.min.css", "description" => __("", "ts_visual_composer_extend")));
    vc_add_param("vc_row_inner", array("type" => "load_file", "class" => "", "heading" => __("", "ts_visual_composer_extend"), "param_name" => "el_file2", "value" => "", "file_type" => "css", "file_id" => "ts-extend-animations", "file_path" => "css/ts-visual-composer-extend-animations.min.css", "description" => __("", "ts_visual_composer_extend")));
    // -----------------------
    // Add Custom BackEnd View
    // -----------------------
    if ($VISUAL_COMPOSER_EXTENSIONS->TS_VCSC_EditorBackgroundIndicator == "true") {
        $setting = array("js_view" => 'TS_VCSC_VcRowViewCustom');
    } else {
        $setting = array();
    }
    vc_map_update('vc_row', $setting);
}
add_filter('TS_VCSC_ComposerRowAdditions_Filter', 'TS_VCSC_ComposerRowAdditions', 10, 2);
function TS_VCSC_ComposerRowAdditions($output, $atts, $content = '')
{
    global $VISUAL_COMPOSER_EXTENSIONS;
    $TS_VCSC_RowToggleLimits = get_option('ts_vcsc_extend_settings_rowVisibilityLimits', $VISUAL_COMPOSER_EXTENSIONS->TS_VCSC_Row_Toggle_Defaults);
    $TS_VCSC_RowOffsetSettings = get_option('ts_vcsc_extend_settings_additionsOffsets', 0);
    ob_start();
    extract(shortcode_atts(array('ts_row_bg_retrieve' => 'single', 'ts_row_bg_image' => '', 'ts_row_bg_group' => '', 'ts_row_bg_source' => 'full', 'ts_row_bg_effects' => '', 'ts_row_break_parents' => 0, 'ts_row_blur_strength' => '', 'ts_row_raster_use' => 'false', 'ts_row_raster_type' => '', 'ts_row_overlay_use' => 'false', 'ts_row_overlay_color' => 'rgba(30,115,190,0.25)', 'ts_row_overlay_opacity' => 25, 'ts_row_zindex' => 0, 'ts_row_min_height' => 100, 'ts_row_screen_height' => 'false', 'ts_row_screen_offset' => 0, 'svg_top_on' => 'false', 'svg_top_style' => '1', 'svg_top_height' => 100, 'svg_top_flip' => 'false', 'svg_top_position' => 0, 'svg_top_color1' => '#ffffff', 'svg_top_color2' => '#ededed', 'svg_bottom_on' => 'false', 'svg_bottom_style' => '1', 'svg_bottom_height' => 100, 'svg_bottom_flip' => 'false', 'svg_bottom_position' => 0, 'svg_bottom_color1' => '#ffffff', 'svg_bottom_color2' => '#ededed', 'ts_row_bg_position' => 'center', 'ts_row_bg_position_custom' => '', 'ts_row_bg_alignment_h' => 'center', 'ts_row_bg_alignment_v' => 'center', 'ts_row_bg_repeat' => 'no-repeat', 'ts_row_bg_size_parallax' => 'cover', 'ts_row_bg_size_standard' => 'cover', 'ts_row_parallax_type' => 'up', 'ts_row_parallax_speed' => 20, 'ts_row_parallax_fade' => 1000, 'ts_row_slide_images' => '', 'ts_row_slide_auto' => 'true', 'ts_row_slide_controls' => 'true', 'ts_row_slide_shuffle' => 'false', 'ts_row_slide_delay' => 5000, 'ts_row_slide_bar' => 'true', 'ts_row_slide_transition' => 'random', 'ts_row_slide_switch' => 2000, 'ts_row_slide_halign' => 'center', 'ts_row_slide_valign' => 'center', 'ts_row_kenburns_animation' => 'null', 'ts_row_automove_scroll' => 'true', 'ts_row_automove_align' => 'horizontal', 'ts_row_automove_path_v' => 'topbottom', 'ts_row_automove_path_h' => 'leftright', 'ts_row_automove_speed' => 75, 'ts_row_movement_x_allow' => 'true', 'ts_row_movement_x_ratio' => 20, 'ts_row_movement_y_allow' => 'true', 'ts_row_movement_y_ratio' => 20, 'ts_row_movement_content' => 'false', 'ts_margin_left' => 0, 'ts_margin_right' => 0, 'margin_left' => 0, 'margin_right' => 0, 'padding_top' => 30, 'padding_bottom' => 30, 'enable_mobile' => 'false', 'single_color' => '#ffffff', 'gradiant_advanced' => 'false', 'gradient_generator' => '', 'gradient_angle' => 0, 'gradient_color_start' => '#cccccc', 'gradient_start_offset' => 0, 'gradient_color_end' => '#cccccc', 'gradient_end_offset' => 100, 'trianglify_render' => 'canvas', 'trianglify_colorsx' => 'random', 'trianglify_colorsy' => 'match_x', 'trianglify_generatorx' => '', 'trianglify_generatory' => '', 'trianglify_cellsize' => 50, 'trianglify_variance' => 0.75, 'ts_particles_count' => 30, 'ts_particles_size_max' => 10, 'ts_particles_size_scale' => 'true', 'ts_particles_size_anim' => 'false', 'ts_particles_color' => '#ffffff', 'ts_particles_stroke_width' => 0, 'ts_particles_stroke_color' => '#000000', 'ts_particles_back_type' => 'color', 'ts_particles_back_color' => '#b61924', 'ts_particles_back_image' => '', 'ts_particles_back_repeat' => 'no-repeat', 'ts_particles_back_place' => 'center center', 'ts_particles_back_size' => 'cover', 'ts_particles_shape_source' => 'internal', 'ts_particles_shape_types' => 'circle', 'ts_particles_shape_image' => '', 'ts_particles_link_lines' => 'true', 'ts_particles_link_color' => '#ffffff', 'ts_particles_link_width' => 1, 'ts_particles_hover' => 'false', 'ts_particles_click' => 'false', 'ts_particles_move' => 'true', 'ts_particles_direction' => 'none', 'ts_particles_speed' => 6, 'ts_particles_random' => 'false', 'ts_particles_straight' => 'false', 'video_youtube' => '', 'video_background' => '', 'video_mute' => 'true', 'video_loop' => 'false', 'video_remove' => 'false', 'video_start' => 'false', 'video_hover' => 'false', 'video_stop' => 'true', 'video_controls' => 'true', 'video_raster' => 'false', 'video_mp4' => '', 'video_ogv' => '', 'video_webm' => '', 'video_image' => '', 'multi_effect' => 'fixed', 'multi_speed' => 1, 'ts_equalize_columns' => 'false', 'ts_equalize_align' => 'center', 'ts_equalize_stack' => 'false', 'animation_factor' => '0.33', 'animation_scroll' => 'false', 'animation_view' => '', 'animation_speed' => 2000, 'show_large' => 'true', 'show_medium' => 'true', 'show_small' => 'true', 'show_extra' => 'true', 'show_remove' => 'true'), $atts));
    // Check for Frontend Editor Mode
    if ($VISUAL_COMPOSER_EXTENSIONS->TS_VCSC_VCFrontEditMode == "true") {
        $frontend_edit = 'true';
    } else {
        $frontend_edit = 'false';
    }
Example #21
0
<?php

/*-----------------------------------------------------------------------------------*/
/*	Section - Row
/*-----------------------------------------------------------------------------------*/
vc_map_update('vc_row', array('name' => __('Section/Row', AZ_THEME_NAME), 'description' => __('Place content elements inside the section', AZ_THEME_NAME), 'show_settings_on_create' => true, 'params' => array(array('type' => 'textfield', 'heading' => __('Extra Section ID name', AZ_THEME_NAME), 'param_name' => 'section_id', 'admin_label' => true, 'description' => __('If you wish to style particular content element differently, then use this field to add an ID and then refer to it in your css/js file.', AZ_THEME_NAME)), array('type' => 'textfield', 'heading' => __('Extra Section Class name', AZ_THEME_NAME), 'param_name' => 'section_class', 'admin_label' => true, 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css/js file.', AZ_THEME_NAME)), array('type' => 'dropdown', 'heading' => __('Section Mode', AZ_THEME_NAME), 'param_name' => 'section_mode', 'value' => array(__('Default', AZ_THEME_NAME) => 'normal', __('Full Width', AZ_THEME_NAME) => 'fluid'), 'admin_label' => true, 'description' => __('Choose Layout Mode.<br/>Default 1170px Container.<br/>Full Width is a 100% Width Container.', AZ_THEME_NAME)), array('type' => 'dropdown', 'heading' => __('Section Module', AZ_THEME_NAME), 'param_name' => 'bgmode', 'value' => array(__('Default', AZ_THEME_NAME) => 'default', __('Custom Image', AZ_THEME_NAME) => 'customimagebg', __('Custom Color', AZ_THEME_NAME) => 'custom', __('Custom Video', AZ_THEME_NAME) => 'video'), 'admin_label' => true, 'description' => __('Choose your favorite Section Module.', AZ_THEME_NAME)), array('type' => 'attach_image', 'heading' => __('Image', AZ_THEME_NAME), 'param_name' => 'image', 'value' => '', 'description' => __('Select image from media library.', AZ_THEME_NAME), 'dependency' => array('element' => 'bgmode', 'value' => array('customimagebg'))), array('type' => 'colorpicker', 'heading' => __('Background Color Image', AZ_THEME_NAME), 'param_name' => 'bgimagebackgrouncolor', 'description' => __('Choose a background color if you want use a transparent image.', AZ_THEME_NAME), 'dependency' => array('element' => 'image', 'not_empty' => true)), array('type' => 'dropdown', 'heading' => __('Background Image Position', AZ_THEME_NAME), 'param_name' => 'bgposition', 'value' => array(__('Left Top', AZ_THEME_NAME) => 'left top', __('Left Center', AZ_THEME_NAME) => 'left center', __('Left Bottom', AZ_THEME_NAME) => 'left bottom', __('Center Top', AZ_THEME_NAME) => 'center top', __('Center Center', AZ_THEME_NAME) => 'center center', __('Center Bottom', AZ_THEME_NAME) => 'center bottom', __('Right Top', AZ_THEME_NAME) => 'right top', __('Right Center', AZ_THEME_NAME) => 'right center', __('Right Bottom', AZ_THEME_NAME) => 'right bottom'), 'dependency' => array('element' => 'image', 'not_empty' => true)), array('type' => 'dropdown', 'heading' => __('Background Image Repeat', AZ_THEME_NAME), 'param_name' => 'bgrepeat', 'value' => array(__('No Repeat', AZ_THEME_NAME) => 'no-repeat', __('Repeat', AZ_THEME_NAME) => 'repeat', __('Repeat Horizontally', AZ_THEME_NAME) => 'repeat-x', __('Repeat vertically', AZ_THEME_NAME) => 'repeat-y', __('Stretch to fit', AZ_THEME_NAME) => 'stretch'), 'dependency' => array('element' => 'image', 'not_empty' => true)), array('type' => 'dropdown', 'heading' => __('Background Attachment', AZ_THEME_NAME), 'param_name' => 'bgattachment', 'value' => array(__('Scroll', AZ_THEME_NAME) => 'scroll', __('Fixed', AZ_THEME_NAME) => 'fixed'), 'dependency' => array('element' => 'image', 'not_empty' => true)), array('type' => 'dropdown', 'heading' => __('Overlay Mask', AZ_THEME_NAME), 'param_name' => 'section_overlay', 'value' => array(__('No Overlay Mask', AZ_THEME_NAME) => 'no_overlay', __('Yes, Overlay Mask', AZ_THEME_NAME) => 'yes_overlay'), 'description' => __('Enable or Disable the custom options for overlay section.', AZ_THEME_NAME), 'dependency' => array('element' => 'bgmode', 'value' => array('customimagebg'))), array('type' => 'colorpicker', 'heading' => __('Background Color Overlay Mask', AZ_THEME_NAME), 'param_name' => 'sectionoveralycolor', 'description' => __('Choose a background color overlay for your section block. Only if Overlay Mask is enabled.', AZ_THEME_NAME), 'dependency' => array('element' => 'section_overlay', 'value' => array('yes_overlay'))), array('type' => 'colorpicker', 'heading' => __('Background Color', AZ_THEME_NAME), 'param_name' => 'custombgcolor', 'description' => __('Select a custom background color.', AZ_THEME_NAME), 'dependency' => array('element' => 'bgmode', 'value' => array('custom'))), array('type' => 'attach_image', 'heading' => __('Video Preview Image', AZ_THEME_NAME), 'param_name' => 'customimagevideo', 'value' => '', 'description' => __('Optional. Upload your image.', AZ_THEME_NAME), 'dependency' => array('element' => 'bgmode', 'value' => array('video'))), array('type' => 'textfield', 'heading' => __('WEBM File URL', AZ_THEME_NAME), 'param_name' => 'customvideowebm', 'description' => __('Required. Upload a WEBM File.', AZ_THEME_NAME), 'dependency' => array('element' => 'bgmode', 'value' => array('video'))), array('type' => 'textfield', 'heading' => __('MP4 File URL', AZ_THEME_NAME), 'param_name' => 'customvideom4v', 'description' => __('Required. Upload a M4V or MP4 File.', AZ_THEME_NAME), 'dependency' => array('element' => 'bgmode', 'value' => array('video'))), array('type' => 'textfield', 'heading' => __('OGV File URL', AZ_THEME_NAME), 'param_name' => 'customvideoogv', 'description' => __('Required. Upload a OGV File.', AZ_THEME_NAME), 'dependency' => array('element' => 'bgmode', 'value' => array('video'))), array('type' => 'dropdown', 'heading' => __('Video Overlay Mask', AZ_THEME_NAME), 'param_name' => 'video_overlay', 'value' => array(__('No Overlay Mask', AZ_THEME_NAME) => 'off_video_overlay', __('Yes, Overlay Mask', AZ_THEME_NAME) => 'show_video_overlay'), 'description' => __('Enable or Disable the custom options for video overlay section.', AZ_THEME_NAME), 'dependency' => array('element' => 'bgmode', 'value' => array('video'))), array('type' => 'colorpicker', 'heading' => __('Video Overlay Color', AZ_THEME_NAME), 'param_name' => 'video_color_overlay', 'description' => __('Select a custom color for video overlay block. Only if Video Overlay Mask is enabled.', AZ_THEME_NAME), 'dependency' => array('element' => 'video_overlay', 'value' => array('show_video_overlay'))), array('type' => 'dropdown', 'heading' => __('Section Padding', AZ_THEME_NAME), 'param_name' => 'padding', 'value' => array(__('No Padding', AZ_THEME_NAME) => 'no-padding', __('Small Padding', AZ_THEME_NAME) => 'small-padding', __('Default Padding', AZ_THEME_NAME) => 'default-padding', __('Large Padding', AZ_THEME_NAME) => 'large-padding', __('Custom Padding', AZ_THEME_NAME) => 'custom-padding'), 'admin_label' => true, 'description' => __('Define the sections top and bottom padding.', AZ_THEME_NAME)), array('type' => 'textfield', 'heading' => __('Padding Top', AZ_THEME_NAME), 'param_name' => 'padding_top_value', 'description' => __('Padding Top value in pixel. Enter only number value. Default value is 70.', AZ_THEME_NAME), 'value' => '70', 'dependency' => array('element' => 'padding', 'value' => array('custom-padding'))), array('type' => 'textfield', 'heading' => __('Padding Bottom', AZ_THEME_NAME), 'param_name' => 'padding_bottom_value', 'description' => __('Padding Bottom value in pixel. Enter only number value. Default value is 70.', AZ_THEME_NAME), 'value' => '70', 'dependency' => array('element' => 'padding', 'value' => array('custom-padding'))), array('type' => 'dropdown', 'heading' => __('Section Shadow', AZ_THEME_NAME), 'param_name' => 'shadow', 'value' => array(__('No Shadow', AZ_THEME_NAME) => 'shadow-off', __('Display Shadow', AZ_THEME_NAME) => 'shadow-on'), 'admin_label' => true, 'description' => __('Define the sections top and bottom padding.', AZ_THEME_NAME)), array('type' => 'textfield', 'heading' => __('Extra Row Class name', AZ_THEME_NAME), 'param_name' => 'el_class', 'admin_label' => true, 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css/js file.', AZ_THEME_NAME)), $responsive_lg, $responsive_md, $responsive_sm, $responsive_xs)));
vc_map_update('vc_row_inner', array('params' => array(array('type' => 'textfield', 'heading' => __('Extra class name', AZ_THEME_NAME), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css/js file.', AZ_THEME_NAME)))));
/*-----------------------------------------------------------------------------------*/
/*	Columns
/*-----------------------------------------------------------------------------------*/
global $vc_column_width_list;
$vc_column_width_list = array(__('1 column - 1/12', AZ_THEME_NAME) => '1/12', __('2 columns - 1/6', AZ_THEME_NAME) => '1/6', __('3 columns - 1/4', AZ_THEME_NAME) => '1/4', __('4 columns - 1/3', AZ_THEME_NAME) => '1/3', __('5 columns - 5/12', AZ_THEME_NAME) => '5/12', __('6 columns - 1/2', AZ_THEME_NAME) => '1/2', __('7 columns - 7/12', AZ_THEME_NAME) => '7/12', __('8 columns - 2/3', AZ_THEME_NAME) => '2/3', __('9 columns - 3/4', AZ_THEME_NAME) => '3/4', __('10 columns - 5/6', AZ_THEME_NAME) => '5/6', __('11 columns - 11/12', AZ_THEME_NAME) => '11/12', __('12 columns - 1/1', AZ_THEME_NAME) => '1/1');
vc_map_update('vc_column', array('params' => array(array('type' => 'dropdown', 'heading' => __('Width', AZ_THEME_NAME), 'param_name' => 'width', 'value' => $vc_column_width_list, 'description' => __('Select column width.', AZ_THEME_NAME), 'std' => '1/1'), array('type' => 'textfield', 'heading' => __('Extra class name', AZ_THEME_NAME), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css/js file.', AZ_THEME_NAME)), $animated_choice, $animated_effects, $animated_delay)));
vc_map_update('vc_column_inner', array('params' => array(array('type' => 'dropdown', 'heading' => __('Width', AZ_THEME_NAME), 'param_name' => 'width', 'value' => $vc_column_width_list, 'description' => __('Select column width.', AZ_THEME_NAME), 'std' => '1/1'), array('type' => 'textfield', 'heading' => __('Extra class name', AZ_THEME_NAME), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css/js file.', AZ_THEME_NAME)))));
/*-----------------------------------------------------------------------------------*/
/*	Special Heading
/*-----------------------------------------------------------------------------------*/
class WPBakeryShortCode_AZ_Special_Heading extends WPBakeryShortCode
{
}
vc_map(array('name' => __('Special Heading', AZ_THEME_NAME), 'description' => __('A special heading text block', AZ_THEME_NAME), 'base' => 'az_special_heading', 'icon' => 'icon-wpb-layer-shape-text', 'category' => __('Content', AZ_THEME_NAME), 'params' => array(array('type' => 'textfield', 'holder' => 'div', 'heading' => __('Heading Title', AZ_THEME_NAME), 'param_name' => 'content_heading', 'admin_label' => true, 'description' => __('Required. Enter the your title.', AZ_THEME_NAME)), array('type' => 'dropdown', 'heading' => __('Heading Mode', AZ_THEME_NAME), 'param_name' => 'heading_type', 'value' => array(__('H1', AZ_THEME_NAME) => '1', __('H2', AZ_THEME_NAME) => '2', __('H3', AZ_THEME_NAME) => '3', __('H4', AZ_THEME_NAME) => '4', __('H5', AZ_THEME_NAME) => '5', __('H6', AZ_THEME_NAME) => '6'), 'admin_label' => true, 'description' => __('Select which kind of heading you want to display.', AZ_THEME_NAME)), array('type' => 'dropdown', 'heading' => __('Special Heading Color', AZ_THEME_NAME), 'param_name' => 'heading_color', 'value' => array(__('Default', AZ_THEME_NAME) => '', __('Custom', AZ_THEME_NAME) => 'custom'), 'admin_label' => true, 'description' => __('Select the special heading color mode.', AZ_THEME_NAME)), array('type' => 'colorpicker', 'heading' => __('Font Color', AZ_THEME_NAME), 'param_name' => 'custom_heading_color', 'description' => __('Choose a color for your heading.', AZ_THEME_NAME), 'dependency' => array('element' => 'heading_color', 'value' => array('custom'))), array('type' => 'dropdown', 'heading' => __('Special Heading Size', AZ_THEME_NAME), 'param_name' => 'heading_size', 'value' => array(__('Default', AZ_THEME_NAME) => '', __('Custom', AZ_THEME_NAME) => 'custom'), 'admin_label' => true, 'description' => __('Choose a size for your heading text.', AZ_THEME_NAME)), array('type' => 'textfield', 'heading' => __('Special Heading Custom Size', AZ_THEME_NAME), 'param_name' => 'custom_heading_size', 'admin_label' => false, 'description' => __('Font Size in pixel. Enter only number value.', AZ_THEME_NAME), 'dependency' => array('element' => 'heading_size', 'value' => array('custom'))), array('type' => 'dropdown', 'heading' => __('Special Heading Style', AZ_THEME_NAME), 'param_name' => 'heading_style', 'value' => array(__('Default Style', AZ_THEME_NAME) => 'default', __('Italic Style', AZ_THEME_NAME) => 'italic'), 'admin_label' => true, 'description' => __('Select a special heading style.', AZ_THEME_NAME)), array('type' => 'dropdown', 'heading' => __('Special Heading Align', AZ_THEME_NAME), 'param_name' => 'heading_align', 'value' => array(__('Align Left', AZ_THEME_NAME) => 'textalignleft', __('Align Center', AZ_THEME_NAME) => 'textaligncenter', __('Align Right', AZ_THEME_NAME) => 'textalignright'), 'admin_label' => true, 'description' => __('Select a special heading align.', AZ_THEME_NAME)), array('type' => 'textfield', 'heading' => __('Padding Bottom', AZ_THEME_NAME), 'param_name' => 'padding_bottom_heading', 'value' => '30', 'admin_label' => true, 'description' => __('Bottom Padding in pixel. Enter only number value. Default value is 30.', AZ_THEME_NAME)), array('type' => 'textfield', 'heading' => __('Extra class name', AZ_THEME_NAME), 'param_name' => 'el_class', 'admin_label' => true, 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css/js file.', AZ_THEME_NAME)), $responsive_lg, $responsive_md, $responsive_sm, $responsive_xs, $animated_choice, $animated_effects, $animated_delay)));
/*-----------------------------------------------------------------------------------*/
/*	Text Block
/*-----------------------------------------------------------------------------------*/
class WPBakeryShortCode_AZ_Column_Text extends WPBakeryShortCode
{
}
vc_map(array('name' => __('Text Block', AZ_THEME_NAME), 'description' => __('A block of text with WYSIWYG editor', AZ_THEME_NAME), 'base' => 'az_column_text', 'icon' => 'icon-wpb-layer-shape-text', 'category' => __('Content', AZ_THEME_NAME), 'wrapper_class' => 'clearfix', 'params' => array(array('type' => 'textarea_html', 'holder' => 'div', 'heading' => __('Text', AZ_THEME_NAME), 'param_name' => 'content', 'value' => __('I am text block. Click edit button to change this text.', AZ_THEME_NAME)), array('type' => 'textfield', 'heading' => __('Extra class name', AZ_THEME_NAME), 'param_name' => 'el_class', 'admin_label' => true, 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css/js file.', AZ_THEME_NAME)), $responsive_lg, $responsive_md, $responsive_sm, $responsive_xs, $animated_choice, $animated_effects, $animated_delay)));
/*-----------------------------------------------------------------------------------*/
/*	Divider
/*-----------------------------------------------------------------------------------*/
Example #22
0
function om_wpb_init()
{
    vc_remove_element('vc_widget_sidebar');
    vc_remove_element('vc_basic_grid');
    vc_remove_element('vc_media_grid');
    vc_remove_element('vc_masonry_grid');
    vc_remove_element('vc_masonry_media_grid');
    /**
     * Row
     */
    vc_remove_param("vc_row", "css");
    vc_remove_param("vc_row", "parallax");
    vc_remove_param("vc_row", "parallax_image");
    $param = WPBMap::getParam('vc_row', 'full_width');
    $param['description'] = __('Please, note, that if you use "Stretch row" option you must hide the sidebar on the page to make use of this option.', 'om_theme');
    WPBMap::mutateParam('vc_row', $param);
    /*
    vc_add_param('vc_row', array(
    	'type' => 'dropdown',
    	'heading' => __('Row Layout', 'om_theme'),
    	'param_name' => 'row_layout',
    	'value' => array(
    		__('Standard', 'om_theme') => 'standard',
    		__('Background - full width, content - standard width', 'om_theme') => 'expand_standard_paddings',
    		__('Background - full width, content - full width with small paddings', 'om_theme') => 'expand_tiny_paddings',
    		__('Background - full width, content - full width with no paddings', 'om_theme') => 'expand_no_paddings',
    	),
    	'description' => __( 'Please, note, that if you use "Expand to full width" option you must hide the sidebar on the page to make use of this option.', 'om_theme' ),
    ));
    */
    vc_add_param('vc_row', array('type' => 'colorpicker', 'heading' => __('Font color', 'om_theme'), 'param_name' => 'font_color', 'description' => __('Select custom font color or leave empty to use default.', 'om_theme')));
    vc_add_param('vc_row', array('type' => 'dropdown', 'heading' => __('Row Background', 'om_theme'), 'param_name' => 'bg_type', 'value' => array(__('Solid Color', 'om_theme') => 'color', __('Gradient Color', 'om_theme') => 'gradient', __('Image', 'om_theme') => 'image', __('Video', 'om_theme') => 'video'), 'group' => __('Background', 'om_theme')));
    vc_add_param('vc_row', array('type' => 'colorpicker', 'heading' => __('Background color', 'om_theme'), 'param_name' => 'bg_color', 'group' => __('Background', 'om_theme'), 'dependency' => array('element' => 'bg_type', 'value' => array('color', 'gradient'))));
    vc_add_param('vc_row', array('type' => 'colorpicker', 'heading' => __('Background color 2', 'om_theme'), 'param_name' => 'bg_color2', 'description' => __('Second color of the gradient.', 'om_theme'), 'group' => __('Background', 'om_theme'), 'dependency' => array('element' => 'bg_type', 'value' => array('gradient'))));
    vc_add_param('vc_row', array('type' => 'dropdown', 'heading' => __('Gradient type', 'om_theme'), 'param_name' => 'gradient_type', 'value' => array(__('Vertical', 'om_theme') . ' ↓' => 'vertical', __('Horisontal', 'om_theme') . ' →' => 'horisontal', __('Diagonal', 'om_theme') . ' ↗' => 'diagonal1', __('Diagonal', 'om_theme') . ' ↘' => 'diagonal2', __('Radial', 'om_theme') . ' o' => 'radial'), 'group' => __('Background', 'om_theme'), 'dependency' => array('element' => 'bg_type', 'value' => array('gradient'))));
    vc_add_param('vc_row', array('type' => 'attach_image', 'heading' => __('Background image', 'om_theme'), 'param_name' => 'bg_image', 'description' => __('Select background image for the row.', 'om_theme'), 'group' => __('Background', 'om_theme'), 'dependency' => array('element' => 'bg_type', 'value' => array('image'))));
    vc_add_param('vc_row', array('type' => 'dropdown', 'heading' => __('Background image position', 'om_theme'), 'param_name' => 'bg_image_pos', 'value' => array_flip(om_get_bg_img_pos_options()), 'dependency' => array('element' => 'bg_image', 'not_empty' => true), 'group' => __('Background', 'om_theme')));
    vc_add_param('vc_row', array('type' => 'dropdown', 'heading' => __('Background image attachment', 'om_theme'), 'param_name' => 'bg_image_att', 'value' => array(__('Scroll', 'om_theme') => 'scroll', __('Fixed', 'om_theme') => 'fixed', __('Parallax, up direction', 'om_theme') => 'parallax', __('Parallax, down direction', 'om_theme') => 'parallax_down'), 'dependency' => array('element' => 'bg_image', 'not_empty' => true), 'group' => __('Background', 'om_theme')));
    vc_add_param('vc_row', array('type' => 'attach_video', 'heading' => __('Background Video File', 'om_theme'), 'param_name' => 'bg_video_src', 'description' => __('Select background video for the row.', 'om_theme'), 'group' => __('Background', 'om_theme'), 'dependency' => array('element' => 'bg_type', 'value' => array('video'))));
    vc_add_param('vc_row', array('type' => 'attach_video', 'heading' => __('MP4 Video File URL (Optional)', 'om_theme'), 'param_name' => 'bg_video_mp4', 'description' => __('Use as a fallback format in addition to the main video file.', 'om_theme'), 'dependency' => array('element' => 'bg_video_src', 'not_empty' => true), 'group' => __('Background', 'om_theme')));
    vc_add_param('vc_row', array('type' => 'attach_video', 'heading' => __('M4V Video File URL (Optional)', 'om_theme'), 'param_name' => 'bg_video_m4v', 'description' => __('Use as a fallback format in addition to the main video file.', 'om_theme'), 'dependency' => array('element' => 'bg_video_src', 'not_empty' => true), 'group' => __('Background', 'om_theme')));
    vc_add_param('vc_row', array('type' => 'attach_video', 'heading' => __('WebM Video File URL (Optional)', 'om_theme'), 'param_name' => 'bg_video_webm', 'description' => __('Use as a fallback format in addition to the main video file.', 'om_theme'), 'dependency' => array('element' => 'bg_video_src', 'not_empty' => true), 'group' => __('Background', 'om_theme')));
    vc_add_param('vc_row', array('type' => 'attach_video', 'heading' => __('OGV Video File URL (Optional)', 'om_theme'), 'param_name' => 'bg_video_ogv', 'description' => __('Use as a fallback format in addition to the main video file.', 'om_theme'), 'dependency' => array('element' => 'bg_video_src', 'not_empty' => true), 'group' => __('Background', 'om_theme')));
    vc_add_param('vc_row', array('type' => 'attach_video', 'heading' => __('WMV Video File URL (Optional)', 'om_theme'), 'param_name' => 'bg_video_wmv', 'description' => __('Use as a fallback format in addition to the main video file.', 'om_theme'), 'dependency' => array('element' => 'bg_video_src', 'not_empty' => true), 'group' => __('Background', 'om_theme')));
    vc_add_param('vc_row', array('type' => 'attach_video', 'heading' => __('FLV Video File URL (Optional)', 'om_theme'), 'param_name' => 'bg_video_flv', 'description' => __('Use as a fallback format in addition to the main video file.', 'om_theme'), 'dependency' => array('element' => 'bg_video_src', 'not_empty' => true), 'group' => __('Background', 'om_theme')));
    vc_add_param('vc_row', array('type' => 'colorpicker', 'heading' => __('Fallback background color', 'om_theme'), 'param_name' => 'bg_color_fallback', 'group' => __('Background', 'om_theme'), 'dependency' => array('element' => 'bg_type', 'value' => array('video'))));
    vc_add_param('vc_row', array('type' => 'attach_image', 'heading' => __('Fallback background image', 'om_theme'), 'param_name' => 'bg_image_fallback', 'group' => __('Background', 'om_theme'), 'dependency' => array('element' => 'bg_type', 'value' => array('video'))));
    vc_add_param('vc_row', array('type' => 'dropdown', 'heading' => __('Fancy bottom edge', 'om_theme'), 'param_name' => 'fancy_edge', 'value' => array(__('No', 'om_theme') => '', __('Diagonal', 'om_theme') . ' /' => 'diagonal_left', __('Diagonal', 'om_theme') . ' \\' => 'diagonal_right', __('Corner', 'om_theme') . ' \\/' => 'corner_down', __('Corner', 'om_theme') . ' /\\' => 'corner_up'), 'group' => __('Background', 'om_theme'), 'dependency' => array('element' => 'bg_type', 'value' => array('color'))));
    vc_add_param('vc_row', array('type' => 'dropdown', 'heading' => __('Edge size', 'om_theme'), 'param_name' => 'fancy_edge_size', 'value' => array(__('Small', 'om_theme') => 'sm', __('Medium', 'om_theme') => 'md', __('Large', 'om_theme') => 'lg', __('X-Large', 'om_theme') => 'xlg'), 'group' => __('Background', 'om_theme'), 'dependency' => array('element' => 'fancy_edge', 'not_empty' => true)));
    vc_add_param('vc_row', array('type' => 'colorpicker', 'heading' => __('Edge transient color', 'om_theme'), 'param_name' => 'fancy_edge_t_color', 'description' => __('Set this color if you want to apply transition to custom color (for instance background color of next section). Leave empty to disable transition.', 'om_theme'), 'group' => __('Background', 'om_theme'), 'dependency' => array('element' => 'fancy_edge', 'not_empty' => true)));
    vc_add_param('vc_row', array('type' => 'textfield', 'heading' => __('Top padding', 'om_theme'), 'param_name' => 'padding_top', 'description' => __('You can use px, em, %, etc. or enter just number and it will use pixels.', 'om_theme'), 'group' => __('Extra', 'om_theme')));
    vc_add_param('vc_row', array('type' => 'textfield', 'heading' => __('Bottom padding', 'om_theme'), 'param_name' => 'padding_bottom', 'description' => __('You can use px, em, %, etc. or enter just number and it will use pixels.', 'om_theme'), 'group' => __('Extra', 'om_theme')));
    vc_add_param('vc_row', array('type' => 'textfield', 'heading' => __('Top margin', 'om_theme'), 'param_name' => 'margin_top', 'description' => __('You can use px, em, %, etc. or enter just number and it will use pixels.', 'om_theme'), 'group' => __('Extra', 'om_theme')));
    vc_add_param('vc_row', array('type' => 'textfield', 'heading' => __('Bottom margin', 'om_theme'), 'param_name' => 'margin_bottom', 'description' => __('You can use px, em, %, etc. or enter just number and it will use pixels.', 'om_theme'), 'group' => __('Extra', 'om_theme')));
    vc_add_param('vc_row', array('type' => 'textarea', 'heading' => __('Custom CSS Style', 'om_theme'), 'param_name' => 'custom_css', 'description' => __('You can add custom CSS style for the row.', 'om_theme'), 'group' => __('Extra', 'om_theme')));
    /**
     * Video
     */
    vc_add_param('vc_video', array('type' => 'dropdown', 'value' => array('2:1' => '2', '16:9' => '1.777778', 'Golden ratio (1.61)' => '1.61', '3:2' => '1.5', '4:3' => '1.333333', '1:1' => '1', '3:4' => '0.75', '2:3' => '0.666667', '9:16' => '0.5625', '1:2' => '0.5'), 'std' => '1.61', 'heading' => __('Width/Height Ratio', 'om_theme'), 'param_name' => 'ratio'));
    vc_add_param('vc_video', array('type' => 'textfield', 'heading' => __('Maximum width (pixels)', 'om_theme'), 'param_name' => 'maxwidth', 'description' => __('By default video will fit all available width, you can specify maximum width', 'js_composer')));
    /**
     * Gallery
     */
    $param = WPBMap::getParam('vc_gallery', 'type');
    unset($param['value']['Flex slider fade']);
    unset($param['value']['Flex slider slide']);
    $param['value'] = array_merge(array(__('OM slider', 'om_theme') => 'om', __('Sliced', 'om_theme') => 'sliced', __('Masonry', 'om_theme') => 'masonry'), $param['value']);
    WPBMap::mutateParam('vc_gallery', $param);
    vc_remove_param("vc_gallery", "img_size");
    vc_remove_param("vc_gallery", "el_class");
    vc_add_param('vc_gallery', array('type' => 'dropdown', 'heading' => __('Columns number', 'om_theme'), 'param_name' => 'columns', 'value' => array('1', '2', '3', '4', '5', '6', '7', '8', '9'), 'dependency' => array('element' => 'type', 'value' => array('masonry', 'image_grid'))));
    vc_add_param('vc_gallery', array('type' => 'dropdown', 'heading' => __('Images width/height ratio', 'om_theme'), 'param_name' => 'ratio', 'value' => array('2:1' => '2:1', '16:9' => '16:9', '3:2' => '3:2', '4:3' => '4:3', '1:1' => '1:1', '3:4' => '3:4', '2:3' => '2:3', '9:16' => '9:16', '1:2' => '1:2'), 'dependency' => array('element' => 'type', 'value' => array('image_grid'))));
    vc_add_param('vc_gallery', array('type' => 'checkbox', 'heading' => __('Display captions', 'om_theme'), 'param_name' => 'captions', 'value' => array(__('Yes, please', 'om_theme') => 'yes'), 'dependency' => array('element' => 'type', 'value' => array('om', 'sliced', 'masonry', 'image_grid'))));
    vc_add_param('vc_gallery', array('type' => 'checkbox', 'heading' => __('Use hi-res images', 'om_theme'), 'description' => __('Check this option of you use gallery in a row without padding and the dimendions of images is not enough. Source images also must be high resolution in this case.', 'om_theme'), 'param_name' => 'hires', 'value' => array(__('Yes, please', 'om_theme') => 'yes'), 'dependency' => array('element' => 'type', 'value' => array('sliced', 'masonry', 'image_grid'))));
    vc_add_param('vc_gallery', array('type' => 'textfield', 'heading' => __('Extra class name', 'js_composer'), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'js_composer')));
    /**
     * VC Column
     */
    $tmp = array('type' => 'dropdown', 'heading' => __('Delimiter', 'om_theme'), 'description' => __('Delimiter at right hand side, between columns.', 'om_theme'), 'param_name' => 'delimiter', 'value' => array(__('No', 'om_theme') => '', __('Vertical line', 'om_theme') => 'vline', __('Horisontal line', 'om_theme') => 'hline', __('Dot', 'om_theme') => 'dot', __('Arrow', 'om_theme') => 'rarr'));
    vc_add_param('vc_column', $tmp);
    vc_add_param('vc_column_inner', $tmp);
    /**
     * Animation
     */
    $css_animation = array('type' => 'dropdown', 'heading' => __('CSS Animation', 'js_composer'), 'param_name' => 'css_animation', 'admin_label' => true, 'value' => array(__('No', 'js_composer') => '', __('Top to bottom', 'js_composer') => 'top-to-bottom', __('Bottom to top', 'js_composer') => 'bottom-to-top', __('Left to right', 'js_composer') => 'left-to-right', __('Right to left', 'js_composer') => 'right-to-left', __('Appear from center', 'js_composer') => 'appear', __('Bounce', 'om_theme') => 'bounce', __('Zoom In', 'om_theme') => 'zoom-in', __('Zoom In Down', 'om_theme') => 'zoom-in-down', __('Zoom In Up', 'om_theme') => 'zoom-in-up', __('Zoom Out', 'om_theme') => 'zoom-out', __('Spin', 'om_theme') => 'spin', __('Spin around Left Top', 'om_theme') => 'spin-lt', __('Spin around Right Top', 'om_theme') => 'spin-rt', __('Flip', 'om_theme') => 'flip', __('Flip X', 'om_theme') => 'flip-x', __('Flip Y', 'om_theme') => 'flip-y'), 'description' => __('Select type of animation if you want this element to be animated when it enters into the browsers viewport. Note: Works only in modern browsers.', 'js_composer'));
    $css_animation_delay = array('type' => 'textfield', 'heading' => __('Delay before animation starts (milliseconds)', 'js_composer'), 'param_name' => 'css_animation_delay', 'dependency' => array('element' => 'css_animation', 'not_empty' => true));
    vc_add_param('vc_column', $css_animation);
    vc_add_param('vc_column', $css_animation_delay);
    vc_add_param('vc_column_inner', $css_animation);
    vc_add_param('vc_column_inner', $css_animation_delay);
    vc_add_param('vc_row', $css_animation);
    vc_add_param('vc_row', $css_animation_delay);
    vc_add_param('vc_row_inner', $css_animation);
    vc_add_param('vc_row_inner', $css_animation_delay);
    WPBMap::mutateParam('vc_btn', $css_animation);
    WPBMap::mutateParam('vc_column_text', $css_animation);
    WPBMap::mutateParam('vc_cta', $css_animation);
    WPBMap::mutateParam('vc_message', array_merge($css_animation, array('admin_label' => false)));
    WPBMap::mutateParam('vc_single_image', $css_animation);
    WPBMap::mutateParam('vc_toggle', $css_animation);
    /**
     * Toggle
     */
    vc_remove_param('vc_toggle', 'style');
    vc_remove_param('vc_toggle', 'color');
    vc_remove_param('vc_toggle', 'size');
    /**
     * om_icon_separator
     */
    $tmp = om_wpb_icon_params();
    $tmp = array_merge($tmp, array(array('type' => 'dropdown', 'heading' => __('Icon position', 'om_theme'), 'param_name' => 'title_align', 'value' => array(__('Align center', 'js_composer') => 'separator_align_center', __('Align left', 'js_composer') => 'separator_align_left', __('Align right', 'js_composer') => "separator_align_right"), 'description' => __('Select title location.', 'js_composer')), array('type' => 'dropdown', 'heading' => __('Color', 'js_composer'), 'param_name' => 'color', 'value' => array_merge(getVcShared('colors'), array(__('Custom color', 'js_composer') => 'custom')), 'std' => 'grey', 'description' => __('Separator color.', 'js_composer'), 'param_holder_class' => 'vc_colored-dropdown'), array('type' => 'colorpicker', 'heading' => __('Custom Color', 'js_composer'), 'param_name' => 'accent_color', 'description' => __('Custom separator color for your element.', 'js_composer'), 'dependency' => array('element' => 'color', 'value' => array('custom'))), array('type' => 'dropdown', 'heading' => __('Style', 'js_composer'), 'param_name' => 'style', 'value' => getVcShared('separator styles'), 'description' => __('Separator style.', 'js_composer')), array('type' => 'dropdown', 'value' => getVcShared('separator border widths'), 'description' => __('Border width in pixels.', 'js_composer'), 'heading' => __('Border width', 'om_theme'), 'param_name' => 'border_width'), array('type' => 'dropdown', 'heading' => __('Element width', 'js_composer'), 'param_name' => 'el_width', 'value' => getVcShared('separator widths'), 'description' => __('Separator element width in percents.', 'js_composer')), array('type' => 'textfield', 'heading' => __('Extra class name', 'js_composer'), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'js_composer'))));
    vc_map_update('om_icon_separator', array('params' => $tmp));
    /**
     * Message box
     */
    $param = WPBMap::getParam('vc_message', 'color');
    $tmp = array();
    foreach ($param['options'] as $v) {
        if (!in_array($v['value'], array('alert-info', 'alert-warning', 'alert-success', 'alert-danger'))) {
            $tmp[] = $v;
        }
    }
    $param['options'] = $tmp;
    WPBMap::mutateParam('vc_message', $param);
    $param = WPBMap::getParam('vc_message', 'icon_type');
    $param['value'] = array_merge(array_diff($param['value'], array('pixelicons')));
    WPBMap::mutateParam('vc_message', $param);
    $param = WPBMap::getParam('vc_message', 'message_box_color');
    $param['value'] = array_merge(array_diff($param['value'], array('alert-info', 'alert-warning', 'alert-success', 'alert-danger')));
    WPBMap::mutateParam('vc_message', $param);
    vc_remove_param('vc_message', 'style');
    /**
     * Single image
     */
    $param = WPBMap::getParam('vc_single_image', 'style');
    unset($param['value']['3D Shadow']);
    WPBMap::mutateParam('vc_single_image', $param);
    $param = WPBMap::getParam('vc_single_image', 'img_size');
    $param['description'] = __('Enter image size. Example: "thumbnail", "medium", "large", "full" or other sizes defined by current theme. Alternatively enter image size in pixels: 200x100 (Width x Height). Leave empty to use "full" size.', 'om_theme');
    WPBMap::mutateParam('vc_single_image', $param);
    /**
     * Button
     */
    $params = new OMWPBScParams('vc_btn');
    $params->remove('custom_background');
    $params->remove('custom_text');
    $params->remove('shape');
    $param = $params->get('style');
    $param['value'] = array(__('Classic', 'om_theme') => 'flat', __('Outlined', 'om_theme') => 'outline');
    $params->update($param);
    $param = $params->get('color');
    $param['value'] = array_merge(om_wpb_get_std_colors(), array(__('Custom', 'om_theme') => 'custom'));
    $param['edit_field_class'] = 'vc_col-sm-6 vc_column vc_block_clear';
    $params->update($param);
    $params->add(array('type' => 'colorpicker', 'heading' => __('Custom color', 'js_composer'), 'param_name' => 'custom_color', 'description' => __('Select custom color for button.', 'om_theme'), 'dependency' => array('element' => 'color', 'value' => array('custom')), 'edit_field_class' => 'vc_col-sm-6 vc_column'), 'color');
    $params->add(array('type' => 'dropdown', 'heading' => __('Hover color', 'js_composer'), 'param_name' => 'hover_color', 'description' => __('Select color for button by hover.', 'om_theme'), 'value' => array(__('Auto', 'om_theme') => 'auto', __('Custom', 'om_theme') => 'custom'), 'edit_field_class' => 'vc_col-sm-6 vc_column vc_block_clear'), 'custom_color');
    $params->add(array('type' => 'colorpicker', 'heading' => __('Custom hover color', 'js_composer'), 'param_name' => 'hover_custom_color', 'dependency' => array('element' => 'hover_color', 'value' => array('custom')), 'edit_field_class' => 'vc_col-sm-6 vc_column'), 'hover_color');
    $params->add(array('type' => 'dropdown', 'heading' => __('Text color', 'js_composer'), 'param_name' => 'text_color', 'value' => array(__('Default', 'om_theme') => 'auto', __('Custom', 'om_theme') => 'custom'), 'edit_field_class' => 'vc_col-sm-6 vc_column vc_block_clear'), 'hover_custom_color');
    $params->add(array('type' => 'colorpicker', 'heading' => __('Custom text color', 'js_composer'), 'param_name' => 'text_custom_color', 'dependency' => array('element' => 'text_color', 'value' => array('custom')), 'edit_field_class' => 'vc_col-sm-6 vc_column'), 'text_color');
    $params->add(array('type' => 'dropdown', 'heading' => __('Hover text color', 'js_composer'), 'param_name' => 'hover_text_color', 'value' => array(__('Default', 'om_theme') => 'auto', __('Custom', 'om_theme') => 'custom'), 'edit_field_class' => 'vc_col-sm-6 vc_column vc_block_clear'), 'text_custom_color');
    $params->add(array('type' => 'colorpicker', 'heading' => __('Custom hover text color', 'js_composer'), 'param_name' => 'hover_text_custom_color', 'dependency' => array('element' => 'hover_text_color', 'value' => array('custom')), 'edit_field_class' => 'vc_col-sm-6 vc_column'), 'hover_text_color');
    $param = $params->get('size');
    $param['value']['XLarge'] = 'xlg';
    $params->update($param);
    $params->add(array('type' => 'dropdown', 'heading' => __('Icon color', 'js_composer'), 'param_name' => 'icon_color', 'value' => array(__('Default', 'om_theme') => 'auto', __('Custom', 'om_theme') => 'custom'), 'dependency' => array('element' => 'add_icon', 'value' => 'true'), 'edit_field_class' => 'vc_col-sm-6 vc_column vc_block_clear'), 'i_align');
    $params->add(array('type' => 'colorpicker', 'heading' => __('Custom icon color', 'js_composer'), 'param_name' => 'icon_custom_color', 'dependency' => array('element' => 'icon_color', 'value' => array('custom')), 'edit_field_class' => 'vc_col-sm-6 vc_column'), 'icon_color');
    $param = $params->get('i_type');
    $param['value'] = om_wpb_remove_pixel_icons($param['value']);
    $params->update($param);
    $params->add(array('type' => 'om_get_code', 'heading' => __('Get code', 'om_theme'), 'param_name' => 'code', 'description' => __('If you wish to use button shortcode somewhere out of Visual Composer or insert it into text inline, you can generate the code which you can use separately.', 'js_composer')));
    $params->save();
    /**
     * CTA Button
     */
    $params = new OMWPBScParams('vc_cta');
    $params->remove('use_custom_fonts_h2');
    $params->removeIntegratedShortcode('vc_custom_heading', 'h2_');
    $params->remove('use_custom_fonts_h4');
    $params->removeIntegratedShortcode('vc_custom_heading', 'h4_');
    $params->remove('shape');
    $params->remove('color');
    $param = $params->get('style');
    $param['value'] = array(__('Classic', 'om_theme') => 'classic', __('Outline', 'om_theme') => 'outline');
    $params->update($param);
    $param = $params->get('custom_background');
    unset($param['dependency']);
    $params->update($param);
    $param = $params->get('custom_text');
    unset($param['dependency']);
    $params->update($param);
    $param = $params->get('add_button');
    foreach ($param['value'] as $k => $v) {
        if ($v == 'top') {
            unset($param['value'][$k]);
            break;
        }
    }
    $params->update($param);
    $params->remove('add_icon');
    $params->remove('i_on_border');
    $params->removeIntegratedShortcode('vc_icon', 'i_');
    $params->save();
    /**
     * Progress Bars
     */
    vc_remove_param('vc_progress_bar', 'el_class');
    vc_add_param('vc_progress_bar', array('type' => 'dropdown', 'heading' => __('Titles color', 'js_composer'), 'param_name' => 'titles_color', 'value' => array(__('Default', 'om_theme') => 'auto', __('Custom', 'om_theme') => 'custom')));
    vc_add_param('vc_progress_bar', array('type' => 'colorpicker', 'heading' => __('Titles custom color', 'js_composer'), 'param_name' => 'titles_custom_color', 'dependency' => array('element' => 'titles_color', 'value' => array('custom'))));
    vc_add_param('vc_progress_bar', array('type' => 'textfield', 'heading' => __('Extra class name', 'js_composer'), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'js_composer')));
    /**
     * Pie charts
     */
    vc_remove_param('vc_pie', 'el_class');
    vc_remove_param('vc_pie', 'label_value');
    vc_remove_param('vc_pie', 'units');
    vc_remove_param('vc_pie', 'color');
    vc_add_param('vc_pie', array('type' => 'dropdown', 'heading' => __('Pie label inside circle', 'om_theme'), 'param_name' => 'label_type', 'value' => array(__('Number', 'om_theme') => 'number', __('Display widget title', 'om_theme') => 'title', __('Icon', 'om_theme') => 'icon')));
    vc_add_param('vc_pie', array('type' => 'textfield', 'heading' => __('Pie label value', 'js_composer'), 'param_name' => 'label_value', 'description' => __('Input integer value for label. If empty "Pie value" will be used.', 'js_composer'), 'value' => '', 'dependency' => array('element' => 'label_type', 'value' => array('number'))));
    vc_add_param('vc_pie', array('type' => 'textfield', 'heading' => __('Units', 'js_composer'), 'param_name' => 'units', 'description' => __('Enter measurement units (if needed) Eg. %, px, points, etc. Graph value and unit will be appended to the graph title.', 'js_composer'), 'dependency' => array('element' => 'label_type', 'value' => array('number'))));
    $tmp = om_wpb_icon_params(false, array('element' => 'label_type', 'value' => array('icon')));
    foreach ($tmp as $v) {
        vc_add_param('vc_pie', $v);
    }
    vc_add_param('vc_pie', array('type' => 'dropdown', 'heading' => __('Bar color', 'js_composer'), 'param_name' => 'color', 'value' => array(__('Grey', 'js_composer') => 'wpb_button', __('Blue', 'js_composer') => 'btn-primary', __('Turquoise', 'js_composer') => 'btn-info', __('Green', 'js_composer') => 'btn-success', __('Orange', 'js_composer') => 'btn-warning', __('Red', 'js_composer') => 'btn-danger', __('Black', 'js_composer') => "btn-inverse", __('Custom', 'om_theme') => 'custom'), 'description' => __('Select pie chart color.', 'js_composer'), 'admin_label' => true, 'param_holder_class' => 'vc_colored-dropdown'));
    vc_add_param('vc_pie', array('type' => 'colorpicker', 'heading' => __('Custom color', 'js_composer'), 'param_name' => 'custom_color', 'dependency' => array('element' => 'color', 'value' => array('custom'))));
    vc_add_param('vc_pie', array('type' => 'textfield', 'heading' => __('Width', 'js_composer'), 'param_name' => 'width', 'description' => __('Leave this field blank for auto width or specify maximum width', 'om_theme')));
    vc_add_param('vc_pie', array('type' => 'textfield', 'heading' => __('Extra class name', 'js_composer'), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'js_composer')));
    /**
     * GMaps
     */
    vc_remove_param('vc_gmaps', 'link');
    vc_remove_param('vc_gmaps', 'size');
    vc_remove_param('vc_gmaps', 'el_class');
    vc_add_param('vc_gmaps', array('type' => 'textarea_safe', 'heading' => __('Map embed iframe', 'js_composer'), 'param_name' => 'link', 'description' => sprintf(__('Visit %s or %s to create your map. 1) Find location 2) Click "Share" and make sure map is public on the web 3) Copy iframe code and paste it here.', 'js_composer'), '<a href="https://maps.google.com/" target="_blank">Google maps</a>', '<a href="https://mapsengine.google.com/" target="_blank">Google Maps Engine</a>')));
    vc_add_param('vc_gmaps', array('type' => 'textfield', 'heading' => __('Map height', 'js_composer'), 'param_name' => 'size', 'admin_label' => true, 'description' => __('Enter map height in pixels. Example: 200 or leave it empty to make map responsive.', 'js_composer')));
    vc_add_param('vc_gmaps', array('type' => 'textfield', 'heading' => __('Extra class name', 'js_composer'), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'js_composer')));
    /**
     * Adding "Theme Color" option to some shortcodes.
     */
    $theme_color = array(__('Theme Hightlight Color', 'om_theme') => 'om-theme-color');
    $param = WPBMap::getParam('vc_separator', 'color');
    $param['value'] = array_merge($theme_color, $param['value']);
    WPBMap::mutateParam('vc_separator', $param);
    $param = WPBMap::getParam('vc_text_separator', 'color');
    $param['value'] = array_merge($theme_color, $param['value']);
    WPBMap::mutateParam('vc_text_separator', $param);
    $param = WPBMap::getParam('om_icon_separator', 'color');
    $param['value'] = array_merge($theme_color, $param['value']);
    WPBMap::mutateParam('om_icon_separator', $param);
    $param = WPBMap::getParam('vc_single_image', 'border_color');
    $param['value'] = array_merge($theme_color, $param['value']);
    WPBMap::mutateParam('vc_single_image', $param);
    $param = WPBMap::getParam('vc_btn', 'color');
    $param['value'] = array_merge($theme_color, $param['value']);
    WPBMap::mutateParam('vc_btn', $param);
    $param = WPBMap::getParam('vc_progress_bar', 'bgcolor');
    $param['value'] = array_merge($theme_color, $param['value']);
    WPBMap::mutateParam('vc_progress_bar', $param);
    $param = WPBMap::getParam('vc_pie', 'color');
    $param['value'] = array_merge($theme_color, $param['value']);
    WPBMap::mutateParam('vc_pie', $param);
    $param = WPBMap::getParam('vc_message', 'message_box_color');
    $param['value'] = array_merge($theme_color, $param['value']);
    WPBMap::mutateParam('vc_message', $param);
    $param = WPBMap::getParam('vc_icon', 'color');
    $param['value'] = array_merge($theme_color, $param['value']);
    WPBMap::mutateParam('vc_icon', $param);
    $param = WPBMap::getParam('vc_icon', 'background_color');
    $param['value'] = array_merge($theme_color, $param['value']);
    WPBMap::mutateParam('vc_icon', $param);
    /**
     * Update some integrated shortcodes
     */
    $params = new OMWPBScParams('vc_cta');
    $params->updateIntegratedShortcode('vc_btn', 'btn_', __('Button', 'js_composer'), false, array('element' => 'add_button', 'not_empty' => true));
    $params->remove('btn_code');
    $params->save();
}
Example #23
0
         */
        $attachment_ids = get_posts(array('post_parent' => $post->post_parent, 'fields' => 'ids', 'numberposts' => -1, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID'));
        // If there is more than 1 attachment in a gallery...
        if (count($attachment_ids) > 1) {
            foreach ($attachment_ids as $attachment_id) {
                if ($attachment_id == $post->ID) {
                    $next_id = current($attachment_ids);
                    break;
                }
            }
            // get the URL of the next image attachment...
            if ($next_id) {
                $next_attachment_url = get_attachment_link($next_id);
            } else {
                $next_attachment_url = get_attachment_link(array_shift($attachment_ids));
            }
        }
        printf('<a href="%1$s" rel="attachment">%2$s</a>', esc_url($next_attachment_url), wp_get_attachment_image($post->ID, $attachment_size));
    }
}
function plugin_status($plugin)
{
    if (!function_exists('is_plugin_active')) {
        include_once ABSPATH . 'wp-admin/includes/plugin.php';
    }
    return is_plugin_active($plugin);
}
update_option('revslider-valid-notice', 'false');
if (function_exists('vc_map_update')) {
    vc_map_update('vc_carousel', array('content_element' => true));
}
Example #24
0
 /**
  * Change VC short code settings
  *
  * @access private
  */
 private function update()
 {
     foreach (self::$update_settings as $short_code => $settings) {
         vc_map_update($short_code, $settings);
     }
 }
Example #25
0
    function etheme_VC_setup()
    {
        if (!class_exists('WPBakeryVisualComposerAbstract')) {
            return;
        }
        global $vc_params_list;
        $vc_params_list[] = 'icon';
        vc_remove_element("vc_carousel");
        vc_remove_element("vc_images_carousel");
        vc_remove_element("vc_tour");
        $target_arr = array(__("Same window", "js_composer") => "_self", __("New window", "js_composer") => "_blank");
        $add_css_animation = array("type" => "dropdown", "heading" => __("CSS Animation", "js_composer"), "param_name" => "css_animation", "admin_label" => true, "value" => array(__("No", "js_composer") => '', __("Top to bottom", "js_composer") => "top-to-bottom", __("Bottom to top", "js_composer") => "bottom-to-top", __("Left to right", "js_composer") => "left-to-right", __("Right to left", "js_composer") => "right-to-left", __("Appear from center", "js_composer") => "appear"), "description" => __("Select animation type if you want this element to be animated when it enters into the browsers viewport. Note: Works only in modern browsers.", "js_composer"));
        // **********************************************************************//
        // ! Row (add anchor field)
        // **********************************************************************//
        vc_add_param('vc_row', array('type' => 'textfield', 'heading' => __('Anchor for one page navigation', 'js_composer'), 'param_name' => 'anchor'));
        // **********************************************************************//
        // ! Separator
        // **********************************************************************//
        $setting_vc_separator = array("show_settings_on_create" => true, 'params' => array(array("type" => "dropdown", "heading" => __("Type", "js_composer"), "param_name" => "type", "value" => array("", __("Default", ETHEME_DOMAIN) => "", __("Double", ETHEME_DOMAIN) => "double", __("Dashed", ETHEME_DOMAIN) => "dashed", __("Dotted", ETHEME_DOMAIN) => "dotted", __("Double Dotted", ETHEME_DOMAIN) => "double dotted", __("Double Dashed", ETHEME_DOMAIN) => "double dashed", __("Horizontal break", ETHEME_DOMAIN) => "horizontal-break", __("Space", ETHEME_DOMAIN) => "space")), array("type" => "textfield", "heading" => __("Height", "js_composer"), "param_name" => "height", "dependency" => array('element' => "type", 'value' => array('space'))), array("type" => "textfield", "heading" => __("Extra class", "js_composer"), "param_name" => "class")));
        vc_map_update('vc_separator', $setting_vc_separator);
        function vc_theme_vc_separator($atts, $content = null)
        {
            $output = $color = $el_class = $css_animation = '';
            extract(shortcode_atts(array('type' => '', 'class' => '', 'height' => ''), $atts));
            $output .= do_shortcode('[hr class="' . $type . ' ' . $class . '" height="' . $height . '"]');
            return $output;
        }
        // **********************************************************************//
        // ! Alert boxes
        // **********************************************************************//
        function vc_theme_vc_message($atts, $content = null)
        {
            $output = $color = $el_class = $css_animation = '';
            extract(shortcode_atts(array('color' => 'alert-info', 'el_class' => '', 'css_animation' => ''), $atts));
            $color = $color != '' ? ' ' . $color : '';
            $css_class = $color . $el_class;
            $css_class .= getCSSAnimation($css_animation);
            $output .= '<div class="' . $css_class . '">' . wpb_js_remove_wpautop($content) . '<span class="close-parent"></span></div>';
            return $output;
        }
        // **********************************************************************//
        // ! FAQ toggle elements
        // **********************************************************************//
        $toggle_params = array("name" => __("FAQ", "js_composer"), "icon" => "icon-wpb-toggle-small-expand", "category" => __('Content', 'js_composer'), "description" => __('Toggle element for Q&A block', 'js_composer'), "params" => array(array("type" => "textfield", "holder" => "h4", "class" => "toggle_title", "heading" => __("Toggle title", "js_composer"), "param_name" => "title", "value" => __("Toggle title", "js_composer"), "description" => __("Toggle block title.", "js_composer")), array("type" => "textarea_html", "holder" => "div", "class" => "toggle_content", "heading" => __("Toggle content", "js_composer"), "param_name" => "content", "value" => __("<p>Toggle content goes here, click edit button to change this text.</p>", "js_composer"), "description" => __("Toggle block content.", "js_composer")), array("type" => "dropdown", "heading" => __("Default state", "js_composer"), "param_name" => "open", "value" => array(__("Closed", "js_composer") => "false", __("Open", "js_composer") => "true"), "description" => __('Select "Open" if you want toggle to be open by default.', "js_composer")), array("type" => "dropdown", "heading" => __("Style", "js_composer"), "param_name" => "style", "value" => array(__("Default", "js_composer") => "default", __("Bordered", "js_composer") => "bordered")), $add_css_animation, array("type" => "textfield", "heading" => __("Extra class name", "js_composer"), "param_name" => "el_class", "description" => __("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "js_composer"))), "js_view" => 'VcToggleView');
        vc_map_update('vc_toggle', $toggle_params);
        function vc_theme_vc_toggle($atts, $content = null)
        {
            $output = $title = $css_class = $el_class = $open = $css_animation = '';
            extract(shortcode_atts(array('title' => __("Click to toggle", "js_composer"), 'el_class' => '', 'style' => 'default', 'open' => 'false', 'css_animation' => ''), $atts));
            $open = $open == 'true' ? 1 : 0;
            $css_class .= getCSSAnimation($css_animation);
            $css_class .= ' ' . $el_class;
            $output .= '<div class="toggle-block ' . $css_class . ' ' . $style . '">' . do_shortcode('[toggle title="' . $title . '" class="' . $css_class . '" active="' . $open . '"]' . wpb_js_remove_wpautop($content) . '[/toggle]') . '</div>';
            return $output;
        }
        // **********************************************************************//
        // ! Sliders
        // **********************************************************************//
        $setting_vc_gallery = array("name" => __("Image Gallery", "js_composer"), "icon" => "icon-wpb-images-stack", "category" => __('Content', 'js_composer'), "params" => array(array("type" => "textfield", "heading" => __("Widget title", "js_composer"), "param_name" => "title", "description" => __("What text use as a widget title. Leave blank if no title is needed.", "js_composer")), array("type" => "dropdown", "heading" => __("Gallery type", "js_composer"), "param_name" => "type", "value" => array(__("OWL slider", "js_composer") => "owl", __("Nivo slider", "js_composer") => "nivo", __("Carousel", "js_composer") => "carousel", __("Image grid", "js_composer") => "image_grid"), "description" => __("Select gallery type.", "js_composer")), array("type" => "dropdown", "heading" => __("Auto rotate slides", "js_composer"), "param_name" => "interval", "value" => array(3, 5, 10, 15, __("Disable", "js_composer") => 0), "description" => __("Auto rotate slides each X seconds.", "js_composer"), "dependency" => array('element' => "type", 'value' => array('flexslider_fade', 'flexslider_slide', 'nivo'))), array("type" => "attach_images", "heading" => __("Images", "js_composer"), "param_name" => "images", "value" => "", "description" => __("Select images from media library.", "js_composer")), array("type" => "textfield", "heading" => __("Image size", "js_composer"), "param_name" => "img_size", "description" => __("Enter image size. Example: thumbnail, medium, large, full or other sizes defined by current theme. Alternatively enter image size in pixels: 200x100 (Width x Height). Leave empty to use 'thumbnail' size.", "js_composer")), array("type" => "dropdown", "heading" => __("On click", "js_composer"), "param_name" => "onclick", "value" => array(__("Open prettyPhoto", "js_composer") => "link_image", __("Do nothing", "js_composer") => "link_no", __("Open custom link", "js_composer") => "custom_link"), "description" => __("What to do when slide is clicked?", "js_composer")), array("type" => "exploded_textarea", "heading" => __("Custom links", "js_composer"), "param_name" => "custom_links", "description" => __('Enter links for each slide here. Divide links with linebreaks (Enter).', 'js_composer'), "dependency" => array('element' => "onclick", 'value' => array('custom_link'))), array("type" => "dropdown", "heading" => __("Custom link target", "js_composer"), "param_name" => "custom_links_target", "description" => __('Select where to open  custom links.', 'js_composer'), "dependency" => array('element' => "onclick", 'value' => array('custom_link')), 'value' => $target_arr), array("type" => "textfield", "heading" => __("Extra class name", "js_composer"), "param_name" => "el_class", "description" => __("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "js_composer"))));
        vc_map_update('vc_gallery', $setting_vc_gallery);
        function vc_theme_vc_gallery($atts, $content = null)
        {
            $output = $title = $type = $onclick = $custom_links = $img_size = $custom_links_target = $images = $el_class = $interval = '';
            extract(shortcode_atts(array('title' => '', 'type' => 'flexslider', 'onclick' => 'link_image', 'custom_links' => '', 'custom_links_target' => '', 'img_size' => 'thumbnail', 'images' => '', 'el_class' => '', 'interval' => '5'), $atts));
            $gal_images = '';
            $link_start = '';
            $link_end = '';
            $el_start = '';
            $el_end = '';
            $slides_wrap_start = '';
            $slides_wrap_end = '';
            $rand = rand(1000, 9999);
            $el_class = ' ' . $el_class . ' ';
            if ($type == 'nivo') {
                $type = ' wpb_slider_nivo theme-default';
                wp_enqueue_script('nivo-slider');
                wp_enqueue_style('nivo-slider-css');
                wp_enqueue_style('nivo-slider-theme');
                $slides_wrap_start = '<div class="nivoSlider">';
                $slides_wrap_end = '</div>';
            } else {
                if ($type == 'flexslider' || $type == 'flexslider_fade' || $type == 'flexslider_slide' || $type == 'fading') {
                    $el_start = '<li>';
                    $el_end = '</li>';
                    $slides_wrap_start = '<ul class="slides">';
                    $slides_wrap_end = '</ul>';
                } else {
                    if ($type == 'image_grid') {
                        $el_start = '<li class="gallery-item">';
                        $el_end = '</li>';
                        $slides_wrap_start = '<ul class="wpb_images_grid_ul">';
                        $slides_wrap_end = '</ul>';
                    } else {
                        if ($type == 'carousel') {
                            $el_start = '<li class="">';
                            $el_end = '</li>';
                            $slides_wrap_start = '<ul class="images-carousel carousel-' . $rand . '">';
                            $slides_wrap_end = '</ul>';
                        }
                    }
                }
            }
            $flex_fx = '';
            $flex = false;
            $owl = false;
            if ($type == 'flexslider' || $type == 'flexslider_fade' || $type == 'fading') {
                $flex = true;
                $type = ' wpb_flexslider' . $rand . ' flexslider_fade flexslider';
                $flex_fx = ' data-flex_fx="fade"';
            } else {
                if ($type == 'flexslider_slide') {
                    $flex = true;
                    $type = ' wpb_flexslider' . $rand . ' flexslider_slide flexslider';
                    $flex_fx = ' data-flex_fx="slide"';
                } else {
                    if ($type == 'image_grid') {
                        $type = ' wpb_image_grid';
                    } else {
                        if ($type == 'owl') {
                            $type = ' owl_slider' . $rand . ' owl_slider';
                            $owl = true;
                        }
                    }
                }
            }
            /*
            	       else if ( $type == 'fading' ) {
            	          $type = ' wpb_slider_fading';
            	          $el_start = '<li>';
            	          $el_end = '</li>';
            	          $slides_wrap_start = '<ul class="slides">';
            	          $slides_wrap_end = '</ul>';
            	          wp_enqueue_script( 'cycle' );
            	      }*/
            //if ( $images == '' ) return null;
            if ($images == '') {
                $images = '-1,-2,-3';
            }
            $pretty_rel_random = 'rel-' . rand();
            if ($onclick == 'custom_link') {
                $custom_links = explode(',', $custom_links);
            }
            $images = explode(',', $images);
            $i = -1;
            foreach ($images as $attach_id) {
                $i++;
                if ($attach_id > 0) {
                    $post_thumbnail = wpb_getImageBySize(array('attach_id' => $attach_id, 'thumb_size' => $img_size));
                } else {
                    $different_kitten = 400 + $i;
                    $post_thumbnail = array();
                    $post_thumbnail['thumbnail'] = '<img src="http://placekitten.com/g/' . $different_kitten . '/300" />';
                    $post_thumbnail['p_img_large'][0] = 'http://placekitten.com/g/1024/768';
                }
                $thumbnail = $post_thumbnail['thumbnail'];
                $p_img_large = $post_thumbnail['p_img_large'];
                $link_start = $link_end = '';
                if ($onclick == 'link_image') {
                    $link_start = '<a rel="lightboxGall" href="' . $p_img_large[0] . '">';
                    $link_end = '</a>';
                } else {
                    if ($onclick == 'custom_link' && isset($custom_links[$i]) && $custom_links[$i] != '') {
                        $link_start = '<a href="' . $custom_links[$i] . '"' . (!empty($custom_links_target) ? ' target="' . $custom_links_target . '"' : '') . '>';
                        $link_end = '</a>';
                    }
                }
                $gal_images .= $el_start . $link_start . $thumbnail . $link_end . $el_end;
            }
            $css_class = apply_filters(VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, 'wpb_gallery wpb_content_element' . $el_class . ' clearfix');
            $output .= "\n\t" . '<div class="' . $css_class . '">';
            $output .= "\n\t\t" . '<div class="wpb_wrapper">';
            $output .= wpb_widget_title(array('title' => $title, 'extraclass' => 'wpb_gallery_heading'));
            $output .= '<div class="wpb_gallery_slides' . $type . '" data-interval="' . $interval . '"' . $flex_fx . '>' . $slides_wrap_start . $gal_images . $slides_wrap_end . '</div>';
            $output .= "\n\t\t" . '</div> ';
            $output .= "\n\t" . '</div> ';
            if ($owl) {
                $items = '[[0, 1], [479, 1], [619, 1], [768, 1],  [1200, 1], [1600, 1]]';
                $output .= '<script type="text/javascript">';
                //$output .=  '     jQuery(".images-carousel").etFullWidth();';
                $output .= '     jQuery(".owl_slider' . $rand . '").owlCarousel({';
                $output .= '         items:4, ';
                $output .= '         navigation: true,';
                $output .= '         navigationText:false,';
                $output .= '         rewindNav: false,';
                $output .= '         itemsCustom: ' . $items . '';
                $output .= '    });';
                $output .= ' </script>';
            }
            if ($type == 'carousel') {
                $items = '[[0, 1], [479,2], [619,2], [768,4],  [1200, 4], [1600, 4]]';
                $output .= '<script type="text/javascript">';
                //$output .=  '     jQuery(".images-carousel").etFullWidth();';
                $output .= '     jQuery(".carousel-' . $rand . '").owlCarousel({';
                $output .= '         items:4, ';
                $output .= '         navigation: true,';
                $output .= '         navigationText:false,';
                $output .= '         rewindNav: false,';
                $output .= '         itemsCustom: ' . $items . '';
                $output .= '    });';
                $output .= ' </script>';
            }
            return $output;
        }
        // **********************************************************************//
        // ! Single Image
        // **********************************************************************//
        $setting_vc_single_image = array("params" => array(array("type" => "textfield", "heading" => __("Widget title", "js_composer"), "param_name" => "title", "description" => __("What text use as a widget title. Leave blank if no title is needed.", "js_composer")), array("type" => "attach_image", "heading" => __("Image", "js_composer"), "param_name" => "image", "value" => "", "description" => __("Select image from media library.", "js_composer")), $add_css_animation, array("type" => "textfield", "heading" => __("Image size", "js_composer"), "param_name" => "img_size", "description" => __("Enter image size. Example: thumbnail, medium, large, full or other sizes defined by current theme. Alternatively enter image size in pixels: 200x100 (Width x Height). Leave empty to use 'thumbnail' size.", "js_composer")), array("type" => 'checkbox', "heading" => __("Link to large image?", "js_composer"), "param_name" => "img_link_large", "description" => __("If selected, image will be linked to the bigger image.", "js_composer"), "value" => array(__("Yes, please", "js_composer") => 'yes')), array('type' => 'href', 'heading' => __('Image link', 'js_composer'), 'param_name' => 'link', 'description' => __('Enter URL if you want this image to have a link.', 'js_composer'), 'dependency' => array('element' => 'img_link_large', 'is_empty' => true, 'callback' => 'wpb_single_image_img_link_dependency_callback')), array('type' => 'dropdown', 'heading' => __('Link Target', 'js_composer'), 'param_name' => 'img_link_target', 'value' => $target_arr, 'dependency' => array('element' => 'link', 'not_empty' => true)), array("type" => "textfield", "heading" => __("Extra class name", "js_composer"), "param_name" => "el_class", "description" => __("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "js_composer"))));
        vc_map_update('vc_single_image', $setting_vc_single_image);
        function vc_theme_vc_single_image($atts, $content = null)
        {
            $output = $a_class = $el_class = $image = $img_size = $img_link = $img_link_target = $img_link_large = $title = $css_animation = '';
            extract(shortcode_atts(array('title' => '', 'image' => '', 'img_src' => '', 'img_size' => 'thumbnail', 'img_link_large' => false, 'link' => '', 'img_link_target' => '_self', 'el_class' => '', 'css_animation' => ''), $atts));
            $img_id = preg_replace('/[^\\d]/', '', $image);
            $img = wpb_getImageBySize(array('attach_id' => $img_id, 'thumb_size' => $img_size));
            $link_to = '';
            if ($img_link_large == true) {
                $link_to = wp_get_attachment_image_src($img_id, 'large');
                $link_to = $link_to[0];
            } else {
                if (!empty($link)) {
                    $link_to = $link;
                }
            }
            if ($img == NULL) {
                if ($img_link_large == true) {
                    $link_to = $img_src;
                }
                $img = array('thumbnail' => '<img src="' . $img_src . '">');
            }
            $el_class = ' ' . $el_class . ' ';
            if ($img_link_large == true) {
                $a_class = ' rel="lightbox"';
            }
            $image_string = !empty($link_to) ? '<a' . $a_class . ' href="' . $link_to . '"' . ($img_link_target != '_self' ? ' target="' . $img_link_target . '"' : '') . '>' . $img['thumbnail'] . '</a>' : $img['thumbnail'];
            $css_class = apply_filters(VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, 'wpb_single_image wpb_content_element' . $el_class);
            $css_class .= getCSSAnimation($css_animation);
            $output .= "\n\t" . '<div class="' . $css_class . '">';
            $output .= "\n\t\t" . '<div class="wpb_wrapper">';
            $output .= "\n\t\t\t" . wpb_widget_title(array('title' => $title, 'extraclass' => 'wpb_singleimage_heading'));
            $output .= "\n\t\t\t" . $image_string;
            $output .= "\n\t\t" . '</div> ';
            $output .= "\n\t" . '</div> ';
            return $output;
        }
        // **********************************************************************//
        // ! Accordion
        // **********************************************************************//
        function vc_theme_vc_accordion($atts, $content = null)
        {
            wp_enqueue_script('jquery-ui-accordion');
            $output = $title = $interval = $el_class = $collapsible = $active_tab = '';
            //
            extract(shortcode_atts(array('title' => '', 'interval' => 0, 'el_class' => '', 'collapsible' => 'no', 'active_tab' => '1'), $atts));
            $el_class = ' ' . $el_class . ' ';
            $css_class = apply_filters(VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, 'wpb_accordion wpb_content_element ' . $el_class . ' not-column-inherit');
            $output .= wpb_widget_title(array('title' => $title, 'extraclass' => 'wpb_accordion_heading'));
            $output .= "\n\t" . '<div class=" tabs accordion" data-active="' . $active_tab . '">';
            $output .= "\n\t\t\t" . wpb_js_remove_wpautop($content);
            $output .= "\n\t" . '</div> ';
            return $output;
        }
        function vc_theme_vc_accordion_tab($atts, $content = null)
        {
            global $tab_count;
            $output = $title = '';
            extract(shortcode_atts(array('title' => __("Section", "js_composer")), $atts));
            $tab_count++;
            $output .= "\n\t\t\t\t" . '<a href="#tab_' . $tab_count . '" id="tab_' . $tab_count . '" class="tab-title">' . $title . '</a>';
            $output .= "\n\t\t\t\t" . '<div id="content_tab_' . $tab_count . '" class="tab-content"><div class="tab-content-inner">';
            $output .= $content == '' || $content == ' ' ? __("Empty section. Edit page to add content here.", "js_composer") : "\n\t\t\t\t" . wpb_js_remove_wpautop($content);
            $output .= "\n\t\t\t\t" . '</div></div>';
            return $output;
        }
        // **********************************************************************//
        // ! Tabs
        // **********************************************************************//
        $tab_id_1 = time() . '-1-' . rand(0, 100);
        $tab_id_2 = time() . '-2-' . rand(0, 100);
        $setting_vc_tabs = array("name" => __("Tabs", "js_composer"), "show_settings_on_create" => true, "is_container" => true, "icon" => "icon-wpb-ui-tab-content", "category" => __('Content', 'js_composer'), "params" => array(array("type" => "textfield", "heading" => __("Widget title", "js_composer"), "param_name" => "title", "description" => __("What text use as a widget title. Leave blank if no title is needed.", "js_composer")), array("type" => "dropdown", "heading" => __("Tabs type", "js_composer"), "param_name" => "type", "value" => array(__("Default", "js_composer") => '', __("Products Tabs", "js_composer") => 'products-tabs', __("Accordion", "js_composer") => 'accordion', __("Left bar", "js_composer") => 'left-bar', __("Right bar", "js_composer") => 'right-bar')), array("type" => "textfield", "heading" => __("Extra class name", "js_composer"), "param_name" => "el_class", "description" => __("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "js_composer"))), "custom_markup" => '
	      <div class="wpb_tabs_holder wpb_holder vc_container_for_children">
	      <ul class="tabs_controls">
	      </ul>
	      %content%
	      </div>', 'default_content' => '
	      [vc_tab title="' . __('Tab 1', 'js_composer') . '" tab_id="' . $tab_id_1 . '"][/vc_tab]
	      [vc_tab title="' . __('Tab 2', 'js_composer') . '" tab_id="' . $tab_id_2 . '"][/vc_tab]
	      ');
        vc_map_update('vc_tabs', $setting_vc_tabs);
        // **********************************************************************//
        // ! Posts Slider
        // **********************************************************************//
        $setting_vc_posts_slider = array('params' => array(array("type" => "textfield", "heading" => __("Widget title", "js_composer"), "param_name" => "title", "description" => __("What text use as a widget title. Leave blank if no title is needed.", "js_composer")), array("type" => "textfield", "heading" => __("Slides count", "js_composer"), "param_name" => "count", "description" => __('How many slides to show? Enter number or word "All".', "js_composer")), array("type" => "posttypes", "heading" => __("Post types", "js_composer"), "param_name" => "posttypes", "description" => __("Select post types to populate posts from.", "js_composer")), array("type" => "dropdown", "heading" => __("Layout", "js_composer"), "param_name" => "layout", "value" => array(__("Horizontal", "js_composer") => "horizontal", __("Vertical", "js_composer") => "vertical")), array("type" => "textfield", "heading" => __("Number of items on desktop", ETHEME_DOMAIN), "param_name" => "desktop"), array("type" => "textfield", "heading" => __("Number of items on notebook", ETHEME_DOMAIN), "param_name" => "notebook"), array("type" => "textfield", "heading" => __("Number of items on tablet", ETHEME_DOMAIN), "param_name" => "tablet"), array("type" => "textfield", "heading" => __("Number of items on phones", ETHEME_DOMAIN), "param_name" => "phones"), array("type" => 'checkbox', "heading" => __("Output post date?", "js_composer"), "param_name" => "slides_date", "description" => __("If selected, date will be printed before the teaser text.", "js_composer"), "value" => array(__("Yes, please", "js_composer") => true)), array("type" => "dropdown", "heading" => __("Description", "js_composer"), "param_name" => "slides_content", "value" => array(__("No description", "js_composer") => "", __("Teaser (Excerpt)", "js_composer") => "teaser"), "description" => __("Some sliders support description text, what content use for it?", "js_composer"), "dependency" => array('element' => "type", 'value' => array('flexslider_fade', 'flexslider_slide'))), array("type" => 'checkbox', "heading" => __("Output post title?", "js_composer"), "param_name" => "slides_title", "description" => __("If selected, title will be printed before the teaser text.", "js_composer"), "value" => array(__("Yes, please", "js_composer") => true), "dependency" => array('element' => "slides_content", 'value' => array('teaser'))), array("type" => "dropdown", "heading" => __("Link", "js_composer"), "param_name" => "link", "value" => array(__("Link to post", "js_composer") => "link_post", __("Link to bigger image", "js_composer") => "link_image", __("Open custom link", "js_composer") => "custom_link", __("No link", "js_composer") => "link_no"), "description" => __("Link type.", "js_composer")), array("type" => "exploded_textarea", "heading" => __("Custom links", "js_composer"), "param_name" => "custom_links", "dependency" => array('element' => "link", 'value' => 'custom_link'), "description" => __('Enter links for each slide here. Divide links with linebreaks (Enter).', 'js_composer')), array("type" => "textfield", "heading" => __("Thumbnail size", "js_composer"), "param_name" => "thumb_size", "description" => __('Enter thumbnail size. Example: 200x100 (Width x Height).', "js_composer")), array("type" => "textfield", "heading" => __("Post/Page IDs", "js_composer"), "param_name" => "posts_in", "description" => __('Fill this field with page/posts IDs separated by commas (,), to retrieve only them. Use this in conjunction with "Post types" field.', "js_composer")), array("type" => "exploded_textarea", "heading" => __("Categories", "js_composer"), "param_name" => "categories", "description" => __("If you want to narrow output, enter category names here. Note: Only listed categories will be included. Divide categories with linebreaks (Enter).", "js_composer")), array("type" => "dropdown", "heading" => __("Order by", "js_composer"), "param_name" => "orderby", "value" => array("", __("Date", "js_composer") => "date", __("ID", "js_composer") => "ID", __("Author", "js_composer") => "author", __("Title", "js_composer") => "title", __("Modified", "js_composer") => "modified", __("Random", "js_composer") => "rand", __("Comment count", "js_composer") => "comment_count", __("Menu order", "js_composer") => "menu_order"), "description" => sprintf(__('Select how to sort retrieved posts. More at %s.', 'js_composer'), '<a href="http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters" target="_blank">WordPress codex page</a>')), array("type" => "dropdown", "heading" => __("Order by", "js_composer"), "param_name" => "order", "value" => array(__("Descending", "js_composer") => "DESC", __("Ascending", "js_composer") => "ASC"), "description" => sprintf(__('Designates the ascending or descending order. More at %s.', 'js_composer'), '<a href="http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters" target="_blank">WordPress codex page</a>')), array("type" => "textfield", "heading" => __("Extra class name", "js_composer"), "param_name" => "el_class", "description" => __("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "js_composer"))));
        vc_map_update('vc_posts_slider', $setting_vc_posts_slider);
        function vc_theme_vc_posts_slider($atts, $content = null)
        {
            $output = $title = $type = $count = $interval = $slides_content = $link = '';
            $custom_links = $thumb_size = $posttypes = $posts_in = $categories = '';
            $orderby = $order = $el_class = $link_image_start = '';
            extract(shortcode_atts(array('title' => '', 'type' => 'flexslider_fade', 'count' => 10, 'interval' => 3, 'layout' => 'vertical', 'slides_content' => '', 'slides_title' => '', 'link' => 'link_post', 'more_link' => 1, 'custom_links' => site_url() . '/', 'thumb_size' => '300x200', 'posttypes' => '', 'posts_in' => '', 'slides_date' => false, 'categories' => '', 'orderby' => NULL, 'order' => 'DESC', 'el_class' => '', 'desktop' => 3, 'notebook' => 3, 'tablet' => 2, 'phones' => 1), $atts));
            $gal_images = '';
            $link_start = '';
            $link_end = '';
            $el_start = '';
            $el_end = '';
            $slides_wrap_start = '';
            $slides_wrap_end = '';
            $el_class = ' ' . $el_class . ' ';
            $query_args = array();
            //exclude current post/page from query
            if ($posts_in == '') {
                global $post;
                $query_args['post__not_in'] = array($post->ID);
            } else {
                if ($posts_in != '') {
                    $query_args['post__in'] = explode(",", $posts_in);
                }
            }
            // Post teasers count
            if ($count != '' && !is_numeric($count)) {
                $count = -1;
            }
            if ($count != '' && is_numeric($count)) {
                $query_args['posts_per_page'] = $count;
            }
            // Post types
            $pt = array();
            if ($posttypes != '') {
                $posttypes = explode(",", $posttypes);
                foreach ($posttypes as $post_type) {
                    array_push($pt, $post_type);
                }
                $query_args['post_type'] = $pt;
            }
            // Narrow by categories
            if ($categories != '') {
                $categories = explode(",", $categories);
                $gc = array();
                foreach ($categories as $grid_cat) {
                    array_push($gc, $grid_cat);
                }
                $gc = implode(",", $gc);
                ////http://snipplr.com/view/17434/wordpress-get-category-slug/
                $query_args['category_name'] = $gc;
                $taxonomies = get_taxonomies('', 'object');
                $query_args['tax_query'] = array('relation' => 'OR');
                foreach ($taxonomies as $t) {
                    if (in_array($t->object_type[0], $pt)) {
                        $query_args['tax_query'][] = array('taxonomy' => $t->name, 'terms' => $categories, 'field' => 'slug');
                    }
                }
            }
            // Order posts
            if ($orderby != NULL) {
                $query_args['orderby'] = $orderby;
            }
            $query_args['order'] = $order;
            $thumb_size = explode('x', $thumb_size);
            $width = $thumb_size[0];
            $height = $thumb_size[1];
            $crop = true;
            $customItems = array('desktop' => $desktop, 'notebook' => $notebook, 'tablet' => $tablet, 'phones' => $phones);
            ob_start();
            etheme_create_posts_slider($query_args, $title, $more_link, $slides_date, $slides_content, $width, $height, $crop, $layout, $customItems, $el_class);
            $output = ob_get_contents();
            ob_end_clean();
            return $output;
        }
        // **********************************************************************//
        // ! Button
        // **********************************************************************//
        $setting_vc_button = array("params" => array(array("type" => "textfield", "heading" => __("Text on the button", "js_composer"), "holder" => "button", "class" => "wpb_button", "param_name" => "title", "value" => __("Text on the button", "js_composer"), "description" => __("Text on the button.", "js_composer")), array("type" => "textfield", "heading" => __("URL (Link)", "js_composer"), "param_name" => "href", "description" => __("Button link.", "js_composer")), array("type" => "dropdown", "heading" => __("Target", "js_composer"), "param_name" => "target", "value" => $target_arr, "dependency" => array('element' => "href", 'not_empty' => true)), array("type" => "dropdown", "heading" => __("Type", "js_composer"), "param_name" => "type", "value" => array('bordered', 'filled'), "description" => __("Button type.", "js_composer")), array('type' => 'icon', "heading" => __("Icon", ETHEME_DOMAIN), "param_name" => "icon"), array("type" => "dropdown", "heading" => __("Size", "js_composer"), "param_name" => "size", "value" => array('small', 'medium', 'big'), "description" => __("Button size.", "js_composer")), array("type" => "textfield", "heading" => __("Extra class name", "js_composer"), "param_name" => "el_class", "description" => __("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "js_composer"))));
        vc_map_update('vc_button', $setting_vc_button);
        function vc_theme_vc_button($atts, $content = null)
        {
            return etheme_btn_shortcode($atts, $content);
        }
        // **********************************************************************//
        // ! Call To Action
        // **********************************************************************//
        $setting_cta_button = array("params" => array(array("type" => "textarea_html", "heading" => __("Text", "js_composer"), "param_name" => "content", "value" => __("Click edit button to change this text.", "js_composer"), "description" => __("Enter your content.", "js_composer")), array("type" => "dropdown", "heading" => __("Block Style", "js_composer"), "param_name" => "style", "value" => array("" => "", __("Default", "js_composer") => "default", __("Full width", "js_composer") => "fullwidth", __("Filled", "js_composer") => "filled", __("Without Border", "js_composer") => "without-border", __("Dark", "js_composer") => "dark")), array("type" => "textfield", "heading" => __("Text on the button", "js_composer"), "param_name" => "title", "description" => __("Text on the button.", "js_composer")), array("type" => "textfield", "heading" => __("URL (Link)", "js_composer"), "param_name" => "href", "description" => __("Button link.", "js_composer")), array("type" => "dropdown", "heading" => __("Button position", "js_composer"), "param_name" => "position", "value" => array(__("Align right", "js_composer") => "right", __("Align left", "js_composer") => "left"), "description" => __("Select button alignment.", "js_composer"))));
        vc_map_update('vc_cta_button', $setting_cta_button);
        function vc_theme_vc_cta_button($atts, $content = null)
        {
            $output = $call_title = $href = $title = $call_text = $el_class = '';
            extract(shortcode_atts(array('href' => '', 'style' => '', 'title' => '', 'position' => 'right'), $atts));
            return do_shortcode('[callto btn_position="' . $position . '" btn="' . $title . '" style="' . $style . '" link="' . $href . '"]' . $content . '[/callto]');
        }
        // **********************************************************************//
        // ! Teaser grid
        // **********************************************************************//
        $setting_vc_posts_grid = array("params" => array(array("type" => "textfield", "heading" => __("Widget title", "js_composer"), "param_name" => "title", "description" => __("What text use as a widget title. Leave blank if no title is needed.", "js_composer")), array("type" => "dropdown", "heading" => __("Columns count", "js_composer"), "param_name" => "grid_columns_count", "value" => array(4, 3, 2, 1), "admin_label" => true, "description" => __("Select columns count.", "js_composer")), array("type" => "posttypes", "heading" => __("Post types", "js_composer"), "param_name" => "grid_posttypes", "description" => __("Select post types to populate posts from.", "js_composer")), array("type" => "textfield", "heading" => __("Teasers count", "js_composer"), "param_name" => "grid_teasers_count", "description" => __('How many teasers to show? Enter number or word "All".', "js_composer")), array("type" => "dropdown", "heading" => __("Pagination", "js_composer"), "param_name" => "pagination", "value" => array(__("Show Pagination", "js_composer") => "show", __("Hide", "js_composer") => "hide")), array("type" => "dropdown", "heading" => __("Content", "js_composer"), "param_name" => "grid_content", "value" => array(__("Teaser (Excerpt)", "js_composer") => "teaser", __("Full Content", "js_composer") => "content"), "description" => __("Teaser layout template.", "js_composer")), array("type" => "dropdown", "heading" => __("'Posted by' block", "js_composer"), "param_name" => "posted_block", "value" => array(__("Show", "js_composer") => "show", __("Hide", "js_composer") => "hide")), array("type" => "dropdown", "heading" => __("Hover mask", "js_composer"), "param_name" => "hover_mask", "value" => array(__("Show", "js_composer") => "show", __("Hide", "js_composer") => "hide")), array("type" => "dropdown", "heading" => __("Layout", "js_composer"), "param_name" => "grid_layout", "value" => array(__("Title + Thumbnail + Text", "js_composer") => "title_thumbnail_text", __("Thumbnail + Title + Text", "js_composer") => "thumbnail_title_text", __("Thumbnail + Text", "js_composer") => "thumbnail_text", __("Thumbnail + Title", "js_composer") => "thumbnail_title", __("Thumbnail only", "js_composer") => "thumbnail", __("Title + Text", "js_composer") => "title_text"), "description" => __("Teaser layout.", "js_composer")), array("type" => "dropdown", "heading" => __("Teaser grid layout", "js_composer"), "param_name" => "grid_template", "value" => array(__("Grid", "js_composer") => "grid", __("Grid with filter", "js_composer") => "filtered_grid"), "description" => __("Teaser layout template.", "js_composer")), array("type" => "taxonomies", "heading" => __("Taxonomies", "js_composer"), "param_name" => "grid_taxomonies", "dependency" => array('element' => 'grid_template', 'value' => array('filtered_grid'), 'callback' => 'wpb_grid_post_types_for_taxonomies_handler'), "description" => __("Select taxonomies from.", "js_composer")), array("type" => "textfield", "heading" => __("Thumbnail size", "js_composer"), "param_name" => "grid_thumb_size", "description" => __('Enter thumbnail size. Example: thumbnail, medium, large, full or other sizes defined by current theme. Alternatively enter image size in pixels: 200x100 (Width x Height).', "js_composer")), array("type" => "textfield", "heading" => __("Post/Page IDs", "js_composer"), "param_name" => "posts_in", "description" => __('Fill this field with page/posts IDs separated by commas (,) to retrieve only them. Use this in conjunction with "Post types" field.', "js_composer")), array("type" => "textfield", "heading" => __("Exclude Post/Page IDs", "js_composer"), "param_name" => "posts_not_in", "description" => __('Fill this field with page/posts IDs separated by commas (,) to exclude them from query.', "js_composer")), array("type" => "exploded_textarea", "heading" => __("Categories", "js_composer"), "param_name" => "grid_categories", "description" => __("If you want to narrow output, enter category names here. Note: Only listed categories will be included. Divide categories with linebreaks (Enter).", "js_composer")), array("type" => "dropdown", "heading" => __("Order by", "js_composer"), "param_name" => "orderby", "value" => array("", __("Date", "js_composer") => "date", __("ID", "js_composer") => "ID", __("Author", "js_composer") => "author", __("Title", "js_composer") => "title", __("Modified", "js_composer") => "modified", __("Random", "js_composer") => "rand", __("Comment count", "js_composer") => "comment_count", __("Menu order", "js_composer") => "menu_order"), "description" => sprintf(__('Select how to sort retrieved posts. More at %s.', 'js_composer'), '<a href="http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters" target="_blank">WordPress codex page</a>')), array("type" => "dropdown", "heading" => __("Order way", "js_composer"), "param_name" => "order", "value" => array(__("Descending", "js_composer") => "DESC", __("Ascending", "js_composer") => "ASC"), "description" => sprintf(__('Designates the ascending or descending order. More at %s.', 'js_composer'), '<a href="http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters" target="_blank">WordPress codex page</a>')), array("type" => "textfield", "heading" => __("Extra class name", "js_composer"), "param_name" => "el_class", "description" => __("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "js_composer"))));
        vc_map_update('vc_posts_grid', $setting_vc_posts_grid);
        function vc_theme_vc_posts_grid($atts, $content = null)
        {
            return etheme_teaser($atts, $content = null);
        }
        // **********************************************************************//
        // ! Progress bar
        // **********************************************************************//
        $setting_progress_bar = array("params" => array(array("type" => "exploded_textarea", "heading" => __("Graphic values", "js_composer"), "param_name" => "values", "description" => __('Input graph values here. Divide values with linebreaks (Enter). Example: 90|Development', 'js_composer'), "value" => "90|Development,80|Design,70|Marketing")));
        vc_map_update('vc_progress_bar', $setting_progress_bar);
        function vc_theme_vc_progress_bar($atts, $content = null)
        {
            $output = $title = '';
            extract(shortcode_atts(array('title' => '', 'values' => ''), $atts));
            $graph_lines = explode(",", $values);
            $output .= '<div class="progress-bars">';
            foreach ($graph_lines as $line) {
                $single_val = explode("|", $line);
                $output .= do_shortcode('[progress title="' . $single_val[1] . '" complete="' . $single_val[0] . '"]');
            }
            $output .= '</div>';
            return $output;
        }
        // **********************************************************************//
        // ! Video player
        // **********************************************************************//
        $setting_video = array("params" => array(array("type" => "textfield", "heading" => __("Widget title", "js_composer"), "param_name" => "title", "description" => __("Enter text which will be used as widget title. Leave blank if no title is needed.", "js_composer")), array("type" => "textfield", "heading" => __("Video link", "js_composer"), "param_name" => "link", "admin_label" => true, "description" => sprintf(__('Link to the video. More about supported formats at %s.', "js_composer"), '<a href="http://codex.wordpress.org/Embeds#Okay.2C_So_What_Sites_Can_I_Embed_From.3F" target="_blank">WordPress codex page</a>')), array("type" => "dropdown", "heading" => __("Open in popup", "js_composer"), "param_name" => "popup", "value" => array("", __("Yes", "js_composer") => "yes", __("No", "js_composer") => "no")), array('type' => 'attach_image', "heading" => __("Image placeholder", ETHEME_DOMAIN), "dependency" => array('element' => "popup", 'value' => array('yes')), "param_name" => "img"), array("type" => "textfield", "heading" => __("Image size", "js_composer"), "param_name" => "img_size", "dependency" => array('element' => "popup", 'value' => array('yes')), "description" => __("Enter image size. Example: thumbnail, medium, large, full or other sizes defined by current theme. Alternatively enter image size in pixels: 200x100 (Width x Height). Leave empty to use 'thumbnail' size.", "js_composer")), array("type" => "textfield", "heading" => __("Extra class name", "js_composer"), "param_name" => "el_class", "description" => __("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "js_composer")), array("type" => "css_editor", "heading" => __('Css', "js_composer"), "param_name" => "css", "group" => __('Design options', 'js_composer'))));
        vc_map_update('vc_video', $setting_video);
        function vc_theme_vc_video($atts)
        {
            $output = $title = $link = $size = $el_class = $img_src = '';
            extract(shortcode_atts(array('title' => '', 'link' => 'http://vimeo.com/23237102', 'size' => isset($content_width) ? $content_width : 500, 'popup' => 'no', 'img' => '', 'img_size' => '300x200', 'el_class' => '', 'css' => ''), $atts));
            if ($link == '') {
                return null;
            }
            $src = '';
            if ($popup == 'yes') {
                $img_size = explode('x', $img_size);
                $width = $img_size[0];
                $height = $img_size[1];
                if ($img != '') {
                    $src = etheme_get_image($img, $width, $height);
                } elseif ($img_src != '') {
                    $src = do_shortcode($img_src);
                }
                $text = __('Show video', ETHEME_DOMAIN);
                if ($src != '') {
                    $text = '<img src="' . $src . '">';
                }
            }
            $video_w = isset($content_width) ? $content_width : 500;
            $video_h = $video_w / 1.61;
            //1.61 golden ratio
            global $wp_embed;
            $embed = $wp_embed->run_shortcode('[embed width="' . $video_w . '"' . $video_h . ']' . $link . '[/embed]');
            $css_class = apply_filters(VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, 'wpb_video_widget wpb_content_element' . $el_class . $el_class . vc_shortcode_custom_css_class($css, ' '), 'vc_video');
            $rand = rand(1000, 9999);
            $css_class .= ' video-' . $rand;
            $output .= "\n\t" . '<div class="' . $css_class . '">';
            $output .= "\n\t\t" . '<div class="wpb_wrapper">';
            $output .= wpb_widget_title(array('title' => $title, 'extraclass' => 'wpb_video_heading'));
            if ($popup == 'yes') {
                $output .= '<a href="#" class="open-video-popup">' . $text . '</a>';
                $output .= "\n\t" . '<script type="text/javascript">';
                $output .= "\n\t\t" . 'jQuery(document).ready(function() {
						    jQuery(".video-' . $rand . ' .open-video-popup").magnificPopup({
							    items: [
							      {
							        src: "' . $link . '",
							        type: "iframe" 
							      },
							    ],
						    });
					    });';
                $output .= "\n\t" . '</script> ';
            } else {
                $output .= '<div class="wpb_video_wrapper">' . $embed . '</div>';
            }
            $output .= "\n\t\t" . '</div> ';
            $output .= "\n\t" . '</div> ';
            return $output;
        }
        // **********************************************************************//
        // ! Register New Element: Product categories
        // **********************************************************************//
        $brands_params = array('name' => 'Product categories', 'base' => 'etheme_product_categories', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array("type" => "textfield", "heading" => __("Title", ETHEME_DOMAIN), "param_name" => "title"), array("type" => "textfield", "heading" => __("Number of categories", ETHEME_DOMAIN), "param_name" => "number"), array("type" => "textfield", "heading" => __("Parent ID", ETHEME_DOMAIN), "param_name" => "parent", "description" => __('Get direct children of this term (only terms whose explicit parent is this value). If 0 is passed, only top-level terms are returned. Default is an empty string.', ETHEME_DOMAIN)), array("type" => "dropdown", "heading" => __("Display type", ETHEME_DOMAIN), "param_name" => "display_type", "value" => array(__("Grid", ETHEME_DOMAIN) => 'grid', __("Slider", ETHEME_DOMAIN) => 'slider', __("Menu", ETHEME_DOMAIN) => 'menu')), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class")));
        vc_map($brands_params);
        // **********************************************************************//
        // ! Register New Element: Brands
        // **********************************************************************//
        $brands_params = array('name' => 'Brands', 'base' => 'brands', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array("type" => "textfield", "heading" => __("Title", ETHEME_DOMAIN), "param_name" => "title"), array("type" => "dropdown", "heading" => __("Display type", ETHEME_DOMAIN), "param_name" => "display_type", "value" => array(__("Slider", ETHEME_DOMAIN) => 'slider', __("Grid", ETHEME_DOMAIN) => 'grid')), array("type" => "dropdown", "heading" => __("Number of columns", ETHEME_DOMAIN), "param_name" => "columns", "dependency" => array('element' => "display_type", 'value' => array('grid')), "value" => array('2' => 2, '3' => 3, '4' => 4, '5' => 5, '6' => 6)), array("type" => "textfield", "heading" => __("Number of brands", ETHEME_DOMAIN), "param_name" => "number"), array("type" => "dropdown", "heading" => __("Order by", "js_composer"), "param_name" => "orderby", "value" => array("", __("ID", "js_composer") => "id", __("Count", "js_composer") => "count", __("Name", "js_composer") => "name", __("Slug", "js_composer") => "slug")), array("type" => "dropdown", "heading" => __("Order way", "js_composer"), "param_name" => "order", "value" => array(__("Descending", "js_composer") => "DESC", __("Ascending", "js_composer") => "ASC"), "description" => sprintf(__('Designates the ascending or descending order. More at %s.', 'js_composer'), '<a href="http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters" target="_blank">WordPress codex page</a>')), array("type" => "textfield", "heading" => __("Parent ID", ETHEME_DOMAIN), "param_name" => "parent", "description" => __('Get direct children of this term (only terms whose explicit parent is this value). If 0 is passed, only top-level terms are returned. Default is an empty string.', ETHEME_DOMAIN)), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class")));
        vc_map($brands_params);
        // **********************************************************************//
        // ! Register New Element: Search Form
        // **********************************************************************//
        $search_params = array('name' => 'Mega Search Form', 'base' => 'etheme_search', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array("type" => "dropdown", "heading" => __("Search for products", "js_composer"), "param_name" => "products", "value" => array("", __("Yes", ETHEME_DOMAIN) => 1, __("No", ETHEME_DOMAIN) => 0)), array("type" => "dropdown", "heading" => __("Display images for products", ETHEME_DOMAIN), "param_name" => "images", "value" => array("", __("Yes", ETHEME_DOMAIN) => 1, __("No", ETHEME_DOMAIN) => 0)), array("type" => "dropdown", "heading" => __("Search for posts", "js_composer"), "param_name" => "posts", "value" => array("", __("Yes", ETHEME_DOMAIN) => 1, __("No", ETHEME_DOMAIN) => 0)), array("type" => "dropdown", "heading" => __("Search in portfolio", "js_composer"), "param_name" => "portfolio", "value" => array("", __("Yes", ETHEME_DOMAIN) => 1, __("No", ETHEME_DOMAIN) => 0)), array("type" => "dropdown", "heading" => __("Search for pages", "js_composer"), "param_name" => "pages", "value" => array("", __("Yes", ETHEME_DOMAIN) => 1, __("No", ETHEME_DOMAIN) => 0)), array("type" => "textfield", "heading" => __("Number of items from each section", ETHEME_DOMAIN), "param_name" => "count"), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class")));
        vc_map($search_params);
        // **********************************************************************//
        // ! Register New Element: Twitter Slider
        // **********************************************************************//
        $twitter_params = array('name' => 'Twitter Slider', 'base' => 'twitter_slider', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array("type" => "textfield", "heading" => __("Title", ETHEME_DOMAIN), "param_name" => "title"), array("type" => "textfield", "heading" => __("User account name", ETHEME_DOMAIN), "param_name" => "user"), array("type" => "textfield", "heading" => __("Consumer Key", ETHEME_DOMAIN), "param_name" => "consumer_key"), array("type" => "textfield", "heading" => __("Consumer Secret", ETHEME_DOMAIN), "param_name" => "consumer_secret"), array("type" => "textfield", "heading" => __("User Token", ETHEME_DOMAIN), "param_name" => "user_token"), array("type" => "textfield", "heading" => __("User Secret", ETHEME_DOMAIN), "param_name" => "user_secret"), array("type" => "textfield", "heading" => __("Limit", ETHEME_DOMAIN), "param_name" => "limit"), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class")));
        vc_map($twitter_params);
        // **********************************************************************//
        // ! Register New Element: Testimonials Widget
        // **********************************************************************//
        $testimonials_params = array('name' => 'Testimonials widget', 'base' => 'testimonials', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array("type" => "textfield", "heading" => __("Limit", ETHEME_DOMAIN), "param_name" => "limit", "description" => __('How many testimonials to show? Enter number.', ETHEME_DOMAIN)), array("type" => "dropdown", "heading" => __("Display type", "js_composer"), "param_name" => "type", "value" => array("", __("Slider", ETHEME_DOMAIN) => 'slider', __("Grid", ETHEME_DOMAIN) => 'grid')), array("type" => "textfield", "heading" => __("Interval", ETHEME_DOMAIN), "param_name" => "interval", "description" => __('Interval between slides. In milliseconds. Default: 10000', ETHEME_DOMAIN), "dependency" => array('element' => "type", 'value' => array('slider'))), array("type" => "dropdown", "heading" => __("Show Control Navigation", "js_composer"), "param_name" => "navigation", "dependency" => array('element' => "type", 'value' => array('slider')), "value" => array("", __("Hide", ETHEME_DOMAIN) => false, __("Show", ETHEME_DOMAIN) => true)), array("type" => "textfield", "heading" => __("Category", ETHEME_DOMAIN), "param_name" => "category", "description" => __('Display testimonials from category.', ETHEME_DOMAIN))));
        vc_map($testimonials_params);
        // **********************************************************************//
        // ! Register New Element: Recent Comments Widget
        // **********************************************************************//
        $recent_comments_params = array('name' => 'Recent comments widget', 'base' => 'et_recent_comments', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array('type' => 'textfield', "heading" => __("Widget title", ETHEME_DOMAIN), "param_name" => "title", "description" => __("What text use as a widget title. Leave blank if no title is needed.", ETHEME_DOMAIN)), array("type" => "textfield", "heading" => __("Limit", ETHEME_DOMAIN), "param_name" => "number", "description" => __('How many testimonials to show? Enter number.', ETHEME_DOMAIN))));
        vc_map($recent_comments_params);
        // **********************************************************************//
        // ! Register New Element: Recent Posts Widget
        // **********************************************************************//
        $recent_posts_params = array('name' => 'Recent posts widget', 'base' => 'et_recent_posts_widget', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array('type' => 'textfield', "heading" => __("Widget title", ETHEME_DOMAIN), "param_name" => "title", "description" => __("What text use as a widget title. Leave blank if no title is needed.", ETHEME_DOMAIN)), array("type" => "dropdown", "heading" => __("Enable slider", "js_composer"), "param_name" => "slider", "value" => array("", __("Enable", ETHEME_DOMAIN) => 1, __("Disable", ETHEME_DOMAIN) => 0)), array("type" => "textfield", "heading" => __("Limit", ETHEME_DOMAIN), "param_name" => "number", "description" => __('How many testimonials to show? Enter number.', ETHEME_DOMAIN))));
        vc_map($recent_posts_params);
        // **********************************************************************//
        // ! Register New Element: Team Member
        // **********************************************************************//
        $team_member_params = array('name' => 'Team member', 'base' => 'team_member', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array('type' => 'textfield', "heading" => __("Member name", ETHEME_DOMAIN), "param_name" => "name"), array('type' => 'textfield', "heading" => __("Member email", ETHEME_DOMAIN), "param_name" => "email"), array('type' => 'textfield', "heading" => __("Position", ETHEME_DOMAIN), "param_name" => "position"), array('type' => 'attach_image', "heading" => __("Avatar", ETHEME_DOMAIN), "param_name" => "img"), array("type" => "textfield", "heading" => __("Image size", "js_composer"), "param_name" => "img_size", "description" => __("Enter image size. Example in pixels: 200x100 (Width x Height).", "js_composer")), array("type" => "textarea_html", "holder" => "div", "heading" => __("Member information", "js_composer"), "param_name" => "content", "value" => __("Member description", "js_composer")), array("type" => "dropdown", "heading" => __("Display Type", "js_composer"), "param_name" => "type", "value" => array("", __("Vertical", ETHEME_DOMAIN) => 1, __("Horizontal", ETHEME_DOMAIN) => 2)), array('type' => 'textfield', "heading" => __("Twitter link", ETHEME_DOMAIN), "param_name" => "twitter"), array('type' => 'textfield', "heading" => __("Facebook link", ETHEME_DOMAIN), "param_name" => "facebook"), array('type' => 'textfield', "heading" => __("Linkedin", ETHEME_DOMAIN), "param_name" => "linkedin"), array('type' => 'textfield', "heading" => __("Skype name", ETHEME_DOMAIN), "param_name" => "skype"), array('type' => 'textfield', "heading" => __("Instagram", ETHEME_DOMAIN), "param_name" => "instagram"), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class", "description" => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', ETHEME_DOMAIN))));
        vc_map($team_member_params);
        // **********************************************************************//
        // ! Register New Element: Icon
        // **********************************************************************//
        $icon_params = array('name' => 'Awesome Icon', 'base' => 'icon', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array('type' => 'icon', "heading" => __("Icon", ETHEME_DOMAIN), "param_name" => "name"), array('type' => 'textfield', "heading" => __("Size", ETHEME_DOMAIN), "param_name" => "size", "description" => __('For example: 64', ETHEME_DOMAIN)), array('type' => 'colorpicker', "heading" => __("Color", ETHEME_DOMAIN), "param_name" => "color"), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class", "description" => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', ETHEME_DOMAIN))));
        //vc_map($icon_params);
        // **********************************************************************//
        // ! Register New Element: Icon Box
        // **********************************************************************//
        $icon_box_params = array('name' => 'Icon Box', 'base' => 'icon_box', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array('type' => 'textfield', "heading" => __("Box title", ETHEME_DOMAIN), "param_name" => "title"), array('type' => 'icon', "heading" => __("Icon", ETHEME_DOMAIN), "param_name" => "icon"), array('type' => 'colorpicker', "heading" => __("Icon Color", ETHEME_DOMAIN), "param_name" => "color"), array('type' => 'colorpicker', "heading" => __("Background Color", ETHEME_DOMAIN), "param_name" => "bg_color"), array('type' => 'colorpicker', "heading" => __("Icon Color [HOVER]", ETHEME_DOMAIN), "param_name" => "color_hover"), array('type' => 'colorpicker', "heading" => __("Background Color [HOVER]", ETHEME_DOMAIN), "param_name" => "bg_color_hover"), array("type" => "textarea_html", 'admin_label' => true, "heading" => __("Text", "js_composer"), "param_name" => "content", "value" => __("Click edit button to change this text.", "js_composer"), "description" => __("Enter your content.", "js_composer")), array("type" => "dropdown", "heading" => __("Icon Position", "js_composer"), "param_name" => "icon_position", "value" => array("", __("Top", ETHEME_DOMAIN) => 'top', __("Left", ETHEME_DOMAIN) => 'left')), array("type" => "dropdown", "heading" => __("Icon Style", "js_composer"), "param_name" => "icon_style", "value" => array(__("Encircled", ETHEME_DOMAIN) => 'encircled', __("Small", ETHEME_DOMAIN) => 'small', __("Large", ETHEME_DOMAIN) => 'large')), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class", "description" => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', ETHEME_DOMAIN))));
        //vc_map($icon_box_params);
        // **********************************************************************//
        // ! Register New Element: Banner with mask
        // **********************************************************************//
        $banner_params = array('name' => 'Banner', 'base' => 'banner', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array('type' => 'attach_image', "heading" => __("Banner Image", ETHEME_DOMAIN), "param_name" => "img"), array("type" => "textfield", "heading" => __("Banner size", "js_composer"), "param_name" => "img_size", "description" => __("Enter image size. Example in pixels: 200x100 (Width x Height).", "js_composer")), array("type" => "textfield", "heading" => __("Link", "js_composer"), "param_name" => "link"), array("type" => "textarea_html", "holder" => "div", "heading" => "Banner Mask Text", "param_name" => "content", "value" => "Some promo text"), array("type" => "dropdown", "heading" => __("Horizontal align", ETHEME_DOMAIN), "param_name" => "align", "value" => array("", __("Left", ETHEME_DOMAIN) => "left", __("Center", ETHEME_DOMAIN) => "center", __("Right", ETHEME_DOMAIN) => "right")), array("type" => "dropdown", "heading" => __("Vertical align", ETHEME_DOMAIN), "param_name" => "valign", "value" => array(__("Top", ETHEME_DOMAIN) => "top", __("Middle", ETHEME_DOMAIN) => "middle", __("Bottom", ETHEME_DOMAIN) => "bottom")), array("type" => "dropdown", "heading" => __("Hover effect", ETHEME_DOMAIN), "param_name" => "hover", "value" => array("", __("zoom", ETHEME_DOMAIN) => "zoom", __("fade", ETHEME_DOMAIN) => "fade")), array("type" => 'checkbox', "heading" => __("Responsive fonts", ETHEME_DOMAIN), "param_name" => "responsive_zoom", "value" => array(__("Yes, please", "js_composer") => 'yes')), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class", "description" => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', ETHEME_DOMAIN))));
        vc_map($banner_params);
        // **********************************************************************//
        // ! Register New Element:Pricing Table
        // **********************************************************************//
        $demoTable = "\n\t" . '<ul>';
        $demoTable .= "\n\t\t" . '<li class="row-title">Free</li>';
        $demoTable .= "\n\t\t" . '<li class="row-price"><sup class="currency">$</sup>19<sup>00</sup><sub>per month</sub></li>';
        $demoTable .= "\n\t\t" . '<li>512 mb</li>';
        $demoTable .= "\n\t\t" . '<li>0.6 GHz</li>';
        $demoTable .= "\n\t\t" . '<li>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</li>';
        $demoTable .= "\n\t\t" . '<li><a href="#" class="button">Add to Cart</a></li>';
        $demoTable .= "\n\t" . '</ul>';
        $ptable_params = array('name' => 'Pricing Table', 'base' => 'ptable', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array("type" => "textarea_html", "holder" => "div", "heading" => "Table", "param_name" => "content", "value" => $demoTable), array("type" => "dropdown", "heading" => __("Style", ETHEME_DOMAIN), "param_name" => "style", "value" => array("", __("default", ETHEME_DOMAIN) => "default", __("Style 2", ETHEME_DOMAIN) => "style2")), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class", "description" => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', ETHEME_DOMAIN))));
        vc_map($ptable_params);
        // **********************************************************************//
        // ! Register New Element: Single post
        // **********************************************************************//
        $fpost_params = array('name' => 'Single blog post', 'base' => 'single_post', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array("type" => "textfield", "heading" => __("Title", ETHEME_DOMAIN), "param_name" => "title"), array("type" => "textfield", "heading" => __("Post ID", ETHEME_DOMAIN), "param_name" => "id"), array("type" => "dropdown", "heading" => __("Show more posts link", ETHEME_DOMAIN), "param_name" => "more_posts", "value" => array("", __("Show", ETHEME_DOMAIN) => 1, __("Hide", ETHEME_DOMAIN) => 0)), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class", "description" => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', ETHEME_DOMAIN))));
        //vc_map($fpost_params);
        // **********************************************************************//
        // ! Register New Element: Teaser Box
        // **********************************************************************//
        $teaser_box_params = array('name' => 'Teaser Box', 'base' => 'teaser_box', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array("type" => "textfield", "heading" => __("Title", ETHEME_DOMAIN), "param_name" => "title"), array('type' => 'attach_image', "heading" => __("Image", ETHEME_DOMAIN), "param_name" => "img"), array("type" => "textfield", "heading" => __("Image size", "js_composer"), "param_name" => "img_size", "description" => __("Enter image size. Example in pixels: 200x100 (Width x Height).", "js_composer")), array("type" => "textarea_html", 'admin_label' => true, "heading" => __("Text", "js_composer"), "param_name" => "content", "value" => __("Click edit button to change this text.", "js_composer"), "description" => __("Enter your content.", "js_composer")), array("type" => "dropdown", "heading" => __("Style", ETHEME_DOMAIN), "param_name" => "style", "value" => array(__("Default", ETHEME_DOMAIN) => 'default', __("Bordered", ETHEME_DOMAIN) => 'bordered')), array("type" => "textfield", "heading" => __("Extra Class", ETHEME_DOMAIN), "param_name" => "class", "description" => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', ETHEME_DOMAIN))));
        vc_map($teaser_box_params);
        // **********************************************************************//
        // ! Register New Element: Products
        // **********************************************************************//
        $static_blocks = array('--choose--' => '');
        foreach (et_get_static_blocks() as $value) {
            $static_blocks[$value['label']] = $value['value'];
        }
        $fpost_params = array('name' => 'Products', 'base' => 'etheme_products', 'icon' => 'icon-wpb-etheme', 'category' => 'Eight Theme', 'params' => array(array("type" => "textfield", "heading" => __("Title", ETHEME_DOMAIN), "param_name" => "title"), array("type" => "textfield", "heading" => __("IDs", ETHEME_DOMAIN), "param_name" => "ids"), array("type" => "textfield", "heading" => __("SKUs", ETHEME_DOMAIN), "param_name" => "skus"), array("type" => "dropdown", "heading" => __("Hover effect", ETHEME_DOMAIN), "param_name" => "product_img_hover", "value" => array(__("", ETHEME_DOMAIN) => '', __("Disable", ETHEME_DOMAIN) => 'disable', __("Swap", ETHEME_DOMAIN) => 'swap', __("Images Slider", ETHEME_DOMAIN) => 'slider', __("Mask with information", ETHEME_DOMAIN) => 'mask')), array("type" => "dropdown", "heading" => __("Display Type", ETHEME_DOMAIN), "param_name" => "type", "value" => array(__("Slider", ETHEME_DOMAIN) => 'slider', __("Slider full width (LOOK BOOK)", ETHEME_DOMAIN) => 'full-width', __("Grid", ETHEME_DOMAIN) => 'grid', __("List", ETHEME_DOMAIN) => 'list')), array("type" => "dropdown", "dependency" => array('element' => "type", 'value' => array('full-width')), "heading" => __("Static block for the first slide of the LOOK BOOK", ETHEME_DOMAIN), "param_name" => "block_id", "value" => $static_blocks), array("type" => "textfield", "heading" => __("Columns", ETHEME_DOMAIN), "param_name" => "columns", "dependency" => array('element' => "type", 'value' => array('grid'))), array("type" => "dropdown", "heading" => __("Product view", ETHEME_DOMAIN), "param_name" => "style", "dependency" => array('element' => "type", 'value' => array('slider')), "value" => array(__("Default", ETHEME_DOMAIN) => 'default', __("Advanced", ETHEME_DOMAIN) => 'advanced')), array("type" => "textfield", "heading" => __("Number of items on desktop", ETHEME_DOMAIN), "param_name" => "desktop", "dependency" => array('element' => "type", 'value' => array('slider'))), array("type" => "textfield", "heading" => __("Number of items on notebook", ETHEME_DOMAIN), "param_name" => "notebook", "dependency" => array('element' => "type", 'value' => array('slider'))), array("type" => "textfield", "heading" => __("Number of items on tablet", ETHEME_DOMAIN), "param_name" => "tablet", "dependency" => array('element' => "type", 'value' => array('slider'))), array("type" => "textfield", "heading" => __("Number of items on phones", ETHEME_DOMAIN), "param_name" => "phones", "dependency" => array('element' => "type", 'value' => array('slider'))), array("type" => "dropdown", "heading" => __("Products type", ETHEME_DOMAIN), "param_name" => "products", "value" => array(__("All", ETHEME_DOMAIN) => '', __("Featured", ETHEME_DOMAIN) => 'featured', __("New", ETHEME_DOMAIN) => 'new', __("Sale", ETHEME_DOMAIN) => 'sale', __("Recently viewed", ETHEME_DOMAIN) => 'recently_viewed', __("Bestsellings", ETHEME_DOMAIN) => 'bestsellings')), array("type" => "textfield", "heading" => __("Limit", ETHEME_DOMAIN), "param_name" => "limit"), array("type" => "textfield", "heading" => __("Categories IDs", ETHEME_DOMAIN), "param_name" => "categories")));
        vc_map($fpost_params);
    }
<?php

/*
*
* Seperator
*
*/
vc_map_update('vc_separator', array('category' => array(__('Content', 'rt_theme_admin'), __('Theme Addons', 'rt_theme_admin'))));
//remove vc_row params
rt_vc_remove_param('vc_separator', array('color', 'el_width', 'el_class', 'style', 'accent_color', 'border_width', 'align'));
vc_add_param('vc_separator', array('param_name' => 'style', 'heading' => __('Style', 'rt_theme_admin'), 'description' => __('Select a style', 'rt_theme_admin'), 'type' => 'dropdown', "value" => array(__("Style One - Three Circle", "rt_theme_admin") => "style-1", __("Style Two - Small Left Aligned Line", "rt_theme_admin") => "style-2", __("Style Three - With Down Arrow", "rt_theme_admin") => "style-3", __("Style Four - Classic One Line", "rt_theme_admin") => "style-4", __("Style Five - Double Line", "rt_theme_admin") => "style-5", __("Style Six - Small Center Aligned Line", "rt_theme_admin") => "style-6"), 'save_always' => true));
vc_add_param('vc_separator', array('param_name' => 'margin_top', 'heading' => __('Margin Top', 'rt_theme_admin'), 'description' => __('Set margin top value (px) Default is 40px', 'rt_theme_admin'), 'type' => 'rt_number'));
vc_add_param('vc_separator', array('param_name' => 'margin_bottom', 'heading' => __('Margin Bottom', 'rt_theme_admin'), 'description' => __('Set margin bottom value (px) Default is 40px', 'rt_theme_admin'), 'type' => 'rt_number'));
vc_add_param('vc_separator', array('param_name' => 'id', 'heading' => __('ID', 'rt_theme_admin'), 'description' => __('Unique ID', 'rt_theme_admin'), 'type' => 'textfield', 'value' => ''));
vc_add_param('vc_separator', array('param_name' => 'class', 'heading' => __('Class', 'rt_theme_admin'), 'description' => __('CSS Class Name', 'rt_theme_admin'), 'type' => 'textfield'));
$settings = array('weight' => '99');
vc_map_update('vc_column_text', $settings);
$attributes = array('type' => 'textfield', 'heading' => __("Font size ( optional )", 'thefoxwp'), 'param_name' => 'font_size', 'value' => '', 'description' => __("Enter font size ( e.g 18 ) | Leave Blank to use default font size", 'thefoxwp'));
vc_add_param('vc_column_text', $attributes);
$attributes = array('type' => 'textfield', 'heading' => __("Line height ( optional )", 'thefoxwp'), 'param_name' => 'line_height', 'value' => '', 'description' => __("Enter Line height ( e.g 30 ) | Leave Blank to use default Line height", 'thefoxwp'));
vc_add_param('vc_column_text', $attributes);
$attributes = array("type" => "dropdown", "class" => "", "heading" => __("CSS Animation", 'thefoxwp'), "param_name" => "animation", 'value' => array(__("No", 'thefoxwp') => "", __("Fade In", 'thefoxwp') => "rda_fadeIn", __("Fade Top to Bottom", 'thefoxwp') => "rda_fadeInDown", __("Fade Bottom to Top", 'thefoxwp') => "rda_fadeInUp", __("Fade Left to Right", 'thefoxwp') => "rda_fadeInLeft", __("Fade Right to Left", 'thefoxwp') => "rda_fadeInRight", __("Bounce In", 'thefoxwp') => "rda_bounceIn", __("Bounce Top to Bottom", 'thefoxwp') => "rda_bounceInDown", __("Bounce Bottom to Top", 'thefoxwp') => "rda_bounceInUp", __("Bounce Left to Right", 'thefoxwp') => "rda_bounceInLeft", __("Bounce Right to Left", 'thefoxwp') => "rda_bounceInRight", __("Zoom In", 'thefoxwp') => "rda_zoomIn", __("Flip Vertical", 'thefoxwp') => "rda_flipInX", __("Flip Horizontal", 'thefoxwp') => "rda_flipInY", __("Bounce", 'thefoxwp') => "rda_bounce", __("Flash", 'thefoxwp') => "rda_flash", __("Shake", 'thefoxwp') => "rda_shake", __("Pulse", 'thefoxwp') => "rda_pulse", __("Swing", 'thefoxwp') => "rda_swing", __("Rubber band", 'thefoxwp') => "rda_rubberBand", __("Wobble", 'thefoxwp') => "rda_wobble", __("Tada!", 'thefoxwp') => 'rda_tada'), "description" => __("Select type of animation if you want this element to be animated when it enters into the browsers viewport. Note: Works only in modern browsers.", 'thefoxwp'));
vc_add_param('vc_column_text', $attributes);
///////////////////////////////////////////////////////////////////////////////////////
//////                                                                           /////
/////                       SINGLE IMAGE module modifications                   /////
////                                                                           /////
///////////////////////////////////////////////////////////////////////////////////
vc_remove_param("vc_single_image", "css_animation");
$settings = array('weight' => '93');
vc_map_update('vc_single_image', $settings);
$attributes = array("type" => "dropdown", "class" => "", "heading" => __("Hover effect", 'thefoxwp'), "param_name" => "hover_effect", 'value' => array("No" => "", "Zoom Icon (if Image has link or prettyphoto)" => "img_zoom_effect", "Play Icon (if Image has link or prettyphoto)" => "img_play_effect", "Reduce Opacity" => "img_reduce_opacity", "Remove Opacity" => "img_remove_opacity", "Add Color" => "img_add_color", "Remove Color" => "img_remove_color", "Show Title on Hover" => "img_hover_title"), "description" => __("Select the effect on hover", 'thefoxwp'));
vc_add_param('vc_single_image', $attributes);
$attributes = array("type" => "dropdown", "class" => "", "heading" => __("CSS Animation", 'thefoxwp'), "param_name" => "animation", 'value' => array(__("No", 'thefoxwp') => "", __("Fade In", 'thefoxwp') => "rda_fadeIn", __("Fade Top to Bottom", 'thefoxwp') => "rda_fadeInDown", __("Fade Bottom to Top", 'thefoxwp') => "rda_fadeInUp", __("Fade Left to Right", 'thefoxwp') => "rda_fadeInLeft", __("Fade Right to Left", 'thefoxwp') => "rda_fadeInRight", __("Bounce In", 'thefoxwp') => "rda_bounceIn", __("Bounce Top to Bottom", 'thefoxwp') => "rda_bounceInDown", __("Bounce Bottom to Top", 'thefoxwp') => "rda_bounceInUp", __("Bounce Left to Right", 'thefoxwp') => "rda_bounceInLeft", __("Bounce Right to Left", 'thefoxwp') => "rda_bounceInRight", __("Zoom In", 'thefoxwp') => "rda_zoomIn", __("Flip Vertical", 'thefoxwp') => "rda_flipInX", __("Flip Horizontal", 'thefoxwp') => "rda_flipInY", __("Bounce", 'thefoxwp') => "rda_bounce", __("Flash", 'thefoxwp') => "rda_flash", __("Shake", 'thefoxwp') => "rda_shake", __("Pulse", 'thefoxwp') => "rda_pulse", __("Swing", 'thefoxwp') => "rda_swing", __("Rubber band", 'thefoxwp') => "rda_rubberBand", __("Wobble", 'thefoxwp') => "rda_wobble", __("Tada!", 'thefoxwp') => 'rda_tada'), "description" => __("Select type of animation if you want this element to be animated when it enters into the browsers viewport. Note: Works only in modern browsers.", 'thefoxwp'));
vc_add_param('vc_single_image', $attributes);
///////////////////////////////////////////////////////////////////////////////////////
//////                                                                           /////
/////                            TABS module modifications                      /////
////                                                                           /////
///////////////////////////////////////////////////////////////////////////////////
$attributes = array('type' => 'dropdown', 'heading' => __("Tabs style", 'thefoxwp'), 'param_name' => 'type', 'value' => array(__("Select Tab style", 'thefoxwp') => "", __("Type 1", 'thefoxwp') => "rd_tab_1", __("Type 2", 'thefoxwp') => "rd_tab_2", __("Type 3", 'thefoxwp') => "rd_tab_3", __("Type 4", 'thefoxwp') => 'rd_tab_4'), 'description' => __("Select the Tabs type", 'thefoxwp'));
vc_add_param('vc_tabs', $attributes);
$attributes = array('type' => 'dropdown', 'heading' => __("Tabs color", 'thefoxwp'), 'param_name' => 'color', 'value' => array(__("Theme color", 'thefoxwp') => "", __("Dark", 'thefoxwp') => 'rd_dark_tabs'), 'description' => __("Select the Tabs color", 'thefoxwp'));
vc_add_param('vc_tabs', $attributes);
$attributes = array('type' => 'textfield', 'heading' => __("Margin top", 'thefoxwp'), 'param_name' => 'mt', 'value' => '0', 'description' => __("Enter the margin top for the tabs ( e.g 30 )", 'thefoxwp'));
vc_add_param('vc_tabs', $attributes);
 function df_vc_update_existing_shortcodes()
 {
     /* ======================================================================= */
     /* 1. Vc_row                                                               */
     /* ======================================================================= */
     $device_visibility = array("All" => '', "Hidden on Phones" => "hidden-sm", "Hidden on Tablets" => "hidden-tl", "Hidden on Desktops" => "hidden-dt", "Visible on Phones" => "visible-sm", "Visible on Tablets" => "visible-tl", "Visible on Desktops" => "visible-dt");
     vc_map_update('vc_row', array('description' => __('Place and structure your shortcodes inside of a row', 'dahztheme')));
     // vc_remove_param( 'vc_row', 'bg_color' );
     // vc_remove_param( 'vc_row', 'font_color' );
     // vc_remove_param( 'vc_row', 'padding' );
     // vc_remove_param( 'vc_row', 'margin_bottom' );
     // vc_remove_param( 'vc_row', 'bg_image' );
     // vc_remove_param( 'vc_row', 'bg_image_repeat' );
     vc_remove_param('vc_row', 'el_class');
     vc_remove_param('vc_row', 'css');
     vc_add_param("vc_row", array("type" => "textfield", "heading" => __("Anchor"), "param_name" => "anchor"));
     vc_add_param("vc_row", array("type" => "textfield", "heading" => __("Minimum height", "dahztheme"), "param_name" => "min_height", "description" => __("You can use pixels (px) or percents (%).", "dahztheme")));
     vc_add_param('vc_row', array("type" => "dropdown", "class" => "", "heading" => __("Row Style", "dahztheme"), "admin_label" => true, "param_name" => "type", "group" => "Options", "value" => array("No" => "", "Yes" => "yes")));
     vc_add_param('vc_row', array("type" => "dropdown", "heading" => __('Content Type', 'dahztheme'), "param_name" => "content_type", "description" => __("Select Content Type", "dahztheme"), "group" => "Options", "value" => array('In Container' => 'in_container', 'Full Width Content' => 'full_width_content'), "dependency" => array("element" => "type", "not_empty" => true)));
     vc_add_param('vc_row', array("type" => "colorpicker", "heading" => __('Font Color', 'dahztheme'), "param_name" => "font_color", "description" => __("Select font color", "dahztheme")));
     vc_add_param('vc_row', array("type" => "colorpicker", "class" => "", "heading" => __("Background Color", "dahztheme"), "param_name" => "bg_color", "group" => "Options", "value" => "", "dependency" => array("element" => "type", "not_empty" => true)));
     vc_add_param('vc_row', array("type" => "attach_image", "heading" => __("Background Image", "dahztheme"), "param_name" => "bg_image", "group" => "Options", "description" => __("Select image from media library", "dahztheme"), "dependency" => array("element" => "type", "not_empty" => true)));
     vc_add_param('vc_row', array("type" => "dropdown", "class" => "", "heading" => __("Background Position", "dahztheme"), "param_name" => "bg_image_position", "group" => "Options", "value" => array("Top" => "top", "Middle" => "center", "Bottom" => "bottom"), "dependency" => array("element" => "type", "not_empty" => true)));
     vc_add_param('vc_row', array("type" => "dropdown", "class" => "", "heading" => __("Background Repeat", "dahztheme"), "param_name" => "bg_image_repeat", "group" => "Options", "value" => array("No repeat" => "no-repeat", "Repeat (horizontally & vertically)" => "repeat", "Repeat horizontally" => "repeat-x", "Repeat vertically" => "repeat-y", "Inherit" => "inherit"), "dependency" => array("element" => "type", "not_empty" => true)));
     vc_add_param('vc_row', array("type" => "dropdown", "class" => "", "heading" => __("Background Size", "dahztheme"), "param_name" => "bg_image_cover", "group" => "Options", "value" => array("Auto" => "auto", "Cover" => "cover", "Contain" => "contain"), "dependency" => array("element" => "type", "not_empty" => true)));
     vc_add_param('vc_row', array("type" => "dropdown", "class" => "", "heading" => __("Fixed Background", "dahztheme"), "param_name" => "bg_image_attachment", "group" => "Options", "value" => array("Disabled" => "false", "Enabled" => "true"), "dependency" => array("element" => "type", "not_empty" => true)));
     vc_add_param('vc_row', array("type" => "textfield", "class" => "", "heading" => __("Top Padding", "dahztheme"), "param_name" => "padding_top", "group" => "Options", "value" => "40", "description" => __("In pixels.", "dahztheme"), "dependency" => array("element" => "type", "not_empty" => true)));
     vc_add_param('vc_row', array("type" => "textfield", "class" => "", "heading" => __("Bottom Padding", "dahztheme"), "param_name" => "padding_bottom", "group" => "Options", "value" => "40", "description" => __("In pixels.", "dahztheme"), "dependency" => array("element" => "type", "not_empty" => true)));
     vc_add_param('vc_row', array("type" => "textfield", "class" => "", "heading" => __("Top Margin", "dahztheme"), "param_name" => "margin_top", "group" => "Options", "value" => "20", "description" => __("In pixels; negative values are allowed.", "dahztheme")));
     vc_add_param('vc_row', array("type" => "textfield", "class" => "", "heading" => __("Bottom Margin", "dahztheme"), "param_name" => "margin_bottom", "group" => "Options", "value" => "20", "description" => __("In pixels; negative values are allowed.", "dahztheme")));
     vc_add_param("vc_row", array("type" => "dropdown", "heading" => __("Visibility For devices", "dahztheme"), "param_name" => "visibility", "group" => "Options", "value" => $device_visibility, "description" => __("You can make this element visible for a device range or make it hidden for a device.", "dahztheme"), "dependency" => array("element" => "type", "not_empty" => true)));
     // parallax speed
     vc_add_param('vc_row', array("type" => "checkbox", "class" => "", "heading" => __("Enable Parallax", "dahztheme"), "param_name" => "enable_parallax", "value" => array("" => "false")));
     vc_add_param("vc_row", array("type" => "textfield", "class" => "", "heading" => __("Parallax speed", "dahztheme"), "param_name" => "parallax_speed", "value" => "0.5"));
     // video background
     vc_add_param("vc_row", array("type" => "textfield", "class" => "", "group" => "Options", "heading" => __("Video background (mp4)", 'dahztheme'), "param_name" => "bg_video_mp4", "value" => "", "dependency" => array("element" => "type", "not_empty" => true)));
     vc_add_param("vc_row", array("type" => "textfield", "class" => "", "group" => "Options", "heading" => __("Video background (ogv)", 'dahztheme'), "param_name" => "bg_video_ogv", "value" => "", "dependency" => array("element" => "type", "not_empty" => true)));
     vc_add_param("vc_row", array("type" => "textfield", "class" => "", "group" => "Options", "heading" => __("Video background (webm)", 'dahztheme'), "param_name" => "bg_video_webm", "value" => "", "dependency" => array("element" => "type", "not_empty" => true)));
     /* ======================================================================= */
     /* 2. vc_pie                                                               */
     /* ======================================================================= */
     vc_map_update('vc_pie', array('description' => __('Animated pie chart', 'dahztheme')));
     vc_remove_param('vc_pie', 'el_class');
     // Pie chart style
     vc_add_param('vc_pie', array('type' => 'dropdown', 'class' => '', 'heading' => __('Pie Chart Style', 'dahztheme'), 'param_name' => 'style_pie', 'value' => array(__("Thin", "dahztheme") => "thin", __("Normal", "dahztheme") => "normal", __("Thick", "dahztheme") => "thick"), 'description' => __('Please choose the style for your pie chart', 'dahztheme')));
     // pie chart color
     // vc_add_param( 'vc_pie', array(
     //     'type'               => 'dropdown',
     //     'heading'            => __( 'Bar color', 'dahztheme' ),
     //     'param_name'         => 'color',
     //     'value'              => $colors_arr, //$pie_colors,
     //     'description'        => __( 'Select pie chart color.', 'dahztheme' ),
     //     'admin_label'        => true,
     //     'param_holder_class' => 'vc_colored-dropdown'
     // ));
     // pie chart extra class
     vc_add_param('vc_pie', array('type' => 'textfield', 'heading' => __('Extra class name', 'dahztheme'), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'dahztheme')));
     /* ======================================================================= */
     /* 3. vc_progress_bar                                                      */
     /* ======================================================================= */
     vc_map_update('vc_progress_bar', array('description' => __('Animated progress bar', 'dahztheme')));
     vc_remove_param('vc_progress_bar', 'el_class');
     // progress bar style
     vc_add_param('vc_progress_bar', array("type" => "dropdown", "class" => "", "heading" => __("Progress Bar Style", "dahztheme"), "param_name" => "bar_style", "value" => array(__("Flat", "dahztheme") => "flat", __("Normal", "dahztheme") => "normal", __("Round", "dahztheme") => "round"), "description" => __("Please choose the style for your progress bar", "dahztheme")));
     // progress bar extra class
     vc_add_param('vc_progress_bar', array("type" => "textfield", "class" => "", "heading" => __("Extra Class", "dahztheme"), "param_name" => "el_class", "description" => __("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "dahztheme")));
     /* ======================================================================= */
     /* 4. vc_text_separator                                                    */
     /* ======================================================================= */
     vc_map_update('vc_text_separator', array('description' => __('Separator with Text', 'dahztheme')));
     vc_remove_param('vc_text_separator', 'el_width');
     vc_remove_param('vc_text_separator', 'style');
     vc_remove_param('vc_text_separator', 'el_class');
     vc_add_param('vc_text_separator', array('type' => 'dropdown', 'heading' => __('Border Width', 'dahztheme'), 'param_name' => 'el_width', 'value' => array(__('100%', 'dahztheme') => '100', __('90%', 'dahztheme') => '90', __('80%', 'dahztheme') => '80', __('70%', 'dahztheme') => '70', __('60%', 'dahztheme') => '60', __('50%', 'dahztheme') => '50', __('40%', 'dahztheme') => '40', __('30%', 'dahztheme') => '30', __('20%', 'dahztheme') => '20', __('10%', 'dahztheme') => '10'), 'description' => __('Separator element width in percents.', 'dahztheme')));
     vc_add_param('vc_text_separator', array('type' => 'dropdown', 'heading' => __('Border Position', 'dahztheme'), 'param_name' => 'position', 'value' => array(__('Left', 'dahztheme') => 'left', __('Center', 'dahztheme') => 'center', __('Right', 'dahztheme') => 'right'), 'description' => __('Separator position', 'dahztheme')));
     vc_add_param('vc_text_separator', array('type' => 'textfield', 'heading' => __('Border Size', 'dahztheme'), 'param_name' => 'border_size', 'description' => __('Custom your size of border. Fill with px.', 'dahztheme')));
     vc_add_param('vc_text_separator', array('type' => 'dropdown', 'heading' => __('Style', 'dahztheme'), 'param_name' => 'style', 'value' => getVcShared('separator styles'), 'description' => __('Separator style.', 'dahztheme')));
     vc_add_param('vc_text_separator', array('type' => 'textfield', 'heading' => __('Height', 'dahztheme'), 'param_name' => 'height', 'value' => '3px', 'dependency' => array('element' => "style", 'value' => array('double')), 'description' => __('Height each border (2*Border size + 1)px or more px. Fill with px', 'dahztheme')));
     vc_add_param('vc_text_separator', array('type' => 'textfield', 'heading' => __('Padding', 'dahztheme'), 'param_name' => 'padding', 'value' => '28px', 'description' => __('Your padding can be in single value or you can specify eg: 20px 40px 20px 40px', 'dahztheme')));
     vc_add_param('vc_text_separator', array('type' => 'textfield', 'heading' => __('Extra class name', 'dahztheme'), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'dahztheme')));
     /* ======================================================================= */
     /* 5. Vc_separator                                                         */
     /* ======================================================================= */
     vc_map_update('vc_separator', array('description' => __('Horizontal separator line', 'dahztheme')));
     vc_remove_param('vc_separator', 'el_width');
     vc_remove_param('vc_separator', 'style');
     vc_remove_param('vc_separator', 'el_class');
     vc_add_param('vc_separator', array('type' => 'dropdown', 'heading' => __('Border Width', 'dahztheme'), 'param_name' => 'el_width', 'value' => array(__('100%', 'dahztheme') => '100', __('90%', 'dahztheme') => '90', __('80%', 'dahztheme') => '80', __('70%', 'dahztheme') => '70', __('60%', 'dahztheme') => '60', __('50%', 'dahztheme') => '50', __('40%', 'dahztheme') => '40', __('30%', 'dahztheme') => '30', __('20%', 'dahztheme') => '20', __('10%', 'dahztheme') => '10'), 'description' => __('Separator element width in percents.', 'dahztheme')));
     vc_add_param('vc_separator', array('type' => 'dropdown', 'heading' => __('Border Position', 'dahztheme'), 'param_name' => 'position', 'value' => array(__('Left', 'dahztheme') => 'left', __('Center', 'dahztheme') => 'center', __('Right', 'dahztheme') => 'right'), 'description' => __('Separator position', 'dahztheme')));
     vc_add_param('vc_separator', array('type' => 'textfield', 'heading' => __('Border Size', 'dahztheme'), 'param_name' => 'border_size', 'description' => __('Custom your size of border. Fill with px.', 'dahztheme')));
     vc_add_param('vc_separator', array('type' => 'dropdown', 'heading' => __('Style', 'dahztheme'), 'param_name' => 'style', 'value' => getVcShared('separator styles'), 'description' => __('Separator style.', 'dahztheme')));
     vc_add_param('vc_separator', array('type' => 'textfield', 'heading' => __('Height', 'dahztheme'), 'param_name' => 'height', 'value' => '3px', 'dependency' => array('element' => "style", 'value' => array('double')), 'description' => __('Height each border (2*Border size + 1)px or more px. Fill with px', 'dahztheme')));
     vc_add_param('vc_separator', array('type' => 'textfield', 'heading' => __('Padding', 'dahztheme'), 'param_name' => 'padding', 'value' => '28px', 'description' => __('Your padding can be in single value or you can specify eg: 20px 40px 20px 40px', 'dahztheme')));
     vc_add_param('vc_separator', array('type' => 'textfield', 'heading' => __('Extra class name', 'dahztheme'), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'dahztheme')));
     /* ======================================================================= */
     /* 6. vc_message                                                           */
     /* ======================================================================= */
     vc_map_update('vc_message', array('description' => __('Notification box', 'dahztheme')));
     vc_remove_param('vc_message', 'el_class');
     vc_add_param('vc_message', array("type" => "dropdown", "heading" => __("Font Awesome Icon", "dahztheme"), "param_name" => "icon_type", "value" => array(__("No", "dahztheme") => '', __("Yes", "dahztheme") => 'fa_icon')));
     vc_add_param('vc_message', array("type" => "textfield", "heading" => __("Font Awesome", "dahztheme"), "param_name" => "type", "dependency" => array('element' => "icon_type", 'value' => array('fa_icon')), "description" => __('Check the icon list here <a href="http://fortawesome.github.io/Font-Awesome/cheatsheet/" target="_blank">Font Awesome</a>, use icon id only. e.g, "adjust" instead "fa-adjust"', 'dahztheme')));
     vc_add_param('vc_message', array("type" => "dropdown", "heading" => __("Font Size", "dahztheme"), "param_name" => "size", "value" => array(__("1x", "dahztheme") => '1x', __("2x", "dahztheme") => '2x', __("3x", "dahztheme") => '3x', __("4x", "dahztheme") => '4x', __("5x", "dahztheme") => '5x', __("lg", "dahztheme") => 'lg'), "dependency" => array('element' => "icon_type", 'value' => array('fa_icon'))));
     vc_add_param('vc_message', array("type" => "dropdown", "heading" => __("Font Rotate", "dahztheme"), "param_name" => "rotate", "value" => array(__("Normal", "dahztheme") => 'normal', __("Rotate 90 Degree", "dahztheme") => '90', __("Rotate 180 Degree", "dahztheme") => '180', __("Rotate 270 Degree", "dahztheme") => '270'), "dependency" => array('element' => "icon_type", 'value' => array('fa_icon'))));
     vc_add_param('vc_message', array("type" => "dropdown", "heading" => __("Font Flip", "dahztheme"), "param_name" => "flip", "value" => array(__("None", "dahztheme") => '', __("Horizontal", "dahztheme") => 'horizontal', __("Vertical", "dahztheme") => 'vertical'), "dependency" => array('element' => "icon_type", 'value' => array('fa_icon'))));
     vc_add_param('vc_message', array('type' => 'textfield', 'heading' => __('Extra class name', 'dahztheme'), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'dahztheme')));
     /* ======================================================================= */
     /* 7. vc_toggle                                                            */
     /* ======================================================================= */
     vc_map_update('vc_toggle', array('description' => __('Toggle element for Q&A block', 'dahztheme')));
     vc_remove_param('vc_toggle', 'el_class');
     vc_add_param('vc_toggle', array('type' => 'dropdown', 'heading' => __('Toggle Style', 'dahztheme'), 'param_name' => 'toggle_style', 'value' => array(__("List", "dahztheme") => 'toggle1', __("Box", "dahztheme") => 'toggle2'), 'description' => __('Choose your toggle style', 'dahztheme')));
     vc_add_param('vc_toggle', array('type' => 'textfield', 'heading' => __('Extra class name', 'dahztheme'), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'dahztheme')));
     /* ======================================================================= */
     /* 8. vc_tour                                                              */
     /* ======================================================================= */
     vc_map_update('vc_tour', array('description' => __('Vertical tabbed content', 'dahztheme')));
     vc_remove_param('vc_tour', 'interval');
     vc_remove_param('vc_tour', 'el_class');
     vc_add_param('vc_tour', array('type' => 'dropdown', 'heading' => __('Tour Tab Style', 'dahztheme'), 'param_name' => 'tour_style', 'value' => array(__("List", "dahztheme") => 'tour_style_1', __("Box", "dahztheme") => 'tour_style_2'), 'description' => __('Choose your tabs style', 'dahztheme')));
     vc_add_param('vc_tour', array('type' => 'textfield', 'heading' => __('Extra class name', 'dahztheme'), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'dahztheme')));
     /* ======================================================================= */
     /* 9. vc_tabs                                                              */
     /* ======================================================================= */
     vc_map_update('vc_tabs', array('description' => __('Tabbed content', 'dahztheme')));
     vc_remove_param('vc_tabs', 'interval');
     vc_remove_param('vc_tabs', 'el_class');
     vc_add_param('vc_tabs', array('type' => 'dropdown', 'heading' => __('Tab Style', 'dahztheme'), 'param_name' => 'tab_style', 'value' => array(__("List", "dahztheme") => 'tab_style_1', __("Box", "dahztheme") => 'tab_style_2'), 'description' => __('Choose your tabs style', 'dahztheme')));
     vc_add_param('vc_tabs', array('type' => 'dropdown', 'heading' => __('Tour Tab Style', 'dahztheme'), 'param_name' => 'tab_position', 'value' => array(__("Left", "dahztheme") => 'left', __("Center", "dahztheme") => 'center'), 'description' => __('Choose your tabs position', 'dahztheme')));
     vc_add_param('vc_tabs', array('type' => 'textfield', 'heading' => __('Extra class name', 'dahztheme'), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'dahztheme')));
     /* ======================================================================= */
     /* 10. vc_gallery                                                          */
     /* ======================================================================= */
     vc_map_update('vc_gallery', array('description' => __('Responsive image gallery', 'dahztheme')));
     $target_arr = array(__('Same window', 'dahztheme') => '_self', __('New window', 'dahztheme') => "_blank");
     vc_remove_param('vc_gallery', 'type');
     vc_remove_param('vc_gallery', 'interval');
     vc_remove_param('vc_gallery', 'images');
     vc_remove_param('vc_gallery', 'img_size');
     vc_remove_param('vc_gallery', 'onclick');
     vc_remove_param('vc_gallery', 'custom_links');
     vc_remove_param('vc_gallery', 'custom_links_target');
     vc_remove_param('vc_gallery', 'el_class');
     vc_add_param('vc_gallery', array('type' => 'dropdown', 'heading' => __('Gallery type', 'dahztheme'), 'param_name' => 'type', 'value' => array(__('Flex slider fade', 'dahztheme') => 'flexslider_fade', __('Flex slider slide', 'dahztheme') => 'flexslider_slide', __('Image grid', 'dahztheme') => 'image_grid'), 'description' => __('Select gallery type.', 'dahztheme')));
     vc_add_param('vc_gallery', array('type' => 'dropdown', 'heading' => __('Auto rotate slides', 'dahztheme'), 'param_name' => 'interval', 'value' => array(3, 5, 10, 15, __('Disable', 'dahztheme') => 0), 'description' => __('Auto rotate slides each X seconds.', 'dahztheme'), 'dependency' => array('element' => 'type', 'value' => array('flexslider_fade', 'flexslider_slide', 'nivo'))));
     vc_add_param('vc_gallery', array('type' => 'attach_images', 'heading' => __('Images', 'dahztheme'), 'param_name' => 'images', 'value' => '', 'description' => __('Select images from media library.', 'dahztheme')));
     vc_add_param('vc_gallery', array('type' => 'textfield', 'heading' => __('Image size', 'dahztheme'), 'param_name' => 'img_size', 'description' => __('Enter image size. Example: thumbnail, medium, large, full or other sizes defined by current theme. Alternatively enter image size in pixels: 200x100 (Width x Height). Leave empty to use "thumbnail" size.', 'dahztheme')));
     vc_add_param('vc_gallery', array('type' => 'dropdown', 'heading' => __('On click', 'dahztheme'), 'param_name' => 'onclick', 'value' => array(__('Open prettyPhoto', 'dahztheme') => 'link_image', __('Do nothing', 'dahztheme') => 'link_no', __('Open custom link', 'dahztheme') => 'custom_link'), 'description' => __('Define action for onclick event if needed.', 'dahztheme')));
     vc_add_param('vc_gallery', array('type' => 'exploded_textarea', 'heading' => __('Custom links', 'dahztheme'), 'param_name' => 'custom_links', 'description' => __('Enter links for each slide here. Divide links with linebreaks (Enter) . ', 'dahztheme'), 'dependency' => array('element' => 'onclick', 'value' => array('custom_link'))));
     vc_add_param('vc_gallery', array('type' => 'dropdown', 'heading' => __('Custom link target', 'dahztheme'), 'param_name' => 'custom_links_target', 'description' => __('Select where to open  custom links.', 'dahztheme'), 'dependency' => array('element' => 'onclick', 'value' => array('custom_link')), 'value' => $target_arr));
     vc_add_param('vc_gallery', array('type' => 'textfield', 'heading' => __('Extra class name', 'dahztheme'), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'dahztheme')));
     /* ======================================================================= */
     /* 11. vc_button                                                           */
     /* ======================================================================= */
     vc_map_update('vc_button2', array('name' => 'Button', 'description' => __('Eye catching button', 'dahztheme')));
     vc_remove_param('vc_button2', 'color');
     vc_remove_param('vc_button2', 'size');
     vc_remove_param('vc_button2', 'el_class');
     vc_add_param('vc_button2', array("type" => "dropdown", "heading" => __("Font Awesome Icon", "dahztheme"), "param_name" => "icon_type", "value" => array(__("No", "dahztheme") => '', __("Yes", "dahztheme") => 'fa_icon')));
     vc_add_param('vc_button2', array("type" => "textfield", "heading" => __("Font Awesome", "dahztheme"), "param_name" => "type", "dependency" => array('element' => "icon_type", 'value' => array('fa_icon')), "description" => __('Check the icon list here <a href="http://fortawesome.github.io/Font-Awesome/cheatsheet/" target="_blank">Font Awesome</a>, use icon id only. e.g, "adjust" instead "fa-adjust"', 'dahztheme')));
     vc_add_param('vc_button2', array("type" => "dropdown", "heading" => __("Font Size", "dahztheme"), "param_name" => "size", "value" => array(__("1x", "dahztheme") => '1x', __("2x", "dahztheme") => '2x', __("3x", "dahztheme") => '3x', __("4x", "dahztheme") => '4x', __("5x", "dahztheme") => '5x', __("lg", "dahztheme") => 'lg'), "dependency" => array('element' => "icon_type", 'value' => array('fa_icon'))));
     vc_add_param('vc_button2', array("type" => "dropdown", "heading" => __("Font Rotate", "dahztheme"), "param_name" => "rotate", "value" => array(__("Normal", "dahztheme") => 'normal', __("Rotate 90 Degree", "dahztheme") => '90', __("Rotate 180 Degree", "dahztheme") => '180', __("Rotate 270 Degree", "dahztheme") => '270'), "dependency" => array('element' => "icon_type", 'value' => array('fa_icon'))));
     vc_add_param('vc_button2', array("type" => "dropdown", "heading" => __("Font Flip", "dahztheme"), "param_name" => "flip", "value" => array(__("None", "dahztheme") => '', __("Horizontal", "dahztheme") => 'horizontal', __("Vertical", "dahztheme") => 'vertical'), "dependency" => array('element' => "icon_type", 'value' => array('fa_icon'))));
     vc_add_param('vc_button2', array('type' => 'colorpicker', 'heading' => __('Font Color', 'dahztheme'), 'param_name' => 'font_color', 'value' => '#ffffff', 'description' => __('Font color.', 'dahztheme'), 'dependency' => array('element' => "style", 'value' => array('round', 'rounded', 'square', '3d'))));
     vc_add_param('vc_button2', array('type' => 'colorpicker', 'heading' => __('Button Color', 'dahztheme'), 'param_name' => 'color', 'value' => '#999999', 'description' => __('Button color.', 'dahztheme'), 'dependency' => array('element' => "style", 'value' => array('round', 'rounded', 'square', '3d', 'outlined', 'square_outlined'))));
     vc_add_param('vc_button2', array('type' => 'colorpicker', 'heading' => __('Button Color Hover', 'dahztheme'), 'param_name' => 'color_hover', 'description' => __('Button color hover.', 'dahztheme'), 'dependency' => array('element' => "style", 'value' => array('round', 'rounded', 'square', 'outlined', 'square_outlined'))));
     vc_add_param('vc_button2', array("type" => "colorpicker", "heading" => __("3d button shadow", "dahztheme"), "param_name" => "btn_shadow_color", 'dependency' => array('element' => "style", 'value' => array('3d'))));
     vc_add_param('vc_button2', array('type' => 'dropdown', 'heading' => __('Size', 'dahztheme'), 'param_name' => 'btn_size', 'value' => getVcShared('sizes'), 'std' => 'md', 'description' => __('Button size.', 'dahztheme')));
     vc_add_param('vc_button2', array('type' => 'dropdown', 'heading' => __('Button Position', 'dahztheme'), 'param_name' => 'btn_position', 'value' => array(__('Left', 'dahztheme') => '', __('Center', 'dahztheme') => 'btn_position_center', __('Right', 'dahztheme') => 'btn_position_right'), 'description' => __('Button position.', 'dahztheme')));
     vc_add_param('vc_button2', array('type' => 'dropdown', 'heading' => __('Button Animation', 'dahztheme'), 'param_name' => 'animated_style', 'value' => array(__('none', 'dahztheme') => '', __('Top to Bottom', 'dahztheme') => 'top_to_bottom', __('Opacity Icon Animation Left to Right (button icon only)', 'dahztheme') => 'op_icon_animation_ltr'), 'dependency' => array('element' => "style", 'value' => array('rounded', 'square', 'outlined', 'square_outlined'))));
     vc_add_param('vc_button2', array('type' => 'textfield', 'heading' => __('Extra class name', 'dahztheme'), 'param_name' => 'btn_el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'dahztheme')));
     /* ======================================================================= */
     /* 12. vc_cta_button                                                       */
     /* ======================================================================= */
     vc_map_update('vc_cta_button2', array('name' => 'Call to Action Button', 'description' => __('Catch visitors attention with CTA block', 'dahztheme')));
     vc_remove_param('vc_cta_button2', 'h2');
     vc_remove_param('vc_cta_button2', 'h4');
     vc_remove_param('vc_cta_button2', 'style');
     vc_remove_param('vc_cta_button2', 'el_width');
     vc_remove_param('vc_cta_button2', 'txt_align');
     vc_remove_param('vc_cta_button2', 'accent_color');
     vc_remove_param('vc_cta_button2', 'content');
     vc_remove_param('vc_cta_button2', 'link');
     vc_remove_param('vc_cta_button2', 'title');
     vc_remove_param('vc_cta_button2', 'btn_style');
     vc_remove_param('vc_cta_button2', 'color');
     vc_remove_param('vc_cta_button2', 'icon');
     vc_remove_param('vc_cta_button2', 'size');
     vc_remove_param('vc_cta_button2', 'position');
     vc_remove_param('vc_cta_button2', 'css_animation');
     vc_remove_param('vc_cta_button2', 'el_class');
     vc_add_param('vc_cta_button2', array('type' => 'dropdown', 'heading' => __('CTA style', 'dahztheme'), 'admin_label' => true, 'param_name' => 'cta_style', 'value' => array(__('Rounded', 'dahztheme') => 'rounded', __('Square', 'dahztheme') => 'square', __('Outlined', 'dahztheme') => 'outlined', __('Square Outlined', 'dahztheme') => 'square_outlined'), 'description' => __('Call to action style.', 'dahztheme')));
     vc_add_param('vc_cta_button2', array('type' => 'colorpicker', 'heading' => __('Custom Background Color', 'dahztheme'), 'param_name' => 'accent_color', 'description' => __('Select background color for your element.', 'dahztheme')));
     vc_add_param('vc_cta_button2', array('type' => 'textarea_html', 'heading' => __('Text', 'dahztheme'), 'admin_label' => true, 'param_name' => 'content', 'value' => __('I am promo text. Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.', 'dahztheme')));
     // button SC in CTA
     vc_add_param('vc_cta_button2', array('type' => 'vc_link', 'heading' => __('URL (Link)', 'dahztheme'), 'param_name' => 'link', 'description' => __('Button link.', 'dahztheme')));
     vc_add_param('vc_cta_button2', array('type' => 'textfield', 'heading' => __('Text on the button', 'js_composer'), 'holder' => 'button', 'param_name' => 'title', 'description' => __('Text on the button.', 'js_composer')));
     vc_add_param('vc_cta_button2', array("type" => "dropdown", "heading" => __("Button Style", "dahztheme"), "param_name" => "style", "value" => array(__("Rounded", "dahztheme") => 'rounded', __("Square", "dahztheme") => 'square', __("Round", "dahztheme") => 'round', __("Outlined", "dahztheme") => 'outlined', __("3d", "dahztheme") => '3d', __("Square Outlined", "dahztheme") => 'square_outlined')));
     vc_add_param('vc_cta_button2', array("type" => "dropdown", "heading" => __("Font Awesome Icon", "dahztheme"), "param_name" => "icon_type", "value" => array(__("No", "dahztheme") => '', __("Yes", "dahztheme") => 'fa_icon')));
     vc_add_param('vc_cta_button2', array("type" => "textfield", "heading" => __("Font Awesome", "dahztheme"), "param_name" => "type", "dependency" => array('element' => "icon_type", 'value' => array('fa_icon')), "description" => __('Check the icon list here <a href="http://fortawesome.github.io/Font-Awesome/cheatsheet/" target="_blank">Font Awesome</a>, use icon id only. e.g, "adjust" instead "fa-adjust"', 'dahztheme')));
     vc_add_param('vc_cta_button2', array("type" => "dropdown", "heading" => __("Font Size", "dahztheme"), "param_name" => "size", "value" => array(__("1x", "dahztheme") => '1x', __("2x", "dahztheme") => '2x', __("3x", "dahztheme") => '3x', __("4x", "dahztheme") => '4x', __("5x", "dahztheme") => '5x', __("lg", "dahztheme") => 'lg'), "dependency" => array('element' => "icon_type", 'value' => array('fa_icon'))));
     vc_add_param('vc_cta_button2', array("type" => "dropdown", "heading" => __("Font Rotate", "dahztheme"), "param_name" => "rotate", "value" => array(__("Normal", "dahztheme") => 'normal', __("Rotate 90 Degree", "dahztheme") => '90', __("Rotate 180 Degree", "dahztheme") => '180', __("Rotate 270 Degree", "dahztheme") => '270'), "dependency" => array('element' => "icon_type", 'value' => array('fa_icon'))));
     vc_add_param('vc_cta_button2', array("type" => "dropdown", "heading" => __("Font Flip", "dahztheme"), "param_name" => "flip", "value" => array(__("None", "dahztheme") => '', __("Horizontal", "dahztheme") => 'horizontal', __("Vertical", "dahztheme") => 'vertical'), "dependency" => array('element' => "icon_type", 'value' => array('fa_icon'))));
     vc_add_param('vc_cta_button2', array('type' => 'colorpicker', 'heading' => __('Font Color', 'dahztheme'), 'param_name' => 'font_color', 'value' => '#ffffff', 'description' => __('Font color.', 'dahztheme'), 'dependency' => array('element' => "style", 'value' => array('round', 'rounded', 'square', '3d'))));
     vc_add_param('vc_cta_button2', array('type' => 'colorpicker', 'heading' => __('Button Color', 'dahztheme'), 'param_name' => 'color', 'value' => '#999999', 'description' => __('Button color.', 'dahztheme'), 'dependency' => array('element' => "style", 'value' => array('round', 'rounded', 'square', '3d', 'outlined', 'square_outlined'))));
     vc_add_param('vc_cta_button2', array('type' => 'colorpicker', 'heading' => __('Button Color Hover', 'dahztheme'), 'param_name' => 'color_hover', 'description' => __('Button color hover.', 'dahztheme'), 'dependency' => array('element' => "style", 'value' => array('round', 'rounded', 'square', 'outlined', 'square_outlined'))));
     vc_add_param('vc_cta_button2', array("type" => "colorpicker", "heading" => __("3d button shadow", "dahztheme"), "param_name" => "btn_shadow_color", 'dependency' => array('element' => "style", 'value' => array('3d'))));
     vc_add_param('vc_cta_button2', array('type' => 'dropdown', 'heading' => __('Size', 'dahztheme'), 'param_name' => 'btn_size', 'value' => getVcShared('sizes'), 'std' => 'md', 'description' => __('Button size.', 'dahztheme')));
     vc_add_param('vc_cta_button2', array('type' => 'dropdown', 'heading' => __('Button Position', 'dahztheme'), 'param_name' => 'btn_position', 'value' => array(__('Left', 'dahztheme') => '', __('Center', 'dahztheme') => 'btn_position_center', __('Right', 'dahztheme') => 'btn_position_right'), 'description' => __('Button position.', 'dahztheme')));
     vc_add_param('vc_cta_button2', array('type' => 'dropdown', 'heading' => __('Button Animation', 'dahztheme'), 'param_name' => 'animated_style', 'value' => array(__('none', 'dahztheme') => '', __('Top to Bottom', 'dahztheme') => 'top_to_bottom', __('Opacity Icon Animation Left to Right (button icon only)', 'dahztheme') => 'op_icon_animation_ltr'), 'dependency' => array('element' => "style", 'value' => array('rounded', 'square', 'outlined', 'square_outlined'))));
     vc_add_param('vc_cta_button2', array('type' => 'textfield', 'heading' => __('Extra class name for button', 'dahztheme'), 'param_name' => 'btn_el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'dahztheme')));
     //end button SC in CTA
     vc_add_param('vc_cta_button2', array('type' => 'dropdown', 'heading' => __('CSS Animation', 'dahztheme'), 'param_name' => 'css_animation', 'admin_label' => true, 'value' => array(__('No', 'dahztheme') => '', __('Top to bottom', 'dahztheme') => 'top-to-bottom', __('Bottom to top', 'dahztheme') => 'bottom-to-top', __('Left to right', 'dahztheme') => 'left-to-right', __('Right to left', 'dahztheme') => 'right-to-left', __('Appear from center', 'dahztheme') => "appear"), 'description' => __('Select type of animation if you want this element to be animated when it enters into the browsers viewport. Note: Works only in modern browsers.', 'dahztheme')));
     vc_add_param('vc_cta_button2', array('type' => 'textfield', 'heading' => __('Extra class name for call to action', 'dahztheme'), 'param_name' => 'el_class', 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'dahztheme')));
     /* ======================================================================= */
     /* 12. vc_accordion                                                       */
     /* ======================================================================= */
     vc_map_update('vc_accordion', array('description' => __('Collepsible content panels', 'dahztheme')));
     /* ======================================================================= */
     /* 13. contact-form-7                                                      */
     /* ======================================================================= */
     if (is_plugin_active('contact-form-7/wp-contact-form-7.php')) {
         vc_add_param('contact-form-7', array('type' => 'dropdown', 'heading' => __('Contact Form Style', 'dahztheme'), 'param_name' => 'html_class', 'admin_label' => true, 'value' => array(__('No', 'dahztheme') => '', __('Transparent', 'dahztheme') => 'form7_transparent', __('Underline', 'dahztheme') => 'form7_underline'), 'description' => __('Select type of style', 'dahztheme')));
     }
 }
Example #29
0
 public function save()
 {
     vc_map_update($this->sc, array('params' => $this->params));
 }
Example #30
0
 public function update_plugins_shortcodes()
 {
     /* WooCommerce
        ---------------------------------------------------------- */
     if (class_exists('WooCommerce')) {
         /* Add default params for shortcodes */
         vc_map_update('woocommerce_cart', array('params' => array()));
         vc_map_update('woocommerce_checkout', array('params' => array()));
         vc_map_update('woocommerce_order_tracking', array('params' => array()));
         /* Recent products
            ---------------------------------------------------------- */
         vc_remove_param('recent_products', 'columns');
         vc_add_param('recent_products', array('type' => 'dropdown', 'class' => '', 'heading' => __('Columns', 'Flora'), 'weight' => 1, 'param_name' => 'columns', 'value' => array('1', '2', '3', '4', '5', '6'), 'std' => '4', 'description' => __('Select the number of columns.', 'Flora')));
         /* Featured Products
            ---------------------------------------------------------- */
         vc_remove_param('featured_products', 'columns');
         vc_add_param('featured_products', array('type' => 'dropdown', 'class' => '', 'heading' => __('Columns', 'Flora'), 'weight' => 1, 'param_name' => 'columns', 'value' => array('1', '2', '3', '4', '5', '6'), 'std' => '4', 'description' => __('Select the number of columns.', 'Flora')));
         /* Products
            ---------------------------------------------------------- */
         vc_remove_param('products', 'columns');
         vc_add_param('products', array('type' => 'dropdown', 'class' => '', 'heading' => __('Columns', 'Flora'), 'weight' => 1, 'param_name' => 'columns', 'value' => array('1', '2', '3', '4', '5', '6'), 'std' => '4', 'description' => __('Select the number of columns.', 'Flora')));
         /* Product Category
            ---------------------------------------------------------- */
         vc_remove_param('product_category', 'columns');
         vc_add_param('product_category', array('type' => 'dropdown', 'class' => '', 'heading' => __('Columns', 'Flora'), 'weight' => 1, 'param_name' => 'columns', 'value' => array('1', '2', '3', '4', '5', '6'), 'std' => '4', 'description' => __('Select the number of columns.', 'Flora')));
         /* Product Category
            ---------------------------------------------------------- */
         vc_remove_param('product_categories', 'columns');
         vc_add_param('product_categories', array('type' => 'dropdown', 'class' => '', 'heading' => __('Columns', 'Flora'), 'weight' => 1, 'param_name' => 'columns', 'value' => array('1', '2', '3', '4', '5', '6'), 'std' => '4', 'description' => __('Select the number of columns.', 'Flora')));
         /* Sale products
            ---------------------------------------------------------- */
         vc_remove_param('sale_products', 'columns');
         vc_add_param('sale_products', array('type' => 'dropdown', 'class' => '', 'heading' => __('Columns', 'Flora'), 'weight' => 1, 'param_name' => 'columns', 'value' => array('1', '2', '3', '4', '5', '6'), 'std' => '4', 'description' => __('Select the number of columns.', 'Flora')));
         /* Best Selling Products
            ---------------------------------------------------------- */
         vc_remove_param('best_selling_products', 'columns');
         vc_add_param('best_selling_products', array('type' => 'dropdown', 'class' => '', 'heading' => __('Columns', 'Flora'), 'weight' => 1, 'param_name' => 'columns', 'value' => array('1', '2', '3', '4', '5', '6'), 'std' => '4', 'description' => __('Select the number of columns.', 'Flora')));
         /* Top Rated Products
            ---------------------------------------------------------- */
         vc_remove_param('top_rated_products', 'columns');
         vc_add_param('top_rated_products', array('type' => 'dropdown', 'class' => '', 'heading' => __('Columns', 'Flora'), 'weight' => 1, 'param_name' => 'columns', 'value' => array('1', '2', '3', '4', '5', '6'), 'std' => '4', 'description' => __('Select the number of columns.', 'Flora')));
         /* Product Attribute
            ---------------------------------------------------------- */
         vc_remove_param('product_attribute', 'columns');
         vc_add_param('product_attribute', array('type' => 'dropdown', 'class' => '', 'heading' => __('Columns', 'Flora'), 'weight' => 1, 'param_name' => 'columns', 'value' => array('1', '2', '3', '4', '5', '6'), 'std' => '4', 'description' => __('Select the number of columns.', 'Flora')));
         /* Related Products
            ---------------------------------------------------------- */
         vc_remove_param('related_products', 'columns');
         vc_add_param('related_products', array('type' => 'dropdown', 'class' => '', 'heading' => __('Columns', 'Flora'), 'weight' => 1, 'param_name' => 'columns', 'value' => array('1', '2', '3', '4', '5', '6'), 'std' => '4', 'description' => __('Select the number of columns.', 'Flora')));
     }
 }