Sindbad~EG File Manager

Current Path : /home/copmadinaarea/thecopmadinaarea.org/wp-content/plugins/webinane-elementor/
Upload File :
Current File : /home/copmadinaarea/thecopmadinaarea.org/wp-content/plugins/webinane-elementor/we-functions.php

<?php
/**
 * @developer Abdul Hanan <hannanishfaq510@gmail.com>
 * @package   Webinane Elementor
 * @version   0.0.1
 **/


/**
 * Required Plugin Note
 *
 * @since 1.0.0
 */

use Elementor\Icons_Manager;

function we_plugin_note() {

	// Check if Elementor installed and activated
	if ( ! did_action( 'elementor/loaded' ) ) {
		add_action( 'admin_notices', 'admin_notice_missing_main_plugin' );

		return;
	}

}

/**
 * Required Plugin Note
 *
 * @since 1.0.0
 */
function admin_notice_missing_main_plugin() {

	if ( isset( $_GET['activate'] ) ) {
		unset( $_GET['activate'] );
	}

	$message = sprintf( /* translators: 1: Plugin name 2: Elementor */
		esc_html__( '"%1$s" requires "%2$s" to be installed and activated.', 'we' ), '<strong>' . esc_html__( 'Webinane Elementor', 'we' ) . '</strong>', '<strong>' . esc_html__( 'Elementor', 'we' ) . '</strong>' );

	printf( '<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $message );

}

add_action( 'plugins_loaded', 'we_plugin_note' );

/**
 * Plugin file get form directory
 *
 * @since 0.0.1
 */
function we_root( $dir = '' ) {
	return plugin_dir_path( __FILE__ ) . $dir;
}

/**
 * Plugin file get form url
 *
 * @since 0.0.1
 */
function we_uri( $dir = '' ) {
	return plugin_dir_url( __FILE__ ) . $dir;
}

/**
 * Get directory files list
 *
 * @since 0.0.1
 */
function we_dir_files_list( $path, $ext = '*.php' ) {
	return apply_filters( 'we_dir_files_list', glob( $path . $ext ) );
}

/**
 * Generate TCI UET Class Name
 *
 * @since 0.0.1
 */
function we_generate_class_name( $path ) {
	$class_name = pathinfo( $path );
	$class_name = explode( '-', $class_name['filename'] );
	$class_name = array_map( 'ucfirst', $class_name );
	unset( $class_name[0] );
	unset( $class_name[1] );
	$class_name = array_merge( [ 'WE' ], $class_name );

	return apply_filters( 'we_generate_class_name', $class_name );
}

/**
 * Used to overcome core bug when taxonomy is in more then one post type
 *
 * @see   https://core.trac.wordpress.org/ticket/27918
 * @global array $wp_taxonomies The registered taxonomies.
 * @since 0.0.1
 *
 * @param array  $args
 * @param string $output
 * @param string $operator
 *
 * @return array
 */
function we_get_taxonomies( $args = [], $output = 'names', $operator = 'and' ) {
	global $wp_taxonomies;

	$field = ( 'names' === $output ) ? 'name' : false;

	// Handle 'object_type' separately.
	if ( isset( $args['object_type'] ) ) {
		$object_type = (array) $args['object_type'];
		unset( $args['object_type'] );
	}

	$taxonomies = wp_filter_object_list( $wp_taxonomies, $args, $operator );

	if ( isset( $object_type ) ) {
		foreach ( $taxonomies as $tax => $tax_data ) {
			if ( ! array_intersect( $object_type, $tax_data->object_type ) ) {
				unset( $taxonomies[ $tax ] );
			}
		}
	}

	if ( $field ) {
		$taxonomies = wp_list_pluck( $taxonomies, $field );
	}

	return $taxonomies;
}

if ( ! function_exists( 'webinane_el_set' ) ) {
	function webinane_el_set( $var, $key, $def = '' ) {
		/*if (!$var)
		return false;*/
		if ( is_object( $var ) && isset( $var->$key ) ) {
			return $var->$key;
		} elseif ( is_array( $var ) && isset( $var[$key] ) ) {
			return $var[$key];
		} elseif ( $def ) {
			return $def;
		} else {
			return false;
		}
	}
}
if( ! function_exists('webinane_el_resizer') ) {
	function webinane_el_resizer() {
		return new \WebinaneElementor\Classes\Resizer;
	}
}

/**
 * Add Flaticon existing font library
 *
 * @since 0.0.1
 */
if( ! function_exists('webinane_el_flat_icon') ) {
	function webinane_el_flat_icon($args) {

		$args['flat-icon'] =  [
			'name' 			=> 'flat-icon',
			'label' 		=> __( 'Flaticons', 'elementor' ),
			'url' 			=> WEBINANE_EL_URL . 'assets/css/flaticon.css',
			'enqueue' 		=> [ WEBINANE_EL_URL . 'assets/css/flaticon.css' ],
			'prefix' 		=> 'flaticon-',
		//'displayPrefix' => 'flaticon',
			'labelIcon' 	=> 'flaticon-lab',
			'ver' 			=> '1.0',
			'fetchJson' 	=> WEBINANE_EL_URL . 'assets/js/flaticon.js',
			'native' 		=> true,
		];
		return $args;
	}
}
add_filter( 'elementor/icons_manager/native', 'webinane_el_flat_icon' );

/**
 * All animate css animation
 *
 * @since 0.0.1
 */
if ( ! function_exists( 'we_animate_animation' ) ) {
	function we_animate_animation() {
		return 	[
			'' => 'Default / None',
			'Fading' => [
				'label' => 'Fading',
				'options' => [
					'fadeIn' => 'Fade In',
					'fadeInDown' => 'Fade In Down',
					'fadeInDownBig' => 'fade In Down Big',
					'fadeInLeft' => 'Fade In Left',
					'fadeInLeftBig' => 'fade In Left Big',
					'fadeInRight' => 'Fade In Right',
					'fadeInRightBig' => 'fade In Right Big',
					'fadeInUp' => 'Fade In Up',
					'fadeInUpBig' => 'fade In Up Big',
					'fadeInTopLeft' => 'fade In Top Left',
					'fadeInTopRight' => 'fade In Top Right',
					'fadeInBottomLeft' => 'fade In Bottom Left',
					'fadeInBottomRight' => 'fade In Bottom Right',
				]
			],
			'FadingOut' => [
				'label' => 'Fading Out',
				'options' => [
					'fadeOut' => 'fade Out',
					'fadeOutDown' => 'fade Out Down',
					'fadeOutDownBig' => 'fade Out Down Big',
					'fadeOutLeft' => 'fade Out Left',
					'fadeOutLeftBig' => 'fade Out Left Big',
					'fadeOutRight' => 'fade Out Right',
					'fadeOutRightBig' => 'fade Out Right Big',
					'fadeOutUp' => 'fade Out Up',
					'fadeOutUpBig' => 'fade Out Up Big',
					'fadeOutTopLeft' => 'fade Out Top Left',
					'fadeOutTopRight' => 'fade Out Top Right',
					'fadeOutBottomRight' => 'fade Out Bottom Right',
					'fadeOutBottomLeft' => 'fade Out Bottom Left',
				]
			],
			'Zooming' => [
				'label' => 'Zooming',
				'options' => [
					'zoomIn' => 'Zoom In',
					'zoomInDown' => 'Zoom In Down',
					'zoomInLeft' => 'Zoom In Left',
					'zoomInRight' => 'Zoom In Right',
					'zoomInUp' => 'Zoom In Up',
				]
			],
			'ZoomingOut' => [
				'label' => 'Zooming Out',
				'options' => [
					'zoomOut' => 'Zoom Out',
					'zoomOutDown' => 'Zoom Out Down',
					'zoomOutLeft' => 'Zoom Out Left',
					'zoomOutRight' => 'Zoom Out Right',
					'zoomOutUp' => 'Zoom Out Up',
				]
			],
			'Bouncing' => [
				'label' => 'Bouncing',
				'options' => [
					'bounceIn' => 'Bounce In',
					'bounceInDown' => 'Bounce In Down',
					'bounceInLeft' => 'Bounce In Left',
					'bounceInRight' => 'Bounce In Right',
					'bounceInUp' => 'Bounce In Up',
				]
			],
			'BouncingOut' => [
				'label' => 'Bouncing Out',
				'options' => [
					'bounceOut' => 'Bounce Out',
					'bounceOutDown' => 'Bounce Out Down',
					'bounceOutLeft' => 'Bounce Out Left',
					'bounceOutRight' => 'Bounce Out Right',
					'bounceOutUp' => 'Bounce Out Up',
				]
			],
			'Sliding' => [
				'label' => 'Sliding',
				'options' => [
					'slideInDown' => 'Slide In Down',
					'slideInLeft' => 'Slide In Left',
					'slideInRight' => 'Slide In Right',
					'slideInUp' => 'Slide In Up',
				]
			],
			'SlidingOut' => [
				'label' => 'Sliding Out',
				'options' => [
					'slideOutDown' => 'Slide Out Down',
					'slideOutLeft' => 'Slide Out Left',
					'slideOutRight' => 'Slide Out Right',
					'slideOutUp' => 'Slide Out Up',
				]
			],
			'Rotating' => [
				'label' => 'Rotating',
				'options' => [
					'rotateIn' => 'Rotate In',
					'rotateInDownLeft' => 'Rotate In Down Left',
					'rotateInDownRight' => 'Rotate In Down Right',
					'rotateInUpLeft' => 'Rotate In Up Left',
					'rotateInUpRight' => 'Rotate In Up Right',
				]
			],
			'RotatingOut' => [
				'label' => 'Rotating Out',
				'options' => [
					'rotateOut' => 'Rotate Out',
					'rotateOutDownLeft' => 'Rotate Out Down Left',
					'rotateOutDownRight' => 'Rotate Out Down Right',
					'rotateOutUpLeft' => 'Rotate Out Up Left',
					'rotateOutUpRight' => 'Rotate Out Up Right',
				]
			],
			'Attention-Seekers' => [
				'label' => 'Attention Seekers',
				'options' => [
					'bounce' => 'Bounce',
					'flash' => 'Flash',
					'pulse' => 'Pulse',
					'rubberBand' => 'Rubber Band',
					'shake' => 'Shake',
					'shakeX' => 'ShakeX',
					'shakeY' => 'shakeY',
					'headShake' => 'Head Shake',
					'swing' => 'Swing',
					'tada' => 'Tada',
					'wobble' => 'Wobble',
					'jello' => 'Jello',
					'heartBeat' => 'heartBeat',
				]
			],
			'BackEntrances' => [
				'label' => 'Back Entrances',
				'options' => [
					'backInDown' => 'back In Down',
					'backInLeft' => 'back In Left',
					'backInRight' => 'back In Right',
					'backInUp' => 'back In Up',
				]
			],
			'BackExits' => [
				'label' => 'Back Exits',
				'options' => [
					'backOutDown' => 'back Out Down',
					'backOutLeft' => 'back Out Left',
					'backOutRight' => 'back Out Right',
					'backOutUp' => 'back Out Up',
				]
			],
			'Light-Speed' => [
				'label' => 'Light Speed',
				'options' => [
					'lightSpeedInRight' => 'light Speed In Right',
					'lightSpeedInLeft' => 'light Speed In Left',
					'lightSpeedOutRight' => 'light Speed Out Right',
					'lightSpeedOutLeft' => 'light Speed Out Left',
				]
			],
			'Flippers' => [
				'label' => 'Flippers',
				'options' => [
					'flip' => 'flip',
					'flipInX' => 'flip In X',
					'flipInY' => 'flip In Y',
					'flipOutX' => 'flip Out X',
					'flipOutY' => 'flip Out Y',
				]
			],
			'Specials' => [
				'label' => 'Specials',
				'options' => [
					'hinge' => 'hinge',
					'jackInTheBox' => 'jackInTheBox',
					'rollIn' => 'Roll In',
					'rollOut' => 'rollOut',
				]
			],
		];
	}
}

/**
 * All animate In css animation
 *
 * @since 0.0.1
 */
if ( ! function_exists( 'we_animate_in_animation' ) ) {
	function we_animate_in_animation() {
		return 	[
			'' => 'Default / None',
			'Fading' => [
				'label' => 'Fading',
				'options' => [
					'fadeIn' => 'Fade In',
					'fadeInDown' => 'Fade In Down',
					'fadeInDownBig' => 'fade In Down Big',
					'fadeInLeft' => 'Fade In Left',
					'fadeInLeftBig' => 'fade In Left Big',
					'fadeInRight' => 'Fade In Right',
					'fadeInRightBig' => 'fade In Right Big',
					'fadeInUp' => 'Fade In Up',
					'fadeInUpBig' => 'fade In Up Big',
					'fadeInTopLeft' => 'fade In Top Left',
					'fadeInTopRight' => 'fade In Top Right',
					'fadeInBottomLeft' => 'fade In Bottom Left',
					'fadeInBottomRight' => 'fade In Bottom Right',
				]
			],
			'Zooming' => [
				'label' => 'Zooming',
				'options' => [
					'zoomIn' => 'Zoom In',
					'zoomInDown' => 'Zoom In Down',
					'zoomInLeft' => 'Zoom In Left',
					'zoomInRight' => 'Zoom In Right',
					'zoomInUp' => 'Zoom In Up',
				]
			],
			'Bouncing' => [
				'label' => 'Bouncing',
				'options' => [
					'bounceIn' => 'Bounce In',
					'bounceInDown' => 'Bounce In Down',
					'bounceInLeft' => 'Bounce In Left',
					'bounceInRight' => 'Bounce In Right',
					'bounceInUp' => 'Bounce In Up',
				]
			],
			'Sliding' => [
				'label' => 'Sliding',
				'options' => [
					'slideInDown' => 'Slide In Down',
					'slideInLeft' => 'Slide In Left',
					'slideInRight' => 'Slide In Right',
					'slideInUp' => 'Slide In Up',
				]
			],
			'Rotating' => [
				'label' => 'Rotating',
				'options' => [
					'rotateIn' => 'Rotate In',
					'rotateInDownLeft' => 'Rotate In Down Left',
					'rotateInDownRight' => 'Rotate In Down Right',
					'rotateInUpLeft' => 'Rotate In Up Left',
					'rotateInUpRight' => 'Rotate In Up Right',
				]
			],
			'Attention-Seekers' => [
				'label' => 'Attention Seekers',
				'options' => [
					'bounce' => 'Bounce',
					'flash' => 'Flash',
					'pulse' => 'Pulse',
					'rubberBand' => 'Rubber Band',
					'shake' => 'Shake',
					'shakeX' => 'ShakeX',
					'shakeY' => 'shakeY',
					'headShake' => 'Head Shake',
					'swing' => 'Swing',
					'tada' => 'Tada',
					'wobble' => 'Wobble',
					'jello' => 'Jello',
					'heartBeat' => 'heartBeat',
				]
			],
			'BackEntrances' => [
				'label' => 'Back Entrances',
				'options' => [
					'backInDown' => 'back In Down',
					'backInLeft' => 'back In Left',
					'backInRight' => 'back In Right',
					'backInUp' => 'back In Up',
				]
			],
			'Light-Speed' => [
				'label' => 'Light Speed',
				'options' => [
					'lightSpeedInRight' => 'light Speed In Right',
					'lightSpeedInLeft' => 'light Speed In Left',
				]
			],
			'Flippers' => [
				'label' => 'Flippers',
				'options' => [
					'flip' => 'flip',
					'flipInX' => 'flip In X',
					'flipInY' => 'flip In Y',
				]
			],
			'Specials' => [
				'label' => 'Specials',
				'options' => [
					'hinge' => 'hinge',
					'jackInTheBox' => 'jackInTheBox',
					'rollIn' => 'Roll In',
				]
			],
		];
	}
}

/**
 * All animate Out css animation
 *
 * @since 0.0.1
 */
if ( ! function_exists( 'we_animate_out_animation' ) ) {
	function we_animate_out_animation() {
		return 	[
			'' => 'Default / None',
			'FadingOut' => [
				'label' => 'Fading Out',
				'options' => [
					'fadeOut' => 'fade Out',
					'fadeOutDown' => 'fade Out Down',
					'fadeOutDownBig' => 'fade Out Down Big',
					'fadeOutLeft' => 'fade Out Left',
					'fadeOutLeftBig' => 'fade Out Left Big',
					'fadeOutRight' => 'fade Out Right',
					'fadeOutRightBig' => 'fade Out Right Big',
					'fadeOutUp' => 'fade Out Up',
					'fadeOutUpBig' => 'fade Out Up Big',
					'fadeOutTopLeft' => 'fade Out Top Left',
					'fadeOutTopRight' => 'fade Out Top Right',
					'fadeOutBottomRight' => 'fade Out Bottom Right',
					'fadeOutBottomLeft' => 'fade Out Bottom Left',
				]
			],
			'ZoomingOut' => [
				'label' => 'Zooming Out',
				'options' => [
					'zoomOut' => 'Zoom Out',
					'zoomOutDown' => 'Zoom Out Down',
					'zoomOutLeft' => 'Zoom Out Left',
					'zoomOutRight' => 'Zoom Out Right',
					'zoomOutUp' => 'Zoom Out Up',
				]
			],
			'BouncingOut' => [
				'label' => 'Bouncing Out',
				'options' => [
					'bounceOut' => 'Bounce Out',
					'bounceOutDown' => 'Bounce Out Down',
					'bounceOutLeft' => 'Bounce Out Left',
					'bounceOutRight' => 'Bounce Out Right',
					'bounceOutUp' => 'Bounce Out Up',
				]
			],
			'SlidingOut' => [
				'label' => 'Sliding Out',
				'options' => [
					'slideOutDown' => 'Slide Out Down',
					'slideOutLeft' => 'Slide Out Left',
					'slideOutRight' => 'Slide Out Right',
					'slideOutUp' => 'Slide Out Up',
				]
			],
			'RotatingOut' => [
				'label' => 'Rotating Out',
				'options' => [
					'rotateOut' => 'Rotate Out',
					'rotateOutDownLeft' => 'Rotate Out Down Left',
					'rotateOutDownRight' => 'Rotate Out Down Right',
					'rotateOutUpLeft' => 'Rotate Out Up Left',
					'rotateOutUpRight' => 'Rotate Out Up Right',
				]
			],
			'Attention-Seekers' => [
				'label' => 'Attention Seekers',
				'options' => [
					'bounce' => 'Bounce',
					'flash' => 'Flash',
					'pulse' => 'Pulse',
					'rubberBand' => 'Rubber Band',
					'shake' => 'Shake',
					'shakeX' => 'ShakeX',
					'shakeY' => 'shakeY',
					'headShake' => 'Head Shake',
					'swing' => 'Swing',
					'tada' => 'Tada',
					'wobble' => 'Wobble',
					'jello' => 'Jello',
					'heartBeat' => 'heartBeat',
				]
			],
			'BackExits' => [
				'label' => 'Back Exits',
				'options' => [
					'backOutDown' => 'back Out Down',
					'backOutLeft' => 'back Out Left',
					'backOutRight' => 'back Out Right',
					'backOutUp' => 'back Out Up',
				]
			],
			'Light-Speed' => [
				'label' => 'Light Speed',
				'options' => [
					'lightSpeedOutRight' => 'light Speed Out Right',
					'lightSpeedOutLeft' => 'light Speed Out Left',
				]
			],
			'Flippers' => [
				'label' => 'Flippers',
				'options' => [
					'flip' => 'flip',
					'flipOutX' => 'flip Out X',
					'flipOutY' => 'flip Out Y',
				]
			],
			'Specials' => [
				'label' => 'Specials',
				'options' => [
					'hinge' => 'hinge',
					'jackInTheBox' => 'jackInTheBox',
					'rollOut' => 'rollOut',
				]
			],
		];
	}
}

/**
 * Function to get widget settings outside render method.
 * 
 * @param  [type] $post_id     [description]
 * @param  [type] $widget_id   [description]
 * @param  [type] $widget_type [description]
 * @return [type]              [description]
 */
function webinane_el_widget_settings($post_id, $widget_id, $widget_type) {
	return new \WebinaneElementor\Classes\Helpers\ElementSettings(
		$post_id,
		$widget_id,
		$widget_type
	);
}

if( ! function_exists('webinane_el_meta') ) {

	/**
	 * webinane meta field assosiative array.
	 * 
	 * @param  [type] $meta [description]
	 * @return [type]       [description]
	 */
	function webinane_el_meta($meta) {
		if($meta) {
			$new_meta = array();
			foreach( $meta as $key => $value ) {
				$new_meta[$key] = maybe_unserialize( $value[0] );
			}
			$meta = $new_meta;
		}

		return $meta;
	}
}

function get_page_title( $include_context = true ) {
	$title = '';

	if ( is_singular() ) {
		/* translators: %s: Search term. */
		$title = get_the_title();

		if ( $include_context ) {
			$post_type_obj = get_post_type_object( get_post_type() );
			$title         = sprintf( '%s: %s', $post_type_obj->labels->singular_name, $title );
		}
	} elseif ( is_search() ) {
		/* translators: %s: Search term. */
		$title = sprintf( __( 'Search Results for: %s', 'tacon' ), get_search_query() );

		if ( get_query_var( 'paged' ) ) {
			/* translators: %s is the page number. */
			$title .= sprintf( __( '&nbsp;&ndash; Page %s', 'tacon' ), get_query_var( 'paged' ) );
		}
	} elseif ( is_category() ) {
		$title = single_cat_title( '', false );

		if ( $include_context ) {
			/* translators: Category archive title. 1: Category name */
			$title = sprintf( __( 'Category: %s', 'tacon' ), $title );
		}
	} elseif ( is_tag() ) {
		$title = single_tag_title( '', false );
		if ( $include_context ) {
			/* translators: Tag archive title. 1: Tag name */
			$title = sprintf( __( 'Tag: %s', 'tacon' ), $title );
		}
	} elseif ( is_author() ) {
		$title = get_the_author();

		if ( $include_context ) {
			/* translators: Author archive title. 1: Author name */
			$title = sprintf( __( 'Author: %s', 'tacon' ), $title );
		}
	} elseif ( is_year() ) {
		$title = get_the_date( _x( 'Y', 'yearly archives date format', 'tacon' ) );

		if ( $include_context ) {
			/* translators: Yearly archive title. 1: Year */
			$title = sprintf( __( 'Year: %s', 'tacon' ), $title );
		}
	} elseif ( is_month() ) {
		$title = get_the_date( _x( 'F Y', 'monthly archives date format', 'tacon' ) );

		if ( $include_context ) {
			/* translators: Monthly archive title. 1: Month name and year */
			$title = sprintf( __( 'Month: %s', 'tacon' ), $title );
		}
	} elseif ( is_day() ) {
		$title = get_the_date( _x( 'F j, Y', 'daily archives date format', 'tacon' ) );

		if ( $include_context ) {
			/* translators: Daily archive title. 1: Date */
			$title = sprintf( __( 'Day: %s', 'tacon' ), $title );
		}
	} elseif ( is_tax( 'post_format' ) ) {
		if ( is_tax( 'post_format', 'post-format-aside' ) ) {
			$title = _x( 'Asides', 'post format archive title', 'tacon' );
		} elseif ( is_tax( 'post_format', 'post-format-gallery' ) ) {
			$title = _x( 'Galleries', 'post format archive title', 'tacon' );
		} elseif ( is_tax( 'post_format', 'post-format-image' ) ) {
			$title = _x( 'Images', 'post format archive title', 'tacon' );
		} elseif ( is_tax( 'post_format', 'post-format-video' ) ) {
			$title = _x( 'Videos', 'post format archive title', 'tacon' );
		} elseif ( is_tax( 'post_format', 'post-format-quote' ) ) {
			$title = _x( 'Quotes', 'post format archive title', 'tacon' );
		} elseif ( is_tax( 'post_format', 'post-format-link' ) ) {
			$title = _x( 'Links', 'post format archive title', 'tacon' );
		} elseif ( is_tax( 'post_format', 'post-format-status' ) ) {
			$title = _x( 'Statuses', 'post format archive title', 'tacon' );
		} elseif ( is_tax( 'post_format', 'post-format-audio' ) ) {
			$title = _x( 'Audio', 'post format archive title', 'tacon' );
		} elseif ( is_tax( 'post_format', 'post-format-chat' ) ) {
			$title = _x( 'Chats', 'post format archive title', 'tacon' );
		}
	} elseif ( is_post_type_archive() ) {
		$title = post_type_archive_title( '', false );

		if ( $include_context ) {
			/* translators: Post type archive title. 1: Post type name */
			$title = sprintf( __( 'Archives: %s', 'tacon' ), $title );
		}
	} elseif ( is_tax() ) {
		$title = single_term_title( '', false );

		if ( $include_context ) {
			$tax = get_taxonomy( get_queried_object()->taxonomy );
			/* translators: Taxonomy term archive title. 1: Taxonomy singular name, 2: Current taxonomy term */
			$title = sprintf( __( '%1$s: %2$s', 'tacon' ), $tax->labels->singular_name, $title );
		}
	} elseif ( is_home() ) {
		$title = single_post_title('', false);

		if ( $include_context ) {
			$tax = get_taxonomy( get_queried_object()->taxonomy );
			/* translators: Taxonomy term archive title. 1: Taxonomy singular name, 2: Current taxonomy term */
			$title = sprintf( __( '%1$s: %2$s', 'tacon' ), $tax->labels->singular_name, $title );
		}

	} elseif ( is_404() ) {
		$title = __( 'Page Not Found', 'tacon' );
	} // End if().

	/**
	 * The archive title.
	 * Filters the archive title.
	 *
	 * @since 1.0.0
	 *
	 * @param string $title Archive title to be displayed.
	 */
	$title = apply_filters( 'elementor/utils/get_the_archive_title', $title );

	return $title;
}

/**
 * [webinane_el_get_mc_lists description]
*/
if ( ! function_exists( 'webinane_el_get_mc_lists' ) ) {
	function webinane_el_get_mc_lists( $assos = true ) {

		if ( ! function_exists( 'mc4wp' ) ) {

			return array();
		}
		if ( ! class_exists( 'MC4WP_Mailchimp' ) ) { 

			require_once MC4WP_PLUGIN_DIR . '/includes/class-mailchimp.php';

		}
		$mc4 = new MC4WP_Mailchimp();
		
		$lists = [];
		if( method_exists($mc4, 'get_lists')) {		
			$lists = $mc4->get_lists();

			if ( $assos ) {

				$return = array();

				foreach( $lists as $list ) {

					$return[$list->id] = $list->name;

				}

				return $return;

			}
		}
		return $lists;

	}
}


/**
 * [webinane_el_mailchimp_process description]
*/
if ( ! function_exists( 'webinane_el_mailchimp_process' ) ) {
	function webinane_el_mailchimp_process( $list,$email ) {

		$mailchimp = new MC4WP_Mailchimp();

		$arr = array();
		
		$res = $mailchimp->list_subscribe( $list, $email  , $arr );
		
		if ( ! $res ) {

			if ( $mailchimp->error_message instanceof MC4WP_API_Exception ) {

				$res = $mailchimp->error_message->__toString();

			} else {

				$res = $mailchimp->error_message;

			}

		}

		return $res;

	}	
}

if ( ! function_exists( 'webinane_el_render_icon' ) ) {
	function webinane_el_render_icon( $id ) {
		$svg_icon = [ 'value' => [ 'id' => $id ], 'library' => 'svg' ]; 
		Icons_Manager::render_icon( $svg_icon );
	}
}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists