/* 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":112217,"date":"2026-05-25T11:57:23","date_gmt":"2026-05-25T11:57:23","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=112217"},"modified":"2026-05-25T11:57:28","modified_gmt":"2026-05-25T11:57:28","slug":"but-really-you-need-to-know-the-rules-of-ones-casino-to-test-your-fortune-properly","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/but-really-you-need-to-know-the-rules-of-ones-casino-to-test-your-fortune-properly\/","title":{"rendered":"But really, you need to know the rules of one’s casino to test your fortune properly"},"content":{"rendered":"

MARIE, On the \ufffd There are 2 days leftover to help the online casino online<\/a> you claim a good MAXMILLIONS honor worth $1 million in the Tuesday, Lottery Maximum draw. MARIE, On the \ufffd There have been two weeks kept to claim an enthusiastic ENCORE honor worth $10,000 in the Friday, Lotto Maximum mark. MARIE, Into the \ufffd There’s two days kept so you’re able to allege a great LOTTARIO honor value $359, regarding Friday, LOTTARIO draw. MARIE, Into the \ufffd There are two months kept in order to claim an effective $10,000 prize from the Saturday, Lottery six\/forty-two mark.<\/p>\n

PlayOLG Local casino has its own appointed cellular casino software which is full from pleasing have, together with access to top internet casino ports, dining table game plus! While the research form and you may class tabs, you will notice filter systems for layouts, features, and you may team. The official OLG app has the extremely sleek cure for play, having vehicles-log on, customized notifications, and you can safe cashier combination. A streamlined Olg Signin sets your you to definitely click regarding advanced ports, customized bonuses, and the possess you love-cascades, increasing icons, respins, plus. Discover an environment of premium slots, totally free spins, and you may personal promotions with a fast, safer Olg Signin.<\/p>\n

As soon as you enroll in the fresh new OLG gambling enterprise, try to follow some basic rules. Merely find the nearest area on the its authoritative website and make yes you\ufffdre a Canadian resident from an appropriate decades.<\/p>\n

Most of the a real income bets and you may gains was paid out inside genuine cash, that can after that end up being taken into the affirmed bank account. Ontario casinos on the internet usually do not bring social incentives in the same way since the Remainder of Canada casinos. OLG works legally within Ontario’s controlled iGaming framework which can be just available to members in person based in Ontario aged 19 and you may elderly. Games list increases has enhanced rather within the 2025, jackpot variety is actually competitive, and you will financial rules was genuinely associate-friendly.<\/p>\n

For people who miss out the discount step, the new spins does not appear<\/h2>\n

To ensure that you simply invest everything offer, fool around with cash and leave the new notes at your home. Within the multiyear offer, OLG becomes an official NHL lover to have recreations … OLG now becomes an official MLB lover for wagering because of their PROLINE+ … TORONTO, On the \ufffd Ontario Lotto and Playing Enterprise (OLG) and National Basketball Organization (NBA) are celebrating the fresh 2022 NBA Write showed from the County Farm by the announcing one OLG’s PROLINE sportsbook is a formal spouse out of the newest NBA in the Ontario. Claimants having honors more $one,000 is now able to availability …<\/p>\n

MARIE, For the \ufffd There are two weeks leftover to allege an effective $100,000 ENCORE honor regarding Wednesday, PICK-3 Night draw. MARIE, To your \ufffd There are 2 weeks leftover so you’re able to claim a lottery Max second honor worthy of $144,943 in the Saturday, Lotto Max draw. MARIE, Into the \ufffd There are two months remaining so you can allege a great $5 mil prize on the Tuesday, Lotto 6\/forty two mark. MARIE, To the \ufffd There’s two months leftover so you can allege good $twenty-five,000 honor regarding the Saturday, Lotto six\/forty two Awesome Draw. MARIE, To your \ufffd There have been two weeks kept to help you claim an enthusiastic ONTARIO forty-two 2nd award really worth $50,000 regarding Wednesday, mark.<\/p>\n

The fresh reception reveals and therefore games qualify, while the free spins begin automatically after you open one of the fresh looked games. Your own cashback have to be wagered after that’s valid for 7 weeks immediately after it is issued.<\/p>\n

We will talk about the best has, offered game, or any other important info regarding OLG On-line casino opinion. OLG Casino is actually alive and you will legal within the Ontario, giving new registered users to sign up and begin to experience within only gambling enterprise dependent by province’s certified playing fee. Gambling establishment.guru is actually another source of details about online casinos and you can casino games, not controlled by one gambling operator. An initiative i circulated on the purpose to produce an international self-difference program, that can ensure it is vulnerable members so you can take off its usage of every online gambling options. The protection Index is the fundamental metric i use to identify the new honesty, fairness, and you can quality of all of the casinos on the internet within database. We hardly if discover a deposit suits provide, there are not any 100 % free spins or things considering constantly.<\/p>\n

Harbors take on cash otherwise tickets having dollars worthy of titled TITO, or \ufffdcitation in the, violation away\ufffd<\/h2>\n

Then, down load they, register, and turn into to the biometrics to own quick access. Here are some our very own authoritative application on the internet Wager Android os otherwise the new Software Store for iPhones and iPads. You could act rapidly and without having to imagine with OLG advertising while the we hold the code brief and you will clear. Since playthrough is more than, financing are released since the bucks which can be withdrawn. When you get into a code that gives your totally free revolves, have a look at just how much for each and every spin is worth, just what slot it is, and how much you could winnings overall. Two to four times thirty days, we publish directed now offers with money incentives, free spins bundles, or entry passes value $10 to help you $fifty.<\/p>\n

You are able to understand not merely about you to slot, and in addition about how precisely this type of software are employed in general. You can know practical, but when money and you can enjoyable has reached share, as to why risk it? We can continue, although part was there’s a lot understand! It’s not necessary to choice real cash, nevertheless still have an opportunity to find out more about they.<\/p>\n

Whether or not your crave large volatility otherwise simple, constant training, there are a keen Olg slot one attacks your nice put. Olg delivers an effective curated blend of antique reels and show-rich video clips titles, all the primed to have prompt game play, stacked features, and larger-earn possible. Check complete terms and conditions, eligible online game, and you can wagering rules in advance of saying. Olg Real time Casino grabs the newest high-opportunity become out of a bona fide gaming floors with elite group buyers, sharp High definition channels, and you will immediate desk access. If you want spinning reels and chasing after fascinating features, Olg Incentives try their shortcut in order to a great deal more fun time and you can big prospective production.<\/p>\n

OLG are an enthusiastic Ontario regulators manage agencies that delivers each other lotto and betting enjoyment to prospects. To your , the participants can learn about the brand new lotteries considering. It\ufffds an old place to go for gambling enterprise lovers, providing a variety of choices to bettors and you may a fantastic playing experience. The newest graphics are clear and engaging, putting some betting experience a lot more immersive. Also the colour scheme, OLG’s system also features highest-top quality graphics you to definitely improve the full graphic.<\/p>\n","protected":false},"excerpt":{"rendered":"

MARIE, On the \ufffd There are 2 days leftover to help the online casino online you claim a good MAXMILLIONS honor worth $1 million in the Tuesday, Lottery Maximum draw. MARIE, On the \ufffd There have been two weeks kept to claim an enthusiastic ENCORE honor worth $10,000 in the\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-112217","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/112217","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=112217"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/112217\/revisions"}],"predecessor-version":[{"id":112234,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/112217\/revisions\/112234"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=112217"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=112217"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=112217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}