/* 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":140740,"date":"2026-06-11T01:33:40","date_gmt":"2026-06-11T01:33:40","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=140740"},"modified":"2026-06-11T01:33:40","modified_gmt":"2026-06-11T01:33:40","slug":"sultan-casino-zbudowane-w-oparciu-o-fair-play-i-motywowane-wspaniala-zabawa-w-kraju","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/sultan-casino-zbudowane-w-oparciu-o-fair-play-i-motywowane-wspaniala-zabawa-w-kraju\/","title":{"rendered":"Sultan Casino Zbudowane w oparciu o Fair Play i Motywowane Wspania\u0142\u0105 Zabaw\u0105 w kraju"},"content":{"rendered":"
\n

Platforma Sultan wchodzi na polski rynek dynamicznie i jasnym komunikatem: maksymalna jako\u015b\u0107 rozrywki wi\u0105\u017ce si\u0119 z rzetelno\u015bci\u0105 i ochron\u0105 https:\/\/sultan-casino.org\/pl-pl\/<\/a>. To miejsce, gdzie gracze skupiaj\u0105 si\u0119 na doznaniach z gry, z przekonaniem, \u017ce baza platformy s\u0105 solidne. Propozycja zawiera mn\u00f3stwo gier, korzystne bonusy i kompleksowe obs\u0142ug\u0119 w j\u0119zyku polskim.<\/p>\n

Zasada Fair Play: Korze\u0144 Zaufania<\/h2>\n

Przy Sultan Casino regu\u0142a Fair Play nie jest czczym has\u0142em, ale istot\u0105 funkcjonowania. Serwis stara si\u0119, aby ka\u017cda rozgrywka by\u0142a transparentna i przypadkowa. Dzi\u0119ki temu gracze oddaj\u0105 si\u0119 grze, bez obaw. Zaufanie jest budowane poprzez precyzyjne regu\u0142y i techniczn\u0105 perfekcj\u0119.<\/p>\n

Licencje i Bezpiecze\u0144stwo Danych<\/h3>\n

Operacja oparta jest na uznanej licencji Curacao, co daje pewno\u015b\u0107 przestrzeganie \u015bwiatowych norm. Wszelkie p\u0142atno\u015bci s\u0105 chronione zaawansowanym enkrypcj\u0105 SSL. Dane prywatne u\u017cytkownik\u00f3w traktowane s\u0105 z szczytow\u0105 dyskrecj\u0105, co jest najwa\u017cniejszym celem dla zespo\u0142u Sultan Casino.<\/p>\n

Niezale\u017cne Audyty i RNG<\/h3>\n

System liczb losowych (RNG) przechodzi regularnym testom przez niezale\u017cne podmioty audytowe. Tym samym rezultaty gier s\u0105 w pe\u0142ni losowe i nie do przewidzenia. Jest to zasadniczy element gwarantuj\u0105cy rzetelno\u015b\u0107 w rozgrywkach takich jak maszyny czy ruletka.<\/p>\n

B\u0142yskawiczne i Bezpieczne Transakcje<\/h2>\n

Depozyty i wyp\u0142aty w Sultan Casino s\u0105 szybkie i wykorzystuj\u0105 z sprawdzonych metod p\u0142atno\u015bci. Platforma rozumie, \u017ce natychmiastowy dost\u0119p do wyp\u0142at jest kluczowy dla zadowolenia graczy. Procesy finansowe s\u0105 stworzone z my\u015bl\u0105 o wygodzie i skr\u00f3ceniu oczekiwania.<\/p>\n

    \n
  1. Wp\u0142aty:<\/strong> S\u0105 przetwarzane natychmiast, a fundusze pojawiaj\u0105 si\u0119 na koncie gracza od razu. Mo\u017cliwe metody to m.in. karty p\u0142atnicze, e-portfele i przelewy bankowe.<\/li>\n
  2. Wyp\u0142aty:<\/strong> Czas wykonania zale\u017cy od wybranej metody, ale kasyno stara si\u0119 je przetwarza\u0107 jak najszybciej. Potwierdzenie konta przyspiesza ten proces.<\/li>\n
  3. Bezpiecze\u0144stwo:<\/strong> Ka\u017cda transakcja zabezpieczona jest najnowszymi standardami szyfrowania, co gwarantuje zabezpieczenie przed nieautoryzowanym dost\u0119pem.<\/li>\n<\/ol>\n

    Oferty Powitalne i Program dla Sta\u0142ych Graczy<\/h2>\n

    Sultan Casino zaprasza nowych graczy atrakcyjnym pakietem powitalnym, kt\u00f3ry pozwala przed\u0142u\u017cy\u0107 gr\u0119 i zwi\u0119kszy\u0107 szanse na wygran\u0105. Dla sta\u0142ych bywalc\u00f3w przygotowano program lojalno\u015bciowy z cyklicznymi promocjami. System nagr\u00f3d jest klarowny i oferuje rzeczywiste korzy\u015bci.<\/p>\n

    Bonusy s\u0105 przygotowywane tak, aby by\u0142y zar\u00f3wno interesuj\u0105ce, jak i uczciwe dla gracza. Wa\u017cne jest przeczytanie z warunkami obrotu (wagering), kt\u00f3re s\u0105 wyra\u017anie opisane w regulaminie. To daje szans\u0119 w pe\u0142ni skorzysta\u0107 potencja\u0142 oferowanych promocji.<\/p>\n

    Do\u015bwiadczenie Mobilne: Zabawa w Wybranym Miejscu<\/h2>\n

    Sultan Casino udost\u0119pnia w ca\u0142kowicie responsywn\u0105 wersj\u0119 mobiln\u0105, kt\u00f3ra dzia\u0142a bezpo\u015brednio w przegl\u0105darce smartfona. Nie istnieje potrzeby instalowania dodatkowych aplikacji. Interfejs jest \u0142atwy w obs\u0142udze i zoptymalizowany do mniejszych ekran\u00f3w, zachowuj\u0105c wszystkie funkcje.<\/p>\n

    Klienci mog\u0105 logowa\u0107 na swoje konto, wykonywa\u0107 wp\u0142at, pobiera\u0107 wygrane i rzecz jasna gra\u0107 w ulubione tytu\u0142y w drodze do pracy czy podczas relaksu w domu. To kasyno, kt\u00f3re zawsze masz przy sobie, bez ust\u0119pstw w jako\u015bci.<\/p>\n

    Uniwersum Gier: Niesko\u0144czone Mo\u017cliwo\u015bci Rozrywki<\/h2>\n

    Strona Sultan Casino zawiera tysi\u0105ce produkcji od wiod\u0105cych dostawc\u00f3w oprogramowania. Odwiedzaj\u0105cy dostan\u0105 tu wszystko czego potrzebne do \u015bwietnej gry. Od standardowych jednor\u0119kich bandyt\u00f3w po nowoczesne sto\u0142\u00f3wki \u2013 wyb\u00f3r jest naprawd\u0119 imponuj\u0105cy i stale si\u0119 rozwija.<\/p>\n