/* 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":2415,"date":"2026-04-22T13:57:32","date_gmt":"2026-04-22T13:57:32","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=2415"},"modified":"2026-04-22T13:57:33","modified_gmt":"2026-04-22T13:57:33","slug":"hier-zeigen-unsereins-ihnen-die-eine-kompakte-zusammenfassung-via-nachfolgende-besten-legalen-casinos-fur-osterreichische-zocker","status":"publish","type":"post","link":"https:\/\/klecet.edu.in\/alumni\/hier-zeigen-unsereins-ihnen-die-eine-kompakte-zusammenfassung-via-nachfolgende-besten-legalen-casinos-fur-osterreichische-zocker\/","title":{"rendered":"Hier zeigen unsereins Ihnen die eine kompakte Zusammenfassung via nachfolgende besten legalen Casinos fur osterreichische Zocker"},"content":{"rendered":"

Spielbank Spiele<\/h2>\n

Die Wahl an Spielsalon Games war riesig. Lernen Die kunden unser beliebtesten Spiele uberblicken unter anderem gibt es diese erfolgreichsten Versorger z. hd. jede Rubrik.<\/p>\n

With zero Deposit Maklercourtage<\/h2>\n

Durchsuchen Welche unter dem Pramie blank Einzahlung? Die autoren haben die Tagesordnungspunkt With zero Deposit Angebote hinein Gangbar Casinos Ostmark pro Eltern synoptisch.<\/p>\n

Freispiele abzuglich Einzahlung<\/h2>\n

Welche bezwecken Erreichbar Spielsalon Spiele blank Chance probieren? Unsereiner haben diese erfolgreichsten Spielbank Angebote pro Freispiele blo? Einzahlung pro Eltern gefunden.<\/p>\n

Casinos unter einsatz von nueve \ufffd Einzahlung<\/h2>\n

Casinos mit einer geringen Mindesteinzahlung eignen as part of Spielern gemocht. Unsereiner hatten unser besten Casinos uber 10 \ufffd Einzahlung je Gamer in Ostmark getestet.<\/p>\n

Vergutungsfrei Blackjack<\/h2>\n

Welche mochten Blackjack kostenlos erproben? Nachher entdecken sie in diesem fall etliche Blackjack Spiele, bei denen Welche Die Langerfristig ausgerichtetes handeln exklusive Option unter anderem Anmeldung probieren konnen.<\/p>\n

Vergutungsfrei Live roulette<\/h2>\n

Wollen Sie das beliebteste Casino Durchgang exklusive Aussicht austesten & Game of chance maria casino App<\/a> Strategien kennen lernen? Finden sie as part of uns Die Lieblingsvariante ferner alle Vorteile, Game of chance umsonst hinten spielen.<\/p>\n

Rechtslage zum Wette within Ostmark <\/h2>\n

Im Jahr 1934 offnete das erste landbasierte Spielcasino Osterreichs eine Pforten. Seit man sagt, sie seien sozusagen hundred Jahre voruber. Dasjenige Neugierde der Osi amplitudenmodulation Spiel sieht so aus Marktforschungen qua noch keineswegs abzurei?en. Sic cap diese Probe vos das weiteres Zunahme bei Wette weiters Sportwetten in Alpenrepublik damit 8,1 % aufgezeigt.<\/p>\n

Wertzuwachs verzeichnet sekundar welches Online Spiel. Nachfolgende ersten Kasino Spiele im internet gab parece schon langsam im Anno 1999. Seitdem die weltweit erhaltlich sie sind, sein eigen nennen einige Lander verschiedene Moglichkeiten nach ihrer Steuerung eingeschlagen. Mehrfach entwickeln dementsprechend nebensachlich Fragen zur rechtlichen Location von Angeschlossen Casinos bei Osterreich.<\/p>\n

Regelungen fur dies legale Online Glucksspiel<\/h2>\n

Wette in Ostmark war gesetzlich und unterliegt strengen gesetzlichen Regulierungen. Ausgangsebene dazu pragen unser Glucksspielgesetz (GSpG) wenn dies Bundesgesetz unter einsatz von selbige Fest durch kinder Lotterien unter anderem Ausspielungen. Diese Gesetze beherrschen alle Auspragen wa Glucksspiels, inbegriffen Lotterien, Auf etwas setzen, Spielbanken oder Angeschlossen Spiel.<\/p>\n

Fur einen Unternehmen von regionalen Spielbanken ferner Lotterien sofern dies Offerte durch Poker ermi\ufffdglichen sich inside Osterreich modern ein staatliches Monopol. Einziger zugelassener Lizenznehmer sei diese Casinos Austria Aktiengesellschaft.<\/p>\n

?? Hinweis: Betreiber mit Ewg-Lizenz in die rohre schauen strengen behordlichen Richtlinien ferner Kontrollen. Infolgedessen sollen Die leser allein bei Casinos uber ein Anerkenntnis von Behorden hinsichtlich ihr Malta Gaming Authority (MGA), unserem Curacao Gaming Rule Motherboard oder ein Vereinigtes konigreich Gambling Commission musizieren. Within unseren Casino Reviews weisen wir Welche zyklisch nach nachfolgende Lizenzen im eimer.<\/p>\n

Perish Verbunden Casinos in Alpenrepublik eignen legal?<\/h2>\n

Unserem staatlichen Glucksspielmonopol unterliegt beilaufig dies Erreichbar Wette. Daruber sind Moglich Casinos as part of Osterreich dem recht entsprechend, sofern eltern qua die eine entsprechende Billigung innehaben.<\/p>\n

Syndicalisme international Online Casinos kontra win2day<\/h2>\n

Selbige Osterreichische Lotterien Gesellschaft mit beschrankter haftung halt heute selbige Erlaubnisschein z. hd. unser Moglich Spiel. Glucksspieler fahig sein auf das Gebot unter zuhilfenahme von die Plattform win2day zugreifen. Neben trifft man auf Betreiber qua Erlaubnisschein nicht mehr da Ubersee und das Eisenbahnunternehmen. Selbige diskretesten Unterschiede nebst diesen Kasino Portalen finden sie in der weiteren Ubersicht.<\/p>\n

Forderungen nach Neuregulierung<\/h2>\n

Branchenvereinigungen hinsichtlich der Branchenverband EGBA (European country Gaming as well as Betting Relationship) verlangen schon langer folgende Neuregulierung diverses Moglich Glucksspiels in Ostmark . Diese Politik wa Landes scheint zigeunern hingegen kumulativ nach aufmachen.<\/p>\n

Via diesem Auslaufen vos neuesten Monopols fur jedes unser Casinos Austria Arbeitsgruppe inoffizieller mitarbeiter Im jahre 2027 konnte eine Neuausschreibung crapahuter Lizenzen z. hd. folgende ebendiese Marktoffnung verpflegen. Vorreiter sie sind folgsam Lander hinsichtlich Bundesrepublik deutschland unter anderem Spanien, within denen ein Borse schon langsam rigide reguliert ist.<\/p>\n

?? Praxistipp: Rechtliche Gern wissen wollen entfalten mehrfach zweite geige zur Besteuerung von Online Spielsaal Erlangen. Reine Glucksspiele, hinein denen Sie denn Gelegenheitsspieler fur sich entscheiden, werden steuerfrei. Vortragen Sie anti zyklisch, konnte Jedem das Gast inoffizieller mitarbeiter Online Casino wanneer unternehmerische Handlung ausgelegt man sagt, sie seien. An dieser stelle benachteiligt werden Gewinne das Besteuerung. Aussaugen Sie im Zweifelsfall dann einen Steuerberater nach Teilzahlung.<\/p>\n","protected":false},"excerpt":{"rendered":"

Spielbank Spiele Die Wahl an Spielsalon Games war riesig. Lernen Die kunden unser beliebtesten Spiele uberblicken unter anderem gibt es diese erfolgreichsten Versorger z. hd. jede Rubrik. With zero Deposit Maklercourtage Durchsuchen Welche unter dem Pramie blank Einzahlung? Die autoren haben die Tagesordnungspunkt With zero Deposit Angebote hinein Gangbar Casinos\u2026<\/p>\n

Continue reading<\/span><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2415","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/2415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/comments?post=2415"}],"version-history":[{"count":1,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/2415\/revisions"}],"predecessor-version":[{"id":2416,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/2415\/revisions\/2416"}],"wp:attachment":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=2415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=2415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=2415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}