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

MARIE, To your \ufffd There’s two days leftover in order to allege a MAXMILLIONS award really worth $one million regarding Monday, Lotto Max draw. MARIE, To the \ufffd There are two main months kept so you can allege an ENCORE award worthy of $ten,000 from the Saturday, Lottery Max mark. MARIE, To the \ufffd There have been two months remaining so you can allege a LOTTARIO honor value $359, in the Monday, LOTTARIO mark. MARIE, Towards \ufffd There’s two weeks left in order to allege a $10,000 prize from the Monday, Lottery 6\/44 draw.<\/p>\n

PlayOLG Local casino has its appointed cellular casino software that is complete http:\/\/spinspacecasino-fi.com\/fi-fi<\/a> out of fun features, plus usage of best on-line casino ports, dining table online game and! While the lookup setting and you can classification tabs, you will see filter systems having themes, have, and you may company. The state OLG application gets the extremely streamlined cure for enjoy, with vehicle-log in, individualized notifications, and safe cashier integration. A sleek Olg Signin throws your you to definitely click regarding superior harbors, designed bonuses, and the enjoys you like-cascades, increasing symbols, respins, and more. Discover a whole lot of premium harbors, totally free spins, and exclusive campaigns having a simple, safe Olg Signin.<\/p>\n

Whenever you enroll in the brand new OLG gambling establishment, attempt to realize some elementary rules. Simply discover the nearest location to the the specialized web site while making yes you\ufffdre a good Canadian citizen away from a legal age.<\/p>\n

All real cash bets and wins is actually given out within the real dollars, that may up coming be taken for the affirmed family savings. Ontario web based casinos never provide social bonuses in the same way since the Rest of Canada gambling enterprises. OLG operates legitimately inside Ontario’s controlled iGaming build which is simply open to members actually situated in Ontario old 19 and old. Online game catalogue increases has also increased somewhat within the 2025, jackpot diversity was aggressive, and you will financial guidelines was undoubtedly representative-friendly.<\/p>\n

For individuals who miss out the promotion move, the latest revolves will not appear<\/h2>\n

To make sure you just spend what you offer, use bucks and then leave the brand new cards at home. Under the multiyear deal, OLG gets a formal NHL spouse getting recreations … OLG now gets a formal MLB partner having wagering due to its PROLINE+ … TORONTO, On the \ufffd Ontario Lotto and you will Gambling Company (OLG) as well as the Federal Basketball Association (NBA) is honoring the latest 2022 NBA Draft demonstrated by the State Farm of the announcing you to definitely OLG’s PROLINE sportsbook has grown to become a formal mate from the brand new NBA in the Ontario. Claimants which have honours over $1,000 is now able to availability …<\/p>\n

MARIE, Into the \ufffd There are 2 months left to allege a $100,000 ENCORE prize on Wednesday, PICK-twenty-three Night mark. MARIE, To your \ufffd There’s two months remaining to allege a lottery Maximum next honor really worth $144,943 in the Saturday, Lottery Maximum mark. MARIE, Towards \ufffd There’s two weeks kept in order to claim a great $5 million award on Tuesday, Lotto 6\/forty two mark. MARIE, Towards \ufffd There are two months remaining to claim an effective $twenty five,000 award on Tuesday, Lottery six\/forty-two Extremely Draw. MARIE, For the \ufffd There are 2 weeks remaining so you can claim a keen ONTARIO 49 second honor value $fifty,000 from the Wednesday, mark.<\/p>\n

The fresh new reception shows and this online game are eligible, and totally free spins begin automatically once you discover one of the new seemed online game. Your cashback have to be gambled just after that is valid to own 7 weeks after it\ufffds provided.<\/p>\n

We are going to discuss the finest enjoys, readily available game, and other important info in the OLG On-line casino remark. OLG Casino was real time and you can judge within the Ontario, offering new registered users to register and commence to experience in the simply gambling establishment depending from the province’s authoritative playing commission. Gambling establishment.master are a different way to obtain facts about web based casinos and you can online casino games, maybe not controlled by any gambling driver. An effort we introduced for the mission which will make an international self-exclusion system, that succeed insecure users in order to stop its entry to all gambling on line opportunities. The security List is the chief metric i use to define the brand new honesty, fairness, and you will quality of all the web based casinos within our database. I barely if ever located a deposit fits bring, there are not any 100 % free revolves otherwise anything offered constantly.<\/p>\n

Slots undertake cash or seats having dollars value called TITO, otherwise \ufffdpass for the, ticket away\ufffd<\/h2>\n

Up coming, obtain it, sign in, and turn into towards biometrics having quick access. Here are a few our very own specialized app on the internet Wager Android or the brand new Application Shop for iPhones and you may iPads. You might work easily and you can without having to suppose that have OLG advertising while the i hold the language quick and you will clear. While the playthrough is over, fund are put out because the bucks which can be withdrawn. When you get into a code that provides your totally free spins, view exactly how much per twist may be worth, exactly what slot it is, and exactly how much you can win altogether. 2 to 4 moments a month, i post directed now offers that have money bonuses, totally free revolves bundles, otherwise entryway seats really worth $10 so you can $50.<\/p>\n

It is possible to learn not just more about one slot, and also about precisely how these software are employed in standard. You could understand hands on, however when currency and you can enjoyable is located at stake, why chance they? We can embark on, nevertheless point try there is lots to understand! You don’t need to bet real money, but you have the opportunity to discover more about they.<\/p>\n

If or not your crave large volatility otherwise effortless, regular instruction, there are a keen Olg slot you to attacks your sweet destination. Olg delivers an effective curated combination of vintage reels and show-steeped movies titles, most of the primed to own timely game play, loaded features, and huge-victory possible. Check always full terms and conditions, qualified games, and betting laws ahead of stating. Olg Live Gambling establishment catches the fresh new high-energy getting away from a bona fide playing floors with top-notch investors, clean Hd avenues, and you may instant dining table access. If you love rotating reels and chasing thrilling enjoys, Olg Incentives is the shortcut to even more fun time and large possible production.<\/p>\n

OLG is an enthusiastic Ontario authorities work with department providing you with one another lottery and you will gaming recreation to prospects. Into the , the players normally know about the latest lotteries given. It is a vintage destination for gambling enterprise enthusiasts, providing a wide range of options to gamblers and you will an exciting playing sense. The newest picture are obvious and entertaining, putting some gambling sense much more immersive. And the colour scheme, OLG’s program comes with the highest-top quality picture one to increase the complete artistic.<\/p>\n","protected":false},"excerpt":{"rendered":"

MARIE, To your \ufffd There’s two days leftover in order to allege a MAXMILLIONS award really worth $one million regarding Monday, Lotto Max draw. MARIE, To the \ufffd There are two main months kept so you can allege an ENCORE award worthy of $ten,000 from the Saturday, Lottery Max mark.\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-112085","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/112085","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=112085"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/112085\/revisions"}],"predecessor-version":[{"id":112123,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/112085\/revisions\/112123"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=112085"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=112085"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=112085"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}