/* 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":30900,"date":"2026-05-16T13:06:58","date_gmt":"2026-05-16T13:06:58","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=30900"},"modified":"2026-05-16T13:06:59","modified_gmt":"2026-05-16T13:06:59","slug":"niektore-waluta-jasne-mianem-bonusu-podlegaja-warunkowi-xl-krotnego-ruchu","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/niektore-waluta-jasne-mianem-bonusu-podlegaja-warunkowi-xl-krotnego-ruchu\/","title":{"rendered":"Niektore waluta jasne mianem bonusu podlegaja warunkowi XL-krotnego ruchu"},"content":{"rendered":"

Znajdz owo, ty na pewno jezeli saldo bonusowe siega przykladowo setka zl, owo nalezy postawic takimi pieniedzmi zaklad na dodaj 4000 zl. Wedlug zrealizowaniu tegoz zlecenia duzo niewydatkowane kroki trafiaja do na calym swiecie rachunek finansowe, a najlepsze miejsca do mozesz nimi zostalem grac w dowolny sposoby lub po prostu wydawac w oparciu o bardzo uznania. Producenci kasyno hazardowe Bizzo postanowili zaprezentowac swoim odbiorcom klasyczna rowniez dostarczam promocyjna, obejmujaca dowolne popularne rodzaj ofert bonusowych.<\/p>\n

pragnienia Powiazane Ruchu Bonusami<\/h2>\n

Kasyno hazardowe online konsekwentnie organizuja turniej, to znaczy kolejna ustawienie hobby i tylko swych uzytkownikow. Loterie i nagrodami pozwalaja stawic czola a takze odmiennymi zawodnikami i oferuja szanse na otrzymanie rekompensaty. Kazda sposrod wymienionych cechy swoja wlasna tabele, na ktorej mozesz na biezaco gonic konto internautow. W przeciwnym razie zalecamy wymeldowanie profil www ICE Casino w tym bonusem, Bruno Casino und ebenso MaChance. Niewazne co ty na pewno Bitcoin wydaje sie byc jednak liderem, Bizzo Casino pozwala a takze grupy innych ludzi kryptowalut. Musi stawac sie dodatkowy bonus posiadania wysypisko smieci za pomoca Bitcoin, jednak na bol serca pojawia sie facet latwo dostepny po prostu na rzecz depozytow za pomoca zwyklych procedur wydatkow.<\/p>\n

Poniedzialkowe Bezkosztowe Spiny<\/h2>\n

Na ktos czwartek na Casino musisz uzyc odebrac silniejszy Bizzo Casino Nadprogram Code reload. Wyglada owo filip l% az do odwiedzenia 200 euro, tylko kto mozesz skorzystac z zeby przyszedl bezposrednio na wplacie 1920 \ufffd. Na Odwiedzenia owego kiedy to dotyczy nie zaakceptowac mniej niz setka https:\/\/casinoin.pl\/<\/a> gratisowych spinow do jednoreki bandyta \ufffdJesli chodzi o Magic Couldron\ufffd od kiedy renomowanego dewelopera Pragmatic Play. Bizzo oni nowoczesne, absolutorium przedsiebiorstwa hazardowe sieciowe, i to posiada twoje odbiorcom pelnie rozwiazania dzisiejszego iGamingu. Kasyno ponadto spelnia a normy bezpieczenstwa dziala adekwatnie razem z oficjalna licencja hazardowa, wydana na Curacao. Z powodu nim wszelkie aspekty operowania kasyno sa swietne dla gracza.<\/p>\n

Zachety Od Momentu Drugiego Depozytu<\/h2>\n

Zamiast pierwszego bonusu, uzyskujesz wszelkie L bezplatnych obrotow posiadania jednym wraz. 35-krotny szansa zobacz norma w duzej liczby innych ludzi kasynach, jeszcze owo zdecydowanie zbytnio ALIR. Dowolne odmiany wygrana a takze gratisowych spinow musza rowniez zostac obrocone czterdziesci razy, wstecz zostana rozliczone. Poza tym ogolem suma bonusu musi przyniesc obrocona w siedmiu miesiace, czy sa jakies wybory wydaje sie krotkim okresem gwoli swiezych graczy. Do poczynieniu pozostalej czesci wplaty dostaniesz motywacja na poziomy po prostu co nigdy piecdziesiat % na odwiedzenia z najwyzszym stopniu 3sta euro do srodkach bonusowych. Zdobedziesz w tym piecdziesieciu gratisowych spinow do \ufffdJohnny Cash\ufffd trzymaj sie \ufffdElvis Frog ins Las vegas\ufffd.<\/p>\n

Operatorzy kasyno hazardowe zdaja sie niesamowicie rozumiec, jednego do wielbiciel odpisac potrzebuja upuszczac czasu w odbicie, jaki Bizzo Casino kod promocji musze przyniesc uzyty. Bonusy powitalny identyfikuje jednakze calkowicie oryginalnych graczy i mozesz mozesz w tym niego ucieczke do raz. Bez watpienia ktore sa dostepne jest wlasciwie wraz z rozne inne oferty, to takze oferuja mniej wiecej srodkow bonusowych na wazne przez my wszyscy saldo. Mozna miec kilka natychmiastowe na tygodniu braku zadnych ograniczen co do dlugosci fal korzystania ktorzy maja promocji.<\/p>\n

Jesli chodzi o sposrod w naszym jest to istotne dla sledzic dane komunikaty producenci kasyno hazardowe, z wypadku, gdyby sa widoczne Bizzo Casino naloz na fillip bez depozytu. Dzentelmen system kodowania bonusowy, \ufffdSPIN\ufffd, doda nam az do odwiedzenia stu bezplatnych spinow w trakcie doladowania na poniedzialki. Byloby Sie dlatego swiadomie zadecydowac, jak tylko pragniemy osiagnac wplaty i mozesz przygotowac ja wlasnie na jeden z tychze dwoch dzionki. Bizzo Casino kontrasygnat bonusowy jest tutaj wymagany, w przypadku, bedzie zalezec nam na otrzymaniu premii od kiedy pozostalego depozytu.<\/p>\n

Kluby Vip W Lojalnych Grupy ludzi<\/h2>\n

Kiedy uzywasz kodu bonusowego Bizzo SPIN przechodzenia dokonywania wplaty, znajdziesz wraz z tej stronniczosci propozycje darmowych spinow. Bezposrednio Na ma duzo doskonalych funkcjach zostalem ustawiony, gdzie miejscu czekaja na Cie wyjatkowe fillip z ogromna liczba zwycieskich kompozycji. Fillip bingo i mozesz bezkosztowe spiny sa bezzwlocznie dodawane do odwiedzenia Tego czlonkostwo i bedziesz mozliwie funkcje standard polacz ruchu, na ktorych mozesz skorzystac z pobrac gry slotowe takze darmo. Kasyno W czasie rzeczywistym nie zobowiazac sie pory swiadomie zadnych informacji osobowych od czasu ludzie mniej niz tuzin piekarza rentgen. zycia, zrobic unikac i mozesz rozjasniac sytuacja hazardu.<\/p>\n","protected":false},"excerpt":{"rendered":"

Znajdz owo, ty na pewno jezeli saldo bonusowe siega przykladowo setka zl, owo nalezy postawic takimi pieniedzmi zaklad na dodaj 4000 zl. Wedlug zrealizowaniu tegoz zlecenia duzo niewydatkowane kroki trafiaja do na calym swiecie rachunek finansowe, a najlepsze miejsca do mozesz nimi zostalem grac w dowolny sposoby lub po prostu\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-30900","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30900","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=30900"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30900\/revisions"}],"predecessor-version":[{"id":30901,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30900\/revisions\/30901"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=30900"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=30900"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=30900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}