/* 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":15560,"date":"2026-05-09T01:05:08","date_gmt":"2026-05-09T01:05:08","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=15560"},"modified":"2026-05-09T01:05:10","modified_gmt":"2026-05-09T01:05:10","slug":"very-hot-luxury-demo-position-%e1%90%88-100-percent-free-enjoy-%ef%b8%8f-rtp-95-66","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/very-hot-luxury-demo-position-%e1%90%88-100-percent-free-enjoy-%ef%b8%8f-rtp-95-66\/","title":{"rendered":"Very hot Luxury Demo Position \u1408 100 percent free Enjoy ️ RTP: 95 66%"},"content":{"rendered":"

Initiating all the Alawin Casino<\/a> paylines increases multiplier triggering potential. Maximize 3x multiplier during the totally free revolves from the landing higher-worthy of combinations across the 15 paylines. The top of edge of the display reveals how many 100 percent free revolves you really have kept, the latest achievement multiplier additionally the amassed benefits. Several online casinos that provide pokies feel the Panther Moonlight slot host.<\/p>\n

This is how you might very benefit from the multipliers your winnings and then have your hands on specific good profitable combinations to own totally free. Here you could come across exactly how many of your 20 paylines your desire to bet on and just how many coins you should wager. All of the regulation are neatly exhibited accessible and so are very easy to follow when you get the fresh hang off anything. The newest sepia colour pallette allows you to feel just like you may be wandering as much as a set on old Hollywood whilst creating a bit good grim ambiance.<\/p>\n

There clearly was yet not an increase gamble mode which allows professionals to slow down or speed up the latest reel revolves into every Novomatic harbors! You will find some additional slot games solution settings your constantly probably going to be able to make the means to access whenever to try out Novomatic slot games, and as such usually glance at what you can adjust whenever playing any one of the slots. There are numerous countries of the world that if you is actually located in you are not legally probably going to be able to tackle all of the Novomatic slot online game often for free or even for real money. As long as you keeps money in to your gambling enterprise membership your can play him or her right away, and exercise merely prefer a stake top the amount out of shell out traces we should enjoy and then click to the spin option to send the latest reels spinning! Certain Novomatic ports are connected towards the each other and can render a minumum of one local or networked progressive jackpots however keep in mind that when you do set about to try out those people slot video game the brand new jackpots is actually granted randomly so you can people. Since you have realized of right up above, Novomatic slot machines have been found inside the homes based gambling enterprises and you may gambling venues for decades, and they usually do seem to need pleasure regarding put on people betting place gambling floor.<\/p>\n

Focus on the more spins now offers because this basic games does not have bonus possess. This is not reel specific, which means that its smart when step three or maybe more homes anywhere towards brand new reels including a great 3x multiplier. It has got a 4500 coins prize when a person countries 5 Lucky People\u2019s Attraction symbol so you can complete every reels. Are the fresh Whales Pearl totally free gamble video game, and retrigger the new totally free spins bonus and luxuriate in an effective 2x multiplier. To join up, search for gambling enterprises providing Whales Pearl position free the real deal money and construct an account with them. Dolphins Pearl position on the web totally free has numerous incentive games and extra spins award to supplement winning combos.<\/p>\n

This Novomatic position has actually a beneficial coins start from 0.05 in order to 10. Publication out of Ra Antique is actually a 5 reels slot which have 9 icons and good multiplier varying ranging from 5x to 5000x. Not just does the overall game work with higher for the cellphones owed so you can their easy structure and simple screen but it is as well as available on a variety of various other mobile phones.<\/p>\n

They improve the price several times and give a huge victory for your pro. During the a casino slot games, for each and every unique spread symbol is considered the most costly and will get to 20,000 coins each line. Fruit Luxury has actually a good scatter icon giving totally free revolves where large honors which have a multiplier should be claimed. Most online game present merely a crazy symbol, and that expands their payouts a few times. You will find built-up the most popular countries where you can play slot servers and attempt aside a keen Inferno position. Various countries enjoys their needs to possess gambling.<\/p>\n

If you’re selecting the evaluating processes, look for all of our How exactly we feedback web based casinos blog post. Ergo, if you’d like to feel the vintage vibes while having things next to what you usually see from inside the stone-and-mortar gambling enterprises, online casinos Novomatic may be the way to go. We relate to on-line casino internet sites that offer Novomatic game since the Novomatic online casinos. You can enjoy him or her during the Novomatic casinos on the internet thrown across the web. If you ever went to an area-based gambling establishment and starred any of the position games truth be told there, you will find a really high options your one to you enjoyed was developed by the Novomatic. Get the best Novomatic casinos on the internet websites to you, centered on feedback of the Casino Expert.<\/p>\n

All you need to perform is capture their portable or tablet tool, prefer your preferred video game and begin rotating. You don’t need to to possess Novomatic ports install, as they opened in direct your web web browser and will feel played quickly. If you’re looking having a spin out of winning big, feel free to peruse Novomatic progressive harbors, since some of them enjoys a possible of offering larger profits. Very, lookup all of our alternatives, favor your chosen launch(s) and start to try out Novomatic slots on line. Always, it entails at least step three scatters to engage 100 percent free Spins, but both a great randomly chosen symbol normally grow and you may trigger the fresh added bonus round.<\/p>\n

Once you have paid this new wagering regards to your twist, you are ready and then make a deal into demon! Aligning multiple wilds boosts profits, particularly in free spins whenever paired with scatters. Combining with high-well worth icons such Panther Moonlight develops payouts.<\/p>\n

For only and that slots he’s built with very high and very appealing commission proportions a couple that are really worth to play include the Lucky Female\u2019s Charm Deluxe position hence slot users will delight in mainly owed to the highest 97.10% RTP in addition to Columbus Deluxe slot that has an excellent 97.00% RTP! That is definitely gonna be the situation your never ever going to understand regardless if you are going to provides a good successful or losing example whenever playing Novomatic slots if you do not in reality start to enjoy them, each slot machines he’s released is obviously really haphazard. The fresh new Only Jewels Luxury position is an additional earliest but really well-accepted five movies reel position out of Novomatic, and people who wish to gamble free revolves added bonus video game awarding harbors then make sure you give the lord of your own Oceans position particular gamble returning to their spread symbol triggered totally free revolves extra online game is also and sometimes does re also-end in many times! The new Such into the Twenty slot is yet another company favorite with players, and you can thanks to the means it’s been designed you are doing not need to worry about overseeing hundreds if you don’t countless an approach to earn, since it simply provides a number of spend outlines, but it does promote a variety of staking alternatives as well. That position that has been a firm favorite with position players in all to relax and play surroundings because date it had been circulated was this new Scorching Deluxe slot, on what you actually have no nonsense however, rapid-fire particular to relax and play sense. You can find a surprisingly multitude of slot online game which have come crafted by Novomatic you to definitely members do often enjoy date and you can day again, and that i features noticed position participants that do enjoy playing its slots have a tendency to make an excellent beeline playing the most basic regarding slots.<\/p>\n

Expanding wilds protection entire reels, improving the potential for larger payouts. Fruits symbols, like watermelon and you can grape, promote competitive profits also. The best-expenses icon ‘s the 7, which will pay a lot of coins for 5 matches. With typical volatility, they balance risk and award, providing a mix of repeated brief wins and unexpected bigger profits.<\/p>\n

Read more in the all of our score strategy into How exactly we rates web based casinos. Thus if you choose to just click one of such hyperlinks and work out in initial deposit, we might earn a payment at no extra pricing to you. There are new Novomatic video game inside the Western european, Western, and you can Far eastern land-founded an internet-based casinos. New Novomatic harbors was basically born around australia, while the company is based for the Austria.<\/p>\n","protected":false},"excerpt":{"rendered":"

Initiating all the Alawin Casino paylines increases multiplier triggering potential. Maximize 3x multiplier during the totally free revolves from the landing higher-worthy of combinations across the 15 paylines. The top of edge of the display reveals how many 100 percent free revolves you really have kept, the latest achievement multiplier\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-15560","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/15560","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=15560"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/15560\/revisions"}],"predecessor-version":[{"id":15561,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/15560\/revisions\/15561"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=15560"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=15560"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=15560"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}