/* 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":154726,"date":"2026-06-15T03:52:58","date_gmt":"2026-06-15T03:52:58","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=154726"},"modified":"2026-06-15T03:52:58","modified_gmt":"2026-06-15T03:52:58","slug":"resulta-fridayroll-casino-legal-y-seguro-para-los-apostantes-de-espana","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/resulta-fridayroll-casino-legal-y-seguro-para-los-apostantes-de-espana\/","title":{"rendered":"\u00bfResulta Fridayroll Casino Legal y Seguro para los Apostantes de Espa\u00f1a?"},"content":{"rendered":"
\n\"Crystal<\/p>\n

Como persona que lleva a\u00f1os estudiando el mundo de los casinos online en Espa\u00f1a, comprendo perfectamente que la principal pregunta de cualquier apostante consciente es: \u00bfconstituye este sitio legal? Hoy me adentro en Fridayroll Casino para dar respuesta a esa pregunta crucial para la comunidad espa\u00f1ola. Mi objetivo es revisar con lupa su permiso, protocolos de seguridad, prestigio y adecuaci\u00f3n a nuestra legislaci\u00f3n, para que t\u00fa puedas resolver con toda la data en la mano.<\/p>\n

El Permiso de Juego: El Pilar de Cualquier Casino Online Legal<\/h2>\n

El pilar fundamental de la legitimidad de cualquier casino online es su licencia. Fridayroll Casino opera bajo la licencia de Curazao, una autoridad reguladora internacionalmente reconocida. Esto quiere decir que el casino cuenta con autorizaci\u00f3n para prestar sus servicios a escala mundial, pero aqu\u00ed viene el matiz clave para Espa\u00f1a. La legislaci\u00f3n espa\u00f1ola exige que los operadores posean una licencia particular concedida por la Direcci\u00f3n General de Ordenaci\u00f3n del Juego (DGOJ).<\/p>\n

\"upffleet<\/p>\n

As\u00ed pues, desde un estricto punto de vista legal espa\u00f1ol, Fridayroll Casino no est\u00e1 licenciado directamente por las autoridades espa\u00f1olas. Esto es un dato clave que tienes que saber. No obstante, numerosos jugadores espa\u00f1oles entran a casinos con licencia de Curazao, ya que estos aceptan clientes de Espa\u00f1a. La responsabilidad \u00faltima est\u00e1 en el jugador de asegurarse de que respeta con las leyes fiscales locales.<\/p>\n

Salvaguarda y Protecci\u00f3n de Datos: \u00bfEst\u00e1n Tus Datos a Salvo?<\/h2>\n

La seguridad es mi segunda gran prioridad. Un casino puede no tener licencia espa\u00f1ola, pero debe demostrar un compromiso inquebrantable con la salvaguarda de sus jugadores. Fridayroll Casino utiliza encriptaci\u00f3n SSL de 256 bits, el est\u00e1ndar de la industria para bancos y negocios en l\u00ednea. Esto asegura que toda la informaci\u00f3n personal y financiera que compartas se transmite de forma totalmente cifrada e protegida para personas no autorizadas.<\/p>\n

Asimismo, el casino declara aplicar directrices estrictas de privacidad y protecci\u00f3n de datos. Es importante que examines su secci\u00f3n de T\u00e9rminos y Condiciones y Pol\u00edtica de Protecci\u00f3n de Datos para entender c\u00f3mo administran tu data. En mi evaluaci\u00f3n, los mecanismos t\u00e9cnicos de protecci\u00f3n son robustos, lo cual es un aspecto muy favorable para la seguridad del usuario a la hora de realizar dep\u00f3sitos o proporcionar documentos.<\/p>\n

Imagen y Opini\u00f3n de los Usuarios en Comunidades Espa\u00f1olas<\/h2>\n

Para conseguir una idea clara, he investigado en comunidades de juego y foros espa\u00f1oles. La imagen de Fridayroll Casino es, en conjunto, positiva, especialmente por su enfoque en las criptomonedas y sus promociones iniciales llamativos. Los jugadores destacan habitualmente la rapidez de la p\u00e1gina y la celeridad en los cobros cuando se utilizan criptomonedas. No obstante, resulta habitual toparse con quejas referentes a la comprobaci\u00f3n de identidad y los tiempos de retiro para sistemas cl\u00e1sicos.<\/p>\n

\"Live<\/p>\n

Es fundamental entender que un casino con autorizaci\u00f3n de Curazao, como Fridayroll, no se rige a los mismos l\u00edmites de cobro que exige la DGOJ para los casinos con autorizaci\u00f3n en Espa\u00f1a. Mi recomendaci\u00f3n es revisar constantemente las experiencias recientes de otros usuarios y enfrentarse con una enfoque precavido, administrando correctamente las ilusiones sobre los gestiones oficiales.<\/p>\n

Juego Consciente y Herramientas de Control Personal<\/h2>\n

Un casino seguro no es solo el que resguarda tu dinero, sino tambi\u00e9n el que atiende tu bienestar. Fridayroll Casino proporciona una serie de herramientas de juego responsable, aunque su alcance puede no igualarse a la de un operador con licencia espa\u00f1ola. En su sitio web puedes encontrar opciones para establecer l\u00edmites de dep\u00f3sito, p\u00e9rdida o tiempo de sesi\u00f3n, as\u00ed como la capacidad de autoexclusi\u00f3n temporal o permanente.<\/p>\n

Sin embargo, al no estar incorporado en el sistema de exclusi\u00f3n autom\u00e1tica de la DGOJ, tu autoexclusi\u00f3n en Fridayroll no te evitar\u00e1 registrarte en otros casinos con licencia de Curazao https:\/\/fridayroll-casino.eu\/es-es\/<\/a>. Esto subraya la importancia de tu autocontrol personal. Si notas que el juego est\u00e1 siendo un problema, debes buscar ayuda profesional inmediata a trav\u00e9s de organizaciones como Jugador An\u00f3nimo en Espa\u00f1a.<\/p>\n

Opciones de Pago Accesibles para Jugadores Espa\u00f1oles<\/h2>\n

La variedad y protecci\u00f3n de los m\u00e9todos de pago es otro term\u00f3metro de la solvencia. Fridayroll Casino se enfoca notablemente en las criptomonedas, lo cual cautiva a un nicho determinado de jugadores. Para los ciudadanos en Espa\u00f1a, las opciones disponibles abarcan, entre otras:<\/p>\n