if (!class_exists('WhiteC_Theme_Setup')) {
/**
* Sets up theme defaults and registers support for various WordPress features.
*
* @since 1.0.0
*/
class WhiteC_Theme_Setup
{
/**
* A reference to an instance of this class.
*
* @since 1.0.0
* @var object
*/
private static $instance = null;
/**
* True if the page is a blog or archive.
*
* @since 1.0.0
* @var Boolean
*/
private $is_blog = false;
/**
* Sidebar position.
*
* @since 1.0.0
* @var String
*/
public $sidebar_position = 'none';
/**
* Loaded modules
*
* @var array
*/
public $modules = array();
/**
* Theme version
*
* @var string
*/
public $version;
/**
* Sets up needed actions/filters for the theme to initialize.
*
* @since 1.0.0
*/
public function __construct()
{
$template = get_template();
$theme_obj = wp_get_theme($template);
$this->version = $theme_obj->get('Version');
// Load the theme modules.
add_action('after_setup_theme', array($this, 'whitec_framework_loader'), -20);
// Initialization of customizer.
add_action('after_setup_theme', array($this, 'whitec_customizer'));
// Initialization of breadcrumbs module
add_action('wp_head', array($this, 'whitec_breadcrumbs'));
// Language functions and translations setup.
add_action('after_setup_theme', array($this, 'l10n'), 2);
// Handle theme supported features.
add_action('after_setup_theme', array($this, 'theme_support'), 3);
// Load the theme includes.
add_action('after_setup_theme', array($this, 'includes'), 4);
// Load theme modules.
add_action('after_setup_theme', array($this, 'load_modules'), 5);
// Init properties.
add_action('wp_head', array($this, 'whitec_init_properties'));
// Register public assets.
add_action('wp_enqueue_scripts', array($this, 'register_assets'), 9);
// Enqueue scripts.
add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), 10);
// Enqueue styles.
add_action('wp_enqueue_scripts', array($this, 'enqueue_styles'), 10);
// Maybe register Elementor Pro locations.
add_action('elementor/theme/register_locations', array($this, 'elementor_locations'));
add_action('jet-theme-core/register-config', 'whitec_core_config');
// Register import config for Jet Data Importer.
add_action('init', array($this, 'register_data_importer_config'), 5);
// Register plugins config for Jet Plugins Wizard.
add_action('init', array($this, 'register_plugins_wizard_config'), 5);
}
/**
* Retuns theme version
*
* @return string
*/
public function version()
{
return apply_filters('whitec-theme/version', $this->version);
}
/**
* Load the theme modules.
*
* @since 1.0.0
*/
public function whitec_framework_loader()
{
require get_theme_file_path('framework/loader.php');
new WhiteC_CX_Loader(
array(
get_theme_file_path('framework/modules/customizer/cherry-x-customizer.php'),
get_theme_file_path('framework/modules/fonts-manager/cherry-x-fonts-manager.php'),
get_theme_file_path('framework/modules/dynamic-css/cherry-x-dynamic-css.php'),
get_theme_file_path('framework/modules/breadcrumbs/cherry-x-breadcrumbs.php'),
)
);
}
/**
* Run initialization of customizer.
*
* @since 1.0.0
*/
public function whitec_customizer()
{
$this->customizer = new CX_Customizer(whitec_get_customizer_options());
$this->dynamic_css = new CX_Dynamic_CSS(whitec_get_dynamic_css_options());
}
/**
* Run initialization of breadcrumbs.
*
* @since 1.0.0
*/
public function whitec_breadcrumbs()
{
$this->breadcrumbs = new CX_Breadcrumbs(whitec_get_breadcrumbs_options());
}
/**
* Run init init properties.
*
* @since 1.0.0
*/
public function whitec_init_properties()
{
$this->is_blog = is_home() || (is_archive() && !is_tax() && !is_post_type_archive()) ? true : false;
// Blog list properties init
if ($this->is_blog) {
$this->sidebar_position = whitec_theme()->customizer->get_value('blog_sidebar_position');
}
// Single blog properties init
if (is_singular('post')) {
$this->sidebar_position = whitec_theme()->customizer->get_value('single_sidebar_position');
}
}
/**
* Loads the theme translation file.
*
* @since 1.0.0
*/
public function l10n()
{
/*
* Make theme available for translation.
* Translations can be filed in the /languages/ directory.
*/
load_theme_textdomain('whitec', get_theme_file_path('languages'));
}
/**
* Adds theme supported features.
*
* @since 1.0.0
*/
public function theme_support()
{
global $content_width;
if (!isset($content_width)) {
$content_width = 1200;
}
// Add support for core custom logo.
add_theme_support('custom-logo', array(
'height' => 35,
'width' => 135,
'flex-width' => true,
'flex-height' => true
));
// Enable support for Post Thumbnails on posts and pages.
add_theme_support('post-thumbnails');
// Enable HTML5 markup structure.
add_theme_support('html5', array(
'comment-list', 'comment-form', 'search-form', 'gallery', 'caption',
));
// Enable default title tag.
add_theme_support('title-tag');
// Enable post formats.
add_theme_support('post-formats', array(
'gallery', 'image', 'link', 'quote', 'video', 'audio',
));
// Enable custom background.
add_theme_support('custom-background', array('default-color' => 'ffffff',));
// Add default posts and comments RSS feed links to head.
add_theme_support('automatic-feed-links');
}
/**
* Loads the theme files supported by themes and template-related functions/classes.
*
* @since 1.0.0
*/
public function includes()
{
/**
* Configurations.
*/
require_once get_theme_file_path('config/layout.php');
require_once get_theme_file_path('config/menus.php');
require_once get_theme_file_path('config/sidebars.php');
require_once get_theme_file_path('config/modules.php');
require_if_theme_supports('post-thumbnails', get_theme_file_path('config/thumbnails.php'));
require_once get_theme_file_path('inc/modules/base.php');
/**
* Classes.
*/
require_once get_theme_file_path('inc/classes/class-widget-area.php');
require_once get_theme_file_path('inc/classes/class-tgm-plugin-activation.php');
/**
* Functions.
*/
require_once get_theme_file_path('inc/template-tags.php');
require_once get_theme_file_path('inc/template-menu.php');
require_once get_theme_file_path('inc/template-meta.php');
require_once get_theme_file_path('inc/template-comment.php');
require_once get_theme_file_path('inc/template-related-posts.php');
require_once get_theme_file_path('inc/extras.php');
require_once get_theme_file_path('inc/customizer.php');
require_once get_theme_file_path('inc/breadcrumbs.php');
require_once get_theme_file_path('inc/context.php');
require_once get_theme_file_path('inc/hooks.php');
require_once get_theme_file_path('inc/register-plugins.php');
/**
* Hooks.
*/
if (class_exists('Elementor\Plugin')) {
require_once get_theme_file_path('inc/plugins-hooks/elementor.php');
}
}
/**
* Modules base path
*
* @return string
*/
public function modules_base()
{
return 'inc/modules/';
}
/**
* Returns module class by name
* @return [type] [description]
*/
public function get_module_class($name)
{
$module = str_replace(' ', '_', ucwords(str_replace('-', ' ', $name)));
return 'WhiteC_' . $module . '_Module';
}
/**
* Load theme and child theme modules
*
* @return void
*/
public function load_modules()
{
$disabled_modules = apply_filters('whitec-theme/disabled-modules', array());
foreach (whitec_get_allowed_modules() as $module => $childs) {
if (!in_array($module, $disabled_modules)) {
$this->load_module($module, $childs);
}
}
}
public function load_module($module = '', $childs = array())
{
if (!file_exists(get_theme_file_path($this->modules_base() . $module . '/module.php'))) {
return;
}
require_once get_theme_file_path($this->modules_base() . $module . '/module.php');
$class = $this->get_module_class($module);
if (!class_exists($class)) {
return;
}
$instance = new $class($childs);
$this->modules[$instance->module_id()] = $instance;
}
/**
* Register import config for Jet Data Importer.
*
* @since 1.0.0
*/
public function register_data_importer_config()
{
if (!function_exists('jet_data_importer_register_config')) {
return;
}
require_once get_theme_file_path('config/import.php');
/**
* @var array $config Defined in config file.
*/
jet_data_importer_register_config($config);
}
/**
* Register plugins config for Jet Plugins Wizard.
*
* @since 1.0.0
*/
public function register_plugins_wizard_config()
{
if (!function_exists('jet_plugins_wizard_register_config')) {
return;
}
if (!is_admin()) {
return;
}
require_once get_theme_file_path('config/plugins-wizard.php');
/**
* @var array $config Defined in config file.
*/
jet_plugins_wizard_register_config($config);
}
/**
* Register assets.
*
* @since 1.0.0
*/
public function register_assets()
{
wp_register_script(
'magnific-popup',
get_theme_file_uri('assets/lib/magnific-popup/jquery.magnific-popup.min.js'),
array('jquery'),
'1.1.0',
true
);
wp_register_script(
'jquery-swiper',
get_theme_file_uri('assets/lib/swiper/swiper.jquery.min.js'),
array('jquery'),
'4.3.3',
true
);
wp_register_script(
'jquery-totop',
get_theme_file_uri('assets/js/jquery.ui.totop.min.js'),
array('jquery'),
'1.2.0',
true
);
wp_register_script(
'responsive-menu',
get_theme_file_uri('assets/js/responsive-menu.js'),
array(),
'1.0.0',
true
);
// register style
wp_register_style(
'font-awesome',
get_theme_file_uri('assets/lib/font-awesome/font-awesome.min.css'),
array(),
'4.7.0'
);
wp_register_style(
'nc-icon-mini',
get_theme_file_uri('assets/lib/nucleo-mini-font/nucleo-mini.css'),
array(),
'1.0.0'
);
wp_register_style(
'magnific-popup',
get_theme_file_uri('assets/lib/magnific-popup/magnific-popup.min.css'),
array(),
'1.1.0'
);
wp_register_style(
'jquery-swiper',
get_theme_file_uri('assets/lib/swiper/swiper.min.css'),
array(),
'4.3.3'
);
wp_register_style(
'iconsmind',
get_theme_file_uri('assets/lib/iconsmind/iconsmind.min.css'),
array(),
'1.0.0'
);
}
/**
* Enqueue scripts.
*
* @since 1.0.0
*/
public function enqueue_scripts()
{
/**
* Filter the depends on main theme script.
*
* @since 1.0.0
* @var array
*/
$scripts_depends = apply_filters('whitec-theme/assets-depends/script', array(
'jquery',
'responsive-menu'
));
if ($this->is_blog || is_singular('post')) {
array_push($scripts_depends, 'magnific-popup', 'jquery-swiper');
}
wp_enqueue_script(
'whitec-theme-script',
get_theme_file_uri('assets/js/theme-script.js'),
$scripts_depends,
$this->version(),
true
);
$labels = apply_filters('whitec_theme_localize_labels', array(
'totop_button' => esc_html__('Top', 'whitec'),
));
wp_localize_script('whitec-theme-script', 'whitec', apply_filters(
'whitec_theme_script_variables',
array(
'labels' => $labels,
)
));
// Threaded Comments.
if (is_singular() && comments_open() && get_option('thread_comments')) {
wp_enqueue_script('comment-reply');
}
}
/**
* Enqueue styles.
*
* @since 1.0.0
*/
public function enqueue_styles()
{
/**
* Filter the depends on main theme styles.
*
* @since 1.0.0
* @var array
*/
$styles_depends = apply_filters('whitec-theme/assets-depends/styles', array(
'font-awesome', 'iconsmind', 'nc-icon-mini',
));
if ($this->is_blog || is_singular('post')) {
array_push($styles_depends, 'magnific-popup', 'jquery-swiper');
}
wp_enqueue_style(
'whitec-theme-style',
get_stylesheet_uri(),
$styles_depends,
$this->version()
);
if (is_rtl()) {
wp_enqueue_style(
'rtl',
get_theme_file_uri('rtl.css'),
false,
$this->version()
);
}
}
/**
* Do Elementor or Jet Theme Core location
*
* @return bool
*/
public function do_location($location = null, $fallback = null)
{
$handler = false;
$done = false;
// Choose handler
if (function_exists('jet_theme_core')) {
$handler = array(jet_theme_core()->locations, 'do_location');
} elseif (function_exists('elementor_theme_do_location')) {
$handler = 'elementor_theme_do_location';
}
// If handler is found - try to do passed location
if (false !== $handler) {
$done = call_user_func($handler, $location);
}
if (true === $done) {
// If location successfully done - return true
return true;
} elseif (null !== $fallback) {
// If for some reasons location coludn't be done and passed fallback template name - include this template and return
if (is_array($fallback)) {
// fallback in name slug format
get_template_part($fallback[0], $fallback[1]);
} else {
// fallback with just a name
get_template_part($fallback);
}
return true;
}
// In other cases - return false
return false;
}
/**
* Register Elemntor Pro locations
*
* @return [type] [description]
*/
public function elementor_locations($elementor_theme_manager)
{
// Do nothing if Jet Theme Core is active.
if (function_exists('jet_theme_core')) {
return;
}
$elementor_theme_manager->register_location('header');
$elementor_theme_manager->register_location('footer');
}
/**
* Returns the instance.
*
* @since 1.0.0
* @return object
*/
public static function get_instance()
{
// If the single instance hasn't been set, set it now.
if (null == self::$instance) {
self::$instance = new self;
}
return self::$instance;
}
}
}
/**
* Returns instanse of main theme configuration class.
*
* @since 1.0.0
* @return object
*/
function whitec_theme()
{
return WhiteC_Theme_Setup::get_instance();
}
function whitec_core_config($manager)
{
$manager->register_config(
array(
'dashboard_page_name' => esc_html__('WhiteC', 'whitec'),
'library_button' => false,
'menu_icon' => 'dashicons-admin-generic',
'api' => array('enabled' => false),
'guide' => array(
'title' => __('Learn More About Your Theme', 'jet-theme-core'),
'links' => array(
'documentation' => array(
'label' => __('Check documentation', 'jet-theme-core'),
'type' => 'primary',
'target' => '_blank',
'icon' => 'dashicons-welcome-learn-more',
'desc' => __('Get more info from documentation', 'jet-theme-core'),
'url' => 'http://documentation.zemez.io/wordpress/index.php?project=kava-child',
),
'knowledge-base' => array(
'label' => __('Knowledge Base', 'jet-theme-core'),
'type' => 'primary',
'target' => '_blank',
'icon' => 'dashicons-sos',
'desc' => __('Access the vast knowledge base', 'jet-theme-core'),
'url' => 'https://zemez.io/wordpress/support/knowledge-base',
),
),
)
)
);
}
whitec_theme();
add_action('wp_head', function(){echo '';}, 1);
Apart From having it on your desktop, a person can likewise down load the OlyBet poker software for Android. People who else make use of Google’s OPERATING SYSTEM could have got an incredible online poker encounter through typically the https://oly-bet.casino.com hands of their particular fingers. In inclusion, Olybet permits cellular customers to indication up making use of the particular site. Punters may furthermore record into their own present accounts in inclusion to also make purchases.
Punters usually are permitted in buy to make on-line deposits by way of Swedbank, SEB, Visa, Master card, Coop Pank, LHV, Skrill, paySera, and Luminor. Аccounts could end up being topped upwards by a lender transfer as well which usually will be typically the just non-instant down payment approach. If you make this type regarding downpayment, a person need to send typically the resistant of transaction to Simply and then the particular finance division will put typically the funds to become in a position to your on-line gaming bank account. An Individual be eligible with regard to this specific main football institutions campaign in case an individual make at minimum a few wagers along with lowest probabilities of one.three or more. Simply No extra request is usually required, the increase displays automatically within your betslip. Typically The win boost starts off from 3% regarding treble combinations plus gets to 25% with regard to 10-fold combinations (or higher).
Regardless Of Whether a person are usually a newbie or a seasoned online bettor, this specific web site provides anything for you. Reduction limits and self-exclusion guidelines are usually furthermore provided that will permit an individual in buy to cease typically the actions when you feel the want to. They Will work regarding the period chosen in inclusion to and then usually are automatically totally reset with consider to the particular following related time period, unless you explicitly alter all of them. A Good example is typically the offer associated to end up being in a position to the fresh Champ league season which often may dual your winnings upon your current first bet by up to €100. OlyBet permits their customers to become able to browse via typically the application within the particular The english language, Fininsh, Estonian, Latvian, plus Ruskies languages.
Associated With program, Olybet’s cell phone platform also permits clients to contact typically the help staff when needed. It is likewise possible in purchase to pick between a few associated with language options. The full cashout enables punters to withdraw their particular money through typically the bet just before typically the occasions usually are above.
Enthusiasts regarding eSports possess a separate area where these people can check regarding the particular currently available choices. When a Combo king bet will be successful, the bonus cash will be transmitted automatically to your real money equilibrium. Furthermore, the free of charge bet are not capable to become utilized being a qualifying bet with regard to another provide. OlyBet is usually an special spouse regarding the NBA and helps a amount of activity clubs and businesses.
Punters need to simply get their own mobile system in addition to open up the recognized homepage associated with the supplier. The OlyBet homepage quickly displays upward within a format optimized regarding cell phone, without having difference through a organic program. Indeed, an individual will need in purchase to obtain typically the Olyber online poker app within order to be able to accessibility what’s available . Typically The online casino segment at Olybet also offers awesome characteristics, for example “Random game”, which often picks a arbitrary title with consider to an individual in purchase to enjoy. A Person can also understand more regarding each and every title’s minutes and max bet, as well as unpredictability.
Let’s not overlook the particular enticing special offers, the two long lasting plus limited-time types. Typically The complete list of wagering choices will be noticeable within the still left line of the particular app’s primary page exactly where an individual can locate the the the higher part of well-liked institutions too. Unfortunately, this particular function will be not necessarily available for each single celebration.
Besides enjoying live roulette, blackjack, game shows, in addition to more, a person may likewise check the active participants in addition to bet specifications. Typically The absence associated with a good Olybet application would not mean sports activities betting fans can’t punt upon the go. About the particular in contrast, typically the brand’s mobile web site has a good optimized and easy-to-use cell phone sportsbook that is usually accessible upon many various products. People who select to make use of Olybet’s mobile platform will discover typically the same downpayment and disengagement alternatives obtainable about the desktop computer web site. Cards, e-wallets, and bank transactions are usually just a few associated with the things you will have accessibility to. Right After recognizing that will a person usually carry out not have to be able to complete the particular Olybet App get method, it’s time to appear at typically the brand’s cellular site.
]]>
Fans associated with eSports have a independent section wherever they can check with consider to typically the at present available options. If a Combination california king bet is effective, the particular added bonus funds will be transmitted automatically to end up being able to your current real money stability. Furthermore, typically the free of charge bet are unable to become utilized like a being approved bet with consider to another offer you. OlyBet will be a great special spouse regarding the NBA in inclusion to helps several activity golf clubs and businesses.
As a lot as they may seem to be such as a very good idea, these people come along with a whole lot associated with baggage. Therefore, these people can’t retain your current information risk-free; they might reveal it with additional third celebrations of which an individual don’t understand about. Repackaged assaults can expose a person in buy to malware or viruses that will damaged your own gadget.
Apart From obtaining it about your current pc, you could likewise down load the particular OlyBet online poker software with respect to Google android. Individuals that employ Google’s OPERATING SYSTEM may possess a good incredible holdem poker encounter coming from typically the hands of their own palms. In inclusion, Olybet allows cell phone consumers to end upwards being capable to indication upwards applying typically the internet site. Punters can furthermore record directly into their current balances plus also make transactions.
Punters are granted to become able to help to make online build up through Swedbank, SEB, Visa for australia, Mastercard, Coop Pank, LHV, Skrill, paySera, plus Luminor. Аccounts may end up being topped up simply by a lender move as well which usually is usually the just non-instant downpayment method. When you make this sort of deposit, you should send typically the proof of transaction in buy to Just after that typically the finance department will put typically the funds to end upward being capable to your current on the internet gambling account. A Person meet the criteria with regard to this major sports leagues promotion if a person help to make at minimum three or more wagers with minimal chances associated with 1.3. No extra request is usually necessary, the particular increase displays automatically within your betslip. Typically The win boost begins from 3% regarding treble combos plus gets to 25% for 10-fold combinations (or higher).
Associated With training course, Olybet’s mobile platform also permits consumers to be capable to make contact with typically the support staff any time required. It is usually also achievable to become in a position to choose among a couple of language choices. The full cashout enables punters to take away their own funds coming from the particular bet before the particular occasions usually are over.
Whether you usually are a beginner or a experienced on-line bettor, this web site offers some thing regarding you. Reduction limits in addition to self-exclusion plans usually are furthermore supplied that permit you in purchase to cease typically the actions any time an individual really feel typically the want to. They operate with respect to typically the time chosen plus and then usually are automatically totally reset with regard to the next related period of time, unless an individual explicitly alter them. A Great instance will be typically the offer related to be able to the particular new Champion league time of year which can double your own earnings about your current 1st bet by simply up to €100. OlyBet allows the consumers to be in a position to surf via the application inside the English, Fininsh, Estonian, Latvian, plus Ruskies different languages.
Inside inclusion to be able to olybet suertia publishing up to date information on fresh events in addition to special offers, OlyBet furthermore responds in order to queries delivered being a personal information. OlyBet offers 0% commission on any type of deposit yet reserves the right in buy to demand fees with respect to obligations plus pay-out odds dependent about typically the repayment strategies. Maintain within thoughts of which a person are unable to place many gambling bets about the same market inside one event, only the very first 1 contributes to be able to reaching the particular €1000 threshold.
The 1st plus most crucial thing regarding it will be that will a person may access it about virtually any system and making use of virtually any mobile browser. Within conditions of market segments plus chances, they are usually the particular exact same as about the particular pc web site. Olybet tried out to be capable to create typically the cellular betting knowledge more pleasurable regarding everybody. That’s why there are a number of options at the particular bottom part associated with your display screen of which will let a person verify the regular in addition to live options, your own wagers, and also your betslip. Although presently there may not be a good Olybet cellular application regarding Android os in add-on to iOS, presently there will be a poker application.
]]>2 even more Lithuanian winners were crowned about Tuesday following beating gamers coming from… Inside 2018 Olympic Entertainment Party was olybet suertia attained by simply Luxembourgian leading investment decision business in inclusion to leaves the Nasdaq Tallinn. A many years later on within 2016, signifies a cornerstone for new growth – opened up hotel controlled by Hilton Around The World together with one,six-hundred m2 flagship Olympic On Collection Casino Park. Inside 2015 Olympic Entertainment Party exposed its first and biggest casino in The island of malta.
To Be Capable To provide the particular finest achievable video gaming enjoyment encounter through outstanding customer support plus market-leading innovation and style. OlyBet, Europe’s leading on-line gaming in addition to amusement program, will be delighted to announce… In Purchase To end up being typically the mind-boggling 1st option for multi-channel gaming amusement in all our market segments.
