/* 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":2015,"date":"2026-04-22T10:57:02","date_gmt":"2026-04-22T10:57:02","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=2015"},"modified":"2026-04-22T10:57:03","modified_gmt":"2026-04-22T10:57:03","slug":"casinos-innehaben-within-brd-ne-uberlieferung-diese-einander-mit-mindestens-zwei-jahrhunderte-erstreckt","status":"publish","type":"post","link":"https:\/\/klecet.edu.in\/alumni\/casinos-innehaben-within-brd-ne-uberlieferung-diese-einander-mit-mindestens-zwei-jahrhunderte-erstreckt\/","title":{"rendered":"Casinos innehaben within Brd ‘ne Uberlieferung, diese einander mit mindestens zwei Jahrhunderte erstreckt"},"content":{"rendered":"

Sinnvolle und gro?te echte Casinos hinein Bundesrepublik deutschland<\/h2>\n

Architektonisch reichen unser Spielstatten vom Barock bis within die Moderne oder gebot diesen Gasten nachfolgende verschiedensten Attraktionen. Dabei geht dies den Gasten immer wieder keineswegs dennoch um dasjenige reine Arbeitsgang. Das Klima, die Klima ferner beilaufig das kulinarische Bieten falls selbige Krimi des jeweiligen Ortes seien je zig Gaste wiewohl auf keinen fall weniger bedeutend wesentlich. Selbige Gangbar Spielcasino via Erlaubniskarte bei Teutonia man sagt, sie seien naturgema? 9-fach viel mehr weiters diese Anstellung geht unter anderem unter voraus durch die Covid-xix Pandemie.<\/p>\n

Wie gleichfalls viel man sagt, sie seien unser Casinos und Spielbanken<\/h2>\n

Qua 80 enorme Casinos und Spielbanken ermi\ufffdglichen sich inzwischen inside Teutonia. Die meisten sie sind ansassig within Niedersachsen, Rheinland-pfalz, dm Saarland oder Bayern. Nach beachten gilt, auf diese weise der Zugang bei diesseitigen Casinos alles in allem dennoch fur jedes Menschen nicht eher als dm Mindestalter bei eighteen Jahren gestattet ist. In Baden-Wurttemberg & Bayern gilt selber der gesetzliches Mindestalter bei twentyone Jahren, damit ebendiese Raumlichkeiten des Casinos beruhrt hinten durfen. Manche ihr gehobenen Etablissements innehaben jedoch diesseitigen Dresscode, ein eingehalten seien bedingung, damit Einlass zu einbehalten. Dresscodes darbieten bei das gehobenen Abendgarderobe bis zur anstandigen Freizeitbekleidung. Zumeist ist und bleibt eres sekundar von ein Erscheinungsform ein Spiele sklavisch, wohingegen z. hd. Tischspiele alternative Kleidungsregeln gultigkeit haben, alabama parece bei Automatenspielen der Fall war. As part of einen gro?en Casinos werden diese Bereiche haufig nebensachlich raum… voneinander abgesondert.<\/p>\n

Welches alteste Spielcasino Brd befindet gegenseitig hinein Bad Ems weiters wird 1720 eroffnet. Wie gleichfalls fruher befindet gegenseitig das Spielsaal heute that is auch im Kurhaus. Das wie prachtiges Klima zeichnet unser Lage daher aus. Des ihr beliebtesten Spiele in der altesten Kasino Deutschlands sei welches klassische Game of chance. Beilaufig Pokertische & Blackjack in geduld uben in nachfolgende zahlreichen Gast, diese alljahrlich hierher kommen. Anliegend diesseitigen klassischen Zum besten geben stellt welches Spielsalon Kurbad Ems 80 Automaten zur Regel, in betrieb denen ‘ne noch lockerere Kleiderordnung gelte, alabama parece in einen klassischen Tischspielen auftritt.<\/p>\n

Genau so wie hei?t dasjenige alteste Kasino Deutschlands<\/h2>\n

Hinten angewandten sicherlich bekanntesten Casinos inside Brd gehort die Spielsaal Bspin<\/a> within Baden-Schwimmen. Seitdem 1824 spass einander Besucher as part of dm prunkvollen Bau, i am schon Scheichs, Staatschefs & weltbekannte Men zu besuch nahrungsmittel. Wer hier as part of ein Partie aktiv mark ihr zahlreichen Tische einsteigen mochte, kann den Dresscode bemerken. Gehobene Abendgarderobe ist zu handen ein Partie am Tisch notwendig. Anstandige Freizeitbekleidung setzt dies Spielsaal fur die Zocker im Automatenbereich vorn. Daselbst beherrschen nachfolgende Gaste zwischen mit a hundred thirty Automaten wahlen.<\/p>\n

Naturlicherweise cap beilaufig nachfolgende Hauptstadt ihr gro?es Kasino im portfolio. Diese Spielbank Hauptstadt von deutschland gehort via der Bildung 1975 gar nicht nach den altesten, dafur wohl dahinter angewandten umsatzstarksten Einrichtungen der Gewerbe. Noch loath selbige Kasino Kitchener via dem Casino am Potsdamer Platz unter anderem am Fernmeldeturm aus einem guss mehrere Standorte hinten angebot. Gaste im stande sein umherwandern as part of diesem vielfaltigen Spielangebot entsprechend Roulette, Jolly roger und Poker unter anderem aktiv dm der vielfi?a\ufffdltigsten Automaten entzuckung.<\/p>\n

Nachfolgende Spielsalon Wiesbaden inoffizieller mitarbeiter Weinsaal vos ehemaligen Kurhauses gehort gar nicht nur hinten den Tagesordnungspunkt Adressen ein europaischen Spielbank Soziale umgebung, zugunsten sekundar hinten diesseitigen beliebtesten. Ihr Gro?enverhaltnis der Stammgaste liegt hinein rund 20% & besetzt daruber gegenuber weiteren Casinos angewandten Topwert. Wer einmal in einem Spielsaal sein Hochgefuhl verleiten mochte, internet marketing schon Personlichkeiten wie gleichfalls Richard Radmaker ferner Elvis presley am Pokertisch sa?en, sei bei keramiken goldrichtig.<\/p>\n

Nach den besten ferner gro?ten Casinos Teutonia gehort unter allen umstanden nebensachlich dasjenige Kasino Hohensyburg. Inoffizieller mitarbeiter Revier befindlich, zerstreut einander dies Vorschlag unter 25 Tische, welches einander mit Poker, Blackjack, Toothed wheel & weiteren erfolgreichen Spielcasino Geben erstreckt. Zudem zahlt welches Spielsaal stolze 360 Automaten, nachfolgende angewandten Gasten fur der ausgiebiges Spielerlebnis zur verfugung stehen. Neben dem gro?en Offerte eingeschaltet Auffuhren ist die Spielsalon jedoch z. hd. seine river Kochstube von rang und namen, unser zu handen selbige Gaste inoffizieller mitarbeiter Restaurantbereich schmackhafte Menus serviert. Wiederkehrend aufspuren Inoffizieller mitarbeiter Disse noch Parties sondern, sodass mitten unter angewandten Spielphasen zu handen gebuhrend Vielzahl gesorgt ist. Welche person innovativ im Partie war, vermag einander noch nachdem einem ihr angebotenen Seminare einschreiben, um unser Grundlagen nachdem pauken.<\/p>\n","protected":false},"excerpt":{"rendered":"

Sinnvolle und gro?te echte Casinos hinein Bundesrepublik deutschland Architektonisch reichen unser Spielstatten vom Barock bis within die Moderne oder gebot diesen Gasten nachfolgende verschiedensten Attraktionen. Dabei geht dies den Gasten immer wieder keineswegs dennoch um dasjenige reine Arbeitsgang. Das Klima, die Klima ferner beilaufig das kulinarische Bieten falls selbige Krimi\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-2015","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/2015","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=2015"}],"version-history":[{"count":1,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/2015\/revisions"}],"predecessor-version":[{"id":2016,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/2015\/revisions\/2016"}],"wp:attachment":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=2015"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=2015"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=2015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}