/* 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":154150,"date":"2026-06-15T03:10:24","date_gmt":"2026-06-15T03:10:24","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=154150"},"modified":"2026-06-15T03:10:24","modified_gmt":"2026-06-15T03:10:24","slug":"are-you-prepared-for-real-adventure-and-huge-rewards-at-legionbet-casino","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/are-you-prepared-for-real-adventure-and-huge-rewards-at-legionbet-casino\/","title":{"rendered":"Are You Prepared for Real Adventure and Huge Rewards at LegionBet Casino?"},"content":{"rendered":"
\n\"Bet<\/p>\n

Gamblers searching for an online casino want two things: authentic entertainment and a true opportunity for success https:\/\/legionsbets.com\/en-uk\/<\/a>. LegionBet Casino emerges as a solid choice, crafted to serve all sorts of players. It boasts a extensive collection of games and features regular promotions targeted at newcomers and regulars alike. But does the buzz live up to the truth? Does it genuinely offer consistent entertainment and fair play? Let’s look past the welcome banners and see what LegionBet Casino is truly composed of.<\/p>\n

An Initial Review of LegionBet Casino’s Design and Interface<\/h2>\n

Accessing LegionBet Casino, you get a sense of order. The site features a dark background with bright, colourful highlights. This goes beyond appearance. It highlights the game artwork and is kinder to your eyes during a long playing session. Finding your way around is straightforward. The main menu, always visible, leads you straight to games, promotions, or help. Even with hundreds of games on display, the design remains tidy and not overwhelming. Pages load fast regardless of your device, which is a basic but vital part of getting the experience right. The whole setup comes across as practical, made to get you playing effortlessly.<\/p>\n

Smartphone Compatibility and Functionality<\/h3>\n

Nowadays, a casino has to work perfectly on a phone. LegionBet achieves this through a website that adapts to any display size. You don’t need an app; just open your phone’s browser. Everything works: you can handle your account, add funds, and try any game on the go. The touchscreen controls are responsive, and the graphics maintain their quality on a smaller display. The mobile version is not a stripped-down add-on. It’s the full<\/a> casino, made for mobile use. For anyone who enjoys gaming on the couch or while traveling, LegionBet hits the mark.<\/p>\n

Navigating the Gaming Library: Slots, Table Games, and Real-Time Dealers<\/h2>\n

A casino succeeds or fails by its games. LegionBet’s library is massive, coming from several of the sector’s top software studios. You’ll come across classic three-reel slots, contemporary video slots filled with bonus rounds, and progressive jackpots in which the prizes keep growing. The table games department holds a wealth of variety, with different versions of blackjack, roulette, and baccarat. Then there’s the live casino. This is the place where the action feels most real, with games streamed live by expert dealers. The search and filter tools let you organize through everything, though the choice might be confusing at first. Seeing names like NetEnt, Pragmatic Play, and Evolution Gaming on the roster is a good sign for both the game quality and fair outcomes.<\/p>\n

The Allure of Live Casino Games<\/h3>\n

For me, the live dealer section is LegionBet’s top feature. It recreates the excitement and thrill of a genuine casino table. Games like Live Lightning Roulette or Infinite Blackjack appear in sharp high-definition from specialized studios. You can chat with the dealer, and occasionally other players, which brings a real social layer. The variety of betting limits is considerate, catering to players with more modest budgets and high rollers who desire to stake more. This part of the site demonstrates how online tech can truly improve on the classic casino visit, offering you the convenience of home without sacrificing the rush of the moment.<\/p>\n

Deciphering Bonuses and Promotional Offers<\/h2>\n

\"Whitelist<\/p>\n

Fresh players at LegionBet are offered a welcome package, often split over their first few deposits. It commonly combines bonus cash with free spins. For existing members, the promotions keep coming: reload bonuses, cashback deals, and tournaments are regular features. These offers seem appealing on the main page, but the real details are in the fine print. That’s where you find the wagering requirements, the list of games that contribute to them, and the deadlines. These rules dictate how valuable a bonus actually is. LegionBet does a decent job of putting these terms out clearly, and I appreciate that. It lets you know what you’re getting into before you put your money down.<\/p>\n

The Money System: Payments and Payouts<\/h2>\n

If the financial aspect of things is awkward, it mars the fun. LegionBet Casino offers a broad selection of banking choices. You can use debit cards, e-wallets such as Skrill and Neteller, or old-fashioned bank transfers. Fundings go through in seconds, as you’d anticipate. The cashout process is what is more important. The site displays expected turnaround times for each method. E-wallets are generally quickest, but other times are fair. Defined minimum and maximum boundaries apply for both depositing and cashing out. Using reputable payment services adds a degree of familiarity and trust, especially for players from different countries.<\/p>\n

Licensing Safety, and Honest Gaming Commitments<\/h2>\n

You need to trust where you play. LegionBet Casino possesses a license from the UK Gambling Commission. That authority is among the toughest in the business. The license indicates the casino is required to adhere to strict rules on player protection, maintaining fair games, and stopping fraudulent activity. The site uses standard SSL encryption to secure your personal and financial details. More importantly, the games run on certified Random Number Generators. This mechanism guarantees all cards dealt, every spin made, is entirely unpredictable and without tampering. This legal and technical foundation means you can focus on the game without looking over your shoulder.<\/p>\n

Assessing Customer Support and Service<\/h2>\n

Occasionally, you just need to pose a question. LegionBet offers customer support mainly through live chat and email. When I used it, the live chat was the quickest route. The agents replied quickly during their operating hours and were familiar with what they were talking about. The website also features a detailed FAQ section. It addresses the typical topics: managing your account, bonus rules, and payment queries. There’s no 24\/7 phone line, but the channels that are available manage most problems effectively and with a polite tone.<\/p>\n

Ultimate Decision: Is LegionBet Casino Worth Your Time?<\/h2>\n

Now, what’s the conclusion? After considering everything, LegionBet Casino is a reputable and well-designed online casino. Its standout qualities are a deep, top-tier game library, a first-rate live casino, a strong UK license, and a uncluttered, easy-to-use website. The promotions compare favorably against the competition, so long as you review the conditions first. Some factors, like withdrawal speeds for certain methods, are simply a feature of the online casino landscape. This platform may not be revolutionary, but it delivers on all key aspects.<\/p>\n

LegionBet Casino provides real excitement, mostly through its huge range of games and the genuine live dealer rooms. The potential for big wins exists, supported by a strong commitment to security and fair play. If you desire a dependable, comprehensive casino with the top standard of licensing, LegionBet deserves a close look. Be sure to establish your spending limits before you start, play for entertainment, and view any winnings as a pleasant surprise.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"

Gamblers searching for an online casino want two things: authentic entertainment and a true opportunity for success https:\/\/legionsbets.com\/en-uk\/. LegionBet Casino emerges as a solid choice, crafted to serve all sorts of players. It boasts a extensive collection of games and features regular promotions targeted at newcomers and regulars alike. But\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-154150","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/154150","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=154150"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/154150\/revisions"}],"predecessor-version":[{"id":154151,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/154150\/revisions\/154151"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=154150"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=154150"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=154150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}