/* 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":123404,"date":"2026-05-25T13:21:57","date_gmt":"2026-05-25T13:21:57","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=123404"},"modified":"2026-05-25T13:21:57","modified_gmt":"2026-05-25T13:21:57","slug":"but-really-you-should-know-the-principles-of-your-casino-to-test-your-chance-safely","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/but-really-you-should-know-the-principles-of-your-casino-to-test-your-chance-safely\/","title":{"rendered":"But really, you should know the principles of your casino to test your chance safely"},"content":{"rendered":"

MARIE, On the \ufffd There’s two months left so you can claim an excellent MAXMILLIONS honor worthy of $1 million regarding the Tuesday, Lottery Max draw. MARIE, Towards \ufffd There’s two days remaining to claim a keen ENCORE honor really worth $ten,000 in the Monday, Lotto Max mark. MARIE, Towards \ufffd There are 2 months kept to allege a LOTTARIO prize really worth $359, in the Monday, LOTTARIO draw. MARIE, Towards \ufffd There are 2 weeks leftover to claim a good $ten,000 award on Tuesday, Lottery 6\/forty two mark.<\/p>\n

PlayOLG Casino has its designated mobile local casino software which is full away from pleasing has, together with entry to top online casino ports, desk online game plus! And also the look setting and group tabs, you will see strain getting templates, has, and company. The official OLG app has got the extremely smooth answer to play, that have vehicles-log in, custom announcements, and you will safe cashier consolidation. A smooth Olg Signin throws your one to click out of superior harbors, designed incentives, and also the enjoys you adore-cascades, expanding signs, respins, and. Unlock an environment of advanced slots, totally free spins, and you may exclusive offers that have a quick, safer Olg Signin.<\/p>\n

When you enroll in the fresh new OLG gambling establishment, just be sure to pursue some basic guidelines. Just https:\/\/bassbet-fi.net\/fi-fi\/<\/a> discover nearby location into the its certified site and make sure you\ufffdre an effective Canadian citizen of an appropriate years.<\/p>\n

All real cash bets and victories is given out in the real cash, that upcoming feel taken towards affirmed savings account. Ontario casinos on the internet usually do not provide social incentives in the same way while the Remainder of Canada casinos. OLG operates lawfully inside Ontario’s regulated iGaming design and that is just accessible to members myself situated in Ontario aged 19 and you will older. Video game catalog growth also has increased somewhat within the 2025, jackpot diversity was aggressive, and banking laws was undoubtedly user-friendly.<\/p>\n

For folks who skip the promo move, the newest spins cannot show up<\/h2>\n

To make sure you simply invest what you provide, use cash and leave the newest cards at your home. In multiyear price, OLG gets an official NHL spouse to own activities … OLG now becomes a formal MLB spouse to have wagering as a consequence of the PROLINE+ … TORONTO, Into the \ufffd Ontario Lotto and you will Playing Business (OLG) and the Federal Baseball Relationship (NBA) is actually celebrating the latest 2022 NBA Draft presented of the State Farm of the proclaiming you to OLG’s PROLINE sportsbook is actually a proper mate off the fresh new NBA for the Ontario. Claimants which have honours more $1,000 can access …<\/p>\n

MARIE, On the \ufffd There’s two weeks left so you’re able to claim good $100,000 ENCORE prize regarding the Wednesday, PICK-twenty-three Night mark. MARIE, To the \ufffd There are two main weeks leftover to allege a lottery Max second prize worthy of $144,943 on Friday, Lotto Maximum mark. MARIE, Into the \ufffd There have been two weeks kept in order to claim a $5 billion prize on Saturday, Lottery 6\/forty two draw. MARIE, To the \ufffd There have been two months kept so you can claim a good $twenty five,000 honor regarding Tuesday, Lottery six\/forty two Super Draw. MARIE, To the \ufffd There have been two months remaining in order to claim an enthusiastic ONTARIO 44 second honor worthy of $50,000 from the Wednesday, draw.<\/p>\n

The newest reception suggests hence games are eligible, and 100 % free revolves begin immediately once you unlock one of the brand new checked games. Your cashback must be wagered immediately after and that is appropriate to own eight weeks just after it is provided.<\/p>\n

We will talk about the better have, available online game, or any other important information regarding OLG On-line casino feedback. OLG Local casino is actually real time and you may legal in the Ontario, providing new users to register and begin to play at merely casino centered of the province’s authoritative gaming payment. Gambling enterprise.master is another supply of details about web based casinos and you can casino games, maybe not subject to people gambling user. An effort i circulated to your purpose in order to make a major international self-exemption system, that may make it insecure players so you’re able to take off their usage of all of the gambling on line ventures. The protection Index is the fundamental metric i used to determine the latest trustworthiness, equity, and top-notch all the casinos on the internet inside our database. We barely if ever discovered a deposit meets promote, there aren’t any free revolves or anything offered usually.<\/p>\n

Ports undertake bucks or entry which have bucks worth called TITO, or \ufffdadmission for the, solution out\ufffd<\/h2>\n

Up coming, down load they, sign in, and start to become on the biometrics getting quick access. Here are some our very own certified software on google Play for Android os otherwise the fresh Application Store having iPhones and you will iPads. You can operate easily and without having to assume with OLG advertising as the i hold the words brief and clear. Because playthrough is over, loans is actually put-out as the bucks which are withdrawn. Once you get into a code providing you with your totally free revolves, take a look at simply how much each spin is definitely worth, what slot it\ufffds, as well as how far you can profit altogether. 2 to 4 times thirty day period, i publish directed even offers having currency incentives, totally free spins packages, or admission seats well worth $ten so you can $fifty.<\/p>\n

You’ll be able to discover not only a little more about one slot, plus regarding how these types of application operate in standard. You can discover practical, but once money and you may enjoyable is located at share, as to why chance they? We are able to embark on, but the part is actually there’s a lot knowing! You don’t have to bet real cash, however you still have an opportunity to learn more about they.<\/p>\n

Whether or not you desire high volatility otherwise simple, constant instructions, there are an enthusiastic Olg slot one strikes your own sweet spot. Olg provides a great curated combination of antique reels and show-steeped videos titles, most of the primed having fast gameplay, loaded provides, and large-winnings potential. Check always complete terms and conditions, qualified video game, and you can betting laws in advance of saying. Olg Real time Casino grabs the fresh new high-times feel off a real gambling floors with elite group buyers, sharp High definition avenues, and you will quick dining table availableness. If you prefer spinning reels and you can chasing after exciting have, Olg Bonuses try the shortcut so you can even more playtime and large possible productivity.<\/p>\n

OLG are a keen Ontario authorities work at agency that gives each other lottery and you can gaming enjoyment to individuals. Into the , the players can be know about the new lotteries provided. It\ufffds a vintage destination for gambling establishment followers, getting many options to bettors and you can an exciting gambling feel. The latest graphics are unmistakeable and you can entertaining, putting some betting sense a great deal more immersive. As well as the colour pallette, OLG’s platform also features high-top quality graphics you to definitely help the full graphic.<\/p>\n","protected":false},"excerpt":{"rendered":"

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