Ejemplo n.º 1
0
 /**
  * Get rendered controls
  *
  * @param array $controls
  *
  * @return string
  */
 public function getControls($controls)
 {
     if (!is_array($controls) || empty($controls)) {
         return '';
     }
     $buttons = array();
     $editAccess = vc_user_access_check_shortcode_edit($this->shortcode);
     $allAccess = vc_user_access_check_shortcode_all($this->shortcode);
     foreach ($controls as $control) {
         switch ($control) {
             case 'add':
                 if ($allAccess) {
                     $buttons[] = '<a class="vc_control-btn vc_control-btn-add" href="#" title="' . __('Add to this grid item', 'js_composer') . '" data-vc-control="add"><i class="vc_icon"></i></a>';
                 }
                 break;
             case 'edit':
                 if ($editAccess) {
                     $buttons[] = '<a class="vc_control-btn vc_control-btn-edit" href="#" title="' . __('Edit this grid item', 'js_composer') . '" data-vc-control="edit"><i class="vc_icon"></i></a>';
                 }
                 break;
             case 'delete':
                 if ($allAccess) {
                     $buttons[] = '<a class="vc_control-btn vc_control-btn-delete" href="#" title="' . __('Delete this grid item ', 'js_composer') . '" data-vc-control="delete"><i class="vc_icon"></i></a>';
                 }
                 break;
         }
     }
     $html = '<div class="vc_controls vc_controls-dark vc_controls-visible">' . implode(' ', $buttons) . '</div>';
     return $html;
 }
Ejemplo n.º 2
0
 /**
  * @param $controls
  * @param string $extended_css
  *
  * @return string
  */
 public function getColumnControls($controls, $extended_css = '')
 {
     $output = '<div class="vc_controls vc_control-column vc_controls-visible controls' . (!empty($extended_css) ? " {$extended_css}" : '') . '">';
     $controls_end = '</div>';
     if (' bottom-controls' === $extended_css) {
         $control_title = __('Append to this column', 'js_composer');
     } else {
         $control_title = __('Prepend to this column', 'js_composer');
     }
     if (vc_user_access()->part('shortcodes')->checkStateAny(true, 'custom', null)->get()) {
         $controls_add = '<a class="vc_control column_add vc_column-add" data-vc-control="add" href="#" title="' . $control_title . '"><i class="vc_icon"></i></a>';
     } else {
         $controls_add = '';
     }
     $controls_edit = '<a class="vc_control column_edit vc_column-edit"  data-vc-control="edit" href="#" title="' . __('Edit this column', 'js_composer') . '"><i class="vc_icon"></i></a>';
     $controls_delete = '<a class="vc_control column_delete vc_column-delete" data-vc-control="delete"  href="#" title="' . __('Delete this column', 'js_composer') . '"><i class="vc_icon"></i></a>';
     $editAccess = vc_user_access_check_shortcode_edit($this->shortcode);
     $allAccess = vc_user_access_check_shortcode_all($this->shortcode);
     if (is_array($controls) && !empty($controls)) {
         foreach ($controls as $control) {
             if ('add' === $control || $editAccess && 'edit' === $control || $allAccess) {
                 $method_name = vc_camel_case('output-editor-control-' . $control);
                 if (method_exists($this, $method_name)) {
                     $output .= $this->{$method_name}();
                 } else {
                     $control_var = 'controls_' . $control;
                     if (isset(${$control_var})) {
                         $output .= ${$control_var};
                     }
                 }
             }
         }
         return $output . $controls_end;
     } elseif (is_string($controls) && 'full' === $controls) {
         if ($allAccess) {
             return $output . $controls_add . $controls_edit . $controls_delete . $controls_end;
         } elseif ($editAccess) {
             return $output . $controls_add . $controls_edit . $controls_end;
         } else {
             return $output . $controls_add . $controls_end;
         }
         return $output . $controls_end;
     } elseif (is_string($controls)) {
         $control_var = 'controls_' . $controls;
         if ('add' === $controls || ($editAccess && 'edit' == $controls || $allAccess) && isset(${$control_var})) {
             return $output . ${$control_var} . $controls_end;
         }
         return $output . $controls_end;
     }
     if ($allAccess) {
         return $output . $controls_add . $controls_edit . $controls_delete . $controls_end;
     } elseif ($editAccess) {
         return $output . $controls_add . $controls_edit . $controls_end;
     } else {
         return $output . $controls_add . $controls_end;
     }
     return $output . $controls_end;
 }
