?
vc_ui-panel-add-element.tpl.php 0000666 00000003563 15126263433 0012452 0 ustar 00 <?php
/** @var $box Vc_Add_Element_Box */
if ( ! defined( 'ABSPATH' ) ) {
die( '-1' );
}
?>
<div class="vc_ui-font-open-sans vc_ui-panel-window vc_media-xs vc_ui-panel"
data-vc-panel=".vc_ui-panel-header-header" data-vc-ui-element="panel-add-element" id="vc_ui-panel-add-element">
<div class="vc_ui-panel-window-inner">
<?php vc_include_template( 'editors/popups/vc_ui-header.tpl.php', array(
'title' => __( 'Add Element', 'js_composer' ),
'controls' => array( 'close' ),
'header_css_class' => 'vc_ui-add-element-header-container',
'content_template' => 'editors/partials/add_element_tabs.tpl.php',
'search_template' => 'editors/partials/add_element_search.tpl.php',
'template_variables' => $template_variables,
) ) ?>
<div class="vc_ui-panel-content-container">
<div class="vc_add-element-container">
<div class="wpb-elements-list vc_filter-all" data-vc-ui-filter="*"
data-vc-ui-element="panel-add-element-list">
<ul class="wpb-content-layouts-container">
<li class="vc_add-element-deprecated-warning">
<div class="wpb_element_wrapper">
<?php echo vc_message_warning( __( 'Elements within this list are deprecated and are no longer supported in newer versions of Visual Composer.', 'js_composer' ) ) ?>
</div>
</li>
<li><?php echo $box->getControls() ?></li>
<?php if ( $box->isShowEmptyMessage() && true !== $box->getPartState() ) : ?>
<li class="vc_add-element-access-warning">
<div class="wpb_element_wrapper">
<?php echo vc_message_warning( __( 'Your user role have restricted access to content elements. If required, contact your site administrator to change Visual Composer Role Manager settings for your user role.', 'js_composer' ) ) ?>
</div>
</li>
<?php endif; ?>
</ul>
<div class="vc_clearfix"></div>
</div>
</div>
</div>
</div>
</div>
vc_ui-panel-row-layout.tpl.php 0000666 00000004330 15126263433 0012406 0 ustar 00 <?php
if ( ! defined( 'ABSPATH' ) ) {
die( '-1' );
}
?>
<div class="vc_ui-font-open-sans vc_ui-panel-window vc_media-xs vc_ui-panel" data-vc-panel=".vc_ui-panel-header-header" data-vc-ui-element="panel-row-layout" id="vc_ui-panel-row-layout">
<div class="vc_ui-panel-window-inner">
<?php vc_include_template('editors/popups/vc_ui-header.tpl.php', array(
'title' => __( 'Row Layout', 'js_composer' ),
'controls' => array( 'minimize', 'close' ),
'header_css_class' => 'vc_ui-row-layout-header-container',
)); ?>
<div class="vc_ui-panel-content-container">
<div class="vc_ui-panel-content vc_properties-list vc_edit_form_elements" data-vc-ui-element="panel-content">
<div class="vc_row vc_ui-flex-row">
<div class="vc_col-sm-12 vc_column vc_layout-panel-switcher">
<div class="wpb_element_label"><?php _e( 'Row layout', 'js_composer' ) ?></div>
<?php foreach ( $vc_row_layouts as $layout ) : ?>
<a data-vc-ui-element="button-layout" class="vc_layout-btn <?php echo $layout['icon_class']
. '" data-cells="' . $layout['cells']
. '" data-cells-mask="' . $layout['mask']
. '" title="' . $layout['title'] ?>"><span
class="icon"></span></a>
<?php endforeach ?>
<span
class="vc_description vc_clearfix"><?php _e( 'Select row layout from predefined options.', 'js_composer' ); ?></span>
</div>
<div class="vc_col-sm-12 vc_column">
<div class="wpb_element_label"><?php _e( 'Enter custom layout for your row', 'js_composer' ) ?></div>
<div class="edit_form_line">
<input name="padding" class="wpb-textinput vc_row_layout" type="text" value="" id="vc_row-layout">
<span class="vc_general vc_ui-button vc_ui-button-size-sm vc_ui-button-action vc_ui-button-shape-rounded vc_ui-button-update-layout" data-vc-ui-element="button-update-layout"><?php _e( 'Update', 'js_composer' ) ?></span>
<span
class="vc_description vc_clearfix"><?php _e( 'Change particular row layout manually by specifying number of columns and their size value.', 'js_composer' ); ?></span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
class-vc-add-element-box-grid-item.php 0000666 00000001411 15126272237 0013622 0 ustar 00 <?php
if ( ! defined( 'ABSPATH' ) ) {
die( '-1' );
}
require_once vc_path_dir( 'EDITORS_DIR', 'popups/class-vc-add-element-box.php' );
/**
* Add element for VC editors with a list of mapped shortcodes for gri item constructor.
*
* @since 4.4
*/
class Vc_Add_Element_Box_Grid_Item extends Vc_Add_Element_Box {
/**
* Get shortcodes from param type vc_grid_item
* @return array|bool
*/
public function shortcodes() {
return WpbMap_Grid_Item::getSortedGitemUserShortCodes();
}
/**
* Get categories list from mapping data.
* @since 4.5
*
* @return array
*/
public function getCategories() {
return WpbMap_Grid_Item::getGitemUserCategories();
}
public function getPartState() {
return vc_user_access()->part( 'grid_builder' )->getState();
}
}
class-vc-add-element-box.php 0000666 00000010176 15126314575 0011755 0 ustar 00 <?php
if ( ! defined( 'ABSPATH' ) ) {
die( '-1' );
}
/**
* WPBakery Visual Composer front end editor
*
* @package WPBakeryVisualComposer
*
*/
/**
* Add element for VC editors with a list of mapped shortcodes.
*
* @since 4.3
*/
class Vc_Add_Element_Box implements Vc_Render {
/**
* Enable show empty message
*
* @since 4.8
* @var bool
*/
protected $show_empty_message = false;
/**
* @param $params
*
* @return string
*/
protected function getIcon( $params ) {
$data = '';
if ( isset( $params['is_container'] ) && true === $params['is_container'] ) {
$data = ' data-is-container="true"';
}
return '<i class="vc_general vc_element-icon' . ( ! empty( $params['icon'] ) ? ' ' . sanitize_text_field( $params['icon'] ) : '' ) . '"' . $data . '></i> ';
}
/**
* Single button html template
*
* @param $params
*
* @return string
*/
public function renderButton( $params ) {
if ( ! is_array( $params ) || empty( $params ) ) {
return '';
}
$output = $class = $class_out = $data = $category_css_classes = '';
if ( ! empty( $params['class'] ) ) {
$class_ar = $class_at_out = explode( ' ', $params['class'] );
for ( $n = 0; $n < count( $class_ar ); $n ++ ) {
$class_ar[ $n ] .= '_nav';
$class_at_out[ $n ] .= '_o';
}
$class = ' ' . implode( ' ', $class_ar );
$class_out = ' ' . implode( ' ', $class_at_out );
}
if ( isset( $params['_category_ids'] ) ) {
foreach ( $params['_category_ids'] as $id ) {
$category_css_classes .= ' js-category-' . $id;
}
}
if ( isset( $params['is_container'] ) && true === $params['is_container'] ) {
$data .= ' data-is-container="true"';
}
$data .= ' data-vc-ui-element="add-element-button"';
$description = ! empty( $params['description'] ) ? '<i class="vc_element-description">' . htmlspecialchars( $params['description'] ) . '</i>' : '';
$output .= '<li data-element="' . $params['base'] . '" class="wpb-layout-element-button vc_col-xs-12 vc_col-sm-4 vc_col-md-3 vc_col-lg-2' . ( isset( $params['deprecated'] ) ? ' vc_element-deprecated' : '' ) . $category_css_classes . $class_out . '"' . $data . '><div class="vc_el-container"><a id="' . $params['base'] . '" data-tag="' . $params['base'] . '" class="dropable_el vc_shortcode-link' . $class . '" href="#" data-vc-clickable>' . $this->getIcon( $params ) . htmlspecialchars( stripslashes( $params['name'] ) ) . $description . '</a></div></li>';
return $output;
}
/**
* Get mapped shortcodes list.
*
* @since 4.4
* @return array
*/
public function shortcodes() {
return WPBMap::getSortedUserShortCodes();
}
/**
* Render list of buttons for each mapped and allowed VC shortcodes.
* vc_filter: vc_add_element_box_buttons - hook to override output of getControls method
* @see WPBMap::getSortedUserShortCodes
* @return mixed|void
*/
public function getControls() {
$output = '<ul class="wpb-content-layouts">';
/** @var array $element */
$buttons_count = 0;
foreach ( $this->shortcodes() as $element ) {
if ( isset( $element['content_element'] ) && false === $element['content_element'] ) {
continue;
}
$button = $this->renderButton( $element );
if ( ! empty( $button ) ) {
$buttons_count ++;
}
$output .= $button;
}
$output .= '</ul>';
if ( 0 === $buttons_count ) {
$this->show_empty_message = true;
}
return apply_filters( 'vc_add_element_box_buttons', $output );
}
/**
* Get categories list from mapping data.
* @since 4.5
*
* @return array
*/
public function getCategories() {
return WPBMap::getUserCategories();
}
public function render() {
vc_include_template( 'editors/popups/vc_ui-panel-add-element.tpl.php', array(
'box' => $this,
'template_variables' => array(
'categories' => $this->getCategories(),
),
) );
}
/**
* Render icon for shortcode
*
* @param $params
*
* @since 4.8
* @return string
*/
public function renderIcon( $params ) {
return $this->getIcon( $params );
}
/**
* @return boolean
*/
public function isShowEmptyMessage() {
return $this->show_empty_message;
}
public function getPartState() {
return vc_user_access()->part( 'shortcodes' )->getState();
}
}
class-vc-edit-layout.php 0000666 00000001406 15126314575 0011244 0 ustar 00 <?php
if ( ! defined( 'ABSPATH' ) ) {
die( '-1' );
}
/**
* WPBakery Visual Composer main class.
*
* @package WPBakeryVisualComposer
* @since 4.3
*/
/**
* Edit row layout
*
* @since 4.3
*/
class Vc_Edit_Layout implements Vc_Render {
/**
* @deprecated 4.7
*/
public function render() {
_deprecated_function( '\Vc_Edit_Layout::render', '4.7 (will be removed in 4.11)', '\Vc_Edit_Layout::renderUITemplate' );
global $vc_row_layouts;
vc_include_template( 'editors/popups/panel_edit_layout.tpl.php', array(
'vc_row_layouts' => $vc_row_layouts,
) );
}
public function renderUITemplate() {
global $vc_row_layouts;
vc_include_template( 'editors/popups/vc_ui-panel-row-layout.tpl.php', array(
'vc_row_layouts' => $vc_row_layouts,
) );
}
}