%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
| 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 : |
<?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();
}