/* 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":21365,"date":"2026-05-14T15:02:53","date_gmt":"2026-05-14T15:02:53","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=21365"},"modified":"2026-05-14T15:02:54","modified_gmt":"2026-05-14T15:02:54","slug":"gebrauchsanleitung-wie-gleichfalls-man-die-oasis-barriere-abschaffen-kann-schrittweise-abgesprochen","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/gebrauchsanleitung-wie-gleichfalls-man-die-oasis-barriere-abschaffen-kann-schrittweise-abgesprochen\/","title":{"rendered":"Gebrauchsanleitung, wie gleichfalls man die Oasis Barriere abschaffen kann: Schrittweise abgesprochen"},"content":{"rendered":"

Oasis Spielersperre abbauen: Sic funktioniert es<\/h2>\n

Diese Oasis Spielersperre wurde durch diesseitigen deutschen Aufsichtsbehorden in das Hausen gerufen, damit vorsorglich vor Spielsucht nach schutzen. Du mochtest dennoch Sperre ins Spielcasino? Unsereiner liefern dir wertvolle Tipps oder prazisieren wie am schnurchen oder verkleinert, perish Unterschiede eres unter der Fremd- oder Selbstsperre existiert, entsprechend lange zeit ihr Spielausschluss anhalt unter anderem wie gleichfalls man selbige Oasis Barriere abbauen kann.<\/p>\n

Ended up being wird unser Oasis Sperrsystem?<\/h2>\n

Beim Oasis Sperrsystem handelt es einander um die eine Auflistung, nachfolgende bei den deutschen Aufsichtsbehorden zu handen Online-Glucksspiele in das Wohnen gerufen ist, um Spieler vorweg diesseitigen finanziellen ferner existenziellen Wahrnehmen dieser Spielsucht dahinter sichern. Welches Anlage sei zu mit mark deutschen Glucksspielstaatsvertrag alle dm Im jahre 2021 verknupft, ein weitere Praventionsma?nahmen genau so wie unser Limitierung das monatlichen Einzahlung so lange die Einhaltung ihr 3-Sekunden-Regel bei seriosen Angeschlossen Casinos vorsieht.<\/p>\n

Meldest du dich unteilbar in Land der dichter und denker lizenzierten Online Spielsalon angeschaltet, war ihr Lieferant dafur verpflichtet, deine personlichen Informationen mit ein Oasis Sperrdatei abzugleichen. Damit war dies Glucksspielanbietern finden sie auf, suchtgefahrdete Glucksspieler schnell nach entdecken oder unser fur jedes Slots et aliae Casinospiele hinten verweisen. Ebendiese Verzeichnis ist und bleibt aufmerksam fur samtliche Casinos \ufffd wie starr wanneer sekundar virtuell \ufffd gleicherma?en verfugbar, sic auf diese weise die Oasis Sperre anbieterubergreifend erteilt sind konnte.<\/p>\n

Unser Oasis Liste war vom Regierungsprasidium Darmstadt uberwacht. Intensiv handelt es umherwandern beilaufig um nachfolgende gute Anlaufstelle, so lange dies somit geht, ‘ne Spielsaal Blockade sonnenspiele casino Bonus ohne Einzahlung<\/a> zerstreuen zu lassen. Hinsichtlich tief die eine Oasis Spielersperre andauert unter anderem genau so wie einfach adult male selbige aus der welt schaffen vermag, hangt jeglicher bei ein Typ ein Sperre ab.<\/p>\n

Konsequenzen der Oasis Spielersperre<\/h2>\n

Unwichtig, ob respons dich je folgende Selbstsperre entscheidest & folgende andere Personlichkeit bzw. welches neue Kasino dich as part of Oasis sperren lizenzieren: Liegt ein Verbot vorweg, kannst respons nimmer unter die angebotenen Glucksspiele zupacken. Du kannst weder neue Echtgeld-Einsatze positionieren, zudem den Spielbank Provision aktivieren unter anderem eingeschaltet angewandten Turnieren, Challenges und Gewinnspielen des Anbieters anteil haben. Meine wenigkeit von pagnen ist und bleibt dein Konto ausgeschlossen.<\/p>\n

Welches gilt auf keinen fall gleichwohl fur dies Verbunden Spielsalon, online marketing respons bisherig gespielt hektik, statt dessen beilaufig pro jedweder weiteren Anbieter, ebendiese eingeschaltet nachfolgende Sperrdatei gangbar werden. Unser Eroffnung des brandneuen Kontos inside diesseitigen beste Verbunden Casinos wird im endeffekt kein effektives Mittel, wer ebendiese Oasis Spielersperre aus der welt schaffen mochte.<\/p>\n

Nutzlich hinten wissen: Nicht ganz Erreichbar Casinos sie sind aktiv nachfolgende Oasis Sperrdatei verbunden. Auf diese weise zu tun sein ausschlie?lich Lieferant fur jedes immaterielle Glucksspiele, Sportwetten weiters Lotterien unter einsatz von offizieller Berechtigung alle Land der dichter und denker sicherstellen, wirklich so gunstgewerblerin Uberprufung ein Sperrdatenbank erfolgt. Spielst respons atomar Angeschlossen Spielcasino exklusive deutsche Erlaubnis, statt uber welcher Konzession aus Curacao, Malta und mark weiteren Land, kannst du selbige Antrag der Register sowie die eine mogliche Spielersperre unterbinden.<\/p>\n

Oasis Hindernis auflosen reibungslos abgesprochen? Um dich in Oasis entsperren zu erlauben, kannst respons dich in betrieb ein weiteren Anleitung orientieren. Hier darstellen die autoren dir, pass away Schritte zur Aussetzung das Spielersperre zwingend werden unter anderem wo du diese notwendigen Formulare findest:<\/p>\n

Schritt 0: Antrag zur Suspension ihr Spielersperre downloaden<\/h2>\n

So lange respons folgende vorhandene Wette Blockade aus der welt schaffen mochtest, ist und bleibt welches Regierungsprasidium Darmstadt dein erstplatzierter Ansprechpartner. Unter ein Hauptseite ein Organisation findest respons samtliche relevanten Angaben dahinter Moglich-Glucksspielen, ein OASIS-Sperrdatei falls die wichtigsten FAQs. Weil kannst du dir das \ufffdOasis Spielersperre abschaffen\ufffd-Vorlage einfach unter anderem umsonst runterladen.<\/p>\n

Beachte: Mochtest respons gunstgewerblerin Spielersperre abbauen erlauben, auflage unser Mindestsperrdauer unglaublich umher sein. As part of unbefristeten Verweisen liegt selbige as part of mark Anno, within befristeten Ausschlie?en greift unser getroffene Individualvereinbarung. Sind Antrage zuvor Fristablauf eingereicht, seien nachfolgende verluststark.<\/p>\n

Stufe four: Vordruck bis uber beide ohren registrieren<\/h2>\n

Tempo du dies \ufffdSpielersperre abschaffen\ufffd-Vorlage heruntergeladen, musst du angewandten Gesuch leserlich vollstopfen oder jeglicher erforderlichen Personendaten entsprechend Vor- & Zuname, Geburtsdatum oder Anschrift as part of Druckbuchstaben registrieren. Als nachstes musst du dasjenige Vordruck selber abzeichnen weiters angewandten Identitatsnachweis genau so wie Personalausweis weiters Pass inside Attrappe hinzufugen.<\/p>\n","protected":false},"excerpt":{"rendered":"

Oasis Spielersperre abbauen: Sic funktioniert es Diese Oasis Spielersperre wurde durch diesseitigen deutschen Aufsichtsbehorden in das Hausen gerufen, damit vorsorglich vor Spielsucht nach schutzen. Du mochtest dennoch Sperre ins Spielcasino? Unsereiner liefern dir wertvolle Tipps oder prazisieren wie am schnurchen oder verkleinert, perish Unterschiede eres unter der Fremd- oder Selbstsperre\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-21365","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21365","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/comments?post=21365"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21365\/revisions"}],"predecessor-version":[{"id":21366,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21365\/revisions\/21366"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=21365"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=21365"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=21365"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}