Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/elemento.../core/admin/ui/componen...
File: button.php
<?php
[0] Fix | Delete
namespace Elementor\Core\Admin\UI\Components;
[1] Fix | Delete
[2] Fix | Delete
use Elementor\Core\Base\Base_Object;
[3] Fix | Delete
use Elementor\Utils;
[4] Fix | Delete
[5] Fix | Delete
if ( ! defined( 'ABSPATH' ) ) {
[6] Fix | Delete
exit; // Exit if accessed directly.
[7] Fix | Delete
}
[8] Fix | Delete
[9] Fix | Delete
class Button extends Base_Object {
[10] Fix | Delete
[11] Fix | Delete
private $options;
[12] Fix | Delete
[13] Fix | Delete
/**
[14] Fix | Delete
* @inheritDoc
[15] Fix | Delete
*/
[16] Fix | Delete
public function get_name() {
[17] Fix | Delete
return 'admin-button';
[18] Fix | Delete
}
[19] Fix | Delete
[20] Fix | Delete
public function print_button() {
[21] Fix | Delete
$options = $this->get_options();
[22] Fix | Delete
[23] Fix | Delete
if ( empty( $options['text'] ) ) {
[24] Fix | Delete
return;
[25] Fix | Delete
}
[26] Fix | Delete
[27] Fix | Delete
$html_tag = ! empty( $options['url'] ) ? 'a' : 'button';
[28] Fix | Delete
$before = '';
[29] Fix | Delete
$icon = '';
[30] Fix | Delete
$attributes = [];
[31] Fix | Delete
[32] Fix | Delete
if ( ! empty( $options['icon'] ) ) {
[33] Fix | Delete
$icon = '<i class="' . esc_attr( $options['icon'] ) . '"></i>';
[34] Fix | Delete
}
[35] Fix | Delete
[36] Fix | Delete
$classes = $options['classes'];
[37] Fix | Delete
[38] Fix | Delete
$default_classes = $this->get_default_options( 'classes' );
[39] Fix | Delete
[40] Fix | Delete
$classes = array_merge( $classes, $default_classes );
[41] Fix | Delete
[42] Fix | Delete
if ( ! empty( $options['type'] ) ) {
[43] Fix | Delete
$classes[] = 'e-button--' . $options['type'];
[44] Fix | Delete
}
[45] Fix | Delete
[46] Fix | Delete
if ( ! empty( $options['variant'] ) ) {
[47] Fix | Delete
$classes[] = 'e-button--' . $options['variant'];
[48] Fix | Delete
}
[49] Fix | Delete
[50] Fix | Delete
if ( ! empty( $options['before'] ) ) {
[51] Fix | Delete
$before = '<span>' . wp_kses_post( $options['before'] ) . '</span>';
[52] Fix | Delete
}
[53] Fix | Delete
[54] Fix | Delete
if ( ! empty( $options['url'] ) ) {
[55] Fix | Delete
$attributes['href'] = $options['url'];
[56] Fix | Delete
if ( $options['new_tab'] ) {
[57] Fix | Delete
$attributes['target'] = '_blank';
[58] Fix | Delete
}
[59] Fix | Delete
}
[60] Fix | Delete
[61] Fix | Delete
$attributes['class'] = $classes;
[62] Fix | Delete
[63] Fix | Delete
$html = $before . '<' . $html_tag . ' ' . Utils::render_html_attributes( $attributes ) . '>';
[64] Fix | Delete
$html .= $icon;
[65] Fix | Delete
$html .= '<span>' . sanitize_text_field( $options['text'] ) . '</span>';
[66] Fix | Delete
$html .= '</' . $html_tag . '>';
[67] Fix | Delete
[68] Fix | Delete
echo $html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[69] Fix | Delete
}
[70] Fix | Delete
[71] Fix | Delete
/**
[72] Fix | Delete
* @param string $option Optional default is null.
[73] Fix | Delete
* @return array|mixed
[74] Fix | Delete
*/
[75] Fix | Delete
private function get_options( $option = null ) {
[76] Fix | Delete
return $this->get_items( $this->options, $option );
[77] Fix | Delete
}
[78] Fix | Delete
[79] Fix | Delete
/**
[80] Fix | Delete
* @param null $option
[81] Fix | Delete
* @return array
[82] Fix | Delete
*/
[83] Fix | Delete
private function get_default_options( $option = null ) {
[84] Fix | Delete
$default_options = [
[85] Fix | Delete
'classes' => [ 'e-button' ],
[86] Fix | Delete
'icon' => '',
[87] Fix | Delete
'new_tab' => false,
[88] Fix | Delete
'text' => '',
[89] Fix | Delete
'type' => '',
[90] Fix | Delete
'url' => '',
[91] Fix | Delete
'variant' => '',
[92] Fix | Delete
'before' => '',
[93] Fix | Delete
];
[94] Fix | Delete
[95] Fix | Delete
if ( null !== $option && -1 !== in_array( $option, $default_options, true ) ) {
[96] Fix | Delete
return $default_options[ $option ];
[97] Fix | Delete
}
[98] Fix | Delete
[99] Fix | Delete
return $default_options;
[100] Fix | Delete
}
[101] Fix | Delete
[102] Fix | Delete
public function __construct( array $options ) {
[103] Fix | Delete
$this->options = $this->merge_properties( $this->get_default_options(), $options );
[104] Fix | Delete
}
[105] Fix | Delete
}
[106] Fix | Delete
[107] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function