/* 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":187151,"date":"2026-06-22T16:56:01","date_gmt":"2026-06-22T16:56:01","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=187151"},"modified":"2026-06-22T16:56:02","modified_gmt":"2026-06-22T16:56:02","slug":"dann-ist-diese-droid-version-vom-vulkan-spiele-casino-prazise-diese-gute-z-hd-sie","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/dann-ist-diese-droid-version-vom-vulkan-spiele-casino-prazise-diese-gute-z-hd-sie\/","title":{"rendered":"Dann ist diese droid Version vom Vulkan Spiele Casino prazise diese Gute z. hd. Sie!"},"content":{"rendered":"

Humanoid Version von Vulkan Spiele Casino<\/h2>\n

Spielen MrMega Casino<\/a> Sie gern unterwegs? Auf "und liefen", in wie weit Sie das Mobile phone und ein Product erfolg, unsere humanoid Plattform finden sie auf Ihnen ein erstklassiges Spielerlebnis, irgendwo beilaufig immer Sind.<\/p>\n

Unsere humanoid Blog ist benutzerfreundlich und wie am schnurchen nach navigieren. Sie mussen nichts laden. Offnen Sie reibungslos Ihren Browser, gehen Die aufwarts unsere S. und legen Die los. Ganz Spiele sind optimiert, sodass die rechtskraftig in kleineren Bildschirmen tun.<\/p>\n

Sie k\u00f6nnen Ihre Lieblings-Slots, Tischspiele & selbst Alive Casino-Spiele schnell in Dem Mobilgerat genie?en. Diese Grafiken sind gestochen atzend, diese Ladezeiten kurz & diese Handhabung spontan. Das bedeutet, Sie vergessen nichts, wenn Diese unterwegs geben.<\/p>\n

Sekundar diese Anmeldung und das Einl\u00f6sen gehen beweglich kinderleicht. Vorteil Sie diese ahnlich sein sicheren Zahlungsmethoden wie aufwarts ein Notebook-Version. Diese Informationen sind dank unserer SSL-Chiffre bestens beschutzt.<\/p>\n

Ein droid Zugriff auf Diese Lieblingsspiele und -boni starke das Vulkan Spiele Casino beweglich und locker. Kaum, irgendwo Sind, das Casino ist immer jedoch einen Klick weit. Kosten Sie es aus und erfahrung Sie einen ganzen Spielspa? auf Einem Mobilgerat!<\/p>\n

Kundenservice inoffizieller mitarbeiter Vulkan Spiele Casino<\/h2>\n

In Vulkan Spiele Casino entwickelt Ihnen das erstklassiger Kundenservice zur Verfugung. Diese Team ist rund dar\u00fcber diese Uhr fur Sie hier. Irrelevant, in wie weit Sie Fragen haben und Hilfe benotigen \ufffd wir sind immer bereit nach helfen.<\/p>\n

Sie fahig sein united nations auf wichtige Weil auf die beine stellen. Ein Stay-Speak ist gerade praktisch. Hier erhalten Sie schnell und schnell Beantworten auf Diese Fragen. Muhelos das Talking-Fenster \u00f6ffnen und lostippen. Diese freundliches Hilfe-Team antwortet in kurzester Zeit.<\/p>\n

Bevorzugen Sie Basis des naturlichen logarithmus-Email messages? Kein problem! Schreiben Die united nations reibungslos eine E-E-mail-nachricht & wir ankundigen mir so schnell wie m\u00f6glich in Ihnen zur\u00fcck. Unsere E-Mail-Adresse ermoglicht ein Internet-angebot inoffizieller mitarbeiter Hilfe-Flache. Auch per Telefon sind wir nach handen Diese da. Anhalten Sie diese autor angeschaltet, wenn Sie diese unmittelbare und personliche Beratung w\u00fcnschen.<\/p>\n

Diese Kundenservice ist nicht jedoch schnell, stattdessen auch weise. Wir fordern Ihnen in allen moglichen Sache. Ist es diese Frage nach einen Spielen, Probleme in Ein- und Auszahlungen & technische Schwierigkeiten \ufffd wir finden eine Auflosung.<\/p>\n

Zahlungsmethoden in VulkanSpiele<\/h2>\n

In Vulkan Spiele Casino haben wir jede gruppe von Zahlungsmethoden, dar\u00fcber sicherzustellen, so Das- und Auszahlungen storungsfrei und entspannt fur Sind. Wir kennen, so Anpassungsfahigkeit und Zuverlassigkeit beim Kontakt uber Geld vordergrundig sind, deshalb angebot wir einige Optionen in firma.<\/p>\n

Kredit- und Debitkarten: Sie fahig sein ganz locker \u00fcber Ein Pump- & Bankkarte einlosen. Visa & MasterCard sind von diese autor akzeptiert. Diese Konzept ist schnell und auf jeden fall, sodass Das Geld sofort in Einem Casino-Konto zuganglich ist.<\/p>\n

E-Wallets: E-Wallets sind eine beliebte Wahl fur jedes viele Spieler. Sind reibungslos auf verwenden, schnell, sinnvoll und auf jeden fall. Vollkommen, wenn Sie sofort auf einsatz von dem Auffuhren in diese gange kommen mochten.<\/p>\n

Bankuberweisungen: Z. hd. gro?ere Betrage und wenn Sie lieber schnell beim Konto einl\u00f6sen mochten, vorschlag wir sekundar Bankuberweisungen angeschaltet. Diese Methode kann etwas langer dauern, finden sie auf zwar eine perfekte Gelegenheit, Geld nach verau?ern.<\/p>\n

Prepaid-Karten: Wenn Die lieber ohne Konto zahlen mochten, sind Prepaid-Karten wie Paysafecard eine gute Wahl. Reibungslos eine Menu kaufen, einen Code ausf\u00fcllen und etwas ist diese Geld auf Dem Konto.<\/p>\n

Initialisieren Sie nun \u00fcber Vulkan Spiele Casino<\/h2>\n

Heute kennen Sie, wie kommt es, so… Vulkanspiele als es sinnvolle andere Moglich Casino gelte. Wir haben diese Bestes getan, dar\u00fcber ein m\u00f6glichst umfassendes und attraktives Angebot nach handen unsere Spieler zusammenzustellen. Diese geht etwas as part of unserer Spielesammlung und dem Vulkanspiele Pramie los, schlie?lich beiderlei geh\u00f6ren auf einen vollumfanglich besten auf dem Borse.<\/p>\n

Noch ist unsere Blog benutzerfreundlich und muhelos auf navigieren. Die verlauft vergleichbar gut auf allen Browsern und Geraten. Sie fahig sein selbst viele unserer Spiele inoffizieller mitarbeiter Demo-Art ausprobieren, blo? einchecken nach zu tun sein.<\/p>\n","protected":false},"excerpt":{"rendered":"

Humanoid Version von Vulkan Spiele Casino Spielen MrMega Casino Sie gern unterwegs? Auf "und liefen", in wie weit Sie das Mobile phone und ein Product erfolg, unsere humanoid Plattform finden sie auf Ihnen ein erstklassiges Spielerlebnis, irgendwo beilaufig immer Sind. Unsere humanoid Blog ist benutzerfreundlich und wie am schnurchen nach\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-187151","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/187151","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=187151"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/187151\/revisions"}],"predecessor-version":[{"id":187152,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/187151\/revisions\/187152"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=187151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=187151"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=187151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}