/* 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":131803,"date":"2026-05-25T17:32:22","date_gmt":"2026-05-25T17:32:22","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=131803"},"modified":"2026-05-25T17:32:23","modified_gmt":"2026-05-25T17:32:23","slug":"mrq-gambling-enterprise-remark-incentives-2026","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/mrq-gambling-enterprise-remark-incentives-2026\/","title":{"rendered":"MrQ Gambling enterprise Remark & Incentives 2026"},"content":{"rendered":"

These percentage-oriented meets bonuses and you may Mr Las vegas bonus password connect with coming places, such as 30% as much as \u00a3one hundred. All of the Tuesday, qualified players discovered its \u00a33 hundred limitation bonus automatically applied to their profile. Total genuine-currency wagers away from Tuesday so you can Week-end and you can games theoretic RTP influence new prize. Rainbow Fridays are a weekly pay added bonus to own effective members. The bonus are instantly put on accredited places without a code.<\/p>\n

Made to recreate the air of your Las vegas Remove, these types of harbors blend brilliant fluorescent pictures, familiar signs, and you can live soundtracks which have today\u2019s advanced functions and huge profit prospective. Right here your\u2019ll select better Vegas online slots games, a knowledgeable web based casinos for Las vegas-style online game, just how RTP and you will volatility apply at the probability, and you will ample extra advantages. Absolutely nothing compares to this new adventure out-of spinning Las vegas harbors for real money on the fresh Remove \u2014 but today\u2019s online casinos bring one thrill to the display.<\/p>\n

This is the essential support design which makes an explosion off articles feel approachable and you may enjoyable, perhaps not crazy. Which careful curation has the massive possibilities out-of impact challenging. Once you have joined the real deal enjoy at an enthusiastic internet casino you will need to like a cost… Now that june possess finally turned up web based casinos are receiving to functions a small harder to help you entice…<\/p>\n

The newest interface structure looks fine, together with better-classified online game are adequate to entice people towards the fascinating industry off online game out of chance. Though it has the benefit of a welcome added bonus, it\u2019s not that impressive. Any potential issues to your number can be solved into the customer service on the website, which is available twenty-four\/7 one day’s the fresh new times. You may choose some other payment approach based on their country. Live online casino games is organized by real buyers who well-can bring you this sort of glee as you\u2019lso are chilling in the comfort of your own home. Those people vintage video game are offered from the top designers, therefore, the to experience procedure try simple, and user interface was fun.<\/p>\n

The fresh new software makes it easy https:\/\/winwin-casino.com.gr\/el-gr\/<\/a> to place bets, which have timely-paced action for every hands or twist. This new real time game are made to send smooth online streaming and you may higher-quality design, making certain a high-notch feel. Roulette fans can pick ranging from Western european (solitary no), American (double zero), and you will French versions with an increase of betting choice. The providers is subscribed, audited, and you can known to own quality.<\/p>\n

Mr Las vegas is among the greatest web based casinos to have British players. Lowest dumps is \u00a310 toward restrict place a great \u00a310,100. Considering commission solutions is essential with casinos on the internet, and then we was in fact pleased to note that Mr Vegas do really right here. Betting ✅ Comprehensive gambling alternatives via the sportsbook.<\/p>\n

Apart from lots and lots of free harbors, you\u2019ll see a table online game collection towards our website. Yes, Vegas-layout harbors try judge in britain as long as they\u2019re provided by workers authorized from the United kingdom Betting Fee. Discover top-ranked featured ports in the VegasSlotsOnline\u2014handpicked getting huge gains, thrilling game play, and you will nonstop Vegas-build action! GamCare \u2013 A leading British foundation bringing free, private pointers, pointers, and you may assistance for anybody impacted by condition playing.<\/p>\n

We offer unbiased, total analysis and feature you finding the best incentives and you will harbors promotions. Form choice limitations helps members would their money and steer clear of overspending, ensuring a more enjoyable and you may environmentally friendly to play sense. You to blend of Aussie area, alive cheekiness, and you will unpredictability provides a gooey, surprisingly relaxing effect. Playing free ports games doesn\u2019t be sure achievement for the a real income gambling. For the majority slot advantages, the game may not asmodern while they you\u2019ll promise, but not, a scheduled appointment inside the Mr. Cashmanslots seems fun to possess an incredible number of someone to theworld given that their discharge. No matter what tool your\u2019re also to tackle away from, you can enjoy all the favorite harbors for the mobile.<\/p>\n

Whilst others have detailed that wagering options are limited, Mr Las vegas possesses real time and you can pre-match playing, causing the thrill off constant recreations. Branded on the homepage under Sports, people discover on their own overrun on selection of gambling options offered. Mr Vegas was increasing the stakes around the pretty much every playing classification, as they provide sports betting plus ports and you can casino game. Users is joined with the most campaigns automatically, but could take a look at in the appropriate site section on when. Mr Vegas is licensed and you can regulated by British Playing Payment while the Malta Gambling Expert, which means you understand it is safe and you will secure.<\/p>\n

The latest variety produced the experience pleasing \u2014 despite occasions out-of gamble. The newest betting requirement toward deposit incentive are place from the 35x, that’s standard for many web based casinos. The registration procedure didn\u2019t take long \u2014 just bringing earliest info for example identity, current email address, and you can date from birth \u2014 followed closely by a mandatory ID verification processes. Mr Las vegas Gambling enterprise has the benefit of some incentives and you can promotions so you can one another the fresh new and you will present players. Financial import withdrawals takes as much as ten working days so you can processes. E-purse withdrawals is processed in 24 hours or less, while borrowing and you may debit credit withdrawals usually takes as much as 5 working days.<\/p>\n

Mr Vegas makes it simple for you to find any recommendations you prefer in regards to the local casino. We need to use a web page which is easy to browse, quick so you can load, and clear to learn. Mr Vegas try invested in that delivers an educated on the internet gambling enterprise experience, and therefore includes giving you an educated customer support. Mr Vegas values your pleasure and you may commitment, hence\u2019s as to the reasons they give you excellent customer care. You might choose from multiple methods, each with its own positives and negatives.<\/p>\n

Which pleasing format helps make modern slots a popular choice for members trying to a premier-stakes betting sense. Enjoy totally free slots enjoyment when you talk about the fresh extensive collection from video clips harbors, while\u2019re also certain to discover a separate favorite. Regarding ancient civilizations to help you advanced planets, this type of online game security a standard directory of information, guaranteeing indeed there\u2019s things for everybody. Often determined because of the old-fashioned fruits servers, the vintage counterpart is signs such as for example cherries, bells, and you can taverns. Faucet on this video game observe the newest great lion, zebras, apes, and other 3d symbols dancing for the their reels. New elements making it classic position a premier pick even today try totally free spins, a great 3x multiplier, and you may five progressives awarding $10, $a hundred, $ten,100000, and you can $1 million, respectively.<\/p>\n","protected":false},"excerpt":{"rendered":"

These percentage-oriented meets bonuses and you may Mr Las vegas bonus password connect with coming places, such as 30% as much as \u00a3one hundred. All of the Tuesday, qualified players discovered its \u00a33 hundred limitation bonus automatically applied to their profile. Total genuine-currency wagers away from Tuesday so you can\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-131803","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/131803","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=131803"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/131803\/revisions"}],"predecessor-version":[{"id":131804,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/131803\/revisions\/131804"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=131803"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=131803"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=131803"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}