芝麻web文件管理V1.00
';
}
/**
* Print HTML markup if passed setting not empty.
*
* @param string $setting Passed setting.
* @param string $format Required markup.
* @param array $args Additional variables to pass into format string.
* @param bool $echo Echo or return.
* @return string|void
*/
public function __html( $setting = null, $format = '%s' ) {
call_user_func( array( $this, sprintf( '__%s_html', $this->__context ) ), $setting, $format );
}
/**
* Returns HTML markup if passed setting not empty.
*
* @param string $setting Passed setting.
* @param string $format Required markup.
* @param array $args Additional variables to pass into format string.
* @param bool $echo Echo or return.
* @return string|void
*/
public function __get_html( $setting = null, $format = '%s' ) {
ob_start();
$this->__html( $setting, $format );
return ob_get_clean();
}
/**
* Print HTML template
*
* @param [type] $setting [description]
* @param [type] $format [description]
* @return [type] [description]
*/
public function __render_html( $setting = null, $format = '%s' ) {
if ( is_array( $setting ) ) {
$key = $setting[1];
$setting = $setting[0];
}
$val = $this->get_settings_for_display( $setting );
if ( ! is_array( $val ) && '0' === $val ) {
printf( $format, $val );
}
if ( is_array( $val ) && empty( $val[ $key ] ) ) {
return '';
}
if ( ! is_array( $val ) && empty( $val ) ) {
return '';
}
if ( is_array( $val ) ) {
printf( $format, $val[ $key ] );
} else {
printf( $format, $val );
}
}
/**
* Print underscore template
*
* @param [type] $setting [description]
* @param [type] $format [description]
* @return [type] [description]
*/
public function __edit_html( $setting = null, $format = '%s' ) {
if ( is_array( $setting ) ) {
$setting = $setting[0] . '.' . $setting[1];
}
echo '<# if ( settings.' . $setting . ' ) { #>';
printf( $format, '{{{ settings.' . $setting . ' }}}' );
echo '<# } #>';
}
/**
* Set posts query results
*/
public function __set_query( $posts ) {
$this->__query = $posts;
}
/**
* Return posts query results
*/
public function __get_query() {
return $this->__query;
}
/**
* [__add_control description]
* @param boolean $control_id [description]
* @param array $control_args [description]
* @param integer $load_level [description]
* @return [type] [description]
*/
public function __add_control( $control_id = false, $control_args = [], $load_level = 100 ) {
if (
( $this->__load_level < $load_level
|| 0 === $this->__load_level
|| in_array( $control_id, $this->__exclude_controls )
) && !in_array( $control_id, $this->__include_controls )
) {
return false;
}
if ( function_exists( 'jet_styles_manager' ) && jet_styles_manager()->compatibility ) {
$control_args = jet_styles_manager()->compatibility->set_control_args(
$control_args,
$load_level,
'jet-tabs'
);
}
$this->add_control( $control_id, $control_args );
}
/**
* [__add_responsive_control description]
* @param boolean $control_id [description]
* @param array $control_args [description]
* @param integer $load_level [description]
* @return [type] [description]
*/
public function __add_responsive_control( $control_id = false, $control_args = [], $load_level = 100 ) {
if (
( $this->__load_level < $load_level
|| 0 === $this->__load_level
|| in_array( $control_id, $this->__exclude_controls )
) && !in_array( $control_id, $this->__include_controls )
) {
return false;
}
if ( function_exists( 'jet_styles_manager' ) && jet_styles_manager()->compatibility ) {
$control_args = jet_styles_manager()->compatibility->set_control_args(
$control_args,
$load_level,
'jet-tabs'
);
}
$this->add_responsive_control( $control_id, $control_args );
}
/**
* [__add_group_control description]
* @param boolean $group_control_type [description]
* @param array $group_control_args [description]
* @param integer $load_level [description]
* @return [type] [description]
*/
public function __add_group_control( $group_control_type = false, $group_control_args = [], $load_level = 100 ) {
if (
( $this->__load_level < $load_level
|| 0 === $this->__load_level
|| in_array( $group_control_args['name'], $this->__exclude_controls )
) && !in_array( $group_control_args['name'], $this->__include_controls )
) {
return false;
}
if ( function_exists( 'jet_styles_manager' ) && jet_styles_manager()->compatibility ) {
$group_control_args = jet_styles_manager()->compatibility->set_group_control_args(
$group_control_type,
$group_control_args,
$load_level,
'jet-tabs'
);
}
$this->add_group_control( $group_control_type, $group_control_args );
}
/**
* [__start_controls_section description]
* @param boolean $controls_section_id [description]
* @param array $controls_section_args [description]
* @param integer $load_level [description]
* @return [type] [description]
*/
public function __start_controls_section( $controls_section_id = false, $controls_section_args = [], $load_level = 25 ) {
if ( ! $controls_section_id || $this->__load_level < $load_level || 0 === $this->__load_level ) {
return false;
}
$this->start_controls_section( $controls_section_id, $controls_section_args );
}
/**
* [__end_controls_section description]
* @param integer $load_level [description]
* @return [type] [description]
*/
public function __end_controls_section( $load_level = 25 ) {
if ( $this->__load_level < $load_level || 0 === $this->__load_level ) {
return false;
}
$this->end_controls_section();
}
/**
* [__start_controls_tabs description]
* @param boolean $tabs_id [description]
* @param integer $load_level [description]
* @return [type] [description]
*/
public function __start_controls_tabs( $tabs_id = false, $load_level = 25 ) {
if ( ! $tabs_id || $this->__load_level < $load_level || 0 === $this->__load_level ) {
return false;
}
$this->start_controls_tabs( $tabs_id );
}
/**
* [__end_controls_tabs description]
* @param integer $load_level [description]
* @return [type] [description]
*/
public function __end_controls_tabs( $load_level = 25 ) {
if ( $this->__load_level < $load_level || 0 === $this->__load_level ) {
return false;
}
$this->end_controls_tabs();
}
/**
* [__start_controls_tab description]
* @param boolean $tab_id [description]
* @param array $tab_args [description]
* @param integer $load_level [description]
* @return [type] [description]
*/
public function __start_controls_tab( $tab_id = false, $tab_args = [], $load_level = 25 ) {
if ( ! $tab_id || $this->__load_level < $load_level || 0 === $this->__load_level ) {
return false;
}
$this->start_controls_tab( $tab_id, $tab_args );
}
/**
* [__end_controls_tab description]
* @param integer $load_level [description]
* @return [type] [description]
*/
public function __end_controls_tab( $load_level = 25 ) {
if ( $this->__load_level < $load_level || 0 === $this->__load_level ) {
return false;
}
$this->end_controls_tab();
}
/**
* Returns HTML icon markup
*
* @param array $setting
* @param array $settings
* @param string $format
* @param string $icon_class
* @return string
*/
public function __get_icon( $setting = null, $settings = null, $format = '%s', $icon_class = '' ) {
return $this->__render_icon( $setting, $settings, $format, $icon_class, false );
}
/**
* Print HTML icon template
*
* @param array $setting
* @param array $settings
* @param string $format
* @param string $icon_class
* @param bool $echo
*
* @return void|string
*/
public function __render_icon( $setting = null, $settings = null, $format = '%s', $icon_class = '', $echo = true ) {
if ( null === $settings ) {
$settings = $this->get_settings_for_display();
}
$new_setting = $this->__new_icon_prefix . $setting;
$migrated = isset( $settings['__fa4_migrated'][ $new_setting ] );
$is_new = ( empty( $settings[ $setting ] ) || 'false' === $settings[ $setting ] )
&& class_exists( 'Elementor\Icons_Manager' ) && Icons_Manager::is_migration_allowed();
$icon_html = '';
if ( $is_new || $migrated ) {
$attr = array();
if ( ! empty( $icon_class ) ) {
$attr['class'] = $icon_class;
}
if ( isset( $settings[ $new_setting ] ) ) {
ob_start();
Icons_Manager::render_icon( $settings[ $new_setting ], $attr );
$icon_html = ob_get_clean();
}
} else if ( ! empty( $settings[ $setting ] ) ) {
if ( empty( $icon_class ) ) {
$icon_class = $settings[ $setting ];
} else {
$icon_class .= ' ' . $settings[ $setting ];
}
$icon_html = sprintf( '', $icon_class );
}
if ( empty( $icon_html ) ) {
return;
}
if ( ! $echo ) {
return sprintf( $format, $icon_html );
}
printf( $format, $icon_html );
}
/**
* Return available html tag list
* @return array
*/
public function get_available_item_html_tags() {
return array(
'h1' => esc_html__( 'H1', 'jet-tabs' ),
'h2' => esc_html__( 'H2', 'jet-tabs' ),
'h3' => esc_html__( 'H3', 'jet-tabs' ),
'h4' => esc_html__( 'H4', 'jet-tabs' ),
'h5' => esc_html__( 'H5', 'jet-tabs' ),
'h6' => esc_html__( 'H6', 'jet-tabs' ),
'div' => esc_html__( 'div', 'jet-tabs' ),
'span' => esc_html__( 'span', 'jet-tabs' ),
'p' => esc_html__( 'p', 'jet-tabs' ),
);
}
public function validate_html_tag( $tag ) {
$allowed_tags = array(
'article',
'aside',
'div',
'footer',
'h1',
'h2',
'h3',
'h4',
'h5',
'h6',
'header',
'main',
'nav',
'p',
'section',
'span',
);
return in_array( strtolower( $tag ), $allowed_tags ) ? $tag : 'div';
}
}