/* 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":156193,"date":"2026-06-15T06:12:57","date_gmt":"2026-06-15T06:12:57","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=156193"},"modified":"2026-06-15T06:12:57","modified_gmt":"2026-06-15T06:12:57","slug":"licentie-en-beveiligingsoverzicht-bij-true-lucky-casino-in-ons-land","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/licentie-en-beveiligingsoverzicht-bij-true-lucky-casino-in-ons-land\/","title":{"rendered":"Licentie en Beveiligingsoverzicht bij True Lucky Casino in ons land"},"content":{"rendered":"
\n

Bij True Lucky Casino weten we dat vertrouwensband de fundament is van elk geslaagd online gaming avontuur. Voor Nederlandse spelers is dit vertrouwen onlosmakend verbonden met duidelijkheid, een degelijk wettelijk kader en de garantie dat hun data en vermogen in veilige handen zijn. In dit omvangrijke overzicht leiden we u achter de schermen van onze beveiligingsstructuur. We bespreken niet alleen de wettelijke licentie die onze activiteiten legitimeert, maar ook de daadwerkelijke technologische en procedurele maatregelen die dag in dag uit worden gebruikt om uw spelplezier te beschermen. Van moderne encryptie tot rechtvaardige spelsoftware en verantwoordelijke speelmechanismen, elke niveau is gecre\u00eberd met een enkel doel: een onbezorgde en rechtvaardige gamingomgeving scheppen die past aan de strenge eisen van de Nederlandse markt en haar spelers.<\/p>\n

Het Gewicht van een Nederlandstalige Online Kansspelvergunning<\/h2>\n

De regulering van online kansspelen in Nederland vormt een essenti\u00eble verschuiving naar een beveiligde en beheerste markt. Sinds de invoering van de Wet Kansspelen op Afstand (KOA) in oktober 2021, mogen alleen partijen met een specifieke vergunning van de Kansspelautoriteit (KSA) wettelijk hun producten aanbieden aan Nederlandse consumenten. Voor ons als True Lucky Casino is het verwerven en behouden van deze vergunning niet slechts een wettelijke verplichting; het is onze publieke toezegging om te handelen binnen de door de Nederlandse overheid vastgestelde normen voor integriteit, beveiliging en consumentenbescherming. Deze licentie waarborgt dat onze operaties continu worden geaudit, dat onze spelsoftware onafhankelijk wordt geverifieerd op betrouwbaarheid, en dat wij strikte protocollen voor preventie van witwassen en matchfixing toepassen. Het houdt in dat de Nederlandse speler bij ons niet naamloos gokt, maar participeert aan een gecontroleerd ecosysteem waar bevoegdheden en verplichtingen helder zijn bepaald.<\/p>\n

De Vergunning van True Lucky Casino: Details en Controle<\/h2>\n

True Lucky Casino werkt onder de vergunning afgegeven door de Kansspelautoriteit, het enige wettelijke toezichthoudende orgaan voor kansspelen in Nederland. Ons licentie-nummer is openbaar inzichtelijk, een teken van onze compliance met de strenge eisen van de KOA. Dit impliceert dat wij niet alleen beantwoorden aan de grondslagen van de wet, maar ook blootgesteld zijn aan doorlopend toezicht. De KSA verifieert onder meer onze financi\u00eble stabiliteit, de technische degelijkheid van onze systemen, en onze opvolging van reclame- en bonusregels. Daarnaast doen gecertificeerde onafhankelijke testlaboratoria, zoals eCOGRA of iTech Labs, geregeld audits uit op onze Random Number Generators (RNG’s). Dit zorgt ervoor dat elke spelronde aan een slot, elke kaartdeal en elke dobbelsteenworp totaal willekeurig en onvoorspelbaar is. Onze licentie is dus geen statisch document, maar een dynamisch kwaliteitskeurmerk dat actief wordt gecontroleerd.<\/p>\n

Geavanceerde Beveiligingstechnologie voor Gegevens en Betalingen<\/h2>\n

De online beveiliging van uw persoonlijke en geldelijke gegevens staat bij True Lucky Casino op de uiterste prioriteit. Wij toepassen een multi-laagse beveiligingsstrategie die begint met industriestandaard 256-bit Secure Socket Layer (SSL) encryptie. Deze techniek, dezelfde als wordt ingezet door belangrijke financi\u00eble instellingen, codeert alle data die tussen uw apparaat en onze servers worden verzonden, waardoor het voor derden niet mogelijk is om deze te onderscheppen of te lezen. Onze firewalls en intrusion detection systemen monitoren het netwerkverkeer 24\/7 op verdachte activiteiten. Voor transacties opereren wij enkel samen met gerenommeerde en tevens gereguleerde betalingsproviders die bijkomende veiligheidslagen, zoals 3D Secure voor creditcards, leveren. Wij opslaan gevoelige financi\u00eble gegevens zoals creditcardnummers nooit in plain text op, maar hanteren geavanceerde tokenisatie. Dit alles vormt een vrijwel ondoordringbaar schild rondom uw account.<\/p>\n

Fair Play en Software Controles<\/h2>\n

De kern van een vertrouwd online casino is de waarborg dat alle spellen correct en willekeurig plaatsvinden. Bij True Lucky Casino is dit geen leeg woord, maar een bewezen feit. Elk van onze spellen, of ze nu worden aangeboden door toonaangevende softwareontwikkelaars zoals NetEnt, Play’n GO of Pragmatic Play, worden geleverd met een erkende Random Number Generator (RNG). De integriteit en onvoorspelbaarheid van deze RNG’s worden regelmatig getest en goedgekeurd door neutrale buitenstaande auditbureaus. Deze instanties controleren niet alleen de programmacode, maar ook de opbrengst van ontelbare gesimuleerde spins om te controleren dat de berekende RTP overeenkomen met de openbare waarden. De certificaten en controleverslagen van deze tests zijn beschikbaar voor ons en vormen de basis van ons beleid rond transparantie. U kunt er dus op bouwen dat uw kansen bij ons altijd rechtvaardig zijn.<\/p>\n

Verantwoord Spelen en Spelerbescherming bij True Lucky Casino<\/h2>\n

Als houder van de vergunning van de KSA nemen wij onze plicht voor het welbevinden van onze spelers zeer ernstig. Verantwoord spelen is een essentieel aspect van onze onderneming. Wij bieden een uitgebreid set aan hulpmiddelen en mogelijkheden waarmee spelers zelf regie kunnen voeren over hun speelgedrag. Deze tools zijn makkelijk opvraagbaar in uw priv\u00e9 account en omvatten de keuze om stortingslimieten, verlieslimieten of tijdslimieten in te geven voor een speelsessie, dag of week. Verder bieden wij de keuze voor een tijdelijk time-out of een langere zelfuitsluiting via het Centraal Register Uitsluiting Kansspelen (CRUKS), waarmee u zich bij alle Nederlandse aanbieders tegelijkertijd kunt afsluiten. Ons team is geoefend om afwijkend speelgedrag te signaleren en, waar vereist, een betrokken gesprek aan te gaan. Ons doel is niet alleen vermaak, maar beveiligd entertainment.<\/p>\n