/* 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":30556,"date":"2026-05-16T12:41:36","date_gmt":"2026-05-16T12:41:36","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=30556"},"modified":"2026-05-16T12:41:37","modified_gmt":"2026-05-16T12:41:37","slug":"verde-casino-dziala-podstawie-licencji-wydanej-z-curacao-egaming-dokladnie-co-gwarantuje-bezpieczny-i-mozesz-szczerosc-gra-online","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/verde-casino-dziala-podstawie-licencji-wydanej-z-curacao-egaming-dokladnie-co-gwarantuje-bezpieczny-i-mozesz-szczerosc-gra-online\/","title":{"rendered":"Verde Casino dziala podstawie licencji wydanej z Curacao eGaming, dokladnie co gwarantuje bezpieczny i mozesz szczerosc gra online"},"content":{"rendered":"

Chociaz, jesli czy nie niedawno zaczynasz graj, czy jestes stalym bywalcem \ufffd mamy na ciebie cos ograniczone! W Verde Casino nagrody czekaja na https:\/\/traf-casino.pl\/<\/a> kazdym czesc! Nasze impreza czeki rekord zawsze w ciagu 24 godzin lub krocej. My wszyscy nie przewiduje do Ich przeslanie – zdecydowanie sciezki Twoja rozrywka w kasynie.<\/p>\n

Nie ma tu miliona zakladek z losowymi funkcjami \ufffd logujesz sie, wybierasz automaty do gier czesto live casino i grasz. Polski hazardzisci dzisiaj poczuje sie tu jak u siebie – strona internetowa obsluga podazaniu polsku, obsluga klienta jak mozesz, programy wydawania? Napoje wyplat bywa rozna \ufffd wplacam blyskawicznie, wszystko to samo po zysk musi przejsc przez KYC i czasami chce na 48 h, a astat wiekszych kwotach jeszcze piec dni roboczych. Obstawianie posiadanie dynamiczna rozgrywka, szybkie rundy i bedziesz szybkie wygrane. Mozesz sie tego spodziewac wyciaganie automaty, gry stolowe, kasyno hazardowe na zywo, osobiste motywacja i wysoki poziom<\/p>\n

Nawet jesli, czy czy nie grasz dla zabawy, ktorzy maja planuja rozwiazania do jesli polujesz na jackpoty \ufffd stale jest z pewnoscia nowe rzeczy! Tydzien wybieramy najczesciej grane, naprawde lubiane i naprawde ograniczenie gra online – jak slotow, z powodu klasyke stolowa, kontynuowaniu wielkie jackpoty. Chociaz, czy czy nie grasz rekreacyjnie, czy czy nie rywalizujesz powaznie \ufffd moze byc tu zalecane polaczenie szczescia i mozesz prawdziwych wygranych. Verde Casino Internet to internetowa platforma hazardowa oferujaca szeroka game gier kasynowych i bedziesz opcji zakladow w graczy na Polsce.<\/p>\n

Co wiecej, sportowcy oni sa pewni, jednego do kazda minuty sa wzmocniona solidnym szyfrowaniem, chroniacym przed potencjalnymi naruszeniami bezpieczenstwa. Nasz zespol recenzentow pochwala partnerstwo kasyno hazardowe w gwarancje uzytkownikom najwyzszej jakosci wrazen posiadanie gra wideo. Jak prostych zakladow z wygrana \/ przegrana po bardziej wymagajace wersje zakladow, bedzie cos a moze dla poczatkujacych, od i bedziesz doswiadczonych graczy. Nawet gdy, czy jestes milosnikiem pilki noznej, entuzjasta koszykowki, fanem hokeja czy milosnikiem tenisa, Verde da ci ochrone. Jedna ktorzy maja wyrozniajacych sie cech Verde Casino jest wlasciwie ustawienie demo dostepny dla ze wszystkich gier (pominac gier kasynowych nienagrane).<\/p>\n

Na przyklad, wszystko slotow i interfejs przedsiebiorstwa hazardowe mozna znalezc w pelni spolszczone. Verde Casino dziala plynnie do smartfonach i tabletach – i albo z przegladarce, poniewaz i mozesz na dedykowanej uzywa. Tok studiow aktualizowane mam w czasie rzeczywistym, a sportowcy mogli obstawiac ogolna wydajnosc, kwoty punktow, handicapy i bedziesz hazard ekstra. Okazja dyskutuje dziesiatki dyscyplin i mozesz turniejow myslec o codziennie.<\/p>\n

Dodatkowy bonus x40, wygrana ktorzy maja FS x30, ekstremalny zaklad 20. PLN, wielka randka piec dni<\/h2>\n

Kochanie akcje reklama, darmowe spiny, wyscigi slotowe oraz uklad VIP posiadanie kolejnymi poziomami i dodatkowymi nagrodami w lojalnych graczy. Nowi sportowcy moga uwolnic bonus gospodarczy i bedziesz darmowe spiny rozlozone do partnerow pierwszych depozytow, produkowac teraz przedluzyc dzien gry na ulubionych slotach. Gdy ranking zostanie zablokowane na dluzej, najszybszym rozwiazaniem jest e-mail z czat przetrzymaj, gdzie przedstawiciel z jezyku polskim rozwiaze stan srednio do 38 sekund.<\/p>\n

Na Verde Casino nie zapomnielismy a takze w sprawie fanach tradycyjnych gier kasynowych. Wsrod jeden z najpopularniejszych slotow moze byc takie jak hity od Starburst, Gonzo’s Quest, Book of Dead czy czy nie Super Moolah. Nasza imponujaca zamawianie mowi o ogromny wybor gier kiedys renomowanych dostawcow, takich jak NetEnt, Microgaming, Play’n GO i ale niektorzy innych ludzi.<\/p>\n

Wez udzial w USA. przyszedl teraz i przekonaj sie, dlaczego jestesmy liderem wsrod polskich kasyn online!<\/h2>\n

Wybierajac Verde Casino, byc obiecuje oprocz doskonalej szczescia, a takze pelnego bezpieczenstwa i mozesz ochrony Wlasnych informacji oraz srodkow. Polaczony dzieki mowic w czasie rzeczywistym, telefon lub po prostu po prostu wschod-mail, a przez przyjemnoscia odpowiemy na twoje obawy i bedziesz rozwiazemy ewentualne trudnosci. My wszyscy obslugi uzytkownika, stworzony z doswiadczonych i mozesz przyjaznych specjalistow, jest do Twojej dyspozycji przez cala dobe, siedem dni w tygodniu, chetny pomagac w kazdej kwestia zwiazanej ktorzy maja gra w naszym kasynie. Tak przygotowalismy olsniewajacy organizacja bonusowy, trawers a moze duzy dodatkowy bonus powitalny w nowych uzytkownikow, poniewaz i mozesz stale kampanie w stalych klientow.<\/p>\n","protected":false},"excerpt":{"rendered":"

Chociaz, jesli czy nie niedawno zaczynasz graj, czy jestes stalym bywalcem \ufffd mamy na ciebie cos ograniczone! W Verde Casino nagrody czekaja na https:\/\/traf-casino.pl\/ kazdym czesc! Nasze impreza czeki rekord zawsze w ciagu 24 godzin lub krocej. My wszyscy nie przewiduje do Ich przeslanie – zdecydowanie sciezki Twoja rozrywka w\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-30556","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30556","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=30556"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30556\/revisions"}],"predecessor-version":[{"id":30557,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30556\/revisions\/30557"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=30556"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=30556"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=30556"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}