/* 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":106761,"date":"2026-05-25T11:47:46","date_gmt":"2026-05-25T11:47:46","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=106761"},"modified":"2026-05-25T11:47:46","modified_gmt":"2026-05-25T11:47:46","slug":"yet-you-have-to-know-the-guidelines-of-your-own-casino-to-check-on-their-luck-safely","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/yet-you-have-to-know-the-guidelines-of-your-own-casino-to-check-on-their-luck-safely\/","title":{"rendered":"Yet ,, you have to know the guidelines of your own casino to check on their luck safely"},"content":{"rendered":"

MARIE, Towards \ufffd There are 2 weeks kept so you can allege good MAXMILLIONS honor worthy of $1 million regarding the Tuesday, Lotto Maximum draw. MARIE, On the \ufffd There are two days leftover to claim an ENCORE award really worth $10,000 regarding Monday, Lottery Maximum mark. MARIE, For the \ufffd There are 2 months remaining so you can allege an effective LOTTARIO award really worth $359, in the Monday, LOTTARIO draw. MARIE, On the \ufffd There are two days kept to allege a $ten,000 award from the Tuesday, Lottery 6\/forty-two draw.<\/p>\n

PlayOLG Local casino has its own appointed mobile gambling establishment app that is full away from enjoyable has, together with use of best internet casino slots, dining table video game and much more! Plus the search form and class tabs, you will notice filter systems for templates, enjoys, and you may business. The official OLG app contains the very sleek means to fix enjoy, which have vehicle-sign on, personalized notifications, and you may safe cashier integration. A sleek Olg Signin throws you you to mouse click away from premium slots, customized bonuses, while the possess you adore-cascades, growing signs, respins, and much more. Unlock a full world of advanced harbors, 100 % free revolves, and you can exclusive promotions that have a fast, safer Olg Signin.<\/p>\n

Once you become a member of the newest OLG gambling establishment, attempt to realize some elementary laws and regulations. Just discover nearby venue to the their specialized site making yes you are good Canadian citizen away from an appropriate decades.<\/p>\n

Most of the real cash wagers and you may gains is actually given out inside real bucks, which can upcoming getting taken into the confirmed family savings. Ontario casinos on the internet usually do not offer personal bonuses the same exact way as the Remainder of Canada casinos. OLG operates legitimately in this Ontario’s controlled iGaming construction that is just accessible to people privately based in Ontario aged 19 and you may more mature. Games catalogue progress likewise has enhanced somewhat within the 2025, jackpot range try aggressive, and financial laws try certainly affiliate-friendly.<\/p>\n

For people who miss the promotion action, the latest revolves cannot arrive<\/h2>\n

To ensure that you simply purchase what you promote, play with cash and leave the fresh new notes at your home. Beneath the multiyear price, OLG gets a proper NHL lover getting football … OLG now will get an official MLB partner having sports betting as a consequence of its PROLINE+ … TORONTO, For the \ufffd Ontario Lottery and you can Playing Enterprise (OLG) and National Basketball Organization (NBA) try celebrating the newest 2022 NBA Write showed of the Condition Ranch of the declaring you to definitely OLG’s PROLINE sportsbook has become an official lover off the latest NBA inside Ontario. Claimants which have awards over $1,000 can supply …<\/p>\n

MARIE, To your \ufffd There’s two days leftover so you can claim a $100,000 ENCORE honor regarding Wednesday, PICK-12 Nights mark. MARIE, To your \ufffd There are two main days leftover in order to claim a lotto Maximum next prize worth $144,943 regarding Tuesday, Lottery Maximum mark. MARIE, For winbet casino<\/a> the \ufffd There are two main weeks kept in order to allege an effective $5 mil award from the Tuesday, Lotto 6\/49 draw. MARIE, On the \ufffd There have been two months left to claim a great $25,000 award regarding Monday, Lottery 6\/forty-two Super Draw. MARIE, Into the \ufffd There’s two weeks remaining to claim an ONTARIO 49 second prize worthy of $fifty,000 in the Wednesday, mark.<\/p>\n

The brand new reception shows hence video game meet the requirements, while the free revolves start immediately after you discover one of the latest seemed games. Your cashback should be gambled shortly after which can be valid to own seven days immediately following it\ufffds granted.<\/p>\n

We’re going to discuss the best has, readily available video game, or any other information in the OLG Online casino comment. OLG Local casino try live and you may judge in the Ontario, offering new registered users to register and commence to relax and play at just gambling enterprise established from the province’s formal playing percentage. Gambling enterprise.master are a separate way to obtain information about casinos on the internet and casino games, maybe not subject to people betting user. A step we released on the objective which will make an international self-exclusion system, that allow it to be vulnerable people so you’re able to block its accessibility every gambling on line ventures. The safety Index ‘s the main metric i use to describe the new trustworthiness, equity, and you can top-notch the casinos on the internet within our databases. We hardly if ever found a deposit match provide, there are no 100 % free revolves otherwise things provided constantly.<\/p>\n

Harbors accept bucks otherwise seats with cash well worth named TITO, otherwise \ufffdpass in the, citation out\ufffd<\/h2>\n

Up coming, download they, check in, and turn into to the biometrics to own immediate access. Listed below are some the authoritative app online Wager Android or the newest Software Shop having iPhones and you can iPads. You can operate rapidly and you will without having to assume with OLG campaigns as the i hold the words short and you will obvious. While the playthrough is more than, financing is actually released since cash which might be withdrawn. After you get into a password providing you with you totally free spins, view how much cash for every spin is definitely worth, just what slot it is, and just how much you could potentially winnings as a whole. Two to four times 1 month, i posting targeted has the benefit of which have currency bonuses, free revolves packages, or entry passes well worth $ten so you’re able to $50.<\/p>\n

You can easily learn besides about you to definitely slot, plus about how these types of software are employed in general. You can discover hands on, but once money and you may enjoyable reaches risk, why risk they? We can carry on, nevertheless point is there is a lot understand! It’s not necessary to wager real money, however you have a way to find out about it.<\/p>\n

If your desire highest volatility or smooth, constant classes, you will find an Olg slot you to strikes the sweet room. Olg delivers a curated mixture of antique reels and have-steeped films headings, the primed for timely game play, piled has, and you may big-win possible. Always check complete terminology, qualified video game, and you may wagering legislation just before claiming. Olg Real time Casino captures the fresh new high-time be off a genuine playing flooring that have professional dealers, sharp Hd avenues, and you can quick table access. If you want rotating reels and you may chasing after exciting provides, Olg Incentives was the shortcut in order to much more playtime and bigger potential production.<\/p>\n

OLG is actually an enthusiastic Ontario government work on agencies that delivers each other lotto and you can gambling recreation to people. To your , the participants is also understand the brand new lotteries offered. It\ufffds an old destination for casino followers, providing many choices to gamblers and you can a thrilling gambling sense. The fresh picture are obvious and you may enjoyable, deciding to make the gambling experience even more immersive. In addition to the colour pallette, OLG’s program comes with the higher-high quality image you to help the overall artistic.<\/p>\n","protected":false},"excerpt":{"rendered":"

MARIE, Towards \ufffd There are 2 weeks kept so you can allege good MAXMILLIONS honor worthy of $1 million regarding the Tuesday, Lotto Maximum draw. MARIE, On the \ufffd There are two days leftover to claim an ENCORE award really worth $10,000 regarding Monday, Lottery Maximum mark. MARIE, For the\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-106761","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/106761","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=106761"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/106761\/revisions"}],"predecessor-version":[{"id":106764,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/106761\/revisions\/106764"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=106761"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=106761"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=106761"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}