/* 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":32392,"date":"2026-05-17T17:04:51","date_gmt":"2026-05-17T17:04:51","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=32392"},"modified":"2026-05-17T17:04:52","modified_gmt":"2026-05-17T17:04:52","slug":"help-i-feel-dissapointed-about-to-let-you-know-that-the-ip-address-possess-become-blocked","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/help-i-feel-dissapointed-about-to-let-you-know-that-the-ip-address-possess-become-blocked\/","title":{"rendered":"Help I feel dissapointed about to let you know that the Ip address possess become blocked"},"content":{"rendered":"

Out of roulette and you may blackjack in order to casino poker and you can dice games, cam, gamble and relate with concert events and you will dining table online game. Look our very own unbelievable library of online casino games, in which i\u2019ve got one thing for each user. Talk about numerous online slots games and you can live roulette tables, and additionally the and you will https:\/\/777-cherry-casino.co.uk\/<\/a> prominent local casino video games. An ip address are a speech when you look at the desktop networks which \u2013 just like the sites such as \u2013 lies in the internet Method (IP). Insofar as Ip address is attributed to the nation, our company is regrettably obliged so you’re able to prohibit you against using the range-upwards off online game. This new exemption relies on the fresh Ip of your own computers out-of that you availableness our very own website, and that indicates your local area.<\/p>\n

Ports with high RTPs, eg Heavens Vegas’ top RTP harbors, provide better enough time-name earn opportunity, however, each twist try unpredictable. Video game & qualifications restrictions incorporate. They might be enjoyable, fascinating, and laden with commission potential.<\/p>\n

Live gambling games try organized by elite group traders just who offer notes so you can people randomly in real time thru real time streaming films products. Casino games was introduced courtesy RNG app, in which a random number generator will establish the outcomes of a beneficial twist or a give. There are also multiple alive black-jack versions that include more enjoys and you will guidelines to add the new size into games, have a tendency to which makes them even more dynamic and you will punctual-paced than just conventional blackjack tables. On alive format, online game are run of the elite traders in real time and you will streamed to participants on the internet. Very casino games fool around with a random amount generator (RNG) to select the consequences. This is why much the player are happy to gamble to own for every round of online game, if or not one to function as twist from a slot game otherwise a beneficial round from blackjack.<\/p>\n

Here you will find the better Heavens Vegas slots that offer the possibility for big gains and you may existence-modifying jackpots. Come across a number of the greatest slot video game noted for its higher Return to Member (RTP) rates that provide high possibility yields and you may fascinating game play. Watch out for Air Las vegas free revolves and zero deposit with no wager profit to use her or him without spending the money. Progressive ports having modern jackpots, build as more members choice, possibly ultimately causing lifetime-modifying honours. We’re going to speak about trick has actually including the sky vegas slots to the highest RTP (Return-to-Player), ideal payment prospective, and you can why are for every single game fun playing. Produced by globe-leading online game builders, the gambling games try unmatched to own top quality and you can diversity.<\/p>\n

When you yourself have a bona-fide-currency account, what you owe is obtainable and you can withdraw it owing to an effective demand for the attributes in the webpages is unfortuitously unavailable to possess people residing in your own country.<\/p>\n

The unique 99-publication game play will make it way more interesting, which can be a necessity-go after people chasing after large wins which have a strange twist. When you sign in, you\u2019ll getting continuously handled to internet casino campaigns like 100 percent free spins, meets bonuses and you will totally free credit. Out-of classic desk games and online slots to live on casino avenues hosted by genuine traders, discuss our expertise video game and you may promotions. As a result users be aware that their cash is safe, that the online game it enjoy try trustworthy and this the web casino complies towards laws and regulations and you will in charge playing obligations of any nation so it works in. There are a selection regarding online blackjack games that can be starred on PokerStars Casino, that have numerous RNG-determined games and you can alive tables available to match members of varying share choice and you will sense accounts. PokerStars Casino hosts several real time-streamed gambling enterprise game tables one professionals is also join at any time.<\/p>\n

Heavens Las vegas slots is a big success that have British people. Availableness greatest table online game and you may ports that have a smooth betting sense, enabling you to remain linked to day-after-day awards and you will real time local casino channels. New clients get a taste out of what\u2019s to come in the Betway Casino that have a highly generous desired extra, that comes in the form of an excellent 100% meets extra. Gamble online games for example Mega Moolah, and you may Silver Blitz Queen Many or take the sample during the progressive jackpot online game and every single day jackpots \u2013 which have the latest winners crowned each day. Come across lightning blackjack, antique black-jack and.<\/p>\n

One common rest on the net is that you can use “resource code” otherwise an application so you’re able to key the slot. It\u2019s set for the good 6×6 grid and features streaming reels, in which effective signs disappear to make opportinity for brand new ones. Members which like high-bet, feature-packaged harbors with active game play discover it position interesting.<\/p>\n

Available both through desktop computer and you can via a cellular software, members can decide to play position online game, classic casino dining table video game and you will alive gambling games into platform. British members appreciate these 10 slots with the Sky Las vegas due to the enjoyable game play, substantial invited bonuses, and you may possibility of significant victories. Harbors get fun that have enjoys for example free revolves, wilds, scatters, and multipliers.<\/p>\n

Which Egyptian-inspired position even offers 100 percent free revolves with broadening symbols, taking up to 5,000x your wager. Let\u2019s discuss the field of Sky Las vegas together with really precious slot online game having captured players’ hearts in 2026 the help of its entertaining themes and enjoyable has actually. That have around 15,625 an easy way to victory, an enthusiastic Egyptian theme, growing wilds, and you will 100 percent free revolves which have icon updates, you\u2019ll see this position a great way to solution enough time.<\/p>\n

Obtain the Betway Gambling enterprise software today in the Enjoy Store otherwise this new Software Shop and plunge on the a whole lot of pleasing video game, big wins, and personal incentives. These usually are online slots, desk online game such as for example black-jack and roulette, and real time specialist gambling games. Likewise, PokerStars Casino\u2019s on the internet roulette offering boasts each other RNG-computed roulette games and you may real time roulette dining tables, plus several enhanced roulette game one put more keeps such as for example multipliers and added bonus games towards the antique legs games. All these online slots games function their own themes, emails and even storylines to own players to enjoy, in addition to their own novel guidelines and you may advantages. These types of games usually is online slots games, table game eg blackjack and you may roulette, and real time dealer online casino games streamed immediately. Cleaning all stone stops trigger 100 percent free spins which have choices for multipliers, most spins, or each other.<\/p>\n

Informal members and you can fishing fans will relish which position because of its easy and rewarding game play. Which fishing-inspired position was a hit which have totally free spins, in which fishermen grab bucks seafood signs for easy wins. In addition to, brand new 100 percent free spins which have endless multipliers put an additional covering regarding adventure. That have to 2 hundred,704 a way to winnings, tumbling reels, and you may free spins which have insane multipliers (2x to 5x), the prairie motif also offers huge earnings. New totally free revolves having increasing wilds improve sense, it is therefore best for people who see a calm yet , fulfilling adventure.<\/p>\n

In addition to being obtainable in a pc-amicable structure, really web based casinos possess a software otherwise mobile-friendly variety of its platform, enabling you to play the games on the mobile otherwise pill. The main categories of online game that can be found within an internet gambling enterprise are slots, real time online casino games, and you may table games such as for instance black-jack and you can roulette. Most online casinos has actually numerous types of various other games available so you’re able to suit as many participants you could. Consequently a credit card applicatoin-founded formula decides the consequence of per twist otherwise round. Ideal choice become Publication of 99 (99% RTP), Flame on Hole xBomb (sixty,000x maximum profit) and you may Temple Tumble Megaways (just the thing for cellular).<\/p>\n","protected":false},"excerpt":{"rendered":"

Out of roulette and you may blackjack in order to casino poker and you can dice games, cam, gamble and relate with concert events and you will dining table online game. Look our very own unbelievable library of online casino games, in which i\u2019ve got one thing for each user.\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-32392","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/32392","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=32392"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/32392\/revisions"}],"predecessor-version":[{"id":32393,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/32392\/revisions\/32393"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=32392"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=32392"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=32392"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}