/* 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":159204,"date":"2026-06-18T05:54:16","date_gmt":"2026-06-18T05:54:16","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=159204"},"modified":"2026-06-18T05:54:16","modified_gmt":"2026-06-18T05:54:16","slug":"casino-ripper","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/casino-ripper\/","title":{"rendered":"Platebn\u00ed metody v Ripper Casino pro hr\u00e1\u010de z \u010cesk\u00e9 republiky"},"content":{"rendered":"
\n\"EU<\/p>\n

Osv\u011bd\u010den\u00e9 varianty vklad\u016f a v\u00fdb\u011br\u016f jsou z\u00e1kladem ka\u017ed\u00e9ho dobr\u00e9ho kasina. V ripper verifikace \u00fa\u010dtu<\/a> Casino to ch\u00e1peme, a proto pro \u010desk\u00e9 hr\u00e1\u010de sestavujeme platebn\u00ed portfolio, kde najdete tradi\u010dn\u00ed bankovn\u00ed slu\u017eby a inovativn\u00ed digit\u00e1ln\u00ed \u0159e\u0161en\u00ed. Na\u0161\u00edm c\u00edlem je, abyste m\u011bli mo\u017enost rozhodnout se, c\u00edtili se v bezpe\u010d\u00ed a hlavn\u011b \u2013 byste mohli se pustit do hry bez \u010dek\u00e1n\u00ed. V tomto \u010dl\u00e1nku v\u00e1m uk\u00e1\u017eeme v\u0161echny mo\u017en\u00e9 metody, vysv\u011btl\u00edme jejich p\u0159ednosti a navrhneme, jak je u n\u00e1s nejl\u00e9pe aplikovat. Spr\u00e1va financ\u00ed s n\u00e1mi je jednoduch\u00e1 a bezprobl\u00e9mov\u00e1.<\/p>\n

Pro\u010d je v\u00fdb\u011br platebn\u00ed metody z\u00e1sadn\u00ed<\/h2>\n

Nejde pouze o to poslat pen\u00edze tam a zp\u011bt. Nejr\u016fzn\u011bj\u0161\u00ed platebn\u00ed metody se rozch\u00e1zej\u00ed rychlost\u00ed, komfortem, stupn\u011bm soukrom\u00ed a ob\u010das i t\u00edm, zdali s nimi dostanete bonus. V Ripper Casino d\u016fsledn\u011b db\u00e1me na transparentnosti. Chceme, abyste m\u011bli p\u0159ehled, co od kter\u00e9 mo\u017enosti p\u0159edpokl\u00e1dat. Jist\u00e9 jsou v\u00fdborn\u00e9 pro okam\u017eit\u00e9 vklady, dal\u0161\u00ed maj\u00ed p\u0159\u00edzniv\u011bj\u0161\u00ed poplatky p\u0159i v\u00fdb\u011bru. A\u017e tyto rozd\u00edly uchop\u00edte, z\u00edsk\u00e1te lep\u0161\u00ed kontrolu nad sv\u00fdm hern\u00edm rozpo\u010dtem a zabr\u00e1n\u00edte nep\u0159\u00edjemn\u00fdm p\u0159ekvapen\u00edm. Poj\u010fme se pod\u00edvat, co konkr\u00e9tn\u011b v\u00e1m m\u016f\u017eeme nab\u00eddnout.<\/p>\n

Digit\u00e1ln\u00ed m\u011bny: Sm\u011br plateb v online kasinech<\/h2>\n

\"Play<\/p>\n

Ripper Casino n\u00e1sleduje trendy, a proto zcela podporujeme platby v kryptom\u011bn\u00e1ch. Tato mo\u017enost p\u0159in\u00e1\u0161\u00ed z\u0159eteln\u00e9 v\u00fdhody: t\u00e9m\u011b\u0159 nulov\u00e9 poplatky, vysokou m\u00edru anonymity a neuv\u011b\u0159itelnou rychlost. Vklady v kryptom\u011bn\u00e1ch se potvrzuj\u00ed b\u011bhem minut, v\u00fdb\u011bry jsou stejn\u011b rychl\u00e9 a nez\u00e1vis\u00ed na otev\u00edrac\u00ed dob\u011b bank. Hodnota n\u011bkter\u00fdch kryptom\u011bn mimo to m\u016f\u017ee \u010dasem r\u016fst, co\u017e je p\u0159\u00edjemn\u00fd bonus nav\u00edc.<\/p>\n

BTC a ostatn\u00ed obl\u00edben\u00e9 m\u011bny<\/h3>\n

P\u0159ij\u00edm\u00e1me pochopiteln\u011b Bitcoin (BTC) jako nejzn\u00e1m\u011bj\u0161\u00ed kryptom\u011bnu. Krom\u011b n\u011bj podporujeme i dal\u0161\u00ed popul\u00e1rn\u00ed m\u011bny, jako Ethereum (ETH), Litecoin (LTC) nebo Bitcoin Cash (BCH). Ka\u017ed\u00e1 nab\u00edz\u00ed sv\u00e9 technick\u00e9 vlastnosti, ale v\u0161echny sd\u00edlej\u00ed princip decentralizace a bezpe\u010dnosti. Pro transakce pou\u017e\u00edv\u00e1me prov\u011b\u0159en\u00e9 pen\u011b\u017eenky a cel\u00fd proces jsme p\u0159ipravili tak, aby mu pochopili i za\u010d\u00e1te\u010dn\u00edci.<\/p>\n

Rychl\u00e9 bankovn\u00ed platby<\/h2>\n

Tato forma spojuje benefity okam\u017eit\u00e9ho bankovn\u00edho p\u0159evodu s modern\u00ed technikou. Slu\u017eby jako Trustly nebo Interac (pro mezin\u00e1rodn\u00ed platby) pracuj\u00ed tak, \u017ee se p\u0159\u00edmo ve sv\u00e9m internetov\u00e9m bankovnictv\u00ed p\u0159ihl\u00e1s\u00edte a platbu potvrd\u00edte. Pen\u00edze jdou z va\u0161eho \u00fa\u010dtu k n\u00e1m bez prodlen\u00ed, nemus\u00edte manu\u00e1ln\u011b zad\u00e1vat dlouh\u00e1 \u010d\u00edsla \u00fa\u010dt\u016f ani vy\u010dk\u00e1vat na b\u011b\u017en\u00fd p\u0159evod. Je to bezpe\u010dn\u00e9, proto\u017ee v\u0161e prob\u00edh\u00e1 v chr\u00e1n\u011bn\u00e9m prost\u0159ed\u00ed va\u0161\u00ed banky, a z\u00e1rove\u0148 pohodln\u00e9. Pro hr\u00e1\u010de, kte\u0159\u00ed hodlaj\u00ed z\u016fstat u sv\u00e9 banky, ale nemaj\u00ed z\u00e1jem vy\u010dk\u00e1vat n\u011bkolik dn\u00ed, je to perfektn\u00ed \u0159e\u0161en\u00ed.<\/p>\n

Digit\u00e1ln\u00ed pen\u011b\u017eenky: Bleskovost a diskr\u00e9tnost<\/h2>\n

Pokud pot\u0159ebujete nejrychlej\u0161\u00ed cestu pro vklady i v\u00fdb\u011bry, s\u00e1hn\u011bte po e-pen\u011b\u017eence. Takov\u00e9 digit\u00e1ln\u00ed \u00fa\u010dty funguj\u00ed jako prost\u0159edn\u00edka mezi va\u0161\u00edm bankovn\u00edm \u00fa\u010dtem a kasinem, co\u017e celou transakci zna\u010dn\u011b urychluje. Transakce na e-pen\u011b\u017eenky \u010dasto provedeme do 24 hodin, co\u017e je v\u00fdrazn\u011b svi\u017en\u011bj\u0161\u00ed ne\u017e u bankovn\u00edho p\u0159evodu. Mimo to kasinu poskytujete pouze detaily sv\u00e9 pen\u011b\u017eenky, ne d\u016fv\u011brn\u00e9 bankovn\u00ed informace.<\/p>\n