���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC status() != 'valid' ) { return 'invalid'; } return 'valid'; } public static function license_data() { if ( ! class_exists( '\ElementsKit_Lite\Libs\Framework\Classes\Utils' ) ) { return array( 'key' => '', 'checksum' => '', 'plugin_package' => self::package_type(), ); } return array( 'key' => \ElementsKit_Lite\Libs\Framework\Classes\Utils::instance()->get_option( 'license_key' ), 'checksum' => get_option( '__validate_oppai__' ), 'plugin_package' => self::package_type(), ); } /** * Product ID * * @since 1.2.6 * @var string The plugin ID in our server. */ static function product_id() { return '9'; } /** * Author Name * * @since 1.3.1 * @var string The plugin author. */ static function author_name() { return 'Wpmet'; } /** * Store Name * * @since 1.3.1 * @var string The store name: self site, envato. */ static function store_name() { return 'wordpressorg'; } /** * Minimum Elementor Version * * @since 1.0.0 * @var string Minimum Elementor version required to run the plugin. */ static function min_el_version() { return '3.0.0'; } /** * Minimum PHP Version * * @since 1.0.0 * @var string Minimum PHP version required to run the plugin. */ static function min_php_version() { return '7.0'; } /** * Plugin file * * @since 1.0.0 * @var string plugins's root file. */ static function plugin_file() { return __FILE__; } /** * Plugin url * * @since 1.0.0 * @var string plugins's root url. */ static function plugin_url() { return trailingslashit( plugin_dir_url( __FILE__ ) ); } /** * Plugin dir * * @since 1.0.0 * @var string plugins's root directory. */ static function plugin_dir() { return trailingslashit( plugin_dir_path( __FILE__ ) ); } /** * Plugin's widget directory. * * @since 1.0.0 * @var string widget's root directory. */ static function widget_dir() { return self::plugin_dir() . 'widgets/'; } /** * Plugin's widget url. * * @since 1.0.0 * @var string widget's root url. */ static function widget_url() { return self::plugin_url() . 'widgets/'; } /** * API url * * @since 1.0.0 * @var string for license, layout notification related functions. */ static function api_url() { return 'https://api.wpmet.com/public/'; } /** * Account url * * @since 1.2.6 * @var string for plugin update notification, user account page. */ static function account_url() { return 'https://account.wpmet.com'; } /** * Plugin's module directory. * * @since 1.0.0 * @var string module's root directory. */ static function module_dir() { return self::plugin_dir() . 'modules/'; } /** * Plugin's module url. * * @since 1.0.0 * @var string module's root url. */ static function module_url() { return self::plugin_url() . 'modules/'; } /** * Plugin's lib directory. * * @since 1.0.0 * @var string lib's root directory. */ static function lib_dir() { return self::plugin_dir() . 'libs/'; } /** * Plugin's lib url. * * @since 1.0.0 * @var string lib's root url. */ static function lib_url() { return self::plugin_url() . 'libs/'; } /** * Active plugin's textdomain list */ static function active_plugins() { require_once ABSPATH . 'wp-admin/includes/plugin.php'; $apl = get_option( 'active_plugins' ); $plugins = get_plugins(); $filter_string = ''; foreach ( $apl as $p ) { if ( isset( $plugins[ $p ] ) && isset( $plugins[ $p ]['TextDomain'] ) ) { $filter_string .= ',' . $plugins[ $p ]['TextDomain']; } } return ltrim( $filter_string, ',' ); } /** * Constructor * * @since 1.0.0 * @access public */ public function __construct() { // Load the main static helper class. require_once self::plugin_dir() . 'libs/notice/notice.php'; // new notice system require_once self::plugin_dir() . 'libs/banner/banner.php'; // new banner system require_once self::plugin_dir() . 'libs/stories/stories.php'; // new stories system require_once self::plugin_dir() . 'libs/rating/rating.php'; require_once self::plugin_dir() . 'libs/pro-awareness/pro-awareness.php'; // pro menu class file require_once self::plugin_dir() . 'libs/forms/forms.php'; // form menu class file require_once self::plugin_dir() . 'libs/our-plugins/our-plugins.php'; // used to display the wpmet other plugins require_once self::plugin_dir() . 'libs/emailkit/emailkit.php'; require_once self::plugin_dir() . 'helpers/utils.php'; // Load translation add_action( 'init', array( $this, 'i18n' ) ); // Init Plugin add_action( 'plugins_loaded', array( $this, 'init' ), 100 ); } /** * Load Textdomain * * Load plugin localization files. * Fired by `init` action hook. * * @since 1.0.0 * @access public */ public function i18n() { load_plugin_textdomain( 'elementskit-lite', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); } /** * Initialize the plugin * * Checks for basic plugin requirements, if one check fail don't continue, * if all check have passed include the plugin class. * * Fired by `plugins_loaded` action hook. * * @since 1.0.0 * @access public */ public function init() { // Load the Plugin class, it's the core class of ElementsKit_Lite. require_once self::plugin_dir() . 'plugin.php'; \ElementsKit_Lite\Plugin::registrar_autoloader(); // init notice class \Oxaim\Libs\Notice::init(); // init pro menu class \Wpmet\Libs\Pro_Awareness::init(); // Check if Elementor installed and activated. if ( ! did_action( 'elementor/loaded' ) ) { add_action( 'admin_head', array( $this, 'missing_elementor' ) ); return; } // Check for required PHP version. if ( version_compare( PHP_VERSION, self::min_php_version(), '<' ) ) { add_action( 'admin_head', array( $this, 'failed_php_version' ) ); return; } // Register ElementsKit_Lite widget category add_action( 'elementor/elements/categories_registered', array( $this, 'elementor_widget_category' ) ); // initiate elementor custom controls new \ElementsKit_Lite\Modules\Controls\Init(); add_action( 'elementor/init', function() { if ( class_exists( 'ElementsKit' ) && ! class_exists( 'ElementsKit_Comp' ) ) { return; } // adding backward classes and methods for older 14 number themes. require_once self::plugin_dir() . 'compatibility/backward/plugin-class-backward-compatibility.php'; require_once self::plugin_dir() . 'compatibility/backward/utils-backward-compablity.php'; // Run the instance. Plugin::instance(); // adding backward classes and methods for older 14 number themes. require_once self::plugin_dir() . 'compatibility/backward/module-list.php'; require_once self::plugin_dir() . 'compatibility/backward/widget-list.php'; } ); } /** * Admin notice * * Warning when the site doesn't have required Elementor. * * @since 1.0.0 * @access public */ public function missing_elementor() { $btn = array( 'default_class' => 'button', 'class' => 'button-primary ', // button-primary button-secondary button-small button-large button-link ); if ( file_exists( WP_PLUGIN_DIR . '/elementor/elementor.php' ) ) { $btn['text'] = esc_html__( 'Activate Elementor', 'elementskit-lite' ); $btn['url'] = wp_nonce_url( 'plugins.php?action=activate&plugin=elementor/elementor.php&plugin_status=all&paged=1', 'activate-plugin_elementor/elementor.php' ); } else { $btn['text'] = esc_html__( 'Install Elementor', 'elementskit-lite' ); $btn['url'] = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=elementor' ), 'install-plugin_elementor' ); } \Oxaim\Libs\Notice::instance( 'elementskit-lite', 'unsupported-elementor-version' ) ->set_type( 'error' ) ->set_message( sprintf( '%1$s %2$s+, %3$s', esc_html__( 'ElementsKit requires Elementor version', 'elementskit-lite' ), self::min_el_version() , esc_html__( 'which is currently NOT RUNNING.', 'elementskit-lite' ), ) ) ->set_button( $btn ) ->call(); } /** * Admin notice * * Warning when the site doesn't have a minimum required PHP version. * * @since 1.0.0 * @access public */ public function failed_php_version() { \Oxaim\Libs\Notice::instance( 'elementskit-lite', 'unsupported-php-version' ) ->set_type( 'error' ) ->set_message( sprintf( '%1$s %2$s+, %3$s', esc_html__( 'ElementsKit requires PHP version', 'elementskit-lite' ), self::min_php_version(), esc_html__( 'which is currently NOT RUNNING on this server.', 'elementskit-lite' ) )) ->call(); } /** * Rewrite flush. * * @since 1.0.7 * @access public */ public static function install_activation_key() { add_option( 'elementskit-lite__plugin_activated', self::plugin_file() ); } /** * Add category. * * Register custom widget category in Elementor's editor * * @since 1.0.0 * @access public */ public function elementor_widget_category( $widgets_manager ) { $widgets_manager->add_category( 'elementskit', array( 'title' => esc_html__( 'ElementsKit', 'elementskit-lite' ), 'icon' => 'fa fa-plug', ), 1 ); $widgets_manager->add_category( 'elementskit_headerfooter', array( 'title' => esc_html__( 'ElementsKit Header Footer', 'elementskit-lite' ), 'icon' => 'fa fa-plug', ), 1 ); } } new ElementsKit_Lite(); register_activation_hook( __FILE__, 'ElementsKit_Lite::install_activation_key' );