Server IP : 104.21.14.103 / Your IP : 18.227.134.163 Web Server : LiteSpeed System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : giankuin ( 1871) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/giankuin/khowordpress.com/wp-content/themes/flatsome/inc/classes/ |
Upload File : |
<?php /** * Flatsome_Envato class. * * @package Flatsome */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * The Flatsome Envato. */ final class Flatsome_Envato { /** * The single class instance. * * @var object */ private static $instance = null; /** * The setting option name. * * @var string */ private $option_name; /** * Main Flatsome_Envato instance * * @return Flatsome_Envato. */ public static function instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Setup instance properties. */ private function __construct() { $this->slug = 'flatsome-envato'; $this->option_name = self::sanitize_key( $this->slug ); } /** * Initialize classes. */ public function init() { $this->admin()->init(); $this->updater()->init(); } /** * The Flatsome_Envato_Admin class. */ public function admin() { return Flatsome_Envato_Admin::instance(); } /** * The Flatsome_Envato_API class. */ public function api() { return Flatsome_Envato_API::instance(); } /** * The Flatsome_Envato_Updater class. */ public function updater() { return Flatsome_Envato_Updater::instance(); } /** * Checks whether Flatsome is registered or not. * * @return boolean */ public function is_registered() { return ( $this->get_option( 'token' ) !== '' && $this->get_option( 'is_valid' ) ); } /** * Set option value. * * @param string $name Option name. * @param mixed $option Option data. */ public function set_option( $name, $option ) { $options = self::get_options(); $name = self::sanitize_key( $name ); $options[ $name ] = esc_html( $option ); $this->set_options( $options ); if ( $name === 'token' ) { $this->api()->token = $option; } } /** * Set options. * * @param mixed $options Option data. */ public function set_options( $options ) { update_option( $this->option_name, $options ); } /** * Return the options array. */ public function get_options() { return get_option( $this->option_name, array() ); } /** * Delete options. */ public function delete_options() { delete_option( $this->option_name ); } /** * Set or delete Envato errors. * * @param string[] $errors The error messages. * @return void */ public function set_errors( array $errors ) { if ( count( $errors ) ) { update_option( 'flatsome_envato_errors', $errors ); } else { delete_option( 'flatsome_envato_errors' ); } } /** * Get Envato errors. * * @return string[] */ public function get_errors() { return get_option( 'flatsome_envato_errors', array() ); } /** * Return a value from the option settings array. * * @param string $name Option name. * @param mixed $default The default value if nothing is set. * @return mixed */ public function get_option( $name, $default = '' ) { $options = self::get_options(); $name = self::sanitize_key( $name ); return isset( $options[ $name ] ) ? $options[ $name ] : $default; } /** * Get a URL with token permissions prefilled. * * @return string */ public function get_create_token_url() { $permissions = $this->api()->get_required_permissions(); $token_url = 'https://build.envato.com/create-token/'; foreach ( $permissions as $key => $value ) { if ( $key !== 'default' ) { $token_url = add_query_arg( $key, 't', $token_url ); } } return $token_url; } /** * Sanitize data key. * * @param string $key An alpha numeric string to sanitize. * @return string */ private function sanitize_key( $key ) { return preg_replace( '/[^A-Za-z0-9\_]/i', '', str_replace( array( '-', ':' ), '_', $key ) ); } }