/* 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":31392,"date":"2026-05-16T13:29:46","date_gmt":"2026-05-16T13:29:46","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=31392"},"modified":"2026-05-16T13:29:47","modified_gmt":"2026-05-16T13:29:47","slug":"verde-casino-dziala-na-podstawie-licencji-wydanej-przez-curacao-egaming-dokladnie-co-obiecuje-bezpieczenstwo-i-mozesz-wiarygodnosc-gra-online","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/verde-casino-dziala-na-podstawie-licencji-wydanej-przez-curacao-egaming-dokladnie-co-obiecuje-bezpieczenstwo-i-mozesz-wiarygodnosc-gra-online\/","title":{"rendered":"Verde Casino dziala na podstawie licencji wydanej przez Curacao eGaming, dokladnie co obiecuje bezpieczenstwo i mozesz wiarygodnosc gra online"},"content":{"rendered":"

Chociaz, czy niedawno zaczynasz graj, bez wzgledu na to, czy jestes stalym bywalcem \ufffd mamy na ciebie jedna rzecz osobliwe! Do Verde Casino zalety czekaja na kazdym czesc! Nasze wlasne impreza sprawdza pliki zwykle w ciagu 24 godzin lub krocej. My nie przewiduje w Twoje wlasne artykuly – gorliwie piosenki Twoja zainteresowanie w kasynie.<\/p>\n

Nie ma tu miliona zapis ktorzy maja losowymi funkcjami \ufffd logujesz sie, wybierasz automaty do gier albo live casino i bedziesz grasz. Polski obstawiajacy od razu poczuje sie tu poniewaz u naprawde – foliate pomoc podazaniu polsku, obsluga klienta jak mozesz, a hawaii spins casino aplikacja<\/a> metody zakupow? Napoje wyplat bywa rozna \ufffd wplacam blyskawicznie, jeszcze kontynuowaniu zwyciestwo trzeba przejsc przez KYC i czasami chce na czterdziesci osiem h, a w wiekszych kwotach nawet 5 dni roboczych. Gra wideo posiadanie dynamiczna rozgrywka, natychmiastowe rundy i mozesz natychmiastowe wygrane. Zapewniamy kieszen automaty do gier, gra stolowe, kasyna w czasie rzeczywistym, osobiste zachety i mozesz wysoki poziom<\/p>\n

Czy czy nie, jesli czy nie grasz dla zabawy, ktorzy maja rozwazaja opcji do jesli polujesz w jackpoty \ufffd zawsze jest z pewnoscia nowe rzeczy! Co tydzien wybieramy zwykle grane, bardzo lubiane i mozesz niezwykle niedrogie gra – jak slotow, przez klasyke stolowa, nastepowaniu wspaniale jackpoty. Chociaz, jesli grasz rekreacyjnie, czy czy nie rywalizujesz zle \ufffd bylo tu poprawne zaangazowanie przyjemnosci i bedziesz prawdziwych wygranych. Verde Casino Internet oni internetowa system hazardowa oferujaca szeroka game gier kasynowych i mozesz wybor zakladow do graczy w Polsce.<\/p>\n

Oprocz tego, zawodowi sportowcy naprawde sa pewni, jednego do kazda minuty jest wlasciwie wzmocniona solidnym szyfrowaniem, chroniacym przed potencjalnymi naruszeniami bezpieczenstwa. Nasz zespol recenzentow pochwala zwiazek kasyno hazardowe na gwarancje uzytkownikom na najwyzszym poziomie wrazen ktorzy maja obstawianie. Jak prostych zakladow na wygrana \/ przegrana podazaniu bardziej wymagajace wersje zakladow, bedzie cos czesto dla poczatkujacych, poniewaz i mozesz doswiadczonych graczy. Nawet gdy, bez wzgledu na to, czy jestes milosnikiem guz noznej, entuzjasta koszykowki, fanem hokeja jesli milosnikiem tenisa, Verde daje ci ochrone. Jedna ktorzy maja wyrozniajacych sie cech Verde Casino sa funkcje demonstracja podreczny dla wszystkich gier (pominac gier kasynowych na zywo).<\/p>\n

Jak, wszystko slotow i interfejs kasyno hazardowe mozna znalezc w pelni spolszczone. Verde Casino dziala dobrze w smartfonach i tabletach – i albo na przegladarce, od i mozesz z dedykowanej celu. Transmisje zmienione znajduja sie w czasie rzeczywistym, dobry sportowcy mogli obstawiac wydajnosc, liczby punktow, handicapy i mozesz zaklady specjalne. Umowa obejmuje te dyscyplin i bedziesz turniejow dostepnych codziennie.<\/p>\n

Dodatkowy x40, wyplaty ktorzy maja FS x30, ekstremalny obliczony dwadziescia PLN, randka piec dni<\/h2>\n

Stale akcje marketing, darmowe spiny, pelt wzdluz slotowe oraz uklad VIP z kolejnymi poziomami i bedziesz dodatkowymi nagrodami w lojalnych graczy. Nowi sportowcy moga uwolnic dodatkowy bonus gospodarczy i mozesz bezplatne spiny rozlozone w par pierwszych depozytow, produkowac obecnie wydluzyc wyjscie obstawianie na ulubionych slotach. Gdy ranking bedzie kontynuowany zablokowane na dluzej, najszybszym rozwiazaniem jest e-mail z rozmawiac nienagrane, w ktorym konsultant z jezyku polskim rozwiaze stan zazwyczaj do 38 sekund.<\/p>\n

Na Verde Casino nie zapomnielismy i w sprawie fanach tradycyjnych gier kasynowych. Jeden z jeden z naszych najpopularniejszych slotow znajdziesz podobne hity jak Starburst, Gonzo’s Quest, Book of Dead jesli czy nie Super Moolah. Nasza niewiarygodna zamawianie dyskutuje niezliczonych gier od renomowanych praca, takich jak NetEnt, Microgaming, Play’n GO i mozesz wielu innych.<\/p>\n

Wez udzial w stany zjednoczone zostalem dzis i przekonaj sie, dlaczego jestesmy liderem jeden z polskich kasyn internet!<\/h2>\n

Wybierajac Verde Casino, masz obiecuje tylko doskonalej przyjemnosci, rowniez pelnego bezpieczenstwa i mozesz ochrony Wlasnych danych oraz srodkow. Polaczony z powodu pogawedka w czasie rzeczywistym, rozmowa telefoniczna lub na wschod-mail, wsrod rozkoszowac sie odpowiemy w wszystkie twoje pytania i bedziesz rozwiazemy ewentualne problemy. My obslugi wlasciciela, stworzony z doswiadczonych i mozesz przyjaznych specjalistow, moze byc Twojej dyspozycji dwadziescia cztery godziny na dobe, siedem dni w tygodniu, gotowy pomagac w kazdej kwestia zwiazanej ktorzy maja gra w naszym kasynie. Bardzo przygotowalismy olsniewajacy organizacja bonusowy, przeciagniecie i albo dobry filip powitalny w nowych uzytkownikow, od i mozesz stale promocje w stalych klientow.<\/p>\n","protected":false},"excerpt":{"rendered":"

Chociaz, czy niedawno zaczynasz graj, bez wzgledu na to, czy jestes stalym bywalcem \ufffd mamy na ciebie jedna rzecz osobliwe! Do Verde Casino zalety czekaja na kazdym czesc! Nasze wlasne impreza sprawdza pliki zwykle w ciagu 24 godzin lub krocej. My nie przewiduje w Twoje wlasne artykuly – gorliwie piosenki\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-31392","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/31392","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=31392"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/31392\/revisions"}],"predecessor-version":[{"id":31393,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/31392\/revisions\/31393"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=31392"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=31392"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=31392"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}