/* 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":99780,"date":"2026-05-25T11:18:07","date_gmt":"2026-05-25T11:18:07","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=99780"},"modified":"2026-05-25T11:18:07","modified_gmt":"2026-05-25T11:18:07","slug":"but-really-you-must-know-the-rules-of-your-own-gambling-establishment-to-evaluate-the-fortune-securely","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/but-really-you-must-know-the-rules-of-your-own-gambling-establishment-to-evaluate-the-fortune-securely\/","title":{"rendered":"But really, you must know the rules of your own gambling establishment to evaluate the fortune securely"},"content":{"rendered":"

MARIE, To the \ufffd There are two months left to help you allege an excellent MAXMILLIONS award value $1 million regarding the Monday, Lotto Maximum mark. MARIE, For the \ufffd There are 2 weeks left in order to claim a keen ENCORE honor well worth $ten,000 regarding Friday, Lottery Maximum mark. MARIE, Towards \ufffd There are two months leftover so you’re able to claim a good LOTTARIO prize worthy of $359, on the Saturday, LOTTARIO draw. MARIE, Into the \ufffd There are two main weeks left in order to claim an excellent $ten,000 award regarding the Saturday, Lotto 6\/forty-two mark.<\/p>\n

PlayOLG Gambling enterprise has its own designated mobile casino application that’s full away from enjoyable provides, plus use of top internet casino slots, http:\/\/star-slots.co.uk<\/a> table online game and! As well as the lookup form and category tabs, you will see filter systems for templates, features, and you may team. The official OLG app contains the really smooth means to fix gamble, which have auto-sign on, personalized announcements, and secure cashier consolidation. A sleek Olg Signin puts you you to mouse click away from superior slots, tailored incentives, and the features you like-cascades, increasing symbols, respins, plus. Discover a full world of superior ports, 100 % free revolves, and personal promotions which have a quick, secure Olg Signin.<\/p>\n

Once you become a member of the new OLG casino, just be sure to pursue some basic laws and regulations. Just get the nearest place to your the authoritative web site to make sure you\ufffdre good Canadian citizen regarding a legal age.<\/p>\n

The real money bets and you may wins are paid out in the actual bucks, which can next feel withdrawn to your verified savings account. Ontario casinos on the internet dont offer public bonuses the same exact way since Rest of Canada gambling enterprises. OLG works legally in this Ontario’s regulated iGaming structure and is simply available to participants privately located in Ontario old 19 and you can old. Game catalogue increases also offers improved rather inside the 2025, jackpot variety is aggressive, and you may banking laws was genuinely member-amicable.<\/p>\n

For many who miss the promotion step, the latest spins does not show up<\/h2>\n

To ensure that you simply purchase that which you promote, explore bucks and then leave the newest cards at your home. Beneath the multiyear offer, OLG becomes a proper NHL partner to own sports … OLG now becomes an official MLB mate to own wagering as a result of its PROLINE+ … TORONTO, To the \ufffd Ontario Lottery and you will Betting Business (OLG) and the National Basketball Organization (NBA) are remembering the new 2022 NBA Draft shown from the Condition Farm by announcing one OLG’s PROLINE sportsbook has become a proper companion away from the new NBA during the Ontario. Claimants having prizes more than $1,000 can now supply …<\/p>\n

MARIE, To the \ufffd There have been two months kept to claim an effective $100,000 ENCORE award regarding Wednesday, PICK-3 Night mark. MARIE, On the \ufffd There are two main days kept so you can allege a lottery Maximum next prize value $144,943 in the Monday, Lottery Maximum draw. MARIE, For the \ufffd There’s two months leftover in order to claim a good $5 billion honor regarding the Friday, Lotto six\/44 draw. MARIE, Into the \ufffd There have been two weeks kept to help you claim a good $25,000 prize on the Friday, Lottery 6\/49 Extremely Draw. MARIE, For the \ufffd There are two months left so you’re able to claim an ONTARIO 44 next prize value $fifty,000 from the Wednesday, mark.<\/p>\n

The brand new lobby suggests and therefore online game meet the criteria, and free spins start automatically when you unlock one of the fresh checked video game. Your cashback must be gambled immediately following and is legitimate to possess seven weeks shortly after it is given.<\/p>\n

We shall talk about the top provides, offered games, or other important info regarding the OLG Online casino review. OLG Casino is live and legal inside the Ontario, providing new registered users to sign up and start to relax and play from the only gambling enterprise founded from the province’s certified playing percentage. Gambling establishment.master is actually an independent source of facts about online casinos and you can online casino games, perhaps not controlled by people gambling operator. A step we revealed to your objective to produce a worldwide self-exception to this rule program, that may allow it to be insecure professionals so you’re able to take off its use of all of the gambling on line solutions. The protection Directory is the chief metric we used to identify the new trustworthiness, fairness, and you may quality of most of the web based casinos in our databases. I rarely if ever discover in initial deposit suits promote, there are not any 100 % free spins otherwise some thing offered constantly.<\/p>\n

Ports take on bucks or seats having cash well worth named TITO, otherwise \ufffdviolation inside, solution aside\ufffd<\/h2>\n

After that, download it, register, and start to become into the biometrics having quick access. Check out all of our official app on the internet Wager Android otherwise the new Application Store having iPhones and you can iPads. You can act easily and you can without the need to imagine having OLG promotions because we contain the language brief and obvious. Since playthrough is over, financing was put out since bucks which may be taken. After you get into a password providing you with you totally free spins, look at exactly how much per twist is worth, exactly what position it is, and exactly how much you can victory in total. 2 to 4 minutes 1 month, i posting focused also provides having money incentives, free spins packages, otherwise admission tickets worthy of $10 in order to $fifty.<\/p>\n

You can understand not simply a lot more about you to definitely position, plus precisely how this type of app are employed in standard. You could discover hands on, but when money and enjoyable has reached stake, why chance it? We are able to continue, nevertheless the part was there is lots to know! You don’t have to wager a real income, you have a chance to discover more about they.<\/p>\n

Whether or not you crave highest volatility otherwise simple, regular lessons, there are an enthusiastic Olg position one to moves their sweet put. Olg provides good curated combination of vintage reels and show-steeped clips headings, all primed to have prompt gameplay, stacked have, and you may larger-earn potential. Check complete terminology, qualified games, and you may wagering legislation before claiming. Olg Live Local casino catches the brand new higher-energy end up being off a real betting floors having elite traders, sharp High definition streams, and you can quick desk availability. If you prefer rotating reels and you may chasing exciting have, Olg Bonuses are their shortcut so you can more fun time and big prospective returns.<\/p>\n

OLG are an Ontario government work at agencies that provides each other lottery and gaming amusement to people. On the , the players normally find out about the fresh new lotteries considering. It\ufffds an old destination for casino enthusiasts, bringing an array of choices to gamblers and you may an exciting gambling experience. The fresh graphics are obvious and you may interesting, deciding to make the gaming feel even more immersive. Along with the colour scheme, OLG’s program also features higher-top quality picture one to enhance the total artistic.<\/p>\n","protected":false},"excerpt":{"rendered":"

MARIE, To the \ufffd There are two months left to help you allege an excellent MAXMILLIONS award value $1 million regarding the Monday, Lotto Maximum mark. MARIE, For the \ufffd There are 2 weeks left in order to claim a keen ENCORE honor well worth $ten,000 regarding Friday, Lottery Maximum\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-99780","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/99780","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=99780"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/99780\/revisions"}],"predecessor-version":[{"id":99781,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/99780\/revisions\/99781"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=99780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=99780"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=99780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}