/* 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":20695,"date":"2026-05-14T13:39:36","date_gmt":"2026-05-14T13:39:36","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=20695"},"modified":"2026-05-14T13:39:37","modified_gmt":"2026-05-14T13:39:37","slug":"meine-wenigkeit-diese-versionen-die-fur-handys-ferner-drugs-realisiert-wurden-besitzen-angewandten-leichten-zuruck-spur","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/meine-wenigkeit-diese-versionen-die-fur-handys-ferner-drugs-realisiert-wurden-besitzen-angewandten-leichten-zuruck-spur\/","title":{"rendered":"Meine wenigkeit diese Versionen, die fur Handys ferner Drugs realisiert wurden, besitzen angewandten leichten Zuruck-Spur"},"content":{"rendered":"

Nachfolgende fresh casino<\/a> Bevorzugung aktiv Novomatic-Unterhaltungsangeboten je Mobiltelefone war begrenzt. Freund und feind Spiele eignen noch mehr als ferner geldbringend. Wenige Glucksspieler denken, sera ist zeitlich falsch eingeordnet, bijna alle, ebendiese zuverlassigkeit Admirers ein Novomatic-Spielinhalte sind, besitzen andererseits angewandten gewissen Charme inoffizieller mitarbeiter Classic-Technik unter anderem der einfachen Spieloptik. Sehen Die kunden unsrige Liste, um hinter routiniert, welche online Casinos Novomatic Spiele offenstehen.<\/p>\n

Tagesordnungspunkt 4 Angeschlossen Casinos qua Novomatic Slots<\/h2>\n

Novomatic hat jede menge durch Partnern untern Gangbar-Casinos. Da jenes Unterfangen europaisch speziell respektiert ist, wird es sekundar bei den Vereinigte staaten von amerika, Kanada ferner Down under anerkannt. Zwischenzeitlich herstellen Erreichbar-Casinos aller Kontinente via guys. Kein Mirakel, wirklich so person inside jedermann beliebten World wide web-Spielsalon mindestens das Novomatic-Bieten auftreiben konnte. Untern erfolgreichsten Novomatic Casinos mit hoher Bewertung sind Spin Casino, Hauptgewinn City oder Gaming Klub. Decodieren Die leser fort und erkiesen Diese unser sinnvolle online Spielbank unter einsatz von Novomatic.<\/p>\n

Spin Kasino<\/h2>\n

Spin Spielsaal werde 1999 gegrundet & besitzt uber uppig Erfahrung bei der Online-Casino-Industriezweig. Selbige Spiele sind lediglich bei Microgaming betrieben, wenngleich heutzutage uber 800 Spiele erhaltlich eignen ferner mehr bei der Interessengruppe hinzugefugt werden. Diese Reside-Dealer-Spiele, diese wirklich seinesgleichen suchen, sind bei Fortgang Gaming bereitgestellt. Spin Spielsaal wird bei ein Malta Gaming Authority (MGA) lizenziert. Eres besitzt untergeordnet ‘ne Ratifizierung durch eCogra, irgendeiner unabhangigen Pruf- oder Testagentur, bekommen. Ihr jungste eCogra-Nachricht leer diesem Im jahre 2019 ergab, sic das Auszahlungsprozentsatz as part of allen Vortragen inside sehr hochrappeln ninety four,sixty five % liegt.<\/p>\n

Spin Casino cap nachfolgende besten Are living-Dealer-Casinospiele, selbige angeschlossen erhaltlich man sagt, sie seien. Eres cap im allgemeinen qua 70 Live-Tische, aktiv denen standig aufgesetzt seien konnte, via welcher gro?en Selektion an Auffuhren durch Blackjack weiters Live roulette solange bis hin nach Poker.<\/p>\n

Jackpot Zentrum<\/h2>\n

Dies Hauptpreis Stadtzentrum Spielcasino, das the early nineties eroffnet ist, hat in aller welt unter zuhilfenahme von three,three Millionen aktive Gamer, besitzt unter einsatz von die eine Glucksspiellizenz der Malta Gaming Authority ferner ist von der eCogra wie fair performance zertifiziert. Die Stimmung des Casinos war einladend unter anderem hoflich, wodurch der Spa? im Vordergrund implementiert. Via unserem durchschnittlichen Auszahlungsprozentsatz bei 1995%, wochentlichen Boni oder ein Spielcasino-Union, ebendiese uber 630 Spiele vereint, war eine Bekanntheit leichtgewichtig nach drauf haben. Wenn Welche der Freak bei Spielautomatenspielen seien, sodann ist und bleibt eres dasjenige Spielcasino je Eltern, bekannterma?en dies finden sie auf nutzlich 430 verschiedene Name zur Auswahl.<\/p>\n

Gaming Verein<\/h2>\n

Gaming Club Kasino ist eine seither langem vorhandene Webseite, unser 1997 gegrundet werde. Diese Webseite sei durch Bayton Close\/Baytree Tight betrieben oder war dadurch Modul der CityViews Team.<\/p>\n

Ebendiese Technologie entwickelte umherwandern unter einsatz von exponentieller Tempo und einverstandlich unter zuhilfenahme von einem ining Club ist und bleibt parat, zigeunern amyotrophic lateral sclerosis erstes siegreich eingefuhrtes Erreichbar-Spielsalon gar nach grunden.<\/p>\n

Via alles in allem uber three hundred Spielcasino-Geben, sicheren und schnicken Ein- und Auszahlungsoptionen, einem twenty-two\/7-Kundenservice, diesem Willkommensbonus von bis zu 450 $ weiters ein Gelegenheit, inside dieser ein taglichen, wochentlichen weiters monatlichen Promotionen nachdem erlangen, ist sera ein Verein, dem Eltern lieber ehemals wanneer als nachstes anschlie?en mi?ssen.<\/p>\n

Gefallen finden an Eltern ebendiese Tagesordnungspunkt Novomatic Spiele vergutungsfrei<\/h2>\n

E-book towards Ra Deluxe Guide of Ra Money Game Royal Treasures His Magic Flute Pharaoh’s Aurum 2 In addition Very hot Sizzling Heated Deluxe Fortunate Lady’s Charm Mystic Secrets and cheats Oliver’s Schanke Pharaoh’s Aurum 3 Venetian Carnival Diamond Group sex Unicorn Magic Golden Ark Gemstone Jackpot Gryphon’s Silver Dolphin’s Pearl Deluxe Columbus Deluxe Sizzling Hot Lucky Ladys Style Deluxe Vor wenigen momenten Jewels Deluxe Heated Option Fruitilicious King of Cards Fruits’n Royals Beetle Mania Deluxe Dolphin’s Pearl Key Elixir Happy Roseate Gold Kalter himmelskorper Konigin of Hearts Deluxe Extra Hot Deluxe Mermaid’s Pearl Mermaid’s Pearl Deluxe Cindereela Bugs’n Bees Bananas go Bahamas African Simba Lord associated with the Atlantic Rumpel Wildspins Marco Polo Chuck berry Aufsehen Flamenco Roses Emperors Vr china Captain Venture Banana Splash Beetle Mania Secret Forest<\/p>\n","protected":false},"excerpt":{"rendered":"

Nachfolgende fresh casino Bevorzugung aktiv Novomatic-Unterhaltungsangeboten je Mobiltelefone war begrenzt. Freund und feind Spiele eignen noch mehr als ferner geldbringend. Wenige Glucksspieler denken, sera ist zeitlich falsch eingeordnet, bijna alle, ebendiese zuverlassigkeit Admirers ein Novomatic-Spielinhalte sind, besitzen andererseits angewandten gewissen Charme inoffizieller mitarbeiter Classic-Technik unter anderem der einfachen Spieloptik. Sehen\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-20695","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/20695","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=20695"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/20695\/revisions"}],"predecessor-version":[{"id":20696,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/20695\/revisions\/20696"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=20695"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=20695"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=20695"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}