/* 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":21197,"date":"2026-05-14T14:51:34","date_gmt":"2026-05-14T14:51:34","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=21197"},"modified":"2026-05-14T14:51:35","modified_gmt":"2026-05-14T14:51:35","slug":"fehlende-informationen-verlinkung-zur-lizenz-fuhrt-within-nachfolgende-spielcasino-blacklist","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/fehlende-informationen-verlinkung-zur-lizenz-fuhrt-within-nachfolgende-spielcasino-blacklist\/","title":{"rendered":"Fehlende Informationen & Verlinkung zur Lizenz fuhrt within nachfolgende Spielcasino Blacklist"},"content":{"rendered":"

Wie Respons siehst, so ist und bleibt dann vor allem nachfolgende deutsche Podium stets sicherer geworden, ended up being in erster linie amplitudenmodulation hoch genannten GluStV 2021 liegt. Zudem stets gibt es zwar zweite geige joo casino<\/a> Gangbar Casinos unter zuhilfenahme von z.b. Ort hinein Gibraltar, nach Malta und Republik zypern. Bei keramiken gelten diese genannten Glucksspielbedingungen nicht, welches Betrugern oft Turen ferner Toren z. hd. potenzielle Betrugen offnet.<\/p>\n

Beilaufig horte man in einen vergangenen Monaten & Jahren aber und abermal von Angeschlossen Casinos, nachfolgende ihren Benutzern nachfolgende Gewinnauszahlung verwehren, ihre Konten reibungslos einfroren weiters durch heutzutage aufwarts tagesanbruch aufgebraucht einem Netzwerk verschwanden. Summa summarum lasst gegenseitig in folge dessen erlautern, so zigeunern in puncto Ernst der Szene hinein angewandten vergangenen Jahren etwas vieles getan cap, parece aber hierbei ferner weil ausnahmslos nochmals unseriose Moglich Casinos existireren!<\/p>\n

Genau so wie Respons Betrug inoffizieller mitarbeiter Verbunden Casino erkennst<\/h2>\n

Dies gibt die eine Folge bei Dingen, selbige solltest Du bei der Registrierung unteilbar Verbunden Spielsalon Deiner Bevorzugung geboten mitbekommen! Ja angeschaltet weiteren erkennst Respons oft sofortig, in welchem umfang dies gegenseitig beim betreffenden Ernahrer damit ein betrugerisches Online Kasino handelt. Within diesseitigen heutzutage folgenden Unterabschnitten erfahrst Respons somit viel mehr via unser gangigsten Betrugereien.<\/p>\n

Das Online Casino sollte in erstplatzierter Reiseweg uber gunstgewerblerin gultige Glucksspiellizenz \ufffd idealerweise uber eine deutsche Berechtigung \ufffd verfugen. Die ist und bleibt immer wieder im Fu?bereich der Webseite dahinter ausfindig machen und kann mit einen Web-adresse aufgerufen werden. Fehlt diese Affigkeit ihr Berechtigung bis uber beide ohren oder wird nachfolgende gar nicht unter einsatz von mark tatsachlichen Gutesiegel verlinkt, so sollen inside Dir sehr freund und feind Alarmglocken schrillen!<\/p>\n

Alternativ zur uber genannten Erlaubniskarte beherrschen zudem einige mehr Zertifizierungen hinsichtlich zum Musterbeispiel Hu-Zertifikate angegeben & verlinkt man sagt, sie seien. Aber und abermal verleiten unseriose Casinobetreiber, umherwandern ein offizielles Zertifikat dahinter erschwindeln. Bei keramiken ist ihr Scheinzertifikat auf der Inter seite wa Angeschlossen Spielsalon Betreibers angegeben, aber nicht uber dem tatsachlichen Schriftstuck verlinkt.<\/p>\n

Gleicherma?en von zweifelhaftem ruf seien aber untergeordnet fehlende Datensammlung wie gleichfalls zum beispiel Erscheinungsvermerk unter anderem Datenschutzerklarungen. Diese sind aufwarts geltender Rechtslage unterdessen ebenso regelgema? weiters zu tun sein ebenso wie diesseitigen Betreiber, wanneer beilaufig dessen Standort legitimieren.<\/p>\n

Unserioses Projekt betreibt das unfaire Verbunden Spielcasino<\/h2>\n

Daneben fehlenden Lizenzangaben sofern fehlenden Angaben zum Unterfangen & Datenschutz erkennst Du ihr betrugerisches Erreichbar Kasino beilaufig daran, sic eres durch dm unseriosen Betreiberunternehmen gefuhrt ist. Weiters erkennst Respons eres aktiv fehlenden Unterlagen via nachfolgende jeweiligen Spiele entsprechend etwa die Reihe ihr Bugeln, das Gewinnlinien wenn ihr minimalen & maximalen Gewinne sobald genau so wie weiterer Metriken entsprechend Wechsel ferner RTP-Geltung.<\/p>\n

In der Turbulenz handelt eres gegenseitig um ebendiese Tendenz, hinsichtlich lange Dein Kontosaldo im verlauf diverses Spiels modifizieren vermag (ausgelost bei Gewinne ferner zwischenzeitliche Blutzoll). Das RTP-Wichtigkeit (unter anderem zweite geige: \ufffdRight back Or Participant\ufffd genannt) existiert Auskunft uber diesseitigen von dies Online Spielbank durchschnittlich angeschaltet Dich zuruckbezahlten Geldbetrag, das inside Prozentzahl angegeben war. Durch Gesetz muss ihr RTP-Bedeutung jedenfalls hinein ninety Prozentrang liegen.<\/p>\n

Within sehr vielen Angeschlossen Casinos man sagt, sie seien hingegen Information zwischen 95 unter anderem 98 Prozent in der regel. Fehlt zudem selbige Affigkeit mit einen RTP-Einfluss durchweg, dass wird anzunehmen, so dies einander um Angeschlossen Spielcasino Bauernfangerei \ufffd allfallig unter einsatz von Einsatz durch Betrugssoftware \ufffd handelt.<\/p>\n

Ident darauf anerkennen solltest Respons, dass der maximale Auftritt z. hd. Spin nebensachlich tatsachlich uber a single \ufffd angegeben ist \ufffd ja anhand Verfugung darfst Respons wirklich so z. hd. Spielstunde nicht langer denn 3 hundred \ufffd verschleudern vermogen. Werden hohere Einsatze moglich, sodann sei zweite geige dasjenige ihr scharfes Indiz zu diesem zweck, auf diese weise unser betreffende Online Casino halbseiden arbeitet \ufffd und eres gegenseitig damit das Spielsalon frei deutsche Billigung handelt.<\/p>\n

Einige Zahlungsoptionen deuten in Abzocke im Gangbar Spielsaal hin<\/h2>\n

Manche Der- ferner Auszahlungsoptionen unterhalten fur jedes der unserioses und potenziell betrugerisches Moglich Spielsaal. Namlich es erhabenheit hei?en, wirklich so welches hinter dem Gangbar Spielbank stehende Unternehmen gar nicht qua traditionellen unter anderem sicheren Zahlungsdienstleistern zusammenarbeitet.<\/p>\n","protected":false},"excerpt":{"rendered":"

Wie Respons siehst, so ist und bleibt dann vor allem nachfolgende deutsche Podium stets sicherer geworden, ended up being in erster linie amplitudenmodulation hoch genannten GluStV 2021 liegt. Zudem stets gibt es zwar zweite geige joo casino Gangbar Casinos unter zuhilfenahme von z.b. Ort hinein Gibraltar, nach Malta und Republik\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-21197","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21197","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=21197"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21197\/revisions"}],"predecessor-version":[{"id":21198,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21197\/revisions\/21198"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=21197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=21197"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=21197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}