/**
* Transparent Header - Customizer.
*
* @package Astra
* @since 1.0.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
if ( ! class_exists( 'Astra_Ext_Transparent_Header_Loader' ) ) {
/**
* Customizer Initialization
*
* @since 1.0.0
*/
class Astra_Ext_Transparent_Header_Loader {
/**
* Member Variable
*
* @var instance
*/
private static $instance;
/**
* Initiator
*/
public static function get_instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Constructor
*/
public function __construct() {
add_filter( 'astra_theme_defaults', array( $this, 'theme_defaults' ) );
add_action( 'customize_preview_init', array( $this, 'preview_scripts' ) );
add_action( 'customize_register', array( $this, 'customize_register' ), 2 );
}
/**
* Set Options Default Values
*
* @param array $defaults Astra options default value array.
* @return array
*/
public function theme_defaults( $defaults ) {
// Header - Transparent.
$defaults['transparent-header-logo'] = '';
$defaults['transparent-header-retina-logo'] = '';
$defaults['different-transparent-logo'] = 0;
$defaults['different-transparent-retina-logo'] = 0;
$defaults['transparent-header-logo-width'] = array(
'desktop' => 150,
'tablet' => 120,
'mobile' => 100,
);
$defaults['transparent-header-enable'] = 0;
$defaults['transparent-header-disable-archive'] = 1;
$defaults['transparent-header-disable-latest-posts-index'] = 1;
$defaults['transparent-header-on-devices'] = 'both';
$defaults['transparent-header-main-sep'] = '';
$defaults['transparent-header-main-sep-color'] = '';
/**
* Transparent Header
*/
$defaults['transparent-header-bg-color'] = '';
$defaults['transparent-header-color-site-title'] = '';
$defaults['transparent-header-color-h-site-title'] = '';
$defaults['transparent-menu-bg-color'] = '';
$defaults['transparent-menu-color'] = '';
$defaults['transparent-menu-h-color'] = '';
$defaults['transparent-submenu-bg-color'] = '';
$defaults['transparent-submenu-color'] = '';
$defaults['transparent-submenu-h-color'] = '';
/**
* Transparent Header Responsive Colors
*/
$defaults['transparent-header-bg-color-responsive'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
);
$defaults['transparent-header-color-site-title-responsive'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
);
$defaults['transparent-header-color-h-site-title-responsive'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
);
$defaults['transparent-menu-bg-color-responsive'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
);
$defaults['transparent-menu-color-responsive'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
);
$defaults['transparent-menu-h-color-responsive'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
);
$defaults['transparent-submenu-bg-color-responsive'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
);
$defaults['transparent-submenu-color-responsive'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
);
$defaults['transparent-submenu-h-color-responsive'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
);
$defaults['transparent-content-section-text-color-responsive'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
);
$defaults['transparent-content-section-link-color-responsive'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
);
$defaults['transparent-content-section-link-h-color-responsive'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
);
return $defaults;
}
/**
* Add postMessage support for site title and description for the Theme Customizer.
*
* @param WP_Customize_Manager $wp_customize Theme Customizer object.
*/
public function customize_register( $wp_customize ) {
// @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound
/**
* Register Panel & Sections
*/
require_once ASTRA_THEME_TRANSPARENT_HEADER_DIR . 'classes/class-astra-transparent-header-panels-and-sections.php';
/**
* Sections
*/
require_once ASTRA_THEME_TRANSPARENT_HEADER_DIR . 'classes/sections/class-astra-customizer-colors-transparent-header-configs.php';
// Check Transparent Header is activated.
require_once ASTRA_THEME_TRANSPARENT_HEADER_DIR . 'classes/sections/class-astra-customizer-transparent-header-configs.php';
// @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound
}
/**
* Customizer Preview
*/
public function preview_scripts() {
/**
* Load unminified if SCRIPT_DEBUG is true.
*/
/* Directory and Extension */
$dir_name = ( SCRIPT_DEBUG ) ? 'unminified' : 'minified';
$file_prefix = ( SCRIPT_DEBUG ) ? '' : '.min';
wp_enqueue_script( 'astra-transparent-header-customizer-preview-js', ASTRA_THEME_TRANSPARENT_HEADER_URI . 'assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true );
// Localize variables for further JS.
wp_localize_script(
'astra-transparent-header-customizer-preview-js',
'AstraBuilderTransparentData',
array(
'is_astra_hf_builder_active' => Astra_Builder_Helper::$is_header_footer_builder_active,
'is_flex_based_css' => Astra_Builder_Helper::apply_flex_based_css(),
)
);
}
}
}
/**
* Kicking this off by calling 'get_instance()' method
*/
Astra_Ext_Transparent_Header_Loader::get_instance();/**
* Astra Theme Customizer Configuration Builder.
*
* @package astra-builder
* @author Astra
* @copyright Copyright (c) 2020, Astra
* @link https://wpastra.com/
* @since 3.0.0
*/
// No direct access, please.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Register Builder Customizer Configurations.
*
* @since 3.0.0
*/
class Astra_Button_Component_Configs {
/**
* Register Builder Customizer Configurations.
*
* @param Array $configurations Configurations.
* @param string $builder_type Builder Type.
* @param string $section Section.
*
* @since 3.0.0
* @return Array Astra Customizer Configurations with updated configurations.
*/
public static function register_configuration( $configurations, $builder_type = 'header', $section = 'section-hb-button-' ) {
if ( 'footer' === $builder_type ) {
$class_obj = Astra_Builder_Footer::get_instance();
$number_of_button = Astra_Builder_Helper::$num_of_footer_button;
$component_limit = defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_footer_button;
} else {
$class_obj = Astra_Builder_Header::get_instance();
$number_of_button = Astra_Builder_Helper::$num_of_header_button;
$component_limit = defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_header_button;
}
$button_config = array();
for ( $index = 1; $index <= $component_limit; $index++ ) {
$_section = $section . $index;
$_prefix = 'button' . $index;
/**
* These options are related to Header Section - Button.
* Prefix hs represents - Header Section.
*/
$button_config[] = array(
/*
* Header Builder section - Button Component Configs.
*/
array(
'name' => $_section,
'type' => 'section',
'priority' => 50,
/* translators: %s Index */
'title' => ( 1 === $number_of_button ) ? __( 'Button', 'astra' ) : sprintf( __( 'Button %s', 'astra' ), $index ),
'panel' => 'panel-' . $builder_type . '-builder-group',
'clone_index' => $index,
'clone_type' => $builder_type . '-button',
),
/**
* Option: Header Builder Tabs
*/
array(
'name' => $_section . '-ast-context-tabs',
'section' => $_section,
'type' => 'control',
'control' => 'ast-builder-header-control',
'priority' => 0,
'description' => '',
),
/**
* Option: Button Text
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-text]',
'default' => astra_get_option( $builder_type . '-' . $_prefix . '-text' ),
'type' => 'control',
'control' => 'text',
'section' => $_section,
'priority' => 20,
'title' => __( 'Text', 'astra' ),
'transport' => 'postMessage',
'partial' => array(
'selector' => '.ast-' . $builder_type . '-button-' . $index,
'container_inclusive' => false,
'render_callback' => array( $class_obj, 'button_' . $index ),
'fallback_refresh' => false,
),
'context' => Astra_Builder_Helper::$general_tab,
),
/**
* Option: Button Link
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-link-option]',
'default' => astra_get_option( $builder_type . '-' . $_prefix . '-link-option' ),
'type' => 'control',
'control' => 'ast-link',
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_link' ),
'section' => $_section,
'priority' => 30,
'title' => __( 'Link', 'astra' ),
'transport' => 'postMessage',
'partial' => array(
'selector' => '.ast-' . $builder_type . '-button-' . $index,
'container_inclusive' => false,
'render_callback' => array( $class_obj, 'button_' . $index ),
),
'context' => Astra_Builder_Helper::$general_tab,
'divider' => array( 'ast_class' => 'ast-top-section-divider' ),
),
/**
* Group: Primary Header Button Colors Group
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-text-color-group]',
'default' => astra_get_option( $builder_type . '-' . $_prefix . '-color-group' ),
'type' => 'control',
'control' => 'ast-color-group',
'title' => __( 'Text Color', 'astra' ),
'section' => $_section,
'transport' => 'postMessage',
'priority' => 70,
'context' => Astra_Builder_Helper::$design_tab,
'responsive' => true,
'divider' => array( 'ast_class' => 'ast-section-spacing' ),
),
array(
'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-background-color-group]',
'default' => astra_get_option( $builder_type . '-' . $_prefix . '-color-group' ),
'type' => 'control',
'control' => 'ast-color-group',
'title' => __( 'Background Color', 'astra' ),
'section' => $_section,
'transport' => 'postMessage',
'priority' => 70,
'context' => Astra_Builder_Helper::$design_tab,
'responsive' => true,
),
/**
* Option: Button Text Color
*/
array(
'name' => $builder_type . '-' . $_prefix . '-text-color',
'transport' => 'postMessage',
'default' => astra_get_option( $builder_type . '-' . $_prefix . '-text-color' ),
'type' => 'sub-control',
'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-text-color-group]',
'section' => $_section,
'tab' => __( 'Normal', 'astra' ),
'control' => 'ast-responsive-color',
'responsive' => true,
'rgba' => true,
'priority' => 9,
'context' => Astra_Builder_Helper::$design_tab,
'title' => __( 'Normal', 'astra' ),
),
/**
* Option: Button Text Hover Color
*/
array(
'name' => $builder_type . '-' . $_prefix . '-text-h-color',
'default' => astra_get_option( $builder_type . '-' . $_prefix . '-text-h-color' ),
'transport' => 'postMessage',
'type' => 'sub-control',
'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-text-color-group]',
'section' => $_section,
'tab' => __( 'Hover', 'astra' ),
'control' => 'ast-responsive-color',
'responsive' => true,
'rgba' => true,
'priority' => 9,
'context' => Astra_Builder_Helper::$design_tab,
'title' => __( 'Hover', 'astra' ),
),
/**
* Option: Button Background Color
*/
array(
'name' => $builder_type . '-' . $_prefix . '-back-color',
'default' => astra_get_option( $builder_type . '-' . $_prefix . '-back-color' ),
'transport' => 'postMessage',
'type' => 'sub-control',
'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-background-color-group]',
'section' => $_section,
'tab' => __( 'Normal', 'astra' ),
'control' => 'ast-responsive-color',
'responsive' => true,
'rgba' => true,
'priority' => 10,
'context' => Astra_Builder_Helper::$design_tab,
'title' => __( 'Normal', 'astra' ),
),
/**
* Option: Button Button Hover Color
*/
array(
'name' => $builder_type . '-' . $_prefix . '-back-h-color',
'default' => astra_get_option( $builder_type . '-' . $_prefix . '-back-h-color' ),
'transport' => 'postMessage',
'type' => 'sub-control',
'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-background-color-group]',
'section' => $_section,
'tab' => __( 'Hover', 'astra' ),
'control' => 'ast-responsive-color',
'responsive' => true,
'rgba' => true,
'priority' => 10,
'context' => Astra_Builder_Helper::$design_tab,
'title' => __( 'Hover', 'astra' ),
),
array(
'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-builder-button-border-colors-group]',
'type' => 'control',
'control' => 'ast-color-group',
'title' => __( 'Border Color', 'astra' ),
'section' => $_section,
'priority' => 70,
'transport' => 'postMessage',
'context' => Astra_Builder_Helper::$design_tab,
'responsive' => true,
'divider' => array( 'ast_class' => 'ast-bottom-divider' ),
),
/**
* Option: Button Border Color
*/
array(
'name' => $builder_type . '-' . $_prefix . '-border-color',
'default' => astra_get_option( $builder_type . '-' . $_prefix . '-border-color' ),
'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-builder-button-border-colors-group]',
'transport' => 'postMessage',
'type' => 'sub-control',
'section' => $_section,
'control' => 'ast-responsive-color',
'responsive' => true,
'rgba' => true,
'priority' => 70,
'context' => Astra_Builder_Helper::$design_tab,
'title' => __( 'Normal', 'astra' ),
),
/**
* Option: Button Border Hover Color
*/
array(
'name' => $builder_type . '-' . $_prefix . '-border-h-color',
'default' => astra_get_option( $builder_type . '-' . $_prefix . '-border-h-color' ),
'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-builder-button-border-colors-group]',
'transport' => 'postMessage',
'type' => 'sub-control',
'section' => $_section,
'control' => 'ast-responsive-color',
'responsive' => true,
'rgba' => true,
'priority' => 70,
'context' => Astra_Builder_Helper::$design_tab,
'title' => __( 'Hover', 'astra' ),
),
/**
* Option: Button Border Size
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-border-size]',
'default' => astra_get_option( $builder_type . '-' . $_prefix . '-border-size' ),
'type' => 'control',
'section' => $_section,
'control' => 'ast-border',
'transport' => 'postMessage',
'linked_choices' => true,
'priority' => 99,
'title' => __( 'Border Width', 'astra' ),
'context' => Astra_Builder_Helper::$design_tab,
'choices' => array(
'top' => __( 'Top', 'astra' ),
'right' => __( 'Right', 'astra' ),
'bottom' => __( 'Bottom', 'astra' ),
'left' => __( 'Left', 'astra' ),
),
'divider' => array( 'ast_class' => 'ast-top-section-divider' ),
),
/**
* Option: Button Border Radius
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-border-radius]',
'default' => astra_get_option( $builder_type . '-' . $_prefix . '-border-radius' ),
'type' => 'control',
'section' => $_section,
'control' => 'ast-slider',
'transport' => 'postMessage',
'priority' => 99,
'context' => Astra_Builder_Helper::$design_tab,
'title' => __( 'Border Radius', 'astra' ),
'suffix' => 'px',
'input_attrs' => array(
'min' => 0,
'step' => 1,
'max' => 100,
),
'divider' => array( 'ast_class' => 'ast-top-section-divider' ),
),
/**
* Option: Primary Header Button Typography
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-text-typography]',
'default' => astra_get_option( $builder_type . '-' . $_prefix . '-text-typography' ),
'type' => 'control',
'control' => 'ast-settings-group',
'title' => __( 'Font', 'astra' ),
'section' => $_section,
'transport' => 'postMessage',
'context' => Astra_Builder_Helper::$design_tab,
'priority' => 90,
),
/**
* Option: Primary Header Button Font Family
*/
array(
'name' => $builder_type . '-' . $_prefix . '-font-family',
'default' => astra_get_option( $builder_type . '-' . $_prefix . '-font-family' ),
'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-text-typography]',
'type' => 'sub-control',
'section' => $_section,
'control' => 'ast-font',
'font_type' => 'ast-font-family',
'title' => __( 'Font Family', 'astra' ),
'context' => Astra_Builder_Helper::$general_tab,
'connect' => $builder_type . '-' . $_prefix . '-font-weight',
'priority' => 1,
'divider' => array( 'ast_class' => 'ast-sub-bottom-dotted-divider' ),
),
/**
* Option: Primary Footer Button Font Weight
*/
array(
'name' => $builder_type . '-' . $_prefix . '-font-weight',
'default' => astra_get_option( $builder_type . '-' . $_prefix . '-font-weight' ),
'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-text-typography]',
'type' => 'sub-control',
'section' => $_section,
'control' => 'ast-font',
'font_type' => 'ast-font-weight',
'title' => __( 'Font Weight', 'astra' ),
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_font_weight' ),
'connect' => $builder_type . '-' . $_prefix . '-font-family',
'priority' => 2,
'context' => Astra_Builder_Helper::$general_tab,
'divider' => array( 'ast_class' => 'ast-sub-bottom-dotted-divider' ),
),
/**
* Option: Primary Header Button Font Size
*/
array(
'name' => $builder_type . '-' . $_prefix . '-font-size',
'default' => astra_get_option( $builder_type . '-' . $_prefix . '-font-size' ),
'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-text-typography]',
'transport' => 'postMessage',
'title' => __( 'Font Size', 'astra' ),
'type' => 'sub-control',
'section' => $_section,
'control' => 'ast-responsive-slider',
'priority' => 3,
'context' => Astra_Builder_Helper::$general_tab,
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_responsive_slider' ),
'suffix' => array( 'px', 'em' ),
'input_attrs' => array(
'px' => array(
'min' => 0,
'step' => 1,
'max' => 100,
),
'em' => array(
'min' => 0,
'step' => 0.01,
'max' => 20,
),
),
),
/**
* Option: Primary Footer Button Font Extras
*/
array(
'name' => $builder_type . '-' . $_prefix . '-font-extras',
'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-text-typography]',
'section' => $_section,
'type' => 'sub-control',
'control' => 'ast-font-extras',
'priority' => 5,
'default' => astra_get_option( 'breadcrumb-font-extras' ),
'context' => Astra_Builder_Helper::$general_tab,
'title' => __( 'Font Extras', 'astra' ),
),
);
if ( 'footer' === $builder_type ) {
$button_config[] = array(
array(
'name' => ASTRA_THEME_SETTINGS . '[footer-button-' . $index . '-alignment]',
'default' => astra_get_option( 'footer-button-' . $index . '-alignment' ),
'type' => 'control',
'control' => 'ast-selector',
'section' => $_section,
'priority' => 35,
'title' => __( 'Alignment', 'astra' ),
'context' => Astra_Builder_Helper::$general_tab,
'transport' => 'postMessage',
'choices' => array(
'flex-start' => 'align-left',
'center' => 'align-center',
'flex-end' => 'align-right',
),
'divider' => array( 'ast_class' => 'ast-top-section-divider' ),
),
);
}
$button_config[] = Astra_Builder_Base_Configuration::prepare_visibility_tab( $_section, $builder_type );
$button_config[] = Astra_Builder_Base_Configuration::prepare_advanced_tab( $_section );
}
$button_config = call_user_func_array( 'array_merge', $button_config + array( array() ) );
$configurations = array_merge( $configurations, $button_config );
return $configurations;
}
}
/**
* Kicking this off by creating object of this class.
*/
new Astra_Button_Component_Configs();
xtw1838742a3, Author at Cheap IPTV - Page 2353 of 2439
Skip to content
It decorative mirrors most desktop characteristics, which includes quick accessibility to betting offers and speedy performance, guaranteeing you’ll stay in the particular loop regarding all typically the exhilaration. An Individual may bet about the particular Linebet by implies of the web site or Linebet software apk upon above 35 sports. Over 1000 sports activities, which …
Linebet Site De Paris Sportifs Et De Casino En Ligne Read More »
There is usually a good OlyBet users club you can become an associate of to be in a position to appreciate VERY IMPORTANT PERSONEL experiences. Install the net app, create a great accounts, and start gambling instantly. This function is also available in buy to cell phone sports wagering enthusiasts, plus it enables all of …
Olybet: Manual To Mobile Gaming On Android In Add-on To Iphone Read More »
There is usually a good OlyBet users club you can become an associate of to be in a position to appreciate VERY IMPORTANT PERSONEL experiences. Install the net app, create a great accounts, and start gambling instantly. This function is also available in buy to cell phone sports wagering enthusiasts, plus it enables all of …
Olybet: Manual To Mobile Gaming On Android In Add-on To Iphone Read More »
There is usually a good OlyBet users club you can become an associate of to be in a position to appreciate VERY IMPORTANT PERSONEL experiences. Install the net app, create a great accounts, and start gambling instantly. This function is also available in buy to cell phone sports wagering enthusiasts, plus it enables all of …
Olybet: Manual To Mobile Gaming On Android In Add-on To Iphone Read More »
Two even more Lithuanian champions had been crowned upon Tuesday after defeating participants coming from… Within 2018 Olympic Enjoyment Group had been attained by simply Luxembourgian leading investment decision company and leaves the particular Nasdaq Tallinn. A years afterwards inside 2016, scars a cornerstone with consider to new development – opened hotel controlled simply by Hilton …
Olybet Pobočky 2025 Kde Sa Nachádza Olympic On Collection Casino Read More »
To provide typically the best achievable gambling enjoyment encounter via outstanding customer service plus market-leading advancement and design . OlyBet, Europe’s top on-line gambling plus enjoyment platform, will be thrilled in order to announce… In Purchase To be typically the mind-boggling 1st selection with regard to multi-channel gambling enjoyment in all our own markets. Within …
Olybet Pobočky 2025 Kde Sa Nachádza Olympic On Range Casino Read More »
Two even more Lithuanian champions had been crowned upon Tuesday after defeating participants coming from… Within 2018 Olympic Enjoyment Group had been attained by simply Luxembourgian leading investment decision company and leaves the particular Nasdaq Tallinn. A years afterwards inside 2016, scars a cornerstone with consider to new development – opened hotel controlled simply by Hilton …
Olybet Pobočky 2025 Kde Sa Nachádza Olympic On Collection Casino Read More »
Among the other elements to end upward being in a position to verify any time choosing a good on-line slot machine casino are usually affiliate payouts, competitions, plus jackpots. Bets start at $0.25 and could move upward in buy to $125 for each rewrite, providing flexibility with consider to various participant costs. Introduced on 06 …
Bundle Of Money Gems 2 On-line Slot Machine Device: Full Game Evaluation Read More »