Ejemplo n.º 3
0
 public function getColumnControls($controls, $extended_css = '')
 {
     $output = '<div class="vc_controls vc_controls-row controls controls_row vc_clearfix">';
     $controls_end = '</div>';
     //Create columns
     $controls_layout = $this->getLayoutsControl();
     $controls_move = ' <a class="vc_control column_move vc_column-move" href="#" title="' . __('Drag row to reorder', 'js_composer') . '" data-vc-control="move"><i class="vc_icon"></i></a>';
     $controls_add = ' <a class="vc_control column_add vc_column-add" href="#" title="' . __('Add column', 'js_composer') . '" data-vc-control="add"><i class="vc_icon"></i></a>';
     $controls_delete = '<a class="vc_control column_delete vc_column-delete" href="#" title="' . __('Delete this row', 'js_composer') . '" data-vc-control="delete"><i class="vc_icon"></i></a>';
     $controls_edit = ' <a class="vc_control column_edit vc_column-edit" href="#" title="' . __('Edit this row', 'js_composer') . '" data-vc-control="edit"><i class="vc_icon"></i></a>';
     $controls_clone = ' <a class="vc_control column_clone vc_column-clone" href="#" title="' . __('Clone this row', 'js_composer') . '" data-vc-control="clone"><i class="vc_icon"></i></a>';
     $controls_toggle = ' <a class="vc_control column_toggle vc_column-toggle" href="#" title="' . __('Toggle row', 'js_composer') . '" data-vc-control="toggle"><i class="vc_icon"></i></a>';
     $editAccess = vc_user_access_check_shortcode_edit($this->shortcode);
     $allAccess = vc_user_access_check_shortcode_all($this->shortcode);
     if (is_array($controls) && !empty($controls)) {
         foreach ($controls as $control) {
             $control_var = 'controls_' . $control;
             if ($editAccess && 'edit' == $control || $allAccess) {
                 if (isset(${$control_var})) {
                     $output .= ${$control_var};
                 }
             }
         }
         $output .= $controls_end;
     } elseif (is_string($controls)) {
         $control_var = 'controls_' . $controls;
         if ($editAccess && 'edit' === $controls || $allAccess) {
             if (isset(${$control_var})) {
                 $output .= ${$control_var} . $controls_end;
             }
         }
     } else {
         $row_edit_clone_delete = '<span class="vc_row_edit_clone_delete">';
         if ($allAccess) {
             $row_edit_clone_delete .= $controls_delete . $controls_clone . $controls_edit;
         } elseif ($editAccess) {
             $row_edit_clone_delete .= $controls_edit;
         }
         $row_edit_clone_delete .= $controls_toggle;
         $row_edit_clone_delete .= '</span>';
         if ($allAccess) {
             $output .= $controls_move . $controls_layout . $controls_add . $row_edit_clone_delete . $controls_end;
         } elseif ($editAccess) {
             $output .= $row_edit_clone_delete . $controls_end;
         } else {
             $output .= $row_edit_clone_delete . $controls_end;
         }
     }
     return $output;
 }
Ejemplo n.º 4
0
 /**
  * Does user has access to modify/clone/delete/add shortcode
  *
  * @param $shortcode
  *
  * @todo fix_roles and maybe remove/@deprecate this
  * @since 4.5
  * @return bool
  */
 public function userHasAccess($shortcode)
 {
     if ($this->isCheckForAccess()) {
         if (isset($this->hasAccess[$shortcode])) {
             return $this->hasAccess[$shortcode];
         } else {
             $this->hasAccess[$shortcode] = vc_user_access_check_shortcode_edit($shortcode);
         }
         return $this->hasAccess[$shortcode];
     }
     return true;
 }
