/home/edulekha/sriramaaresorts.com/wp-content/plugins/metform-pro/utils/helper.php
<?php
namespace MetForm_Pro\Utils;
defined('ABSPATH') || exit;
/**
* Global helper class.
*
* @since 1.0.0
*/
class Helper
{
/**
* Get metform older version if has any.
*
* @since 1.0.0
* @access public
*/
public static function old_version()
{
$version = get_option('metform_version');
return null == $version ? -1 : $version;
}
/**
* Set metform installed version as current version.
*
* @since 1.0.0
* @access public
*/
public static function set_version()
{
}
/**
* Auto generate classname from path.
*
* @since 1.0.0
* @access public
*/
public static function make_classname($dirname)
{
$dirname = pathinfo($dirname, PATHINFO_FILENAME);
$class_name = explode('-', $dirname);
$class_name = array_map('ucfirst', $class_name);
$class_name = implode('_', $class_name);
return $class_name;
}
public static function google_fonts($font_families = [])
{
$fonts_url = '';
if ($font_families) {
$query_args = array(
'family' => urlencode(implode('|', $font_families))
);
$fonts_url = add_query_arg($query_args, 'https://fonts.googleapis.com/css');
}
return esc_url_raw($fonts_url);
}
public static function kses($raw)
{
$allowed_tags = array(
'a' => array(
'class' => array(),
'href' => array(),
'rel' => array(),
'title' => array(),
'target' => array(),
),
'abbr' => array(
'title' => array(),
),
'b' => array(),
'blockquote' => array(
'cite' => array(),
),
'cite' => array(
'title' => array(),
),
'code' => array(),
'del' => array(
'datetime' => array(),
'title' => array(),
),
'dd' => array(),
'div' => array(
'class' => array(),
'title' => array(),
'style' => array(),
),
'dl' => array(),
'dt' => array(),
'em' => array(),
'h1' => array(
'class' => array(),
),
'h2' => array(
'class' => array(),
),
'h3' => array(
'class' => array(),
),
'h4' => array(
'class' => array(),
),
'h5' => array(
'class' => array(),
),
'h6' => array(
'class' => array(),
),
'i' => array(
'class' => array(),
),
'img' => array(
'alt' => array(),
'class' => array(),
'height' => array(),
'src' => array(),
'width' => array(),
),
'li' => array(
'class' => array(),
),
'ol' => array(
'class' => array(),
),
'p' => array(
'class' => array(),
),
'q' => array(
'cite' => array(),
'title' => array(),
),
'span' => array(
'class' => array(),
'title' => array(),
'style' => array(),
),
'iframe' => array(
'width' => array(),
'height' => array(),
'scrolling' => array(),
'frameborder' => array(),
'allow' => array(),
'src' => array(),
),
'strike' => array(),
'br' => array(),
'strong' => array(),
'data-wow-duration' => array(),
'data-wow-delay' => array(),
'data-wallpaper-options' => array(),
'data-stellar-background-ratio' => array(),
'ul' => array(
'class' => array(),
),
);
if (function_exists('wp_kses')) { // WP is here
return wp_kses($raw, $allowed_tags);
} else {
return $raw;
}
}
public static function kspan($text)
{
return str_replace(['{', '}'], ['<span>', '</span>'], self::kses($text));
}
public static function trim_words($text, $num_words)
{
return wp_trim_words($text, $num_words, '');
}
public static function array_push_assoc($array, $key, $value)
{
$array[$key] = $value;
return $array;
}
public static function render($content)
{
if (stripos($content, "metform-has-lisence") !== false) {
return null;
}
return $content;
}
public static function render_elementor_content($content_id)
{
$elementor_instance = \Elementor\Plugin::instance();
return $elementor_instance->frontend->get_builder_content_for_display($content_id);
}
public static function img_meta($id)
{
$attachment = get_post($id);
if ($attachment == null || $attachment->post_type != 'attachment') {
return null;
}
return [
'alt' => get_post_meta($attachment->ID, '_wp_attachment_image_alt', true),
'caption' => $attachment->post_excerpt,
'description' => $attachment->post_content,
'href' => get_permalink($attachment->ID),
'src' => $attachment->guid,
'title' => $attachment->post_title
];
}
public static function render_inner_content($content, $id)
{
return str_replace('.elementor-' . $id . ' ', '#elementor .elementor-' . $id . ' ', $content);
}
public static function url_generate($url, $params)
{
$params_url = http_build_query($params, '', '&');
if (strpos($url, '?') === false) {
return ($url . '?' . $params_url);
} else {
return ($url . '&' . $params_url);
}
}
/**
* Check if woocommerce is exists
*/
public static function mf_is_woo_exists()
{
if (in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins')))) {
return true;
}
return false;
}
/**
* Get license tier by price id
* @param string $price_id
* @return string
*/
public static function get_tier( $price_id = '' ) {
switch ( $price_id ) {
case '1':
case '4':
return 'starter';
case '2':
case '5':
return 'mid';
case '3':
case '6':
return 'top';
default:
return '';
}
}
}