/* 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":81042,"date":"2026-05-23T05:42:26","date_gmt":"2026-05-23T05:42:26","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=81042"},"modified":"2026-05-23T05:42:28","modified_gmt":"2026-05-23T05:42:28","slug":"dolacz-do-naszej-podrozy-odwaznych-poszukiwaczy-posiadanie-programem-lojalnosciowym-gonzo-casino","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/dolacz-do-naszej-podrozy-odwaznych-poszukiwaczy-posiadanie-programem-lojalnosciowym-gonzo-casino\/","title":{"rendered":"Dolacz do naszej podrozy odwaznych poszukiwaczy posiadanie programem lojalnosciowym Gonzo Casino"},"content":{"rendered":"

Umrzyj Aviamasters zasady<\/a> droge od \ufffdMlodego marynarza\ufffd w \ufffdAdmirala\ufffd, rozgladajac sie progresywnie to zupelnie nowe horyzonty przywilejow. Z kazdym nowym poziomem tylko osiagasz nowy pozycja, rowniez otrzymujesz rozszerzajacy sie cashback, osiagajacy na pietnasty%. Na dodatek, tym wiekszy ty stala, tym hojniejszy dodatkowy bonus bez depozytu – posiadanie koniec zasieg \ufffdAdmirala\ufffd w sklepie premium do szczyt 800$!<\/p>\n

Ale to nie wszystko. Z kazdym nowym osiagnietym statusem masz nawet inny kod promocyjny z dodatkowy bonus poniewaz depozytu. Doszedlszy do szczytu twojego programu lojalnosciowego i mozesz zostajac \ufffdAdmiralem\ufffd, otrzymasz kod kuponu na inny bonus 350% kiedys kwota tego depozytu.<\/p>\n

Turniej i mozesz Loterie: Przygody, Korzysci i mozesz Zachwyt w Gonzo Casino<\/h2>\n

Turniej \ufffdZdobywca morz\ufffd: Tydzien na Gonzo Casino rozgrywane sa zawody posiadanie pula nagrod wynoszaca 4000 dolarow. Takie odrzucenie technologia informacyjna szansa na wykazanie sie i mozesz wygranie znaczacych nagrod. Dodatkowo nasze miesieczne turnieje i mozesz specjalne wydarzenia, takie jak Konkurs Bozonarodzeniowy, Noworoczny Turniej i mozesz Konkurs Impreza halloweenowa, dostarczaja wiecej mozliwosci z zwyciestwo i bedziesz molestowac. Dobry agio turniejowa technologia informacyjna niedawno bezdepozytowy dodatkowy Gonzo Casino, znajdziesz dla kazdego! Premia Gonzo Casino splywaja od pospiech na jasny dzien, jestes twoj regularnie zostajesz zszokowany kroplami satysfakcja i bedziesz milych prezentow!<\/p>\n

Loterie: Na Gonzo Casino odbywaja sie wlasciwie cotygodniowe loterie posiadanie pula nagrod wynoszaca 3800 dolarow. Najpiekniejsze na tych loteriach jest to, ty na pewno w udzialu wlacznie to nie jest konieczne bawic zadnych dodatkowych dzialan. Natychmiast stajesz sie uczestnikiem loterii, kontynuujac ogladac swoimi ulubionymi grami. Przyszlosc doskonala okazja, osiagnac bezdepozyt Gonzo Casino.<\/p>\n

Nasz system cashback to gwiazdziste niebiosa wdziecznosci za Twoja zaangazowanie. Wycieczka cashback zaczyna sie od piec% i mozesz osiaga krolewskie 15%, calkiem Dla tego postepu z konto VIP. Ten system twierdzi platnosc czesci wszystko zakladu, wygranego jesli przegranego, z Twoje konto bankowe, zachecajac z nowych przygod na grze. Nawet gdy przegrasz – mimo wszystko masz filip! W tym funkcja nasze wlasne Gonzo Casino!<\/p>\n

Gonzo Casino: Jest Rynek Przygod i mozesz Zwyciestw<\/h2>\n

Na Gonzo Casino wszyscy Twoj jeden krok zamienia sie do podroz, w ktorym wszyscy szansa ruletki i kazde zakrecenie automatu technologia informacyjna poczatek nowej eskapady. Zy Cie do wszystkich, gdzie gry staje sie czyms wiecej niz po prostu rozrywka \ufffd staje sie sztuka kreowania ain przeznaczenia. Tutaj wszyscy obstawiajacy oni rzemieslnik chetnie z odkrycia i mozesz wspaniale zarobki.<\/p>\n

Stworzylismy lokalizacja, gdzie czekaja na ciebie nie tylko dziesiatki tysiecy gier jak swiatowych deweloperow, i atmosfera ciaglej eskapady. Nasz plan powitalny to kto podstawowy kompas w szerokim swiecie Gonzo, wskazujacy droge na nowych szukac i bedziesz wspanialych wygranych. Kazde logowanie w kasyno oni skape kierunku fabrycznie nowego horyzontu, gdzie czekaja ty niezapomniane mysli i mozliwosc zblizenie sie do pragnienia.<\/p>\n

Gonzo to nie tylko kasyno. To scena, w ktorym kazda gra, kazdy spin idzie sciezka przygod i obejrzec. To miejsce, w ktorym Za milosc obstawianie i bedziesz zadza przygod spotykaja sie posiadanie niekonczacymi sie mozliwosciami na zdobyc. Nasze kasyno to kto dobrze do swiata, w ktorym kazdy obstawiajacy moze stac sie bohaterem wlasnej historii, napisanej adrenalina, strategia i niewatpliwie szczesciem.<\/p>\n

Dolacz do wy na Gonzo, w ktorym ludzie chwila oni poczatek nowej eskapady, ludzie spin moze byc kluczem na kolejnego wielkiego odkrycia. Pozwol sobie zanurzyc w szerokim swiecie, w ktorym gra dostane epicka saga w sprawie poszukiwaniu skarbow, eksploracji nieznanych ladow i mozesz zdobywaniu szczytow. Twoja sekunda szybka zaryzykowac odlatuje Hera, na Gonzo Casino \ufffd miejscu, w ktorym pragnienia staja sie jest surowa rzeczywistosc.<\/p>\n

Rozwaz, jednego do abys mogl subskrybowac ze zdobytych na twoj strategia srodkow wazne sa wlasciwie dokonanie obrotu. Nastepnie mozesz wybrac osoba rowniez kilka oznacza swietny takze kryptowaluty. Nizej niz przygotowalismy zestawienie z wielu sugeruje zakupow w kasynie, ktorzy maja posrednictwem ktorym wyplacisz swej zyski ze wyroslo, pochodzace ktorzy maja Ice Casino premia bez depozytu. W sprawie rzeczywistosc jest taka, ze, ktorzy maja polskiej stronie sa nowy podlacz, ktory przyczyny na strony kasyna. Wowczas gdy wejdziesz na ta dama pracujac ktorzy maja owego odnosnika, dodatkowy byloby natychmiast dodany do odwiedzenia tego profilu opierania sie z ukonczeniu szukania. Posiadania fascynujaca tuz przed ktorzy maja Ice Casino kod rabatowy bez depozytu nie jest najwyrazniej oczekiwaj, a ty wyjatkowy to nie jest konieczne sie martwic, wystarczajacym powodem zapomnisz go wpisac oczywiscie zakladania konto bankowego.<\/p>\n","protected":false},"excerpt":{"rendered":"

Umrzyj Aviamasters zasady droge od \ufffdMlodego marynarza\ufffd w \ufffdAdmirala\ufffd, rozgladajac sie progresywnie to zupelnie nowe horyzonty przywilejow. Z kazdym nowym poziomem tylko osiagasz nowy pozycja, rowniez otrzymujesz rozszerzajacy sie cashback, osiagajacy na pietnasty%. Na dodatek, tym wiekszy ty stala, tym hojniejszy dodatkowy bonus bez depozytu – posiadanie koniec zasieg \ufffdAdmirala\ufffd\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-81042","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/81042","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=81042"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/81042\/revisions"}],"predecessor-version":[{"id":81043,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/81042\/revisions\/81043"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=81042"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=81042"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=81042"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}