Ejemplo n.º 5
0
 /**
  * @param $controls
  * @param string $extended_css
  *
  * @return string
  */
 public function getColumnControls($controls = 'full', $extended_css = '')
 {
     $controls_start = '<div class="vc_controls vc_controls-visible controls controls_column' . (!empty($extended_css) ? " {$extended_css}" : '') . '">';
     $controls_end = '</div>';
     if ('bottom-controls' === $extended_css) {
         $control_title = sprintf(__('Append to this %s', 'js_composer'), strtolower($this->settings('name')));
     } else {
         $control_title = sprintf(__('Prepend to this %s', 'js_composer'), strtolower($this->settings('name')));
     }
     $controls_move = '<a class="vc_control column_move" data-vc-control="move" href="#" title="' . sprintf(__('Move this %s', 'js_composer'), strtolower($this->settings('name'))) . '"><span class="vc_icon"></span></a>';
     $controls_add = '<a class="vc_control column_add" data-vc-control="add" href="#" title="' . $control_title . '"><span class="vc_icon"></span></a>';
     $controls_edit = '<a class="vc_control column_edit" data-vc-control="edit" href="#" title="' . sprintf(__('Edit this %s', 'js_composer'), strtolower($this->settings('name'))) . '"><span class="vc_icon"></span></a>';
     $controls_clone = '<a class="vc_control column_clone" data-vc-control="clone" href="#" title="' . sprintf(__('Clone this %s', 'js_composer'), strtolower($this->settings('name'))) . '"><span class="vc_icon"></span></a>';
     $controls_delete = '<a class="vc_control column_delete" data-vc-control="delete" href="#" title="' . sprintf(__('Delete this %s', 'js_composer'), strtolower($this->settings('name'))) . '"><span class="vc_icon"></span></a>';
     $controls_full = $controls_move . $controls_add . $controls_edit . $controls_clone . $controls_delete;
     $editAccess = vc_user_access_check_shortcode_edit($this->shortcode);
     $allAccess = vc_user_access_check_shortcode_all($this->shortcode);
     if (!empty($controls)) {
         if (is_string($controls)) {
             $controls = array($controls);
         }
         $controls_string = $controls_start;
         foreach ($controls as $control) {
             $control_var = 'controls_' . $control;
             if ($editAccess && 'edit' == $control || $allAccess) {
                 if (isset(${$control_var})) {
                     $controls_string .= ${$control_var};
                 }
             }
         }
         return $controls_string . $controls_end;
     }
     if ($allAccess) {
         return $controls_start . $controls_full . $controls_end;
     } elseif ($editAccess) {
         return $controls_start . $controls_edit . $controls_end;
     }
     return $controls_start . $controls_end;
 }
Ejemplo n.º 6
0
<?php

$editAccess = vc_user_access_check_shortcode_edit($shortcode);
$allAccess = vc_user_access_check_shortcode_all($shortcode);
?>
<div class="vc_controls<?php 
echo !empty($extended_css) ? ' ' . $extended_css : '';
?>
">
	<div class="vc_controls-<?php 
echo $position;
?>
">
		<a class="vc_element-name">
			<span class="vc_btn-content"><?php 
echo $name;
?>
</span>
		</a>
			<?php 
foreach ($controls as $control) {
    ?>
				<?php 
    if ('add' === $control && vc_user_access()->part('shortcodes')->checkStateAny(true, 'custom', null)->get()) {
        ?>
					<a class="vc_control-btn vc_control-btn-prepend vc_edit" href="#"
					   title="<?php 
        printf(__('Prepend to %s', 'js_composer'), $name);
        ?>
"><span
							class="vc_btn-content"><span class="icon"></span></span></a>