/* 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":120325,"date":"2026-05-25T13:11:50","date_gmt":"2026-05-25T13:11:50","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=120325"},"modified":"2026-05-25T13:11:51","modified_gmt":"2026-05-25T13:11:51","slug":"yet-you-must-know-the-guidelines-of-your-casino-to-check-their-fortune-securely","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/yet-you-must-know-the-guidelines-of-your-casino-to-check-their-fortune-securely\/","title":{"rendered":"Yet ,, you must know the guidelines of your casino to check their fortune securely"},"content":{"rendered":"

MARIE, Into the \ufffd There’s two days leftover so you can allege good MAXMILLIONS prize well worth $1 million regarding Saturday, Lotto Max mark. MARIE, To your \ufffd There are two main days left so you can allege a keen ENCORE honor value $ten,000 from the Saturday, Lottery Max draw. MARIE, For the \ufffd There are two main days leftover to help you allege an effective LOTTARIO prize well worth $359, from the Friday, LOTTARIO draw. MARIE, Into the \ufffd There are two main weeks left to claim an effective $ten,000 honor from the Tuesday, Lottery six\/44 draw.<\/p>\n

PlayOLG Gambling enterprise has its designated cellular gambling establishment app which is complete from fascinating provides, in addition to use of best internet casino ports, dining table game and a lot more! And also the look means and you will category tabs, you will observe strain having templates, possess, and organization. The official OLG software has got the really smooth cure for gamble, with auto-sign on, customized notifications, and you will safe cashier consolidation. A streamlined Olg Signin throws your one to simply click from superior slots, designed incentives, and have you love-cascades, expanding icons, respins, plus. Discover a whole lot of premium harbors, 100 % free revolves, and you will private promotions that have an instant, safe Olg Signin.<\/p>\n

Whenever you enroll in the latest OLG local www.starzino-nederland.nl<\/a> casino, try to follow some elementary guidelines. Just discover the nearest location towards their specialized webpages while making yes you\ufffdre a Canadian resident out of an appropriate ages.<\/p>\n

All the real money bets and victories try paid inside genuine bucks, that then getting taken to your affirmed bank account. Ontario web based casinos dont provide societal bonuses in the same way while the Remainder of Canada casinos. OLG operates legitimately contained in this Ontario’s managed iGaming construction and that is merely available to members actually situated in Ontario old 19 and you will elderly. Game catalog progress has also increased notably in the 2025, jackpot assortment was competitive, and you will banking legislation is genuinely member-amicable.<\/p>\n

For folks who miss out the promo move, the fresh new revolves cannot arrive<\/h2>\n

To make sure you just spend what you bring, use dollars and leave the new notes yourself. Within the multiyear deal, OLG will get an official NHL spouse having recreations … OLG now becomes a formal MLB partner for wagering because of their PROLINE+ … TORONTO, To the \ufffd Ontario Lottery and you can Betting Company (OLG) plus the National Baseball Association (NBA) try honoring the fresh 2022 NBA Draft exhibited of the State Ranch by proclaiming one to OLG’s PROLINE sportsbook is now a formal companion off the newest NBA during the Ontario. Claimants which have honours more $1,000 may now availableness …<\/p>\n

MARIE, To your \ufffd There are 2 days leftover so you’re able to claim a good $100,000 ENCORE award on Wednesday, PICK-3 Nights draw. MARIE, Into the \ufffd There are two days left in order to claim a lotto Maximum 2nd award worth $144,943 on Tuesday, Lottery Max draw. MARIE, For the \ufffd There are 2 days remaining in order to claim a good $5 mil prize from the Friday, Lotto 6\/forty two mark. MARIE, Towards \ufffd There are 2 months kept to allege an excellent $25,000 award regarding the Friday, Lottery 6\/forty two Awesome Draw. MARIE, To your \ufffd There are 2 months left in order to allege a keen ONTARIO 49 next award worthy of $50,000 in the Wednesday, draw.<\/p>\n

The new lobby suggests and therefore game meet the criteria, while the totally free revolves start immediately once you discover one of the newest appeared video game. Their cashback have to be gambled once and that is good to have eight months immediately after it\ufffds granted.<\/p>\n

We’ll discuss the top features, offered online game, or other important information regarding OLG Internet casino remark. OLG Local casino is alive and you can court for the Ontario, providing new registered users to join up and begin to try out at the only gambling enterprise based by province’s authoritative gambling payment. Gambling enterprise.expert are another supply of information about online casinos and you will gambling games, maybe not controlled by any playing operator. An initiative we introduced towards goal in order to make a major international self-difference system, that may ensure it is vulnerable professionals so you’re able to block their the means to access most of the gambling on line ventures. The security Directory ‘s the head metric we used to determine the newest honesty, fairness, and you may quality of all online casinos inside our database. I scarcely if receive in initial deposit matches promote, there are no 100 % free revolves or something offered always.<\/p>\n

Ports accept dollars or entry which have dollars worthy of titled TITO, otherwise \ufffdcitation inside the, violation away\ufffd<\/h2>\n

After that, obtain it, sign in, and become to your biometrics getting immediate access. Here are some the specialized application on the internet Play for Android os or the latest App Shop to have iPhones and you can iPads. You might work rapidly and you can without having to assume with OLG advertisements since we support the language quick and you will clear. Because the playthrough is over, finance is put out as the dollars which can be withdrawn. When you enter a password that provides your 100 % free revolves, take a look at simply how much for every spin deserves, just what slot it is, and exactly how far you can win altogether. Two to four moments thirty days, we publish directed has the benefit of having money incentives, 100 % free spins bundles, or admission tickets really worth $ten so you’re able to $fifty.<\/p>\n

You’ll be able to see not simply more info on you to definitely slot, as well as regarding how these types of app work with standard. You could potentially discover practical, but when money and you will enjoyable is located at share, why exposure they? We are able to carry on, nevertheless the part is actually there is a lot to learn! You don’t need to wager real money, however you have a way to discover more about they.<\/p>\n

Whether or not your crave higher volatility otherwise easy, steady instruction, discover an enthusiastic Olg position you to definitely moves the nice place. Olg brings an effective curated blend of vintage reels and have-rich video titles, all of the primed to own timely gameplay, piled provides, and you will large-win prospective. Check full terminology, eligible game, and you may wagering guidelines just before stating. Olg Real time Casino grabs the brand new large-times become of a real playing floor that have elite people, crisp Hd streams, and instant desk availability. If you like spinning reels and you can chasing exciting features, Olg Incentives are your own shortcut in order to a lot more playtime and you can big potential productivity.<\/p>\n

OLG are an Ontario regulators manage department that delivers each other lotto and you will gambling entertainment to prospects. To the , the players can also be discover the latest lotteries given. It is a vintage destination for casino enthusiasts, delivering a variety of choices to bettors and you can a thrilling playing sense. The fresh new image are clear and you will entertaining, deciding to make the playing experience more immersive. And the colour scheme, OLG’s system also features high-top quality picture you to increase the complete graphic.<\/p>\n","protected":false},"excerpt":{"rendered":"

MARIE, Into the \ufffd There’s two days leftover so you can allege good MAXMILLIONS prize well worth $1 million regarding Saturday, Lotto Max mark. MARIE, To your \ufffd There are two main days left so you can allege a keen ENCORE honor value $ten,000 from the Saturday, 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-120325","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/120325","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=120325"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/120325\/revisions"}],"predecessor-version":[{"id":120329,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/120325\/revisions\/120329"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=120325"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=120325"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=120325"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}