/* 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":81114,"date":"2026-05-23T05:49:30","date_gmt":"2026-05-23T05:49:30","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=81114"},"modified":"2026-05-23T05:49:32","modified_gmt":"2026-05-23T05:49:32","slug":"wszystkie-nasze-kasyna-jest-wlasciwie-licencjonowane-i-bedziesz-obslugiwane-przez-beriston-limited-mieszkanie-zarejestrowana-na-cyprze","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/wszystkie-nasze-kasyna-jest-wlasciwie-licencjonowane-i-bedziesz-obslugiwane-przez-beriston-limited-mieszkanie-zarejestrowana-na-cyprze\/","title":{"rendered":"Wszystkie nasze kasyna jest wlasciwie licencjonowane i bedziesz obslugiwane przez Beriston Limited, mieszkanie zarejestrowana na Cyprze"},"content":{"rendered":"

Bruce Bet \ufffd kieszen kasyno online w polskich graczy<\/h2>\n

Witamy https:\/\/megajokerslot-pl.com\/<\/a> do Bruce Bet, swiezym i mozesz ekscytujacym kasynie siec, stad nawet oferuje tablica gier jak zaufanych dostawcow. Do BruceBet szczycimy sie nasza obszerna oferta, ktora by niech in kilku tysiac gier. Kiedys ekscytujacych maszyn na gry, klasycznych gier stolowych, przyjecia rozrywki kasyno hazardowe nienagrane i mozesz dowcipne zdrapki – mamy cos dla gracza. Natomiast to nie jest wszystko. Rozumiemy, jak wazne jest bezpieczny i mozesz uczciwa gra online. Gwarantujemy uczciwa rozgrywke z powodu certyfikatowi, i rowniez jestesmy zaangazowani do postep i mozesz zapewnianie szczegolowych informacje o jeden z naszych srodkach bezpieczenstwa.<\/p>\n

Jako nowy obstawiajacy mozesz powitany z powodu nas hojnym czteroetapowym bonusem na 13 750 zl. To jest po prostu jedna z kilku promocji, ktora mozesz sie tego spodziewac, produkowac uatrakcyjnic Ich specjalizacja w gra. I wreszcie wspomnimy, jednego wspolpracujemy ktorzy maja zaufanymi dostawcami, takimi jak EvoPlay, MGA Games, Smartsoft i mozesz RubyPlay. Wierzymy z zapewnienia bezpiecznego i przyjemnego pelen swiat do gry jesli chodzi o jeden z naszych graczy.<\/p>\n

Dlaczego mialbys przygotowany? Zanurz sie w szerokim swiecie Bruce Bet Casino zostalem w dzisiejszych czasach i doswiadcz gier internet kiedys nigdy dotad! To jest najlepsze kasyno online, gdzie dla ciebie chce odpowiedzialna gra online. Ta platforma polityczna kasynowa da ci wspaniale rozpoznawac ktorzy maja hazardem.<\/p>\n

Czlonkostwo fabrycznie nowego konto na Bruce Bet<\/h2>\n
    \n
  1. Wejdz do pokazowac okno BruceBet.<\/li>\n
  2. Kliknij \ufffdZamelduj sie\ufffd.<\/li>\n
  3. Wpisz nazwa i adres wschod-mail, poloz haslo oraz nazwe uzytkownika. Pozniej kliknij \ufffdKontynuuj\ufffd.<\/li>\n
  4. Na kolejnym kroku w gore wpisz swoje imie, nazwisko, date urodzenia oraz wybierz plec.<\/li>\n
  5. W ciagu ostatniego kroku w gore bedziesz chcial przyprowadzic organ polityczny, kod pocztowy, centrum miejskie, adres domowy, wraz z numer kontaktowy. Gdy z dokonasz, kliknij \ufffdWlacz czlonkostwo\ufffd. Po konieczna byloby sprawdz profil i dalej!<\/li>\n
  6. To wszystko! Czlonkostwo zostalo pomyslnie skryptowane. Zaloguj sie w masz konto i mozesz graj na wyciaganie gry online.<\/li>\n<\/ol>\n

    Jezeli chcialbys naprawde zaoszczedzic troche czasu, potrzebujesz w tym zalozyc masz ranking, korzystajac ktorzy maja opcji Bing. Pozwoli ci technologia informacyjna nieuzywanie duzo metody, ktore sa podpiete zgodnie z Twoje konto bankowe. BruceBet logowanie wraz z kontynuuje praktycznie sekunde.<\/p>\n

    Fillip na Bruce Bet<\/h2>\n

    Bonusy na kasynach oni ekstra reklamy, ktore maja na ma przyciagniecie nowych graczy i mozesz chleba i masla pasja z nich, ktorzy maja sa juz zarejestrowani. Kasyno dadza ci bonusy jest oznacza reklama i mozesz premia, zrobic zawodowi sportowcy wybrali twoje wlasne platforme zamiast innej.<\/p>\n

    Inicjowanie i bedziesz a korzystanie z takich premii jest bardzo proste. Jezeli chcialbys odebrac filip, powinienes odwiedzic zakladke \ufffdPromocje\ufffd, to by znaleziono na platformie Bruce Bet. Pozniej tam, sposrod wziac pod uwage premii, kliknij przycisk \ufffdAktywuj\ufffd. W odniesieniu do promocji prawdopodobnie bedziesz powinienem wdrozyc rozszczepiac, aby uzyskac premie, jesli nie masz to dodatkowy zamiast wplaty. Masz to opor tej premii.W tym przypadku mozliwe go uzyskac bez zadnych inwestycji. Nastepnie kontynuowaniu spelnieniu wszelkich warunkow, To, co jestes winien bonusowe zamieni sie z prawdziwy dochod.<\/p>\n

    Bonus powitalny<\/h2>\n

    Rozwoj powitalna technologia informacyjna najczesciej motywacja jak pierwszego depozytu. W naszym kasynie Bruce Bet filip powitalny obejmuje 4 depozytow. Mniej niz dokladniej opisalismy kazda z premii:<\/p>\n

    Miarka pakiet: Dokonaj wszystkich 4 depozytow od 48 godzin jak rejestracja w celu (ogolem minuty. niezliczona ilosc EUR) i bedziesz zgarnij dodatkowo z 450 darmowych spinow na Elvis Frog in Vegas! Wlaczajac oni tyle, 550 darmowych spinow w poprzek pakiecie powitalnym.<\/p>\n

    Bezplatne spiny<\/h2>\n

    Bezplatne obroty technologia informacyjna popularna styl bonusu oferowanego z powodu kasyna online. Ulatwiaja one graczom wybor skorzystania ktorzy maja okreslonej szeroka roznorodnosc spinow na zakres z powodu kasyno automatach z gier siec zamiast platy twoich srodkow. Takie spiny bylo najlepszym sposobem na zapoznanie sie ktorzy maja grami hazardowymi i funkcjami kasyno bez dotyczy utraty rzeczywistych gotowki. Mogli one stac sie oferowane zawartego w bonusu powitalnego za nowych graczy, premium jako czesc dowolnej promocji.<\/p>\n

    Rozwaz, ty na pewno wygrana ktorzy maja bezplatnych spinow zwykle podlegaja wymogom obrotu. To oznacza, jednego musi postawic okreslona kwote, a juz to z pewnoscia mozesz wyplacic ma wygrane. Darmowe spiny moga miec dodatkowe koszt zakladu.<\/p>\n","protected":false},"excerpt":{"rendered":"

    Bruce Bet \ufffd kieszen kasyno online w polskich graczy Witamy https:\/\/megajokerslot-pl.com\/ do Bruce Bet, swiezym i mozesz ekscytujacym kasynie siec, stad nawet oferuje tablica gier jak zaufanych dostawcow. Do BruceBet szczycimy sie nasza obszerna oferta, ktora by niech in kilku tysiac gier. Kiedys ekscytujacych maszyn na gry, klasycznych gier stolowych,\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-81114","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/81114","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=81114"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/81114\/revisions"}],"predecessor-version":[{"id":81115,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/81114\/revisions\/81115"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=81114"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=81114"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=81114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}