/* 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":122904,"date":"2026-05-25T13:20:27","date_gmt":"2026-05-25T13:20:27","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=122904"},"modified":"2026-05-25T13:20:28","modified_gmt":"2026-05-25T13:20:28","slug":"canadian-participants-get-incentives-on-the-birthdays-like-free-revolves-put-matches-and-you-may-loyalty-items","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/canadian-participants-get-incentives-on-the-birthdays-like-free-revolves-put-matches-and-you-may-loyalty-items\/","title":{"rendered":"Canadian participants get incentives on the birthdays, like free revolves, put matches, and you may loyalty items"},"content":{"rendered":"

Countess Bucks\ufffd is amongst the most recent real cash online pokies there are!<\/h2>\n

When you join and you can enjoy online game every day, Jackpot Town gambling establishment offers custom benefits according to your own betting activities. The fresh honor is going to be free spins otherwise a deposit bonus in order to raise your payouts at this internet casino inside the Canada. Included in Jackpot City’s allowed incentive, Canadian players discovered an effective 100% put matches as high as C$400 to their very first four places, totalling C$1,600. This site design is a thing one to users are familiar with if it frequent iGaming networks.<\/p>\n

Per sort of baccarat on line delivers a thrilling gambling sense from the catering to several to play styles and personal choice. That being said, the support is right, the newest range and you will top-notch game are fantastic and they have sufficient currencies and you may languages to make any user from all around the country pleased. It\ufffds a shame that with high betting towards added bonus has the benefit of, the latest advertisements are nothing more than extra cash to shed, in lieu of any actual danger of getting people payouts. There could not as many position online game as numerous out of the fresh casinos nowadays as they just have one to app supplier, nevertheless the games is of top quality and some are great enjoyable. Along with for folks who now head to the Vegas case discover an effective band of NetEnt harbors to pick from and Gonzo’s Trip and you will Dead or Real time. Transferring from the an on-line local casino is a straightforward and easy procedure which provides lots of alternatives for participants to love their playing experience.<\/p>\n

That have prompt and you can safer banking methods particularly Interac, Charge, Credit card, and trusted age-purses, the working platform guarantees simple deposits and distributions, making their playing experience simple from start to finish. Canadian people love JackpotCity for the impressive kind of games, good BeCasino<\/a> advertising, and you can credible profits. Getting into JackpotCity Gambling establishment Canada means entering perhaps one of the most trusted, pleasing, and rewarding on the internet betting tourist attractions in the country. Much gain benefit from the deposit matches also the bonus wheel spin most of the four era. Jackpot Urban area helps by permitting pages to set put limits that cannot be exceeded, or notice-difference symptoms where you stand locked from your account fully for an excellent specified period.<\/p>\n

Which have effortless streaming, interactive talk solutions, and you will secure playing possess, JackpotCity ensures participants in the Canada benefit from the adventure regarding genuine-time gambling establishment motion without the need to visit an area-centered gambling enterprise. JackpotCity Live Dealer Casino delivers an actual, real-time gaming experience so you’re able to participants across the Canada. Canadian participants can take advantage of individualized extra drops, contest honors, and you may each day suits incentives designed to their gaming hobby. The new casino currently also provides probably one of the most competitive greeting incentives within the Canada, giving beginners an opportunity to claim as much as thousands in the fits incentives along with totally free spins for the well-known slot game.<\/p>\n

After you build at least deposit away from $20 via crypto, you could claim a good 150% complement to $one,500 twice, that’s ample on how best to talk about your preferred headings. Slot machine amusement is a bit distinct from classic harbors for the so it uses a lot more media, therefore it is more aesthetically tempting. And if you are shortly after legendary online slots games activity, you’ll definitely have to below are a few Super Moolah, among the many world’s really iconic progressive jackpot online game. Participants is also explore creative distinctions particularly Multifire Roulette and you will Perfect Strategy Black-jack, for each including a different sort of spin these types of antique video game. Regardless if you are chasing big perks or viewing nonstop enjoy, fu88 will be your place to go for bold recreation and you can satisfying minutes.<\/p>\n

From the Jackpot Town Casino, you’ll find the outdated favourite Jacks or Better, Deuces Wild and all sorts of Aces, and Poker Pursuit, among other reliably strong Electronic poker video game options. There had been certain large wins about video game that are legendary within the gaming area. From the most widely used version, Monopoly Alive, people get into a live and you will CGI hybrid ecosystem, where a controls away from luck is spun. At the top of their own themes, there are a selection of common franchises and you can common brand harbors, particularly Game of Thrones, Hellboy, Maid of honor, and you can Terminator, getting a number of the most popular reveals and you can video towards slot’s display. We must claim that it\ufffds Microgaming and their incredible range of the greatest a real income slots on the internet which make Jackpot Town Gambling enterprise what they are.<\/p>\n

Yet not, that’s all there are in terms of RNG-pushed table video game, because the baccarat, poker and chop game are merely readily available as the live casino versions. If you’d like to raise your odds of successful, browse the casino’s Megaways collection, featuring well-known titles particularly Large Bass Bonanza Megaways and you can Shamrock Holmes. The new totally free spins try appreciated within 10p for each, and a 30x betting specifications relates to profits. An excellent 50x betting needs relates to added bonus money, while the would weighting standards, but there are not any wagering requirements towards totally free spin earnings.<\/p>\n

Totally licensed and you will controlled, Jackpot area assures a secure and you will legitimate gambling feel. Grab that it unique render now and start the playing journey having additional loans to explore the enjoyable games. Join Jackpot city and enjoy a good 100% suits in your basic deposit, doubling your own funds quickly. Getting reduced usage of your profits, like e-purses otherwise upgrade so you can very first-category VIP reputation.<\/p>\n

The new audio quality try crisp and you will with no a lot of records noise, and also the 3d animations are very well-defined and you can obvious. Having particularly many video game, it isn’t difficult both for the brand new and you can seasoned members to get good game to complement the top and taste. They’re all the placed in the newest table less than, and you might as well as select the really starred game at Jackpot Urban area.The latest games and your most starred are automatically stored inside the the fresh gambling enterprise lobby, to help you enjoy right away. Naturally, there can be baccarat, casino poker, roulette, and more on how best to play.<\/p>\n

Jackpot urban area also provides an unbelievable list of game that remain myself amused<\/h2>\n

Small print incorporate, so it’s told to evaluate the fresh new advertisements webpage for details. Normal offers, commitment rewards, and you will an excellent VIP system render constant bonuses having going back players, guaranteeing an advisable feel every time they log on. Run on Microgaming, one of several playing industry’s top application providers, the newest local casino assures higher-top quality gambling which have charming image and you may smooth game play. The newest gambling enterprise operates within the certificates of credible bodies, guaranteeing a safe and reasonable betting environment. Accessibility over 500 online casino games, immersive real time agent dining tables, and wagering-all of the optimised to own Android os, apple’s ios, or people cellular web browser into the biggest playing sense.<\/p>\n

Collect the fresh new highest-value moonlight symbols to build the payouts and works your method to the among the many game’s generous jackpots. Which have Moving Reels\ufffd, big free revolves, and you may good-looking multipliers, you will be the latest jealousy of one’s Gods!<\/p>\n

An informed spending online slots normally have higher RTP rates, strong extra enjoys, otherwise jackpot possible. Wins are not considering time of day, number of people, or past show. Which have a funky sound recording, Bison Moon is a wonderful gambling sense on the score-wade. Bison Moonlight\ufffd also provides an exciting playing experience in have including Connect&Win\ufffd, 100 % free Revolves, a profit Enhancer\ufffd, or over to help you four potential jackpot awards.<\/p>\n","protected":false},"excerpt":{"rendered":"

Countess Bucks\ufffd is amongst the most recent real cash online pokies there are! When you join and you can enjoy online game every day, Jackpot Town gambling establishment offers custom benefits according to your own betting activities. The fresh honor is going to be free spins otherwise a deposit bonus\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-122904","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/122904","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=122904"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/122904\/revisions"}],"predecessor-version":[{"id":122906,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/122904\/revisions\/122906"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=122904"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=122904"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=122904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}