/* 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":112517,"date":"2026-05-25T11:57:32","date_gmt":"2026-05-25T11:57:32","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=112517"},"modified":"2026-05-25T11:57:39","modified_gmt":"2026-05-25T11:57:39","slug":"but-really-you-should-know-the-guidelines-of-your-gambling-establishment-to-evaluate-their-chance-safely","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/but-really-you-should-know-the-guidelines-of-your-gambling-establishment-to-evaluate-their-chance-safely\/","title":{"rendered":"But really, you should know the guidelines of your gambling establishment to evaluate their chance safely"},"content":{"rendered":"

MARIE, On the \ufffd There are two main days leftover to allege good MAXMILLIONS award worthy of $one million on the Saturday, Lottery Maximum mark. MARIE, Towards \ufffd There are 2 weeks kept so you can claim an enthusiastic ENCORE award well worth $ten,000 in the Monday, Lotto Max draw. MARIE, For the \ufffd There have been two weeks remaining so you’re able to allege good LOTTARIO prize well worth $359, in the Tuesday, LOTTARIO mark. MARIE, Towards \ufffd There are two weeks left so you can claim good $ten,000 award regarding the Monday, Lotto 6\/forty-two mark.<\/p>\n

PlayOLG Casino has its appointed mobile local casino software that’s complete from enjoyable enjoys, as well as use of top on-line casino slots, dining table online game and much more! And search setting and category tabs, you will notice filter systems getting themes, have, and company. The official OLG app comes with the extremely https:\/\/winlegendscasino-ca.com\/<\/a> smooth answer to play, with vehicle-login, customized announcements, and secure cashier integration. A smooth Olg Signin puts you you to click of premium ports, designed incentives, and also the possess you adore-cascades, expanding symbols, respins, and. Discover an environment of premium slots, free spins, and you may private advertisements with a simple, safer Olg Signin.<\/p>\n

When you become a member of the newest OLG casino, you will need to go after some basic rules. Just discover the nearest area towards the formal webpages making sure you\ufffdre a Canadian citizen out of an appropriate decades.<\/p>\n

All a real income wagers and you will victories is actually paid inside genuine bucks, that after that end up being withdrawn for the confirmed family savings. Ontario web based casinos never provide social incentives the same exact way as the Remainder of Canada gambling enterprises. OLG works legitimately within Ontario’s managed iGaming framework which is only accessible to participants personally based in Ontario aged 19 and you can earlier. Game list gains has also improved notably inside the 2025, jackpot diversity try aggressive, and banking regulations is genuinely member-amicable.<\/p>\n

For many who miss the promotion move, the newest spins does not arrive<\/h2>\n

To ensure that you just spend that which you render, play with cash and leave the fresh new cards in the home. According to the multiyear contract, OLG will get a formal NHL spouse having football … OLG today gets an official MLB companion having wagering because of the PROLINE+ … TORONTO, To your \ufffd Ontario Lotto and you may Betting Firm (OLG) and National Baseball Association (NBA) try celebrating the fresh new 2022 NBA Draft demonstrated by the County Farm from the declaring you to OLG’s PROLINE sportsbook has become an official partner from the newest NBA in the Ontario. Claimants that have honors more than $1,000 is now able to availableness …<\/p>\n

MARIE, Towards \ufffd There are 2 months left in order to allege an effective $100,000 ENCORE prize in the Wednesday, PICK-twenty-three Nights draw. MARIE, For the \ufffd There are two days left so you’re able to claim a lotto Max 2nd prize worthy of $144,943 on the Saturday, Lottery Max draw. MARIE, To your \ufffd There have been two months kept so you can allege an effective $5 million award on the Saturday, Lotto six\/44 draw. MARIE, To the \ufffd There have been two months left to allege a good $twenty five,000 honor regarding the Saturday, Lottery 6\/49 Very Draw. MARIE, On the \ufffd There are two weeks kept in order to allege a keen ONTARIO forty-two next award well worth $fifty,000 on Wednesday, mark.<\/p>\n

The new lobby reveals and this video game are eligible, and the free revolves start instantly when you discover one of the fresh new looked online game. Their cashback must be wagered immediately following which can be legitimate to own seven days shortly after it is granted.<\/p>\n

We will discuss the ideal provides, offered online game, and other information on OLG Internet casino remark. OLG Gambling enterprise is live and courtroom for the Ontario, providing new registered users to join up and commence to tackle within only gambling enterprise founded from the province’s official gaming fee. Local casino.expert try a separate supply of details about casinos on the internet and you will casino games, perhaps not subject to any betting operator. An initiative we revealed on the goal to make a global self-exclusion program, that can allow it to be insecure people so you can block their accessibility most of the online gambling potential. The protection Directory ‘s the chief metric we used to identify the fresh trustworthiness, fairness, and you can quality of all of the casinos on the internet within databases. I hardly when found a deposit matches bring, there are not any 100 % free spins otherwise anything considering constantly.<\/p>\n

Harbors take on dollars otherwise tickets which have dollars well worth named TITO, otherwise \ufffdadmission during the, violation out\ufffd<\/h2>\n

Up coming, install it, check in, and be into the biometrics getting immediate access. Here are a few our formal app on google Play for Android or the latest App Shop having iPhones and you may iPads. You might operate quickly and without the need to guess having OLG offers since the we contain the language short and you will obvious. Since playthrough is more than, fund is put-out since cash which may be withdrawn. After you get into a password that delivers you 100 % free spins, look at how much cash for each twist is worth, just what position it\ufffds, and just how far you can earn as a whole. Two to four moments 30 days, i send focused now offers having money incentives, totally free spins bundles, otherwise admission tickets worth $ten so you can $50.<\/p>\n

You’ll be able to understand not only more about one position, and in addition regarding how these application work with standard. You could know hands on, nevertheless when currency and you can fun is located at risk, why chance it? We are able to carry on, nevertheless section was there’s a lot to understand! You don’t need to bet real money, you still have an opportunity to learn more about it.<\/p>\n

Whether you desire higher volatility or smooth, constant instructions, you can find an enthusiastic Olg position you to moves their sweet put. Olg brings good curated blend of classic reels and show-steeped films titles, the primed for timely gameplay, stacked has, and you can larger-win prospective. Check always full terminology, eligible online game, and you will wagering rules prior to claiming. Olg Live Gambling enterprise grabs the latest high-energy end up being from a genuine gaming flooring which have top-notch dealers, crisp High definition streams, and you will quick desk access. If you prefer spinning reels and you can chasing fascinating have, Olg Incentives try the shortcut so you can far more playtime and you can large prospective yields.<\/p>\n

OLG was an enthusiastic Ontario government manage agency that delivers both lottery and you may betting activity to people. On the , the players is also realize about the fresh new lotteries provided. It\ufffds a classic destination for local casino lovers, bringing many choices to gamblers and you can an exciting gaming sense. The newest image are clear and you can entertaining, deciding to make the betting feel more immersive. Plus the colour pallette, OLG’s program also features high-high quality graphics you to definitely improve the overall visual.<\/p>\n","protected":false},"excerpt":{"rendered":"

MARIE, On the \ufffd There are two main days leftover to allege good MAXMILLIONS award worthy of $one million on the Saturday, Lottery Maximum mark. MARIE, Towards \ufffd There are 2 weeks kept so you can claim an enthusiastic ENCORE award well worth $ten,000 in the Monday, Lotto Max draw.\u2026<\/p>\n

Continue reading<\/span><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-112517","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/112517","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=112517"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/112517\/revisions"}],"predecessor-version":[{"id":112558,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/112517\/revisions\/112558"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=112517"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=112517"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=112517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}