/* 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":83724,"date":"2026-05-23T17:46:36","date_gmt":"2026-05-23T17:46:36","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=83724"},"modified":"2026-05-23T17:46:37","modified_gmt":"2026-05-23T17:46:37","slug":"anyone-who-matches-this-type-of-conditions-is-eligible-in-order-to-compete-keenly-against-almost-every-other-participants-completely-at-no-cost","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/anyone-who-matches-this-type-of-conditions-is-eligible-in-order-to-compete-keenly-against-almost-every-other-participants-completely-at-no-cost\/","title":{"rendered":"Anyone who matches this type of conditions is eligible in order to compete keenly against almost every other participants completely at no cost"},"content":{"rendered":"

If you do not enjoys a merchant account yet, you really need to join earliest<\/h2>\n

If you love to relax and play real money ports but have to button something upwards, there are plenty of almost every other gambling games offering prompt activity, easy rules, plus the possible opportunity to earn big. Another great find is Force Gaming, which runs competitions to your online game particularly Shaver Shark, in which participants ascend leaderboards for extra honors. Scorching Move Gambling establishment shines by offering 100 zero wagering 100 % free spins to the Huge Bass Bonanza, definition your earnings started since the a real income without betting standards.<\/p>\n

Every games away from Calm down Betting and you can Pragmatic Play might be starred for the free position tournaments into the Gambling enterprise Guru. You simply can’t create several profile to boost your chances of successful. To relax and play inside the a no cost slot competition to the Local casino Guru, you should be logged directly into their Casino Guru account. Within position competitions, you get items centered on the wins to the harbors which might be area of the tournament.<\/p>\n

He could be everyday slot tournaments plus daily award drops. Which have Nice Bonanza 1000 my favourite up to now, less than there are a desk reflecting every secret pointers out of the fresh 1000 harbors. Larger Trout Splash was a popular which have slot internet sites having allowed totally free revolves even offers and you may Larger Bass Splash 1000 normally reel during the twenty-five,000 x wager max victories. Which have Large Bass Bonanza kicking one thing away from during the parece playing.<\/p>\n

During the VegasSlotsOnline, i vet a huge selection of web sites to take you the best British casinos on the internet – protected<\/h2>\n

With regards to the best web based casinos the real deal money, we think inside with every thing. Signing up for a knowledgeable rated web based casinos for real cash on the checklist means dealing with workers totally vetted by the our very own pros and you can a most importantly. Local casino.expert are a different way to obtain details about casinos on the internet and gambling games, maybe not subject to people gaming user.<\/p>\n

BC.Games shines one of crypto playing systems due to its outstanding independence, offering not just an internet gambling enterprise having crypto and in addition a sportsbook and online lotto everything in one easier venue. In addition, players that have an account at the Cloudbet can visit the fresh new gambling establishment and enjoy so-titled “Bitcoin baccarat,” “Bitcoin blackjack,” harbors, or other table video game. Betpanda is accessible inside multiple languages and will be offering 24\/7 customer support via live speak and email address, guaranteeing all of the affiliate contains the assist they require punctually.<\/p>\n

See while they twist, shuffle, package and roll one to win Martin NL<\/a> on the online game of your own choice. In the event your favourite course of action when to play online casino games should be to sense one thing as near so you can an in-individual genuine-life local casino to, then Alive Gambling enterprise is where it is at the. The audience is happy you take enough time to read what you, nevertheless the most practical way to obtain a popular is always to just pick a game and have rotating. Online slots games could be the basic of all web based casinos.<\/p>\n

The guy critiques real money and you can sweepstakes gambling enterprises in detail, making certain you earn respected skills on the regulations, benefits, and in which it\ufffds well worth playing. Over the last ing stuff and information, pro picks, and you may associate courses to all or any sides of your own legal gambling on line universe. An educated online position internet and will let you play for 100 % free, together with BetMGM, FanDuel Local casino, and you may Bally Choice Gambling enterprise. Most of these best online game try normal ports with a high RTP, giving players a much better danger of winning. BetMGM, FanDuel Gambling establishment, Caesars Palace, and you may BetRivers are the best on the internet slot internet. Traditional on the web position internet haven’t been legalized in almost any other states.<\/p>\n

Even though online slots try a question of options, it\ufffds good to possess a-game package. It is usually best if you choose a plus, since you happen to be extending the game big date instead expenses extra cash. If it is quite high, it will likely be an extended when you are one which just cash in an earn – even when whether or not it happens chances are as large.<\/p>\n

For example, you should buy in contact with a help representative 24\/eight utilising the live talk feature. The interactions that have Betway’s customer service team were very positive. Placing and you may withdrawing is very easy, and you can customer support is reachable via alive speak. But not, when you are a good Dota 2, CS2, otherwise Hahah partner, you can enjoy Betway’s ample esports chances, real time avenues, and real time gambling possibilities. Only gamble Practical Play slots and you can compete during the each day and monthly leaderboards and possess an opportunity to profit random instantaneous honours.<\/p>\n

Crypto gambling enterprises is becominga well-known options in america thank-you on their flexibility, prompt game play, and modern method to online gambling. They support various dialects on their website like English, Italian language, Foreign-language, Portuguese, Finnish, French, Italian, Hungarian, Russian The new VIP program benefits loyal members with an increase of rewards and advantages, undertaking a sense of area and you will incentivizing proceeded gamble. It commitment to safety, together with an over-all set of online game, tends to make a reliable selection for both blers. The fresh new gambling enterprise supporting both English and you may French, providing so you’re able to a larger audience and you may making sure non-English speaking members can also enjoy the platform instead of vocabulary traps.<\/p>\n

These types of tokens are not just payment tips-they have been area of the betting experience, giving members a sense of possession and you may entry to advantages one wade far beyond standard incentives. It’s a solid selection for larger deposits otherwise distributions, and you may manyfriendly crypto casinossupport BCH to possess smooth game play. Bitcoin is themost widely recognized cryptocurrencyin online casinos, it is therefore possible for users so you’re able to deposit, bet, and you can withdraw all over networks. Players can find crypto casinos that gobeyond basic bonuses, giving rewards one stand out from traditional online platforms. Crypto casinos open the entranceway to help you a wider list of on the web networks, plus international options that may not assistance old-fashioned payment steps due in order to regulating restrictions. While doing so, the consumer assistance group can be obtained via alive chat and you will current email address, offering prompt and professional assistance.<\/p>\n

So it widespread supply has made competitive position tournaments available to many out of participants exactly who previously had minimal usage of like engaging platforms. The new provider’s partnerships which have leading online casinos round the these types of ent top quality and you may legitimate prize payouts. Multi-currency support lets members to become listed on with regards to common currencies, off EUR and you may GBP so you can USD and CAD, eliminating conversion concerns. Practical Gamble enjoys successfully prolonged the Personal position Event products round the several managed ing enjoy to help you professionals for the European countries, Latin America, Asia, and beyond. When the experiences begins, access it from the tournaments area or your account dash. Make sure your account was totally confirmed to avoid one delays whenever stating honours.<\/p>\n

They tend to be perks and enormous prizes which might be at random given abreast of an earn. Already, gamblers provides a huge group of legitimate and you can judge casinos on the internet. It is not easy to possess newcomers in order to browse the online betting community, because there are way too many casinos. The new playing experience was enhanced from the each day tournaments and other ways so you can win. The purpose of that it provide would be to prize happy users with bucks perks as well as the gains they make out of playing its games. As the event is over and winners are recognized, we’ll get in touch with them utilizing the email address connected on their Casino Expert membership.<\/p>\n","protected":false},"excerpt":{"rendered":"

If you do not enjoys a merchant account yet, you really need to join earliest If you love to relax and play real money ports but have to button something upwards, there are plenty of almost every other gambling games offering prompt activity, easy rules, plus the possible opportunity to\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-83724","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/83724","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=83724"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/83724\/revisions"}],"predecessor-version":[{"id":83725,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/83724\/revisions\/83725"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=83724"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=83724"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=83724"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}