/* 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":1416,"date":"2026-03-17T15:10:04","date_gmt":"2026-03-17T15:10:04","guid":{"rendered":"http:\/\/klecet.edu.in\/alumni\/?p=1416"},"modified":"2026-03-18T16:04:08","modified_gmt":"2026-03-18T16:04:08","slug":"buchmacher-ohne-oasis-zulassige-moglichkeiten-fur-17","status":"publish","type":"post","link":"https:\/\/klecet.edu.in\/alumni\/buchmacher-ohne-oasis-zulassige-moglichkeiten-fur-17\/","title":{"rendered":"Buchmacher ohne OASIS: Zul\u00e4ssige M\u00f6glichkeiten f\u00fcr deutsche Sportwettende"},"content":{"rendered":"
Die hiesige Gl\u00fccksspiellandschaft hat sich in den letzten Jahren grundlegend ver\u00e4ndert, insbesondere durch die Einf\u00fchrung des OASIS-Sperrsystems im Rahmen des Gl\u00fccksspielstaatsvertrags 2021. W\u00e4hrend dieses System dem Schutz der Spieler dienen soll, suchen viele erfahrene Sportwetter nach M\u00f6glichkeiten, ihre Wetten bei Anbietern zu platzieren, die nicht an diese Beschr\u00e4nkungen gebunden sind. Die Nachfrage nach wettanbieter ohne OASIS ist dabei zu einem zentralen Thema geworden, da Wettfreunde gr\u00f6\u00dfere Flexibilit\u00e4t, attraktivere Wettquoten und ein umfangreicheres Wettangebot anstreben. Dieser Artikel beleuchtet die gesetzlichen Vorgaben, pr\u00e4sentiert vertrauensw\u00fcrdige Optionen und erkl\u00e4rt, worauf deutsche Sportwetter bei der Wahl des Wettanbieters achten sollten, um Sicherheit und Qualit\u00e4tsstandards zu gew\u00e4hrleisten.<\/p>\n
OASIS steht f\u00fcr “Onlineabfrage Spielerstatus” und bildet seit Juli 2021 das prim\u00e4re Sperrsystem f\u00fcr das deutschen Gl\u00fccksspielmarkt. Die Datenbank wurde im Zuge des neuen Gl\u00fccksspielstaatsvertrags etabliert und dokumentiert alle Spieler, die sich selbst sperren lassen oder von Beh\u00f6rden gesperrt wurden. Jeder lizenzierte Anbieter in Deutschland ist verpflichtet, vor der Registrierung eines Kunden diese Datenbank einsehen und kann gesperrten Personen keine Nutzung gew\u00e4hren. Viele Spieler suchen daher nach wettanbieter ohne OASIS, da diese Anbieter au\u00dferhalb von der hiesigen Kontrolle operieren und keine Verbindung auf das OASIS-System besitzen.<\/p>\n
Die technische Struktur von OASIS basiert auf einem nationalen Vergleich von pers\u00f6nlichen Informationen wie Name, Geburtsdatum und Adresse. Sobald eine Person in der Sperrdatei eingetragen ist, wird sie unmittelbar bei s\u00e4mtlichen beteiligten Gl\u00fccksspielanbietern blockiert, egal ob es sich um Sportwetten, Online-Casinos oder virtuelle Automatenspiele handelt. Die Sperre gilt dabei anbieter\u00fcbergreifend f\u00fcr ein Jahr oder l\u00e4nger bei Selbstsperren und kann bei beh\u00f6rdlichen Sperren auch wesentlich l\u00e4ngere Zeit andauern. Diese umfassende Kontrolle f\u00fchrt dazu, dass erfahrene Wetter gezielt nach wettanbieter ohne OASIS suchen, um ihre Wettaktionen weiterf\u00fchren zu k\u00f6nnen.<\/p>\n
Das System verfolgt prim\u00e4r den Schutz von Spielern und soll problematisches Spielverhalten eind\u00e4mmen, indem es gef\u00e4hrdeten Personen den Zutritt zu regulierten Plattformen blockiert. Allerdings kritisieren Experten, dass OASIS ausschlie\u00dflich bei hiesigen regulierten Betreibern funktioniert und ausl\u00e4ndische Wettplattformen nicht einbezieht. Zudem werden Bedenken zum Datenschutz laut, da vertrauliche Daten zentral gespeichert werden. Die Sperre kann ausschlie\u00dflich \u00fcber die verantwortliche Aufsichtsbeh\u00f6rde des betreffenden Landes beantragt oder aufgehoben werden. Wer bei tokens Wetten platziert, umgeht diese Beschr\u00e4nkungen, muss dabei allerdings die juristischen Konsequenzen und m\u00f6glichen Risiken selbst abw\u00e4gen.<\/p>\n
Der Markt f\u00fcr tokens stellt bereit deutschen Sportwettern eine breite Palette an Optionen mit vielf\u00e4ltigen St\u00e4rken und Schwerpunkten. Bei der Wahl eines passenden Anbieters spielen Faktoren wie Lizenzierung, Quoten, Wettangebot und Zahlungsmethoden eine wichtige Rolle. Seri\u00f6se Anbieter verf\u00fcgen \u00fcber Lizenzen aus Malta, Gibraltar oder Curacao und garantieren damit ein hohes Niveau an Sicherheit. Die folgende \u00dcbersicht pr\u00e4sentiert die f\u00fchrenden Plattformen, die sich durch Verl\u00e4sslichkeit, lukrative Bonusangebote und vielf\u00e4ltige Wettm\u00e4rkte auszeichnen.<\/p>\n
Die Unterschiede zwischen den verschiedenen Wettanbietern werden deutlich besonders in den angebotenen Sportarten, Live-Betting-Features und mobilen Applikationen. W\u00e4hrend einige Plattformen sich auf Fu\u00dfball und Tennis konzentrieren, stellen weitere ein umfangreicheres Angebot einschlie\u00dflich Nischensportarten. Die Bewertung von wettanbieter ohne OASIS basiert auf objektiver Kriterien wie Nutzerfreundlichkeit, Qualit\u00e4t des Kundenservices und der Geschwindigkeit bei Auszahlungen. Entscheidend ist dabei die Klarheit der Bonuskonditionen sowie die Angebot von deutscher Sprachunterst\u00fctzung f\u00fcr einen problemlosen Wettbetrieb.<\/p>\n
Anbieter<\/strong><\/td>\n| Lizenz<\/strong><\/td>\n | Startbonus<\/strong><\/td>\n | Gesamtnote<\/strong><\/td>\n<\/tr>\n | Bet365<\/td>\n | Malta Gaming Authority<\/td>\n | 100\u20ac Neukundenbonus<\/td>\n | 9.5\/10<\/td>\n<\/tr>\n | Betway<\/td>\n | Malta Gaming Authority<\/td>\n | 100% bis 150\u20ac<\/td>\n | 9.2 von 10<\/td>\n<\/tr>\n | 1xBet<\/td>\n | Curacao eGaming<\/td>\n | 100\u20ac Startbonus<\/td>\n | 8.8 von 10<\/td>\n<\/tr>\n | 22Bet<\/td>\n | Curacao eGaming<\/td>\n | bis zu 122\u20ac Bonus<\/td>\n | 8.6 von 10<\/td>\n<\/tr>\n | William Hill<\/td>\n | Gibraltar Gambling Commission<\/td>\n | 100\u20ac Gratiswette<\/td>\n | 9.0 von 10<\/td>\n<\/tr>\n<\/table>\n | Die in der Tabelle aufgef\u00fchrten wettanbieter ohne OASIS verf\u00fcgen \u00fcber langj\u00e4hrige Markterfahrung und eine solide Reputation aus. Bet365 ist der Marktf\u00fchrer mit dem gr\u00f6\u00dften Live-Wetten-Angebot, w\u00e4hrend Betway besonders durch die intuitive Bedienoberfl\u00e4che \u00fcberzeugt. Die von Curacao regulierten Anbieter punkten mit h\u00f6heren Quoten und einem umfassenderen Angebot an Sportarten. Alle genannten Plattformen akzeptieren deutsche Kunden und stellen bereit zuverl\u00e4ssige Zahlungsoptionen wie Kreditkarten, E-Wallets und zum Teil sogar Kryptow\u00e4hrungen f\u00fcr maximale Flexibilit\u00e4t.<\/p>\n Bei der Wahl eines geeigneten Buchmachers sollten Sportwetter ihre pers\u00f6nlichen Pr\u00e4ferenzen beachten. Wer Wert auf Live-Streaming legt, findet bei Bet365 das beste Angebot, w\u00e4hrend Quotenj\u00e4ger bei wettanbieter ohne OASIS oft attraktivere Quoten vorfinden. Die Mobilfreundlichkeit spielt zudem eine zentrale Bedeutung, da alle f\u00fchrenden Anbieter optimierte Apps f\u00fcr iOS und Android bereitstellen. Zus\u00e4tzlich lohnt sich ein Vergleich der Auszahlungsgeschwindigkeiten und Limits, um gew\u00e4hrleisten, dass die gew\u00e4hlte Plattform den individuellen Bed\u00fcrfnissen entspricht.<\/p>\n Pros und Contras von Buchmachern au\u00dferhalb von OASIS<\/h2>\n |