/* 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":129633,"date":"2026-05-25T13:31:53","date_gmt":"2026-05-25T13:31:53","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=129633"},"modified":"2026-05-25T13:31:55","modified_gmt":"2026-05-25T13:31:55","slug":"yet-you-must-know-the-rules-of-ones-casino-to-check-on-their-fortune-securely","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/yet-you-must-know-the-rules-of-ones-casino-to-check-on-their-fortune-securely\/","title":{"rendered":"Yet, you must know the rules of one’s casino to check on their fortune securely"},"content":{"rendered":"

MARIE, Into the \ufffd There have been two months leftover so you can claim good MAXMILLIONS award well worth $one million on Saturday, Lotto Max draw. MARIE, For the \ufffd There are two weeks remaining in order to claim an enthusiastic ENCORE prize worth $ten,000 on the Tuesday, Lottery Maximum mark. MARIE, On the \ufffd There are two months left to allege good LOTTARIO prize well worth $359, in the Monday, LOTTARIO draw. MARIE, Into the \ufffd There’s two months left in order to claim good $ten,000 honor in the Friday, Lotto 6\/forty two mark.<\/p>\n

PlayOLG Gambling establishment has its designated cellular gambling establishment application that is complete off fascinating have, together with usage of best internet casino slots, desk games plus! And lookup form and you can classification tabs, you’ll see filter systems to own themes, provides, and team. The official OLG app comes with the really sleek answer to play, which have vehicle-log in, individualized announcements, and you will safe cashier combination. A smooth Olg Signin sets you one simply click off premium slots, tailored incentives, while the features you adore-cascades, growing signs, respins, and more. Unlock a full world of advanced slots, 100 % free spins, and you can personal advertisements that have an instant, secure Olg Signin.<\/p>\n

Whenever you enroll in the latest OLG local casino, make an effort to pursue some basic laws. Just discover the nearest location to the the specialized website making yes you\ufffdre an effective Canadian resident from a legal age.<\/p>\n

All of the a real income bets and wins are paid out during the real cash, that next getting withdrawn to the affirmed savings account. Ontario casinos on the internet you should never promote personal incentives exactly the same way since Remainder of Canada casinos. OLG works lawfully contained in this Ontario’s controlled iGaming build that is only accessible to participants privately situated in Ontario old 19 and old. Online game catalog gains even offers enhanced notably for the 2025, jackpot diversity is actually competitive, and financial laws and regulations is actually truly associate-amicable.<\/p>\n

If you skip the discount step, the fresh new revolves will not arrive<\/h2>\n

To ensure that you merely purchase that which you offer, play with dollars and leave the fresh cards at your home. Underneath the multiyear contract, OLG gets a proper NHL companion to have sports … OLG now becomes a formal MLB partner to own wagering due to its PROLINE+ … TORONTO, To your \ufffd Ontario Lottery and Playing Organization (OLG) as well as the Federal Basketball Association (NBA) is actually celebrating the fresh new 2022 NBA Write displayed from the County Farm by proclaiming you to OLG’s PROLINE sportsbook is becoming a formal spouse away from the fresh NBA inside Ontario. Claimants which have awards more $one,000 can supply …<\/p>\n

MARIE, To the \ufffd There are two months left so you can claim good $100,000 ENCORE honor on the Wednesday, PICK-3 Night draw. MARIE, On the \ufffd There are 2 weeks leftover to allege a lottery Maximum second award really worth $144,943 regarding the Friday, Lotto Max mark. MARIE, To the \ufffd There are two months leftover in SuperSport<\/a> order to allege a $5 billion prize in the Tuesday, Lotto six\/44 draw. MARIE, For the \ufffd There’s two months kept to allege a good $twenty-five,000 prize in the Monday, Lotto six\/44 Super Draw. MARIE, On the \ufffd There are two main months kept so you can claim an ONTARIO forty-two second prize well worth $50,000 on Wednesday, draw.<\/p>\n

The fresh reception shows which online game meet the criteria, plus the totally free spins begin automatically after you unlock one of the fresh new appeared video game. Your cashback must be wagered immediately after that is legitimate having eight months after it is issued.<\/p>\n

We’re going to talk about the better possess, available video game, or other important information regarding OLG Online casino opinion. OLG Gambling establishment was alive and legal for the Ontario, offering new registered users to sign up and begin to play during the merely gambling enterprise founded because of the province’s formal betting fee. Local casino.master was a different supply of information about casinos on the internet and you will casino games, perhaps not subject to any playing user. A step we launched towards goal which will make a major international self-exception to this rule system, that may allow it to be vulnerable users so you’re able to stop the usage of all online gambling options. The security Directory is the chief metric i use to define the fresh trustworthiness, fairness, and you may quality of all of the casinos on the internet within our databases. We barely if discovered a deposit fits offer, there aren’t any totally free revolves or something given usually.<\/p>\n

Ports deal with bucks or passes which have bucks value named TITO, or \ufffdpass within the, ticket aside\ufffd<\/h2>\n

Upcoming, download it, sign in, and be to your biometrics having immediate access. Listed below are some all of our specialized app on google Play for Android os or the new App Shop for iPhones and you will iPads. You could potentially act easily and you will without the need to guess with OLG advertisements because we contain the language quick and you may clear. While the playthrough is more than, money try create as the bucks which may be taken. When you go into a password that delivers your 100 % free revolves, take a look at exactly how much for each and every spin deserves, just what position it\ufffds, and how much you can profit overall. 2 to 4 moments thirty day period, i post directed has the benefit of which have currency incentives, free revolves packages, or admission tickets value $ten so you can $50.<\/p>\n

You’ll learn not just more about one position, and about how exactly these app operate in standard. You can discover practical, however when currency and you may fun has reached stake, why chance it? We can continue, but the area is there’s a lot knowing! You don’t need to bet real money, but you continue to have the opportunity to find out about they.<\/p>\n

If you desire high volatility or easy, regular classes, you will find a keen Olg position you to hits the sweet destination. Olg delivers a great curated mix of antique reels and feature-rich movies headings, the primed for punctual game play, stacked features, and huge-winnings prospective. Check always complete conditions, qualified online game, and you can betting laws and regulations ahead of saying. Olg Alive Local casino grabs the brand new highest-opportunity feel of a real betting flooring that have professional traders, sharp High definition streams, and instant dining table accessibility. If you prefer spinning reels and you may going after fascinating provides, Olg Incentives was your shortcut so you can a great deal more fun time and you can big possible returns.<\/p>\n

OLG are an Ontario bodies focus on company that gives both lottery and betting amusement to prospects. To your , the participants normally know about the latest lotteries offered. It\ufffds a classic place to go for gambling establishment fans, bringing an array of choices to bettors and you may a thrilling gambling sense. The newest image are unmistakeable and you may entertaining, deciding to make the gaming feel much more immersive. Along with the colour scheme, OLG’s system also features high-high quality picture you to definitely enhance the complete artistic.<\/p>\n","protected":false},"excerpt":{"rendered":"

MARIE, Into the \ufffd There have been two months leftover so you can claim good MAXMILLIONS award well worth $one million on Saturday, Lotto Max draw. MARIE, For the \ufffd There are two weeks remaining in order to claim an enthusiastic ENCORE prize worth $ten,000 on the Tuesday, Lottery Maximum\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-129633","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/129633","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=129633"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/129633\/revisions"}],"predecessor-version":[{"id":129643,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/129633\/revisions\/129643"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=129633"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=129633"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=129633"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}