Viewing File: /home/maglabs/julia/wp-content/plugins/3d-viewer/inc/Helper/Utils.php

<?php
namespace BP3D\Helper;

class Utils {

    public static $theme_name = null;

    function __construct()
    {
        self::$theme_name = wp_get_theme()->name;
    }

    public static function isset($array, $key, $default = false){
        if(isset($array[$key])){
            return $array[$key];
        }
        return $default;
    }

    public static function isset2($array, $key1, $key2, $default = false){
        if(isset($array[$key1][$key2])){
            return $array[$key1][$key2];
        }
        return $default;
    }

     /**
     * convert hex to rgb color
     */
    public static function hexToRGB($hex, $alpha = false){
        $hex      = str_replace('#', '', $hex);
        $length   = strlen($hex);
        $rgb['r'] = hexdec($length == 6 ? substr($hex, 0, 2) : ($length == 3 ? str_repeat(substr($hex, 0, 1), 2) : 0));
        $rgb['g'] = hexdec($length == 6 ? substr($hex, 2, 2) : ($length == 3 ? str_repeat(substr($hex, 1, 1), 2) : 0));
        $rgb['b'] = hexdec($length == 6 ? substr($hex, 4, 2) : ($length == 3 ? str_repeat(substr($hex, 2, 1), 2) : 0));
        if ( $alpha ) {
            $rgb['a'] = $alpha;
        }
        return $rgb;
    }

    /**
     * @param string $theme
     * @return string css selector
     */
    public static function getCustomSelector($theme){

        $theme = str_replace(' Child', '', $theme);

        // $common_themes = ['Twenty Twenty-Four', 'Astra', 'Storely', 'OceanWP', 'Woodmart', 'Rafdt'];

        // if(in_array($theme, $common_themes)){
        //     return '.woocommerce-product-gallery';
        // }

        $selectors = [
            'Woostify' => '.product-gallery'
        ];

        return $selectors[$theme] ?? '.woocommerce-product-gallery';
    }


    /**
     * @param string $string
     * @return string css class
     */
    static function getThemeClass($string) {
        // Replace spaces with underscores
        $string = str_replace(' ', '_', $string);
        // Convert the string to lowercase
        $string = strtolower($string);
        return $string;
    }

    static function getNotCompatibleThemes(){

        $settings = get_option( '_bp3d_settings_' );

        $is_not_compatible = $settings['is_not_compatible'] ?? false;
        $themes = ['Twenty Twenty-Four', 'Twenty Twenty Three', 'Woostify', 'Raft', 'eStore'];

        if($is_not_compatible){
            return wp_parse_args([wp_get_theme()->name], $themes);
        }

        return $themes;
    }
}
Back to Directory File Manager