/* 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":116246,"date":"2026-05-25T12:46:42","date_gmt":"2026-05-25T12:46:42","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=116246"},"modified":"2026-05-25T12:46:43","modified_gmt":"2026-05-25T12:46:43","slug":"yet-you-should-know-the-guidelines-of-your-local-casino-to-check-on-the-chance-safely","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/yet-you-should-know-the-guidelines-of-your-local-casino-to-check-on-the-chance-safely\/","title":{"rendered":"Yet, you should know the guidelines of your local casino to check on the chance safely"},"content":{"rendered":"

MARIE, On the \ufffd There’s two months left in order to claim an effective MAXMILLIONS prize value $one million from the Monday, Lotto Maximum mark. MARIE, Into the \ufffd There are 2 weeks remaining to help you claim an ENCORE award well worth $10,000 in the Tuesday, Lottery Max mark. MARIE, To your \ufffd There have been two weeks left to claim a LOTTARIO honor value $359, regarding Tuesday, LOTTARIO draw. MARIE, Towards \ufffd There are two main days leftover in order to claim a great $ten,000 prize on the Friday, Lottery six\/44 draw.<\/p>\n

PlayOLG Local casino has its appointed cellular gambling establishment app which is full off pleasing enjoys, along with entry to top on-line casino ports, dining table games plus! tivoli-casino.dk<\/a> While the look mode and you will classification tabs, you will observe filters having layouts, features, and you may team. The state OLG software comes with the extremely sleek answer to enjoy, that have vehicle-log on, individualized announcements, and you will safer cashier integration. A smooth Olg Signin places your you to click of superior harbors, tailored incentives, and the enjoys you love-cascades, increasing icons, respins, and more. Discover a world of premium ports, 100 % free revolves, and you will personal campaigns having a simple, secure Olg Signin.<\/p>\n

As soon as you become a member of the new OLG local casino, just be sure to pursue some elementary legislation. Only discover the nearest location towards the specialized webpages and make yes you are an effective Canadian resident regarding a legal age.<\/p>\n

The real cash wagers and you can gains try settled inside real bucks, that upcoming getting withdrawn towards affirmed checking account. Ontario online casinos don’t offer personal incentives exactly the same way because Remainder of Canada casinos. OLG works legally contained in this Ontario’s controlled iGaming framework that’s only open to participants in person based in Ontario aged 19 and you will elderly. Video game list growth has also enhanced somewhat within the 2025, jackpot assortment is aggressive, and you can financial rules is truly associate-amicable.<\/p>\n

For those who skip the promotion move, the fresh revolves doesn’t appear<\/h2>\n

To ensure that you only spend everything provide, explore bucks and then leave the fresh notes yourself. According to the multiyear offer, OLG will get a proper NHL spouse to possess sports … OLG today becomes a proper MLB spouse having sports betting thanks to the PROLINE+ … TORONTO, For the \ufffd Ontario Lottery and Gaming Business (OLG) and also the National Basketball Association (NBA) is remembering the new 2022 NBA Write shown of the State Ranch from the declaring one to OLG’s PROLINE sportsbook is actually a formal companion from the fresh NBA inside the Ontario. Claimants with honors more $one,000 are now able to availability …<\/p>\n

MARIE, To your \ufffd There have been two months left in order to allege an excellent $100,000 ENCORE honor on the Wednesday, PICK-3 Nights draw. MARIE, For the \ufffd There are two main months remaining to help you allege a lottery Max second prize worthy of $144,943 on the Tuesday, Lotto Maximum draw. MARIE, On the \ufffd There’s two weeks left in order to claim an excellent $5 mil honor on Tuesday, Lotto six\/49 mark. MARIE, To your \ufffd There are two main days kept to allege a good $25,000 prize regarding the Monday, Lotto six\/44 Extremely Mark. MARIE, Towards \ufffd There are 2 days leftover so you can claim an enthusiastic ONTARIO forty-two 2nd honor really worth $50,000 regarding the Wednesday, draw.<\/p>\n

The brand new lobby reveals and that online game meet the criteria, while the 100 % free revolves begin instantly when you discover among the fresh new featured online game. Your cashback have to be gambled shortly after which can be valid to have seven days immediately following it is awarded.<\/p>\n

We’ll discuss the better enjoys, offered online game, or any other important information regarding OLG On-line casino review. OLG Gambling establishment was real time and you can legal during the Ontario, giving new registered users to sign up and begin to try out from the merely local casino founded from the province’s official betting payment. Gambling enterprise.master is another source of information about online casinos and you may gambling games, not controlled by people betting user. A step i revealed into the mission to create a worldwide self-exemption program, that succeed vulnerable players so you’re able to cut-off its accessibility all online gambling solutions. The protection Directory ‘s the head metric i used to explain the new sincerity, equity, and top-notch most of the web based casinos within our databases. We rarely if discover a deposit fits promote, there aren’t any totally free spins or some thing considering always.<\/p>\n

Ports accept dollars otherwise tickets having cash worth called TITO, or \ufffdcitation inside the, pass away\ufffd<\/h2>\n

Upcoming, download it, check in, and turn into towards biometrics having quick access. Listed below are some our formal application on google Wager Android os otherwise the fresh Application Store to own iPhones and you will iPads. You can work easily and you will without having to suppose which have OLG offers while the we keep the language small and you may clear. While the playthrough is over, funds was released because the cash which are withdrawn. When you go into a code providing you with you 100 % free spins, consider just how much per spin is really worth, what slot it is, and exactly how far you could potentially victory as a whole. 2 to 4 times thirty days, i publish focused also offers with currency bonuses, free spins bundles, otherwise admission entry value $ten so you can $50.<\/p>\n

You’ll be able to learn besides more about you to definitely position, but also about how precisely such software work with standard. You could potentially see practical, but when currency and you may enjoyable is located at share, as to the reasons exposure they? We are able to embark on, nevertheless the area is actually there’s a lot understand! It’s not necessary to wager a real income, you continue to have a way to learn more about they.<\/p>\n

If you desire large volatility otherwise effortless, regular instruction, you will find an Olg position you to definitely moves your sweet destination. Olg brings a good curated blend of antique reels and have-steeped clips headings, all the primed for quick gameplay, loaded possess, and you can large-victory possible. Always check complete words, eligible game, and you will betting laws and regulations before claiming. Olg Alive Gambling enterprise captures the brand new high-time be off a bona-fide betting flooring with elite buyers, sharp Hd streams, and you can quick desk availableness. If you love spinning reels and you can chasing exciting features, Olg Incentives was your own shortcut in order to much more fun time and you can large possible output.<\/p>\n

OLG is a keen Ontario bodies manage company providing you with both lottery and you may betting recreation to individuals. Into the , the players can find out about the latest lotteries given. It is a classic place to go for casino followers, taking many choices to bettors and a thrilling playing sense. The fresh new image are unmistakeable and you can entertaining, putting some betting experience much more immersive. And the colour scheme, OLG’s program comes with the large-quality image you to definitely improve the full artistic.<\/p>\n","protected":false},"excerpt":{"rendered":"

MARIE, On the \ufffd There’s two months left in order to claim an effective MAXMILLIONS prize value $one million from the Monday, Lotto Maximum mark. MARIE, Into the \ufffd There are 2 weeks remaining to help you claim an ENCORE award well worth $10,000 in the Tuesday, 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":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-116246","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/116246","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=116246"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/116246\/revisions"}],"predecessor-version":[{"id":116247,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/116246\/revisions\/116247"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=116246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=116246"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=116246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}