/* 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":14114,"date":"2026-05-08T11:28:01","date_gmt":"2026-05-08T11:28:01","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=14114"},"modified":"2026-05-08T11:28:02","modified_gmt":"2026-05-08T11:28:02","slug":"online-playing-web-site-sports-betting","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/online-playing-web-site-sports-betting\/","title":{"rendered":"Online Playing Web site Sports betting"},"content":{"rendered":"

Whenever you are exclusives was a particular plus, the most common titles is actually loved for an explanation and having this type of available to you is probably more significant than a good raft away from brand new, as yet untested, titles. Our casino couples features a huge selection of scrape notes offered, and in addition we possess the full part to purchase aside more about the guidelines and greatest gambling enterprises having scratch notes. Brand new ease, short performance, and you can chance to earn large build all the abrasion credit game pleasing and you may unstable. The mixture from luck, easy laws and regulations, and fast-paced series tends to make all games fascinating and you can unstable. Most of the British on-line casino web sites have to make sure guarantee the game to make certain reasonable enjoy, providing you with count on whenever enjoying harbors, desk games, and other online casino event. Because you\u2019lso are to experience from another location instead of at an actual local casino, it\u2019s important one to Uk casinos on the internet go after strict guidelines.<\/p>\n

You may also gamble alive casino games via cellular app to the the Android os otherwise ios cell phone. An informed United kingdom live specialist casinos offer one thing it is fun. In the uk, of several profiles always have fun with PayPal for playing their favourite real time online casino games. Last but not least, some gambling enterprises provide other alive casino games, such as craps.<\/p>\n

Providing to own a limitless amount of participants, Popular Draw Black-jack are used one deck just like the numerous professionals wade head to head up against the agent\u2019s hands any kind of time once. If you need to experience online game in which other participants is inside it, you\u2019ll getting happy to understand that real time casino Blackjack dining tables constantly use the biggest share out of pro tourist. The newest 2014 champion of EGR\u2019s Video game of the year award is about enjoying the experience in all the twist of your own controls. Also it\u2019s besides dining table game any longer either \u2013 alive casino lobbies is actually exploding with all of type of brand-the new rules. There are a number of live agent online game accessible to enjoy during the our very own recommended real time gambling enterprises, and extra distinctions throughout these. The online game show inspired live casino video game is actually founded within the custom-based ball drawing machine which can hold all in all, 51 multi-colored testicle.<\/p>\n

There\u2019s too much to believe when looking at live gambling enterprise sites in great britain. Just how can a knowledgeable live vave app<\/a> gambling enterprise internet sites in britain compare? Some other webpages that doesn\u2019t score enough borrowing, Highbet is one of the better internet sites to own real time black-jack throughout the United kingdom. The brand new Betfred enjoy extra is ample, nevertheless\u2019s not customized to reside players \u2013 choice \u00a3ten and you will located two hundred 100 percent free spins. Today, it\u2019s the leading cellular local casino, having a receptive site and you will a very-ranked application.<\/p>\n

There\u2019s many range here, thus even although you\u2019re also beyond the mood to have a classic casino video game, you\u2019ll find something to capture your own vision. With the headings, you’ll be this new contestant of your online game let you know, if this\u2019s Wheel of Luck, Who wants to feel a billionaire or Bargain if any Price! Perhaps one of the most interesting what to are from an upswing away from alive dealer casinos is the creativity off live video game shows. Baccarat, much like roulette, are mostly starred online while the an excellent spectator game, making it a perfect complement live gambling enterprises. Black-jack is among the most prominent gambling establishment online game international, you choice their britches which you\u2019ll get a hold of many, many sizes from it within real time gambling enterprises. This is why when modifying out of residential property-founded casinos to live gambling enterprise websites, you get rid of hardly any regarding the roulette sense.<\/p>\n

Roulette into the real time structure has actual wheels and you can buyers, streamed out-of studios or belongings-depending casinos. Though some types at the top real time local casino internet tend to be side bets and you will several chairs, the prospective has been to beat the fresh new agent instead exceeding 21. Black-jack is one of the most well-known games online, features straightforward laws and regulations.<\/p>\n

Depending on your chosen alive gambling enterprise, alive baccarat hands is played to have as low as 50p on particular live local casino dining tables. Beat the real broker and also you profit real money, regardless of how other users from the table provides inside fun video game from the separate gambling establishment internet United kingdom. However, for every single gambling enterprise online game will vary together with max choice thinking that have be different according to and therefore prominent casino games you choose playing. When you weight a live gambling establishment game, the fresh gaming table could well be clear and simple to make use of that have the house line very easy to calculate. The moment an alternate alive gambling establishment enjoy offer can be found, you\u2019ll find it right here.<\/p>\n

Fortunately, we constantly ensure that the websites i like feature it \u2013 it really do enhance the sense! Constantly shop around making sure that for each and every live local casino you choose allows your percentage method, including a variety of anyone else in the event you need to switch. That is why we think it is essential to choose the ideal on line real time gambling enterprises based on websites that provides a wide particular online game. Only at PickPlay, we\u2019re about diversity, but some individuals simply enjoy playing a certain games. Yet not, it will enhance the concern, how when you do the best oneAs we said, let it rest with us. No actual far more \u2013 these days, many alive specialist casinos are around for enjoy, where you can also be relate genuinely to genuine buyers in the genuine casinos as a result of a sexcam.<\/p>\n

Great britain is just one of the most significant playing areas regarding the globe and it also\u2019s also one of the best cities to tackle web based casinos. You can choose from different internet casino percentage tips into the great britain. You really need to familiarise oneself to your regulations of selected variation. Then you can peruse new black-jack selection and select a game title. For example, you should prefer a high on the web blackjack gambling enterprise to own Uk participants. You can enjoy prominent online slots games such as for example NetEnt\u2019s Starburst, Gonzo\u2019s Quest, and you will Twin Twist.<\/p>\n

Along with, UK-authorized live gambling enterprises has their gameplay regulated by the Gaming Fee, definition one nasty play on the newest an element of the casino can be result in significant consenquences. That\u2019s why we handpicked both offers a lot more than, being particularly intended for live casino players. For folks who\u2019re also an excellent CasinoGuide normal you then\u2019ll see i mention betting standards as an alternative a lot as he has got a massive effect on how you can use and you may withdraw a plus. These types of bonus can be obtained at the numerous United kingdom-signed up gambling enterprises and present people the opportunity to try out its favourite alive broker video game 100percent free. Casinos on the internet you to definitely specialize into the live agent video game supply a wide set of additional video game readily available.<\/p>\n

Right now, there\u2019s a regular Weekend nights eighties inspired alive bingo online game, plus \u00a3five-hundred jackpot nights throughout the day. You\u2019re also likely to come across way more options from the a specialist bingo web site, such Buzz Bingo, where you could see styled alive bingo online game. Near to bingo, of numerous real time casino websites supply the new variant game away from Slingo, and therefore integrates bingo into reel-spinning format regarding ports game. Even though officially perhaps not a real time broker name, admirers of alive blackjack \u2013 and you will, definitely, out-of activities and you will Boy Ritchie \u2013 will find a whole lot to love about this book blackjack title.<\/p>\n

Now you\u2019lso are throughout the understand, you\u2019ll need to jump with the specific alive local casino action. For many who\u2019ve already worn out your financial budget, it\u2019s time for you walk away. not, it\u2019s vital that you acknowledge when your losings try setting up. Thank goodness, there are lots of an easy way to be sure playing remains fun, fun, and you can safe. State betting privately has an effect on as much as dos.7% away from people in the united kingdom, and it\u2019s crucial that you watch out for both symptoms and you may methods that is certainly taken to avoid bad designs or dependency away from developing. If you\u2019re given it commission strategy from the live online casinos, make sure to do your research ahead of time.<\/p>\n","protected":false},"excerpt":{"rendered":"

Whenever you are exclusives was a particular plus, the most common titles is actually loved for an explanation and having this type of available to you is probably more significant than a good raft away from brand new, as yet untested, titles. Our casino couples features a huge selection of\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-14114","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/14114","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=14114"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/14114\/revisions"}],"predecessor-version":[{"id":14115,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/14114\/revisions\/14115"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=14114"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=14114"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=14114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}