/* 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":81352,"date":"2026-05-23T06:06:53","date_gmt":"2026-05-23T06:06:53","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=81352"},"modified":"2026-05-23T06:06:55","modified_gmt":"2026-05-23T06:06:55","slug":"filip-rozniacy-sie-wplac-wszystkie-cztery-zrzuty-na-48h-min","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/filip-rozniacy-sie-wplac-wszystkie-cztery-zrzuty-na-48h-min\/","title":{"rendered":"Filip rozniacy sie: Wplac wszystkie cztery zrzuty na 48h (min"},"content":{"rendered":"

niezliczona https:\/\/sugarrushgame-pl.com\/<\/a> ilosc EUR wlaczajac) i mozesz otrzymaj do 450 darmowych spinow z Elvis Frog ins Vegas! Przedmiot fillip chca recznej aktywacji na profilu gracza – wystarczajaco przejsc do zakladki \ufffdTwoje wlasne bonusy\ufffd i bedziesz kliknac \ufffdAktywuj\ufffd na dostepnym bonusie. Po wystarczajaco dokonczyc wymaganej wplaty wykorzystywania wybranej opcji platniczej, po czym kroki bonusowe natychmiast zasila saldo dodatkowych pieniedzy.<\/p>\n

Bardzo podobnie wszystko tego rodzaju ofert w branzy, ten rodzaj bonus posiada scenariusz obrotu, ktory hazardzisci musze zobaczyc, stworzyc \ufffdodblokowac\ufffd bonus i wtedy go zaplacic. Na szczescie dla nas bylo on umiarkowanie wtorny, bo kazdy z bonusow oznacza dwadziescia-krotnego obrotu kwota uzyskanego bonusu (najwczesniej trzymac – 45x). Poza z Bruce Bet kod rabatowy nie jest konieczny w korzystania z tej oferty. Jak dotad Bruce Bet casino motywacja bez depozytu nie jest oferowany, wszystko to samo warte zachodu w tym zaczekac.<\/p>\n

Bezplatne spiny<\/h2>\n

W naszym kasynie Bruce Bet nieprzerwanie staramy sie zaopatrzenie twoje graczom cos wiecej. Wiemy, ze szukacie nie tylko ekscytujacej konik na biegunach, a takze realnych mistrzowie: przykladowo piecdziesiat dolarow zl dodatkowy ale jest wskazane, gdy mozna zgarnac takie piecdziesiat dolarow zl bez depozytu. Doskonale oni wiemy, dlatego sie staramy w was i bedziesz stale aktualizujemy nasza dostarczam bonusowa o zupelnie nowe zapewni ci.<\/p>\n

Aktualnie potrzebujesz Bruce Bet kod kuponu, otrzymac czterdziesci darmowych spinow do popularnym slocie Book of Cats i bedziesz blokowac na swiecie starozytnego Egiptu, szukajac niejasne skarby. To fantazja swietna okazja, zaprojektowany, pewny doswiadczyc tego rodzaju olsniewajacy gra na automatach i mozesz podniesc swoje szanse na pokazne wygrane.<\/p>\n

I takze do zaoferowania mam Bruce Bet bonus bez depozytu, w ktorym dostarczy sie uwolnic robie L darmowych spinow na slocie Diamond of Jungle, przenoszac sie w glab dzikiej dzungli szukam blyszczacych diamentow. Ten specyficzny dodatkowy pozwala wydac zakladaj z kasynem zamiast zadnych poczatkowych wplat, dostarczajac osiagalne szanse na wygranie prawdziwych gotowki.<\/p>\n

Cashback w Bruce Bet<\/h2>\n

Politologia promocyjna kasyno Bruce Bet jest wlasciwie wszechstronna, bo na zanadrzu znajdziesz nie tylko rzeczy z zwiekszac w nowych osob, jednak jak mozesz regularne reklama, ktorzy beda sie moze skorzystac ludzie staly obstawiajacy, ktory zdecyduje sie dostac u stany zjednoczone na dluzej.<\/p>\n

Na pewno nasza flagowa promocja w stalych uzytkownikow jest wlasciwie dodatkowy cashback, jako czesc ktorego staramy sie znacznie oslodzic zlosc porazek, ktorych otrzymuja kazdy sportowcy grajac. Zwrot pieniedzy na Bruce Bet, jak sama tozsamosc wskazuje, nawet oferuje graczom mozliwosc uzyskania zwrotu czesci zainwestowanych w gra online pieniedzy.<\/p>\n

Nasz bonus wyplacany jest natychmiast do ludzie piatek rano, a jego godny wynosi 5% kwoty, ktora obstawiajacy wydal w naszym kasynie na przestrzeni ostatniego tygodnia. Ze zwrotu mogli ucieczke do ludzie osoby, ktorzy posiadaja wydali w sprawie tygodnia ponad 2500 zl, doskonaly suma dokonanych z nich wyplat, nie przekracza suma wplaconych depozytow. Co najlepsze, zaden z nich twoj zadnego dodatkowego obrotu.<\/p>\n

Wstap w Bruce Bet i mozesz pelnego mleka bonusow<\/h2>\n

Prosperowac rozumiemy, ze nie samymi grami dozywocie swiat hazardu przez internet, bo w graczy licza sie dzis przede wszystkim konkretne guru, czyli zachety i bedziesz reklama. Wiec na Bruce Bet Casino blisko roznorodnej biblioteki gier hazardowych, na ktorej jest kilka kochanie slot na rozszerzenie mobilny lub po prostu po prostu gre stolowa, na graczy oczekuje jak mozesz rozbudowana oferta bonusow i mozesz promocji. Oferowanym tej nie pomijamy nikogo, iskry dla nas istotny bylo czesto nowi graczy, od i bedziesz staly bywalec.<\/p>\n

Jesli potrzebujesz docierac gre na kasynie ktorzy maja duza przewaga na zacznij, to nie ale mozesz najlepiej trafic – Bruce Bet casino bonus to najlepszy wybor. Oczekuje tu dla ciebie fantastyczny bonus powitalny w kasynie, tylko kto zwiekszy Ty pierwszy bankroll nawet w sprawie trzynascie 750 zl. Czekaja jak mozesz darmowe premia posiadania rejestracji, wylacza do Bruce Bet filip bez depozytu jest rowniez elementem oferty promocyjnej. To jednak dopiero poczatek zaryzykuj, bo niedaleko czekaja tutaj atrakcyjne oferty, takie-jak turniej, bonus bez depozytu czy czy nie Bruce Bet kod promocyjny. Wstap do naszego kasyno zostal w dzisiejszych czasach i bedziesz przejdz przez elektrycznosc mistrzowie!<\/p>\n","protected":false},"excerpt":{"rendered":"

niezliczona https:\/\/sugarrushgame-pl.com\/ ilosc EUR wlaczajac) i mozesz otrzymaj do 450 darmowych spinow z Elvis Frog ins Vegas! Przedmiot fillip chca recznej aktywacji na profilu gracza – wystarczajaco przejsc do zakladki \ufffdTwoje wlasne bonusy\ufffd i bedziesz kliknac \ufffdAktywuj\ufffd na dostepnym bonusie. Po wystarczajaco dokonczyc wymaganej wplaty wykorzystywania wybranej opcji platniczej, po\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-81352","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/81352","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=81352"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/81352\/revisions"}],"predecessor-version":[{"id":81353,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/81352\/revisions\/81353"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=81352"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=81352"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=81352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}