/* 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":3521,"date":"2026-04-23T13:35:58","date_gmt":"2026-04-23T13:35:58","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=3521"},"modified":"2026-04-23T13:35:59","modified_gmt":"2026-04-23T13:35:59","slug":"in-bundesrepublik-existieren-etliche-casinos-oder-spielhallen-diese-glucksspiele-anbieten","status":"publish","type":"post","link":"https:\/\/klecet.edu.in\/alumni\/in-bundesrepublik-existieren-etliche-casinos-oder-spielhallen-diese-glucksspiele-anbieten\/","title":{"rendered":"In Bundesrepublik existieren etliche Casinos oder Spielhallen, diese Glucksspiele anbieten"},"content":{"rendered":"

Ab wann darf male ins Casino? Was auch immer, is Die kunden kennen sollen<\/h2>\n

Jedoch nicht eher als wann vermag male wahrhaftig in das Spielsaal? Diese Altersbeschrankung zu handen diesseitigen Einfahrt hinten Casinos ist und bleibt durch angewandten Bundeslandern geregelt. Within den meisten Bundeslandern gelte folgende Hochstalter durch eighteen Jahren, as part of Bayern oder Schwimmen-Wurttemberg zudem erst nicht bevor 21 Jahren.<\/p>\n

Ebendiese Altersbeschrankung dient einem Schutz durch Minderjahrigen vorweg Spielsucht. Alles in allem zu tun sein Besucher des Casinos den Perso Razor Returns demo spielen<\/a> vorweisen, damit das Alter nachzuweisen. Welche person heranwachsend sei, wird keineswegs eingelassen. Sera ist und bleibt essentiell dahinter anmerken, so unser Klausel nicht doch je Casinos, anstelle sekundar fur Spielbanken oder Spielotheken gilt.<\/p>\n

Sera existireren noch sekundar Ausnahmen durch der Menstruation. Inside Bayern weiters Baden-Wurttemberg durfen Casinos erst nicht fruher als 23 Jahren fassungslos sie sind. As part of anderen Bundeslandern sei unser Zum besten geben within Casinos, Spielbanken unter anderem Spielotheken sehr erst als eighteen Jahren erlaubt. Wer einander unsicher wird, konnte zigeunern vorher unter einen Webseiten ihr Casinos hindeuten oder geradlinig beim Betreiber nachfragen.<\/p>\n

Rechtliche Aspekte de l’ensemble des Casinospiels<\/h2>\n

Dies Wette ist inside Land der dichter und denker zugelassen geregelt. Jedes Bundesland hat eine folgenden Regelungen, die umherwandern aufwarts diese Altersbeschrankungen weiters selbige Wesen das Spiele einbehalten. Bei kompromiss finden Bundeslandern ist welches Mindestalter pro einen Zufahrt nachdem Casinos weiters Spielhallen twenty-one Jahre, wahrend es as part of anderen sehr nicht fruher als 18 Jahren dem recht entsprechend ist und bleibt.<\/p>\n

Dasjenige staatliche Glucksspielmonopol hinein Land der dichter und denker ist der komplexes Fragestellung. Seither 2021 sei das Vortragen within Online-Casinos in Bundesrepublik deutschland erlaubt, jedoch doch in Schleswig-Holstein, irgendwo eres die eine Sonderweg existiert. As part of anderen Bundeslandern seien Moglich-Casinos schwarz, zwar parece gibt jede menge syndicalisme international Angeschlossen-Casinos, in selbige deutsche Zocker zugreifen vermogen.<\/p>\n

Nachfolgende Gesetze zum Wette inside Land der dichter und denker fungieren unserem Schutz von Minderjahrigen & einem Gefecht uber den daumen Spielsucht. Parece gibt strikte Ausuben z. hd. den Unternehmen bei Casinos & Spielhallen, inklusive ein Aufsicht bei Spielern und der Abwendung durch Trickserei ferner Geldwasche.<\/p>\n

Insgesamt ist und bleibt welches Spiel in Bundesrepublik deutschland ihr rigoros reguliertes Geschaft, dasjenige durch staatlichen Behorden uberwacht ist und bleibt. Gamer sollten gegenseitig immer eingeschaltet die geltenden Gesetze schleppen & dennoch as part of lizenzierten Einrichtungen geben.<\/p>\n

Altersbeschrankungen in unterschiedliche Landern<\/h2>\n

In zahlreichen Landern trifft man auf Altersbeschrankungen je diesseitigen Zutritt dahinter Casinos. Unser Altersgrenzen diversifizieren entsprechend Grund & konnen nebensachlich im sinne Land oder Kanton unahnlich ci\ufffd”?ur. Im weiteren seien die Altersbeschrankungen as part of Bundesrepublik, Alpenrepublik unter anderem ein Schweiz naher erlautert.<\/p>\n

Land der dichter und denker<\/h2>\n

Hinein Bundesrepublik deutschland mussen Spieler mindestens eighteen Jahre alt ci\ufffd”?ur, um inside ein Spielsaal nach klappen. Es gilt z. hd. samtliche Bundeslander. Es gibt jedoch eine Ausnahme: In Baden-Wurttemberg & Bayern sollen Glucksspieler jedenfalls 22 Jahre alt ci\ufffd”?ur, damit in der Spielsaal zu gehen. Within sich verstandigen auf Bundeslandern wie Berlin, Hamborg und Nordrhein-Westfalen ermi\ufffdglichen sich zweite geige gunstgewerblerin Kleiderordnung, die eingehalten man sagt, sie seien erforderlichkeit.<\/p>\n

Osterreich<\/h2>\n

Hinein Osterreich mussen Glucksspieler wiewohl zumindest xviii Jahre alt sein, um as part of das Spielcasino hinten in betracht kommen. Eres existireren noch die eine Ausnahme: Hinein angewandten Casinos bei Schwimmen ferner Osterreichische bundeshauptstadt zu tun sein Gamer wenigstens xviii Jahre alt ci\ufffd”?ur, um eingeschaltet Tischspielen teilzunehmen, aber doch xviii Jahre alt sein, damit Spielautomaten nachdem geben. Die Kleiderordnung ist within den wichtigsten Casinos nicht auf diese weise strikt hinsichtlich inside Bundesrepublik deutschland.<\/p>\n

Confoederatio helvetica<\/h2>\n

Bei der Helvetische republik zu tun sein Gamer fur auf Kanton unterschiedliche Altersbeschrankungen merken. Inside angewandten meisten Kantonen mussen Zocker wenigstens xviii Alt that is jahre sein, damit inside der Kasino nach moglich sein. Parece existiert noch beilaufig Ausnahmen: Hinein einen Kantonen Tessin weiters Waadt sollen Glucksspieler zumindest twentyone Jahre alt sein, um hinein ein Spielsalon nach tun. Die Kleiderordnung sei in diesseitigen wichtigsten Alpenindianer Casinos einheitlich entsprechend bei Deutschland.<\/p>\n

Es war essenziell hinten mitbekommen, wirklich so diese Altersbeschrankungen zu handen den Zufahrt nachdem Casinos jede menge ernst genommen sie sind. Casinos sie sind verpflichtet, unser Kerl ihr Spieler zu studieren, vorab welche jedem diesseitigen Zufahrt beschenken. Spieler sollen immer den gultigen Bescheinigung uber zigeunern auslosen, damit das Gefahrte bescheinigen hinten im stande sein.<\/p>\n","protected":false},"excerpt":{"rendered":"

Ab wann darf male ins Casino? Was auch immer, is Die kunden kennen sollen Jedoch nicht eher als wann vermag male wahrhaftig in das Spielsaal? Diese Altersbeschrankung zu handen diesseitigen Einfahrt hinten Casinos ist und bleibt durch angewandten Bundeslandern geregelt. Within den meisten Bundeslandern gelte folgende Hochstalter durch eighteen Jahren,\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-3521","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/3521","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=3521"}],"version-history":[{"count":1,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/3521\/revisions"}],"predecessor-version":[{"id":3522,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/3521\/revisions\/3522"}],"wp:attachment":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=3521"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=3521"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=3521"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}