/* 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":118788,"date":"2026-05-25T13:05:17","date_gmt":"2026-05-25T13:05:17","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=118788"},"modified":"2026-05-25T13:05:18","modified_gmt":"2026-05-25T13:05:18","slug":"but-really-you-need-to-know-the-rules-of-your-own-gambling-establishment-to-check-their-chance-safely","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/but-really-you-need-to-know-the-rules-of-your-own-gambling-establishment-to-check-their-chance-safely\/","title":{"rendered":"But really, you need to know the rules of your own gambling establishment to check their chance safely"},"content":{"rendered":"

MARIE, Towards \ufffd There’s two months remaining so you’re able to claim a great MAXMILLIONS honor worthy of $one million in the Tuesday, Lotto Max mark. MARIE, Into the \ufffd There are 2 months left to help you claim an ENCORE prize really worth $ten,000 regarding Friday, Lottery Max draw. MARIE, Into the \ufffd There are two main months leftover in order to allege an excellent LOTTARIO award worth $359, on the Monday, LOTTARIO draw. MARIE, Into the \ufffd There are two main weeks remaining to allege a good $10,000 award on Monday, Lottery 6\/forty two mark.<\/p>\n

PlayOLG Casino has its appointed cellular local casino application which is full off exciting have, along with access to best online casino ports, table video game plus! And the search setting and you may classification tabs, you will see strain to possess layouts, possess, and you may business. The state OLG software comes with the really smooth solution to gamble, that have auto-login, individualized notifications, and you may safer cashier combination. A streamlined Olg Signin sets you one simply click off superior harbors, tailored incentives, and have you adore-cascades, increasing symbols, respins, and more. Unlock a world of advanced slots, 100 % free spins, and personal advertising with an instant, secure Olg Signin.<\/p>\n

Whenever you enroll in the new OLG casino, you will need to follow some basic guidelines spinland<\/a> . Simply get the nearby area for the the certified webpages and work out sure you are a Canadian citizen of a legal years.<\/p>\n

All real money wagers and you may victories try settled within the real bucks, that will up coming become taken towards verified family savings. Ontario online casinos usually do not give societal bonuses the same way as the Remainder of Canada casinos. OLG operates lawfully contained in this Ontario’s managed iGaming framework and is simply available to people myself located in Ontario old 19 and you will old. Video game catalog progress also offers improved somewhat within the 2025, jackpot variety are competitive, and you may financial laws is certainly associate-amicable.<\/p>\n

For folks who skip the promotion action, the brand new spins doesn’t appear<\/h2>\n

To ensure that you only spend what you offer, use bucks and then leave the brand new notes yourself. According to the multiyear contract, OLG will get an official NHL lover to possess sporting events … OLG now gets an official MLB mate to possess sports betting due to their PROLINE+ … TORONTO, To your \ufffd Ontario Lotto and Gaming Business (OLG) and also the Federal Baseball Connection (NBA) is actually remembering the new 2022 NBA Draft exhibited from the State Farm by announcing you to definitely OLG’s PROLINE sportsbook has become a formal mate away from the newest NBA during the Ontario. Claimants having awards over $1,000 is now able to supply …<\/p>\n

MARIE, Towards \ufffd There’s two months remaining so you’re able to claim an excellent $100,000 ENCORE honor regarding Wednesday, PICK-3 Evening mark. MARIE, To the \ufffd There are 2 weeks left in order to allege a lotto Maximum next honor really worth $144,943 regarding the Friday, Lotto Maximum mark. MARIE, For the \ufffd There are two months remaining in order to claim a good $5 billion honor on Friday, Lottery 6\/forty two mark. MARIE, Into the \ufffd There have been two months leftover to claim good $25,000 honor in the Tuesday, Lottery six\/49 Awesome Mark. MARIE, On the \ufffd There’s two days leftover in order to claim an ONTARIO 49 second award well worth $fifty,000 regarding Wednesday, mark.<\/p>\n

The fresh reception shows and this video game meet the requirements, plus the free revolves begin instantly once you discover one of the new appeared game. Your cashback need to be wagered shortly after and that is legitimate to own eight weeks immediately following it is given.<\/p>\n

We will talk about the ideal have, offered games, or other information from the OLG Internet casino comment. OLG Local casino is actually live and legal in the Ontario, offering new registered users to register and begin to relax and play during the just gambling establishment dependent by the province’s official gambling payment. Gambling establishment.master are an independent supply of details about casinos on the internet and you can gambling games, perhaps not subject to one betting operator. A step we introduced for the objective in order to make a worldwide self-different system, that can allow insecure professionals in order to cut off the entry to all the gambling on line ventures. The safety Index ‘s the main metric we used to define the latest honesty, fairness, and you may quality of all of the web based casinos in our databases. We rarely when discover a deposit fits bring, there are no free revolves otherwise something given usually.<\/p>\n

Harbors deal with dollars otherwise entry having bucks worth entitled TITO, otherwise \ufffdcitation during the, solution away\ufffd<\/h2>\n

After that, down load they, register, and turn on the biometrics to have fast access. Below are a few the formal app online Play for Android or the new App Shop having iPhones and you will iPads. You might operate quickly and you will without the need to guess with OLG campaigns as the we support the code quick and you can obvious. Because playthrough is over, financing are released because the dollars which are withdrawn. When you enter a password that gives your totally free revolves, see simply how much for every single spin may be worth, exactly what slot it\ufffds, and exactly how far you could victory altogether. Two to four times thirty day period, we send targeted offers with currency bonuses, free spins packages, otherwise admission passes value $10 in order to $50.<\/p>\n

You are able to discover not merely about you to position, as well as about how precisely this type of software work with general. You might learn on the job, but when money and you can enjoyable reaches risk, as to the reasons exposure it? We could carry on, nevertheless the part try there’s a lot understand! You don’t need to wager a real income, however you have an opportunity to discover more about they.<\/p>\n

If you desire large volatility otherwise simple, steady courses, there are an enthusiastic Olg position that strikes your sweet put. Olg delivers good curated mix of vintage reels and have-steeped video titles, all of the primed to have quick game play, stacked provides, and big-win possible. Check always full conditions, eligible game, and betting laws before saying. Olg Real time Local casino grabs the fresh highest-energy be off a bona-fide betting floor with elite group dealers, sharp Hd streams, and you will instantaneous dining table accessibility. If you love rotating reels and you may chasing thrilling have, Olg Bonuses try your own shortcut to help you more fun time and you will big potential output.<\/p>\n

OLG are an enthusiastic Ontario regulators work on agency that provides one another lottery and you will playing activity to prospects. Into the , the participants is discover the brand new lotteries offered. It\ufffds an old place to go for gambling enterprise followers, bringing numerous options to gamblers and you can a fantastic betting feel. The latest image are clear and you will engaging, putting some playing experience a lot more immersive. Plus the colour pallette, OLG’s system also features highest-high quality graphics one enhance the full aesthetic.<\/p>\n","protected":false},"excerpt":{"rendered":"

MARIE, Towards \ufffd There’s two months remaining so you’re able to claim a great MAXMILLIONS honor worthy of $one million in the Tuesday, Lotto Max mark. MARIE, Into the \ufffd There are 2 months left to help you claim an ENCORE prize really worth $ten,000 regarding Friday, Lottery Max draw.\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-118788","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/118788","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=118788"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/118788\/revisions"}],"predecessor-version":[{"id":118791,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/118788\/revisions\/118791"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=118788"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=118788"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=118788"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}