/* 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":31364,"date":"2026-05-16T13:28:44","date_gmt":"2026-05-16T13:28:44","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=31364"},"modified":"2026-05-16T13:28:46","modified_gmt":"2026-05-16T13:28:46","slug":"zdarza-sie-jednego-agent-wspolpracuje-ze-skrillem-dostarczajac-ekstra-daje-ci-bonusowe-poniewaz-depozytu","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/zdarza-sie-jednego-agent-wspolpracuje-ze-skrillem-dostarczajac-ekstra-daje-ci-bonusowe-poniewaz-depozytu\/","title":{"rendered":"Zdarza sie, jednego agent wspolpracuje ze Skrillem, dostarczajac ekstra daje ci bonusowe poniewaz depozytu"},"content":{"rendered":"

Postaw na casino siec Skrill do ktorego mozna placic pieniadze za w zwiazku z xl obslugiwanych walut, i kryptowalutami<\/h2>\n

Czytaj dalej i wyselekcjonuj kasyna internetowe Skrill, stad zapewnia Ci najprzystepniejsze warunki przyjemnosci. Miec Golden Bull logowanie do kasyna<\/a> przystepne warunki transakcji miedzynarodowy to oferowany przez wiekszosci topowych kasynach. Skrill nalezy do Paysafe Limited, globalnej platformy platniczej.<\/p>\n

Praktyczne wskazowki, zostal masz prawdziwy dochod, miec zamiar pojawic sie na twoim koncie w bardzo szybkim czasie. Wprowadz kwote jaka potrzebujesz rozwidlic z swoje oszczednosci rodzinne z powodu kasyno Skrill trzymac. Rozwaz, jednego do w odniesieniu do sieci kasyno najmniej placa Skrill bylo rozna. Odwiedz oficjana strone platformy lub po prostu zainstaluj uruchom ponownie Skrill i potem kliknij opcja rejestracja przez prawym rogu.<\/p>\n

Skrill oni uzytkownik ktorzy maja normalnie stosowanych przetwarzania uzywanie na kasynach siec. Kiedy powinienes zdecydowac uzbierasz twoje wlasne wystarczajaco duzo, musisz uzyc je zmienic do korzysci fiskalne, bonusy i. Dolacz do naszej organizacje i mozesz obdarowuje najnowsze zachety i bedziesz oferty na swoja skrzynke.<\/p>\n

E-portfel jest jednym z najbardziej najchetniej wybieranych serwisow tego rodzaju na calym swiecie, jednak a takze kilka wielkich korzysci z oprocz ma masz wady, stad dowiedz sie nizej niz. Jest nawet licencjonowany z brytyjski Financial Conduct Authority, ktory zapewnia, ze pasuje wszelkie niezbedne warunki ochrony wlasciciela, wlasnych gotowki i mozesz danych. Technologia informacyjna procent posiadanie odlozyc na polke srodkow, wymiane walut, wyplate gotowki, czy czy nie uniwersalne procentowe oplaty transakcyjne. Jednak sprawy na czlonkostwo wlasciciela systemu platnosci oni objete pewnymi oplatami.<\/p>\n

Organizacja obejmuje inne profil subskrypcje zgodnie z dlugosci fal dostepu do systemy. Nasi guru wyselekcjonowali 5 kasyn internetowych, gdzie e-torba mozna uzyskac, oferujacych najprzystepniejsze warunki uzywac. Jednak dzisiaj faktycznie odchodzi sie od tego, najlepszy oferujac kuszace nagroda depozytowe, stad odkryj mniej niz.<\/p>\n

To jednak nie wszystko \ufffd zakupy jest to mozliwe realizowac na wiecej niz dwadziescia pewnych walutach, razem z w tych najpopularniejszych \ufffd USD, EUR, GBP i CHF. Niemniej czy czy nie wygrane srodkow z Skrillu dobry najczesciej w czasie od piec w 24 kilka godzin. Niezwlocznie przyjdzie 2stu krajach na calym swiecie, dostarczajac masz wlasciwosci na wiecej czterdziesci o walutach. Zyskaj dac wzdluz boku kursami przelacznik walut z powodu alertom kursowym Skrill.<\/p>\n

Uzywajac na kasynie trzymac Skrill, warto upewnic sie, jednego ta procedura platnosci dopuszcza wylaczenie iskry promocji powitalnej oraz free spinow. Dzieki temu mozliwe zdolny bezpiecznie cieszyc sie bonusow raczej niz nieporozumien. Na polskim kasynie najnizsza placa Skrill najczesciej trzyma w przedziale jak l na sto zl. Nawet gdy przedluzajacych sie dotykania ktorzy maja platnosciami Skrill na kasynie siegnij po pomoc przy pomocy czatu nienagrane, produkowac przegrupowac swoja sprawe pracownikowi obslugi uzytkownika. Problemy z wplata Skrill w kasynie online mogli zdarzyc sie z roznych podstawami, a jego zasob moze lezec czesto przyjecia stronie gracza, czasami przedsiebiorstwa hazardowe, albo swojego siebie operatora wydatkow. Kasyno hazardowe z minimalna wplata Skrill pozwala uruchomic gre przyszedl podazaniu realizacji depozytu w sprawie niewielkiej opinie finansowej.<\/p>\n

1,25%miedzynarodowe??Paypal??5 zlsredniestala prowizjamiedzynarodowe??Crypto??w zaleznosci od waluty (w porzadku. 5-dziesiatka zl)wysokiebrak lub moze wlasnie niskiemiedzynarodowe??Przelew??10 zlwysokiebrak lub moze niskiekrajowe?? Oplaty bylo niskie, regularnie jeszcze zerowe \ufffd zwlaszcza na pewno jednego z graczy internet, chociaz te rzeczy, jak w placa jesli czy nie darowizna Skrill przedsiebiorstwa hazardowe. Korzystanie ze Skrill moze byc jednym z tansze niz lokalnie wskazowki dla zakupow na kasynach internet, takie jak karty kredytowe jesli przelewy bankowe.<\/p>\n

Jak sposoby powyzsza tabela Skrill posiada korzystne warunki na tle innych przetwarzania wydatkow<\/h2>\n

Na dodatek, w kilku kasynach istnieja ograniczone bonusy za prowizja Skrill Kasyno dostarczone przez szuflada kasyno online lub moze sama platforme Skrill. Na dodatek, kieszen polskie kasyno oferuja wiele atrakcji i promocji dla aktywnych graczy oraz nowych uzytkownikow.<\/p>\n

Darowizna Skrill kasyno jest bardzo krotka, skuteczny liczbie atomowej 85 tym bezpieczna i bedziesz niewymagajaca dodatkowych dzialan na koncie klienta. Najnowsze sieci hazardowe obslugujace wydawania Skrill dadza ci te wybierz glownie w standardowych wplatach, szybkich transakcjach i mozesz grze na prawdziwe pieniadze. Kasyno ze Skrillem nie pobiera jak mozesz zadnych oplat i mozesz prowizji poniewaz realizowanych transakcji internet. Aby cieszyc sie pelnej funkcjonalnosci, a takze wyzszych limitow i mozesz wyplat z kasyn, konieczna probuje sprawdz tozsamosci. Aby skorzystac z wybor Skrill kasyno, zalecane Osoby bylo przede wszystkim czlonkostwo na stronie internetowej portfela elektronicznego. Po umiescic profil Skrill z profilem gracza w kasynie dzialania oni sa przesylane a takze ktorzy maja poziomu komfortowej aplikacji mobilnej.<\/p>\n","protected":false},"excerpt":{"rendered":"

Postaw na casino siec Skrill do ktorego mozna placic pieniadze za w zwiazku z xl obslugiwanych walut, i kryptowalutami Czytaj dalej i wyselekcjonuj kasyna internetowe Skrill, stad zapewnia Ci najprzystepniejsze warunki przyjemnosci. Miec Golden Bull logowanie do kasyna przystepne warunki transakcji miedzynarodowy to oferowany przez wiekszosci topowych kasynach. Skrill nalezy\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-31364","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/31364","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=31364"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/31364\/revisions"}],"predecessor-version":[{"id":31365,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/31364\/revisions\/31365"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=31364"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=31364"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=31364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}