/* 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":136698,"date":"2026-05-27T20:02:02","date_gmt":"2026-05-27T20:02:02","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=136698"},"modified":"2026-05-27T20:02:03","modified_gmt":"2026-05-27T20:02:03","slug":"common-procedures-including-paysafecard-visa-and-skrill-are-used-for-places","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/common-procedures-including-paysafecard-visa-and-skrill-are-used-for-places\/","title":{"rendered":"Common procedures including Paysafecard, Visa, and Skrill are used for places"},"content":{"rendered":"

Numerous account can cause long lasting bans and you may forfeiture regarding profits<\/h2>\n

If you aren’t a fan of this type of games, there are also a good amount of almost every other substitute for select from, in addition to American sporting events, handball, volleyball, tennis, and you will freeze hockey. They take on numerous percentage procedures, and Charge, Charge card, Neteller, Skrill, Paysafecard, MuchBetter, Jeton, CashToCode, Payz and neoSurf. The last challenge to have plenty of the new members at casinos on the internet ‘s the banking otherwise cashier area. The new exclusive EnergyClub VIP program is designed for significant members who require far more from their gaming experience.<\/p>\n

A occupations discover such loads of range, next! Really the only negative is you will find so much right here, they could possibly use a little extra classification to help you see a popular dining table games. You know they had high quality, and now you understand they have high quality desk online game. Really, discover just one far more spin of the wheel commit.<\/p>\n

Yes if you are a different sort of customer off EnergyBet and you will fulfill their minimum conditions and terms. Explore the exclusive code BCVIP whenever depositing discover a great ?400 acceptance bundle + 100 % free spins today. The next codes is private to our webpages and you will work with EnergyBet and you may EnergyBet Gambling establishment. Check this out flag to view complete T&Cs.<\/p>\n

It’s just a step to keep you and your earnings safer. Distributions must be done through the exact same means as the places.<\/p>\n

Because the way too many professionals delight in mobile betting, there is the Casino Opportunity mobile platform that is available to possess the profiles. Your website now offers every instantaneous play games that will be starred thanks to a web browser, making the web site accessible playing with one operating system. When accessing slots, professionals can find a list of most of the recently additional online game and you may will additionally be capable of getting three reel conventional game. The newest position alternatives at that local casino is actually amazing and you will professionals will get the latest and best launches most of the playable to the desktops and you can smartphones which might be accessed having free spins or cash bets.<\/p>\n

For those seeking more independence employing deposits, examining other sites you certainly will give a choice, making it possible for people first off playing with one count it prefer. There aren’t any significant issues during it review who stop users away from having access to real cash game from the Energy Gambling establishment. Support service is available to users who’ve issues or concerns whenever being able to access accounts or games.<\/p>\n

EnergyBet provides an immersive online gambling experience with diverse betting solutions, alive scores, and you will enjoyable added bonus have having sporting events and gambling establishment lovers. Additionally there is an alternative choice away from clicking the latest \ufffdforgot password\ufffd hook up below the fresh visit point having a password reset. You could solve that it from the contacting its support service using the email your accustomed register your bank account and they’re going to issue your which have a reset hook. Some of the methods a customers can use to put tend to be debit card, Euteller, Neteller, Paysafe, Skrill, Ukash, QIWI, Dotpay, Monetapay and you may Visa Deposit.<\/p>\n

If you’re looking to own another casino or just have no idea the place to start your excursion with our team, subscribe once we see whatever EnergyCasino has to give. Gates of Olympus casino<\/a> The platform along with emphasizes in control play, that have devices offered after log in to set limits and track your pastime. In the event that adventure actually your personal style, change to classics including black-jack or roulette, the obtainable blog post-log in. Remember, earnings from this want membership confirmation prior to detachment, and you may an administrative payment get pertain in the event that KYC isn’t really finished within this thirty day period. It bring pertains to your initial deposit, and with wagering requirements place at twenty-five minutes the advantage and you can put number, it’s built to continue anything fair and straightforward.<\/p>\n

However, you’ll find nothing we possibly may think becoming a respect program. EnergyCasino British has plenty of good advertising you to definitely advantages loyalty, no doubt. While doing so, you realize important computer data is safe making use of their security jobs. So it, alongside the Malta permit to own around the world pages, means these are generally as the legit as they come. I never ever had to attend longer than a moment throughout people circumstances and was in fact constantly content of the quality of people solutions. There are no charges and you can minimum deposits begin in the ?5 however they are normally ?10.<\/p>\n

The new government of your time Casino provides every promises regarding a reputable and you can secure gameplay. That’s open to apple’s ios pages just, that is a downside. For fans off reproducing the air out of soil-dependent playing clubs at home, there is certainly a section giving online game having genuine croupiers during the Times. Since the administration guarantees, work of program is set up therefore demonstrably and you will effortlessly you rarely might require assistance. Time Casino also offers people the most common commission tips. Group is met of the a large banner telling all of them in the pleasures of your bonus program, passage tournaments and other advertisements.<\/p>\n

You’ll find the full variety of tips to their dumps page<\/h2>\n

Even though some casinos on the internet parece, such always you should never involve a real income wagers otherwise payouts. These mobile platforms enables you to supply a wide range of casino games, and ports, desk video game, and you can alive games, straight from your own smart phone. You will find all the best jackpot casino games, on the web circle tournaments with jackpot-worthwhile prizes and even each day jackpot drops. These types of company are recognized for their cutting-border picture, enjoyable gameplay aspects, and you may ining experience. On a single webpage, you will also have the choice to help you allege bonuses, particularly Acceptance Incentives.<\/p>\n

Black-jack is one of the most prominent Alive Gambling games at the EnergyCasino, very discover lots of chairs to help you fill. We’re usually in search of the greatest the newest video game, so you can be assured that we’re going to maintain your alive gambling enterprise recreation as the new as well as feel. While the ideal casinos on the internet, EnergyCasino possess larger brands particularly Practical Enjoy, Progression Gaming, Hacksaw, BF Game, Play’n Wade, NetEnt and much more. While looking for jackpot slots, we have several unique advice as well. If you are searching having one thing outstanding, then make sure to here are a few all of our \ufffdPromotions’ page inside the holidays.<\/p>\n

You will also remain able to claim bonuses, put and withdraw currency, and make contact with customer care. You can access the fresh cellular casino at this site using any progressive smartphone or tablet. Discover twenty-two brands regarding blackjack, along with lots of roulette game. You will additionally find that there are many dining table online game to help you gamble at EnergyCasino. You’ll also come across a good amount of progressive jackpot slots at the EnergyCasino, and titles from both Microgaming and you can NetEnt. You will also find a good amount of online game at live gambling establishment.<\/p>\n

You could bet on the standard sportsbooks where you are able to back the results off sports during the chances which can be place because of the the fresh new bookmaker. In the event that playing utilising the Energy Choice change, you are not gambling up against the bookie you are gambling up against almost every other Opportunity Choice pages. Energy Bet provides twenty eight+ professionals helping all of them and also at minimum 7,400 users.<\/p>\n","protected":false},"excerpt":{"rendered":"

Numerous account can cause long lasting bans and you may forfeiture regarding profits If you aren’t a fan of this type of games, there are also a good amount of almost every other substitute for select from, in addition to American sporting events, handball, volleyball, tennis, and you will freeze\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-136698","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/136698","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=136698"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/136698\/revisions"}],"predecessor-version":[{"id":136699,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/136698\/revisions\/136699"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=136698"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=136698"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=136698"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}