/* 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":136788,"date":"2026-05-27T20:03:54","date_gmt":"2026-05-27T20:03:54","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=136788"},"modified":"2026-05-27T20:03:55","modified_gmt":"2026-05-27T20:03:55","slug":"popular-actions-including-paysafecard-visa-and-you-can-skrill-can-be-used-for-places","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/popular-actions-including-paysafecard-visa-and-you-can-skrill-can-be-used-for-places\/","title":{"rendered":"Popular actions including Paysafecard, Visa, and you can Skrill can be used for places"},"content":{"rendered":"

Several membership may cause long lasting bans and you will forfeiture from payouts<\/h2>\n

If you aren’t keen on this type of online game, you will also have plenty of other choice to select from, as well as American activities, handball, volleyball, tennis, and you may ice hockey. They take on numerous percentage procedures, and Visa, Bank card, Neteller, Skrill, Paysafecard, MuchBetter, Jeton, CashToCode, Payz and you will neoSurf. The final test to possess a lot of the fresh new players within web based casinos ‘s the banking otherwise cashier section. The fresh private EnergyClub VIP system is perfect for really serious members who want far more out of their betting sense.<\/p>\n

An effective occupations discover such loads of assortment, upcoming! The only real negative are you will find plenty right here, they might perhaps have fun with some extra categorisation to help you pick a favourite dining table online game. You are sure that that they had top quality, nowadays you realize he’s quality table online game. Well, you will find just one a great deal more spin of your own controls to visit.<\/p>\n

Sure if you is a different sort of customers from EnergyBet and you can satisfy its lowest fine print. Use our very own exclusive code BCVIP when transferring to obtain an excellent ?eight hundred allowed package + 100 % free revolves now. The following rules is personal to your site and you will benefit EnergyBet and you will EnergyBet Casino. Read this article banner to gain access to full T&Cs.<\/p>\n

It is simply a step to keep you and your earnings safe. Withdrawals needs to be done via the exact same method while the places.<\/p>\n

Because the so many people appreciate mobile gaming, there is the Gambling establishment Energy cellular platform gonzos quest megaways kas\u00ednov\u00e1 hra<\/a> that’s available to own most of the profiles. The website now offers all the immediate play video game that will be played as a result of a browser, deciding to make the website obtainable using one operating system. When being able to access slots, players can find a listing of every newly added games and will additionally be able to find three reel old-fashioned games. The brand new slot options at this local casino was unbelievable and professionals usually find the latest and greatest releases all of the playable into the desktops and you may mobile devices which can be utilized that have totally free spins otherwise cash wagers.<\/p>\n

Of these looking for even more independence making use of their deposits, investigating websites you’ll give a choice, enabling people first off playing with any amount they favor. There are not any big issues during this remark who would end professionals off access real money online game at the Times Gambling establishment. Customer service is always open to users who have questions or issues when accessing accounts or games.<\/p>\n

EnergyBet brings an enthusiastic immersive on line gaming knowledge of varied betting choices, alive results, and enjoyable added bonus enjoys having activities and casino fans. There is an alternative choice from clicking the fresh \ufffdforgot code\ufffd hook up just below the fresh new sign in area having a password reset. You might resolve which by the calling their customer care using the current email address your familiar with sign in your account and they’ll issue you with a good reset link. A few of the steps a customers are able to use to deposit tend to be debit credit, Euteller, Neteller, Paysafe, Skrill, Ukash, QIWI, Dotpay, Monetapay and you can Visa Put.<\/p>\n

If you’re looking to have a different gambling enterprise or perhaps do not know how to proceed the travel around, register as we look at whatever EnergyCasino enjoys to provide. The platform and emphasizes in control play, which have devices readily available right after log in setting constraints and track their pastime. If adventure isn’t your look, switch to classics like blackjack otherwise roulette, the accessible article-sign on. Keep in mind, payouts using this need account confirmation prior to withdrawal, and you can an administrative percentage will get apply in the event the KYC isn’t really done within this 1 month. Which promote pertains to your own initial deposit, along with wagering conditions put at the 25 minutes the advantage and deposit number, it\ufffds built to remain things reasonable and you may easy.<\/p>\n

But not, there’s nothing we may thought as a support system. EnergyCasino Uk has a lot of good campaigns one benefits loyalty, undoubtedly. At the same time, you realize your data is safe employing encoding efforts. Which, with the Malta permit to have all over the world users, function they’ve been since the legitimate as they been. I never had to attend more than a minute during those people era and you will was basically consistently amazed from the quality of the individuals responses. There aren’t any charges and lowest deposits begin at ?5 however they are typically ?ten.<\/p>\n

The latest management of energy Gambling enterprise brings the guarantees away from a respectable and you will safer game play. That’s available to apple’s ios users just, which is a drawback. For fans of recreating the air off ground-depending playing clubs at home, you will find a section providing online game having genuine croupiers inside the Time. Since the administration guarantees, work of your platform is initiated thus demonstrably and you will effortlessly which you barely might need service. Opportunity Gambling establishment now offers users the most famous commission tips. Folks are welcomed because of the a big flag telling them from the delights of one’s incentive program, passageway competitions or any other offers.<\/p>\n

You can find a full range of procedures on the dumps web page<\/h2>\n

While some online casinos parece, these always usually do not involve a real income bets or payouts. This type of cellular networks allows you to supply many gambling games, plus harbors, desk game, and live online game, right from your smart phone. You can find all the best jackpot casino games, on line community tournaments which have jackpot-worthwhile prizes plus daily jackpot drops. These organization are known for their reducing-border picture, interesting game play mechanics, and you will ining sense. On a single page, then there are the possibility so you can allege incentives, such Invited Bonuses.<\/p>\n

Blackjack the most prominent Real time Casino games during the EnergyCasino, therefore you can find lots of seating to complete. We’re always on the lookout for the greatest the newest online game, so you can be assured that we will keep the real time gambling establishment amusement because the fresh as well as end up being. Because the best online casinos, EnergyCasino enjoys large names for example Practical Enjoy, Advancement Gambling, Hacksaw, BF Game, Play’n Wade, NetEnt and more. When you find yourself searching for jackpot harbors, i have a few unique recommendations as well. If you are searching to have one thing exceptional, and then make bound to below are a few all of our \ufffdPromotions’ webpage in the holidays.<\/p>\n

You will additionally still be in a position to allege bonuses, put and withdraw currency, and make contact with customer care. You can access the new cellular casino here using one modern portable or tablet. You can find twenty-two types regarding blackjack, along with a lot of roulette online game. You will additionally discover that there are plenty of dining table online game so you’re able to enjoy from the EnergyCasino. You will also pick plenty of progressive jackpot slots at the EnergyCasino, along with headings regarding both Microgaming and NetEnt. You will also discover a lot of game during the real time gambling establishment.<\/p>\n

You might wager on the conventional sportsbooks where you could back the outcomes of sports from the chance which might be lay because of the the brand new bookie. In the event the playing making use of the Time Bet change, you’re not playing against the bookmaker you\ufffdre betting up against most other Times Wager users. Times Choice has twenty-eight+ staff employed by all of them and also at minimum 7,400 profiles.<\/p>\n","protected":false},"excerpt":{"rendered":"

Several membership may cause long lasting bans and you will forfeiture from payouts If you aren’t keen on this type of online game, you will also have plenty of other choice to select from, as well as American activities, handball, volleyball, tennis, and you may ice hockey. They take on\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-136788","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/136788","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=136788"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/136788\/revisions"}],"predecessor-version":[{"id":136789,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/136788\/revisions\/136789"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=136788"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=136788"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=136788"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}