/* Widget Name: Button Description: Create a custom button with flexible styling, icon support, and click tracking functionality. Author: SiteOrigin Author URI: https://siteorigin.com Documentation: https://siteorigin.com/widgets-bundle/button-widget-documentation/ Keywords: event, icon, link */ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget { public function __construct() { parent::__construct( 'sow-button', __( 'SiteOrigin Button', 'so-widgets-bundle' ), array( 'description' => __( 'Create a custom button with flexible styling, icon support, and click tracking functionality.', 'so-widgets-bundle' ), 'help' => 'https://siteorigin.com/widgets-bundle/button-widget-documentation/', ), array( ), false, plugin_dir_path( __FILE__ ) ); } public function get_settings_form() { return array( 'responsive_breakpoint' => array( 'type' => 'measurement', 'label' => __( 'Responsive Breakpoint', 'so-widgets-bundle' ), 'default' => '780px', 'description' => __( 'This setting controls when the Mobile Align setting will be used. The default value is 780px.', 'so-widgets-bundle' ), ), ); } public function initialize() { $this->register_frontend_styles( array( array( 'sow-button-base', plugin_dir_url( __FILE__ ) . 'css/style.css', array(), SOW_BUNDLE_VERSION, ), ) ); } public function get_widget_form() { return array( 'text' => array( 'type' => 'text', 'label' => __( 'Button Text', 'so-widgets-bundle' ), ), 'url' => array( 'type' => 'link', 'label' => __( 'Destination URL', 'so-widgets-bundle' ), 'allow_shortcode' => true, ), 'new_window' => array( 'type' => 'checkbox', 'default' => false, 'label' => __( 'Open in a new window', 'so-widgets-bundle' ), ), 'download' => array( 'type' => 'checkbox', 'default' => false, 'label' => __( 'Download', 'so-widgets-bundle' ), 'description' => __( 'The Destination URL will be downloaded when a user clicks on the button.', 'so-widgets-bundle' ), ), 'button_icon' => array( 'type' => 'section', 'label' => __( 'Icon', 'so-widgets-bundle' ), 'fields' => array( 'icon_selected' => array( 'type' => 'icon', 'label' => __( 'Icon', 'so-widgets-bundle' ), ), 'icon_color' => array( 'type' => 'color', 'label' => __( 'Icon Color', 'so-widgets-bundle' ), ), 'icon' => array( 'type' => 'media', 'label' => __( 'Image Icon', 'so-widgets-bundle' ), 'description' => __( 'Replaces the icon with your own image icon.', 'so-widgets-bundle' ), ), 'icon_placement' => array( 'type' => 'select', 'label' => __( 'Icon Placement', 'so-widgets-bundle' ), 'default' => 'left', 'options' => array( 'top' => __( 'Top', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'bottom' => __( 'Bottom', 'so-widgets-bundle' ), 'left' => __( 'Left', 'so-widgets-bundle' ), ), ), ), ), 'design' => array( 'type' => 'section', 'label' => __( 'Design and Layout', 'so-widgets-bundle' ), 'hide' => true, 'fields' => array( 'width' => array( 'type' => 'measurement', 'label' => __( 'Width', 'so-widgets-bundle' ), 'description' => __( 'Leave blank to let the button resize according to content.', 'so-widgets-bundle' ), ), 'align' => array( 'type' => 'select', 'label' => __( 'Align', 'so-widgets-bundle' ), 'default' => 'center', 'options' => array( 'left' => __( 'Left', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'center' => __( 'Center', 'so-widgets-bundle' ), 'justify' => __( 'Full Width', 'so-widgets-bundle' ), ), ), 'mobile_align' => array( 'type' => 'select', 'label' => __( 'Mobile Align', 'so-widgets-bundle' ), 'default' => 'center', 'options' => array( 'left' => __( 'Left', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'center' => __( 'Center', 'so-widgets-bundle' ), 'justify' => __( 'Full Width', 'so-widgets-bundle' ), ), ), 'theme' => array( 'type' => 'select', 'label' => __( 'Button Theme', 'so-widgets-bundle' ), 'default' => 'flat', 'options' => array( 'atom' => __( 'Atom', 'so-widgets-bundle' ), 'flat' => __( 'Flat', 'so-widgets-bundle' ), 'wire' => __( 'Wire', 'so-widgets-bundle' ), ), ), 'button_color' => array( 'type' => 'color', 'label' => __( 'Button Color', 'so-widgets-bundle' ), ), 'text_color' => array( 'type' => 'color', 'label' => __( 'Text Color', 'so-widgets-bundle' ), ), 'hover' => array( 'type' => 'checkbox', 'default' => true, 'label' => __( 'Use hover effects', 'so-widgets-bundle' ), 'state_emitter' => array( 'callback' => 'conditional', 'args' => array( 'hover[show]: val', 'hover[hide]: ! val', ), ), ), 'hover_background_color' => array( 'type' => 'color', 'label' => __( 'Hover Background Color', 'so-widgets-bundle' ), 'state_handler' => array( 'hover[show]' => array( 'show' ), 'hover[hide]' => array( 'hide' ), ), ), 'hover_text_color' => array( 'type' => 'color', 'label' => __( 'Hover Text Color', 'so-widgets-bundle' ), 'state_handler' => array( 'hover[show]' => array( 'show' ), 'hover[hide]' => array( 'hide' ), ), ), 'font' => array( 'type' => 'font', 'label' => __( 'Font', 'so-widgets-bundle' ), 'default' => 'default', ), 'font_size' => array( 'type' => 'measurement', 'label' => __( 'Font Size', 'so-widgets-bundle' ), 'default' => '1em', ), 'icon_size' => array( 'type' => 'measurement', 'label' => __( 'Icon Size', 'so-widgets-bundle' ), 'default' => '1.3em', ), 'padding' => array( 'type' => 'measurement', 'label' => __( 'Padding', 'so-widgets-bundle' ), 'default' => '1em', ), 'rounding' => array( 'type' => 'multi-measurement', 'label' => __( 'Rounding', 'so-widgets-bundle' ), 'default' => '0.25em 0.25em 0.25em 0.25em', 'measurements' => array( 'top' => array( 'label' => __( 'Top', 'so-widgets-bundle' ), ), 'right' => array( 'label' => __( 'Right', 'so-widgets-bundle' ), ), 'bottom' => array( 'label' => __( 'Bottom', 'so-widgets-bundle' ), ), 'left' => array( 'label' => __( 'Left', 'so-widgets-bundle' ), ), ), ), ), ), 'attributes' => array( 'type' => 'section', 'label' => __( 'Other Attributes and SEO', 'so-widgets-bundle' ), 'hide' => true, 'fields' => array( 'id' => array( 'type' => 'text', 'label' => __( 'Button ID', 'so-widgets-bundle' ), 'description' => __( 'An ID attribute allows you to target this button in JavaScript.', 'so-widgets-bundle' ), ), 'classes' => array( 'type' => 'text', 'label' => __( 'Button Classes', 'so-widgets-bundle' ), 'description' => __( 'Additional CSS classes added to the button link.', 'so-widgets-bundle' ), ), 'title' => array( 'type' => 'text', 'label' => __( 'Title Attribute', 'so-widgets-bundle' ), 'description' => __( 'Adds a title attribute to the button link.', 'so-widgets-bundle' ), ), 'on_click' => array( 'type' => 'text', 'label' => __( 'Onclick', 'so-widgets-bundle' ), 'description' => __( 'Run this JavaScript when the button is clicked. Ideal for tracking.', 'so-widgets-bundle' ), 'onclick' => true, ), 'rel' => array( 'type' => 'text', 'label' => __( 'Rel Attribute', 'so-widgets-bundle' ), 'description' => __( 'Adds a rel attribute to the button link.', 'so-widgets-bundle' ), ), ), ), ); } public function get_style_name( $instance ) { if ( empty( $instance['design']['theme'] ) ) { return 'atom'; } return $instance['design']['theme']; } /** * Get the variables for the Button Widget. * * @return array */ public function get_template_variables( $instance, $args ) { $button_attributes = array(); $attributes = $instance['attributes']; $classes = ! empty( $attributes['classes'] ) ? $attributes['classes'] : ''; if ( ! empty( $classes ) ) { $classes .= ' '; } $classes .= 'sowb-button ow-icon-placement-' . $instance['button_icon']['icon_placement']; if ( ! empty( $instance['design']['hover'] ) ) { $classes .= ' ow-button-hover'; } $button_attributes['class'] = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $classes ) ) ); if ( ! empty( $instance['new_window'] ) ) { $button_attributes['target'] = '_blank'; $button_attributes['rel'] = 'noopener noreferrer'; } if ( ! empty( $instance['download'] ) ) { $button_attributes['download'] = null; } if ( ! empty( $attributes['id'] ) ) { $button_attributes['id'] = $attributes['id']; } if ( ! empty( $attributes['title'] ) ) { $button_attributes['title'] = $attributes['title']; } if ( ! empty( $attributes['rel'] ) ) { if ( isset( $button_attributes['rel'] ) ) { $button_attributes['rel'] .= " $attributes[rel]"; } else { $button_attributes['rel'] = $attributes['rel']; } } $icon_image_url = ''; if ( ! empty( $instance['button_icon']['icon'] ) ) { $attachment = wp_get_attachment_image_src( $instance['button_icon']['icon'] ); if ( ! empty( $attachment ) ) { $icon_image_url = $attachment[0]; } } return array( 'button_attributes' => apply_filters( 'siteorigin_widgets_button_attributes', $button_attributes, $instance ), 'href' => ! empty( $instance['url'] ) ? $instance['url'] : '', 'on_click' => ! empty( $attributes['on_click'] ) ? $attributes['on_click'] : '', 'align' => $instance['design']['align'], 'icon_image_url' => $icon_image_url, 'icon' => $instance['button_icon']['icon_selected'], 'icon_color' => $instance['button_icon']['icon_color'], 'text' => $instance['text'], ); } /** * Get the variables that we'll be injecting into the less stylesheet. * * @return array */ public function get_less_variables( $instance ) { if ( empty( $instance ) || empty( $instance['design'] ) ) { return array(); } $text_color = isset( $instance['design']['text_color'] ) ? $instance['design']['text_color'] : ''; $button_color = isset( $instance['design']['button_color'] ) ? $instance['design']['button_color'] : ''; $less_vars = array( 'button_width' => isset( $instance['design']['width'] ) ? $instance['design']['width'] : '', 'button_color' => $button_color, 'text_color' => $text_color, 'icon_size' => ! empty( $instance['design']['icon_size'] ) ? $instance['design']['icon_size'] : '1.3em', 'hover_text_color' => ! empty( $instance['design']['hover_text_color'] ) ? $instance['design']['hover_text_color'] : $text_color, 'hover_background_color' => ! empty( $instance['design']['hover_background_color'] ) ? $instance['design']['hover_background_color'] : $button_color, 'font_size' => isset( $instance['design']['font_size'] ) ? $instance['design']['font_size'] : '', 'rounding' => isset( $instance['design']['rounding'] ) ? $instance['design']['rounding'] : '', 'padding' => isset( $instance['design']['padding'] ) ? $instance['design']['padding'] : '', 'has_text' => empty( $instance['text'] ) ? 'false' : 'true', 'responsive_breakpoint' => $this->get_global_settings( 'responsive_breakpoint' ), 'align' => ! empty( $instance['design']['align'] ) ? $instance['design']['align'] : 'center', 'mobile_align' => ! empty( $instance['design']['mobile_align'] ) ? $instance['design']['mobile_align'] : 'center', 'has_button_icon' => empty( $instance['button_icon']['icon_selected'] ) ? 'false' : 'true', ); if ( ! empty( $instance['design']['font'] ) ) { $font = siteorigin_widget_get_font( $instance['design']['font'] ); $less_vars['button_font'] = $font['family']; if ( ! empty( $font['weight'] ) ) { $less_vars['button_font_weight'] = $font['weight_raw']; $less_vars['button_font_style'] = $font['style']; } } return $less_vars; } /** * Make sure the instance is the most up to date version. * * @return mixed */ public function modify_instance( $instance ) { if ( empty( $instance ) ) { return array(); } $migrate_props = array( 'button_icon' => array( 'icon_selected', 'icon_color', 'icon', ), 'design' => array( 'align', 'theme', 'button_color', 'text_color', 'hover', 'hover_text_color', 'hover_background_color', 'font_size', 'rounding', 'padding', ), 'attributes' => array( 'id', ), ); foreach ( $migrate_props as $prop => $sub_props ) { if ( empty( $instance[ $prop ] ) ) { $instance[ $prop ] = array(); foreach ( $sub_props as $sub_prop ) { if ( isset( $instance[ $sub_prop ] ) ) { $instance[ $prop ][ $sub_prop ] = $instance[ $sub_prop ]; unset( $instance[ $sub_prop ] ); } } } } // Migrate onclick setting to prevent Wordfence flag. if ( ! empty( $instance['attributes'] ) && ! empty( $instance['attributes']['onclick'] ) ) { $instance['attributes']['on_click'] = $instance['attributes']['onclick']; } // If the mobile_align setting isn't set, set it to the same value as the align value. if ( ! empty( $instance['design'] ) && ! empty( $instance['design']['align'] ) && empty( $instance['design']['mobile_align'] ) ) { $instance['design']['mobile_align'] = $instance['design']['align']; } // Migrate predefined settings to more customizable settings. if ( ! empty( $instance['design']['font_size'] ) && is_numeric( $instance['design']['font_size'] ) ) { $instance['design']['font_size'] .= 'em'; } if ( ! empty( $instance['design']['padding'] ) && is_numeric( $instance['design']['padding'] ) ) { $instance['design']['padding'] .= 'em'; } if ( ! empty( $instance['design']['rounding'] ) && is_numeric( $instance['design']['rounding'] ) ) { $instance['design']['rounding'] = $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em'; } if ( empty( $instance['design']['icon_size'] ) ) { $instance['design']['icon_size'] = '1.3em'; } return $instance; } public function get_form_teaser() { if ( class_exists( 'SiteOrigin_Premium' ) ) { return false; } return array( sprintf( __( 'Add a beautiful tooltip to the Button Widget with %sSiteOrigin Premium%s', 'so-widgets-bundle' ), '', '' ), ); } } siteorigin_widget_register( 'sow-button', __FILE__, 'SiteOrigin_Widget_Button_Widget' );{"id":143097,"date":"2026-06-12T10:18:00","date_gmt":"2026-06-12T10:18:00","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=143097"},"modified":"2026-06-12T10:18:00","modified_gmt":"2026-06-12T10:18:00","slug":"satsa-av-riktiga-pengar-spel-pa-leon-casino-i-sverige","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/satsa-av-riktiga-pengar-spel-pa-leon-casino-i-sverige\/","title":{"rendered":"Satsa av riktiga pengar spel p\u00e5 Leon Casino i Sverige"},"content":{"rendered":"
\n\"No<\/p>\n

Det svenska spellandskapet \u00e4ndras st\u00e4ndigt https:\/\/leonkazino.eu\/sv-se\/<\/a>. Spelare letar st\u00e4ndigt efter den b\u00e4sta mixen av action, val och en p\u00e5litlig milj\u00f6. H\u00e4r har Leon Casino blivit en tydlig plats f\u00f6r den som vill f\u00e5 adrenalinet fr\u00e5n spel med riktiga pengar. Efter en noggrann titt p\u00e5 plattformen kan jag s\u00e4ga att det inte handlar om en liten kick, utan om en fullst\u00e4ndig upplevelse som f\u00e5r hj\u00e4rtat att pumpa snabbare. Med ett stort spelbibliotek som inneh\u00e5ller allt fr\u00e5n klassiska slots till levande dealer-spel, och med en svensk licens i ryggen, etablerar Leon en fullst\u00e4ndig spelv\u00e4rld under ett och samma virtuella tak. Den h\u00e4r artikeln ger allt du m\u00e5ste veta f\u00f6r att starta och f\u00e5 ut mesta m\u00f6jliga av spelen f\u00f6r riktiga pengar p\u00e5 den h\u00e4r popul\u00e4ra sidan.<\/p>\n

Vad menas med Leon Casino?<\/h2>\n

Leon Casino \u00e4r en spelplattform online som inriktar sig helt mot den svenska marknaden. De har en svensk spellicens fr\u00e5n Spelinspektionen. Det inneb\u00e4r att de m\u00e5ste efterleva strikta regler om ansvarsfullt spelande och fair play. Det ger en grundl\u00e4ggande trygghet f\u00f6r den svenska spelaren. Plattformen ing\u00e5r en del av den internationella LeoVegas-gruppen och har vunnit k\u00e4nd f\u00f6r sin l\u00e4ttanv\u00e4nda mobilupplevelse. Men de erbjuder ocks\u00e5 en fullv\u00e4rdig version f\u00f6r datorn. M\u00e5let \u00e4r att erbjuda ett brett utbud av spel f\u00f6r riktiga pengar fr\u00e5n de mest v\u00e4lrenommerade spelleverant\u00f6rerna. Jag uppskattar den tydliga svenska inriktningen. Svensk kundsupport och betalmetoder som Swish och Trustly bidrar till hela upplevelsen lokal och bekv\u00e4m, fr\u00e5n b\u00f6rjan till slut.<\/p>\n

Utbudet av spel f\u00f6r riktiga pengar<\/h2>\n

Centrala delen i Leon Casino \u00e4r dess stora spelbibliotek. M\u00e4ngder av titlar finns att v\u00e4lja bland, s\u00e5 b\u00e5de nyb\u00f6rjare och gamla proffs hittar n\u00e5got de gillar. Sortimentet \u00e4r v\u00e4l sorterat i v\u00e4ldefinierade kategorier, vilket underl\u00e4ttar att hitta runt. Man ser direkt att de inte enbart samlar spel. De v\u00e4ljer aktivt h\u00f6gkvalitativa titlar fr\u00e5n topputvecklare som NetEnt, Play’n GO, Pragmatic Play och Evolution. Utfallet \u00e4r en samling d\u00e4r varje spel k\u00e4nns genomarbetat, med imponerande grafik, engagerande speluppl\u00e4gg och en korrekt spelmotor. Om du \u00f6nskar ett snabb varv p\u00e5 en slot eller den intellektuella utmaningen i ett bordsspel, finns allt h\u00e4r p\u00e5 samma st\u00e4lle.<\/p>\n

Enarmade banditer & Jackpottar<\/h3>\n

Slot-sektionen \u00e4r den bredaste och mest f\u00e4rgstarka p\u00e5 Leon Casino. H\u00e4r erbjuds allt fr\u00e5n gamla hederliga fruktmaskiner med tre hjul till moderna videoslots med komplexa historier, bonusrundor och or\u00e4kneliga vinstrader. Omtyckta titlar som Book of Dead, Starburst och Reactoonz finns sj\u00e4lvklart med. F\u00f6r den som jagar den st\u00f6rsta kickens \u00e4r jackpott-spelen en s\u00e4rskild lockelse. Leon har b\u00e5de fasta, lokala jackpottar och de livsf\u00f6r\u00e4ndrande progressiva n\u00e4tverksjackpottarna, som Mega Fortune och Hall of Gods. D\u00e4r kan potten v\u00e4xa till ofattbara summor fr\u00e5n ett enda spel. Att uppt\u00e4cka det h\u00e4r utbudet \u00e4r som att stiga in i en o\u00e4ndlig v\u00e4rld av teman och spelmekanismer.<\/p>\n

Klassiska bordsspel & Live Casino<\/h3>\n

F\u00f6r den som gillar klassiska casinospel finns det ett brett utbud av digitala bordsspel. Du kan prova Roulette, Blackjack, Baccarat och Poker i ett flertal olika varianter, alla designade f\u00f6r s\u00e5v\u00e4l sj\u00e4lvspel och interaktion med en riktig dealer. Live Casino-sektionen \u00e4r d\u00e4r upplevelsen verkligen tar fart. Genom HD-str\u00f6mmar fr\u00e5n proffsiga studiomilj\u00f6er kan du delta vid ett riktigt bord med en riktig croupier och andra spelare. Evolution och Playtechs kollektion av Live Blackjack, Live Roulette och underh\u00e5llande spelshower som Monopoly Live och Dream Catcher skapar en \u00e4kta k\u00e4nsla som n\u00e4stan kan konkurrera med ett fysiskt casino. Chattfunktionen g\u00f6r det till en social tillst\u00e4llning.<\/p>\n

Mobilupplevelse p\u00e5 Leon Casino<\/h2>\n

Leon Casino, med sin koppling till LeoVegas, har mobilspel i centrum. Plattformen \u00e4r optimerad f\u00f6r att prestera perfekt direkt i mobilens webbl\u00e4sare. Du m\u00e5ste inte ladda ner n\u00e5got. Den responsiva designen justerar sig snyggt till sk\u00e4rmen p\u00e5 din telefon eller surfplatta. Gr\u00e4nssnittet \u00e4r intuitivt och l\u00e4tt att navigera med fingrarna. Alla funktioner fr\u00e5n datorversionen finns med. Hela spelsortimentet, kundsupport, ins\u00e4ttningar och uttag \u00e4r n\u00e4rvarande. F\u00f6r den som v\u00e4ljer en app finns det ofta en dedikerad app att ladda ner. Oavsett vilket s\u00e4tt du v\u00e4ljer blir kvaliteten densamma. En komplett spelupplevelse som ger dig samma adrenalinkick med riktiga pengar, n\u00e4r och var du vill.<\/p>\n

Trygghet och ansvarsfullt spelande<\/h2>\n

Med en svensk licens m\u00e5ste Leon Casino f\u00f6lja strikta regler f\u00f6r spelareskydd. Plattformen nyttjar modern SSL-kryptering f\u00f6r att skydda all din ekonomirelaterade och personliga data. Alla spel \u00e4r verifierade f\u00f6r r\u00e4ttvisa av oberoende tredjepartsorganisationer. Det s\u00e4kerst\u00e4ller att alla utfall \u00e4r helt slumpm\u00e4ssiga. Leon har ocks\u00e5 byggt in hj\u00e4lpmedel f\u00f6r ansvarsfullt spelande direkt i plattformen. Som spelare kan du sj\u00e4lv v\u00e4lja ins\u00e4ttningsgr\u00e4nser f\u00f6r en dag, en vecka eller en m\u00e5nad. Du kan beg\u00e4ra en paus via Spelpaus.se, eller deaktivera ditt konto permanent. Att dessa verktyg \u00e4r l\u00e4tta att hitta uppvisar ett genuint engagemang f\u00f6r spelarens trivsel. Det \u00e4r en viktig del av en uth\u00e5llig spelupplevelse \u00f6ver tid.<\/p>\n

Erbjudanden och kampanjer f\u00f6r svenska spelare<\/h2>\n

Leon Casino h\u00e4lsar ofta nya spelare med en h\u00e4lsning med en gener\u00f6s v\u00e4lkomstbonus. Den kan best\u00e5 av ins\u00e4ttningsmatchningar och gratisspinn. Det \u00e4r viktigt att l\u00e4sa de unika villkoren noga, f\u00f6r de best\u00e4mmer oms\u00e4ttningskrav och vilka spel som g\u00e4ller. F\u00f6r spelare som redan \u00e4r aktiva finns ett st\u00e4ndigt fl\u00f6de av kampanjer och erbjudanden. Det kan vara fr\u00e5ga om:<\/p>\n

\"EGT<\/p>\n