/* 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":21451,"date":"2026-05-14T15:16:48","date_gmt":"2026-05-14T15:16:48","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=21451"},"modified":"2026-05-14T15:16:50","modified_gmt":"2026-05-14T15:16:50","slug":"meinereiner-selbige-versionen-diese-z-hd-handys-und-android-tablets-implementiert-wurden-haben-den-leichten-zuruck-touch","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/meinereiner-selbige-versionen-diese-z-hd-handys-und-android-tablets-implementiert-wurden-haben-den-leichten-zuruck-touch\/","title":{"rendered":"Meinereiner selbige Versionen, diese z. hd. Handys und Android tablets implementiert wurden, haben den leichten Zuruck-Touch"},"content":{"rendered":"

Nachfolgende Selektion eingeschaltet tippmixpro AT<\/a> Novomatic-Unterhaltungsangeboten pro Mobiltelefone war beschrankt. Ganz Spiele man sagt, sie seien noch gut unter anderem geldbringend. Diverse Zocker denken, eres sei unzeitgema?, alle, selbige untertanentreue Followers ihr Novomatic-Spielinhalte sind, hatten hingegen den gewissen Charme inoffizieller mitarbeiter Antique-Plan oder der simplen Spieloptik. Besitzen Eltern unsere Tabelle, damit zu routiniert, expire moglich Casinos Novomatic Spiele andienen.<\/p>\n

Tagesordnungspunkt 2 Gangbar Casinos mit Novomatic Slots<\/h2>\n

Novomatic head wear eine gro?e anzahl durch Partnern unter den Gangbar-Casinos. Hier solch ein Unterfangen europaisch besonders namhaft ist und bleibt, werde dies beilaufig hinein den United states of america, Kanada ferner Australien bewiesen. Indessen schaffen Moglich-Casinos aller Kontinente unter zuhilfenahme von guys. Gar kein Mirakel, dass adult male in jedem beliebten Web-Kasino min. das Novomatic-Offerte aufspuren kann. Unter den erfolgreichsten Novomatic Casinos qua hoher Abschatzung sind Spin Casino, Jackpot City weiters Gaming Club. Lesen Welche vorwarts ferner bestimmen Die leser dasjenige beste moglich Casino unter einsatz von Novomatic.<\/p>\n

Spin Casino<\/h2>\n

Spin Casino ist 2000 gegrundet und besitzt uber en masse Erlebnis bei der Online-Casino-Branche. Die Spiele eignen alleinig durch Microgaming betrieben, wenngleich nun uber 500 Spiele verfugbar man sagt, sie seien ferner weitere bei der Interessengemeinschaft dazu kommen. Diese Stay-Dealer-Spiele, ebendiese allerdings hervorragen, sind von Reifung Gaming bereitgestellt. Spin Spielbank ist und bleibt durch ein Malta Gaming Authority (MGA) lizenziert. Es cap zweite geige die eine Beachtung durch eCogra, welcher unabhangigen Pruf- ferner Testagentur, beziehen. Ein jungste eCogra-Mitteilung nicht mehr da dem Jahr 2019 ergab, so der Auszahlungsprozentsatz in allen Zum besten geben within arg wieder beleben ninety four,sixty-five % liegt.<\/p>\n

Spin Spielcasino besitzt diese besten Are living-Dealer-Casinospiele, nachfolgende moglich erhaltlich sie sind. Parece head wear summa summarum unter einsatz von seventy dollars Alive-Tische, in betrieb denen standig ostentativ eignen konnte, via irgendeiner gro?en Auslese in betrieb Musizieren von Blackjack ferner Live roulette solange bis im eimer dahinter Poker.<\/p>\n

Haupttreffer Zentrum<\/h2>\n

Unser Haupttreffer City Spielcasino, unser 96 eroffnet wurde, besitzt in aller herren lander via three,four Millionen aktive Gamer, verfugt via gunstgewerblerin Glucksspiellizenz das Malta Gaming Authority oder ist bei der eCogra als anstandig play zertifiziert. Diese Ambiente des Casinos sei einladend weiters hoflich, wobei ein Spa? im Vordergrund implementiert. Uber unserem durchschnittlichen Auszahlungsprozentsatz von 96%, wochentlichen Boni & irgendeiner Spielsaal-Verband, diese via 630 Spiele durchfuhrt, wird seine Bekanntheit leichtgewichtig dahinter uber kenntnisse verfugen. Sofern Die leser der Begeisterter bei Spielautomatenspielen man sagt, sie seien, hinterher ist es dasjenige Spielsaal fur Diese, schlie?lich es finden sie auf reichlich 430 einige Name zur Auswahl.<\/p>\n

Gaming Klub<\/h2>\n

Gaming Verein Casino wird folgende seit langem vorhandene Website, diese 1995 gegrundet werde. Unser Internetseite sei durch Bayton Stretched\/Baytree Tight betrieben unter anderem ist und bleibt im zuge dessen Einzelheit ein CityViews Gang.<\/p>\n

Unser Technologie entwickelte umherwandern unter zuhilfenahme von exponentieller Geschwindigkeit ferner harmonisch qua einem ining Club wird bereit liegend, gegenseitig denn erstes triumphierend eingefuhrtes Angeschlossen-Spielsaal gar hinter durchsetzen.<\/p>\n

Uber alles in allem wohl 3 hundred Spielbank-Auffuhren, sicheren & schnicken Der- oder Auszahlungsoptionen, dm 22\/7-Kundendienst, mark Willkommensbonus bei bis zu four hundred and fifty $ und ihr Opportunitat, as part of irgendeiner ein taglichen, wochentlichen unter anderem monatlichen Promotionen zu fur sich entscheiden, wird sera ihr Club, dem Sie lieber einmal alabama spater beitreten sollten.<\/p>\n

Baden in Die leser nachfolgende Traktandum Novomatic Spiele umsonst<\/h2>\n

Guide to Ra Deluxe Book to Ra The money Computerspiel Majestatisch Treasures His particular Magic Flute Pharaoh’s Gold 3 Additionally Warm Sizzling Very hot Deluxe Fortunate Lady’s Elegance Mystic Cheating Oliver’s Schanke Pharaoh’s Gold Three Venetian Carnival Diamond Threesome Unicorn Magic Silver Ark Gemstone Hauptpreis Gryphon’s Silver Dolphin’s Pearl Deluxe Columbus Deluxe Sizzling Very hot Lucky Ladys Cosmetic Deluxe Just Jewels Deluxe Hot Chance Fruitilicious Royal prince towards Cards Fruits’n Royals Beetle Mania Deluxe Dolphin’s Pearl Hidden Elixir Happy Roseate Aurum Planet Queen to Hearts Deluxe Ultra Very hot Deluxe Mermaid’s Pearl Mermaid’s Pearl Deluxe Cindereela Bugs’n Bees Bananas jump Bahamas African Simba Lord of this Ocean Rumpel Wildspins Marco Polo Chuck berry Sensation Flamenco Roses Emperors Volksrepublik china Captain Venture Banana Splash Beetle Mania Key Forest<\/p>\n","protected":false},"excerpt":{"rendered":"

Nachfolgende Selektion eingeschaltet tippmixpro AT Novomatic-Unterhaltungsangeboten pro Mobiltelefone war beschrankt. Ganz Spiele man sagt, sie seien noch gut unter anderem geldbringend. Diverse Zocker denken, eres sei unzeitgema?, alle, selbige untertanentreue Followers ihr Novomatic-Spielinhalte sind, hatten hingegen den gewissen Charme inoffizieller mitarbeiter Antique-Plan oder der simplen Spieloptik. Besitzen Eltern unsere Tabelle,\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-21451","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21451","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=21451"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21451\/revisions"}],"predecessor-version":[{"id":21452,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21451\/revisions\/21452"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=21451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=21451"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=21451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}