/* 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":109164,"date":"2026-05-25T11:52:34","date_gmt":"2026-05-25T11:52:34","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=109164"},"modified":"2026-05-25T11:52:40","modified_gmt":"2026-05-25T11:52:40","slug":"the-fresh-feature-length-may-differ-depending-on-how-many-scatters-were-caused-2","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/the-fresh-feature-length-may-differ-depending-on-how-many-scatters-were-caused-2\/","title":{"rendered":"The fresh feature-length may differ depending on how many scatters were caused"},"content":{"rendered":"

S. members seeking to fascinating gameplay, prompt crypto earnings, and huge desired incentives<\/h2>\n

The brand new paytable reveals 10 standard in addition to twenty-three premium icons regarding Happy Duck online position for real currency game. Do you want to use their luck on cool-appearing position online game inside GAMEROOM?<\/p>\n

Getting twenty-three+ scatters during the one spin launches the main benefit round<\/h2>\n

Past one, Sweeps Regal enjoys a wealthy selection of Seafood Game particularly Ocean Princess, Ka Seafood Hunter, and Octopus Legend. You even have another line of Buffalo harbors, in addition to Buffalo Stack’n’s YNC, Buffalo Huntsman, Ragin’ Buffalo, Buffalo burning, Mystical Buffalo \ufffd and many others. That is one of vbet casino login<\/a> the recommended signup also offers available in terms and conditions from Sc, albeit the brand new GC tally is a little white full. Although Jackpota mainly focuses on harbors, providing more one,500 headings, you’ll also see jackpots, modern slots and you can alive online game suggests. In other places, discover a highly-stocked alive gambling establishment, some very handy Jackpots, and lots of spare table game you might gamble to feel good portion closer to what an on-line casino feels like. After you sign-up, you can get the actual Award Gambling establishment no deposit added bonus, this incentive will bring you 2 Sweepstakes Gold coins upon joining, and in addition to found 100,000 Coins which you can use to relax and play enjoyment.<\/p>\n

Respected team for example Settle down Betting and you can Hacksaw Gambling commonly launch the brand new video game each week, for the ideal sweeps casinos instantly adding them to their collection. Iron Bank falls you to your good heist-inspired caper invest Cuba’s underworld. The brand new game’s RTP lies during the % at better sweepstakes casinos, that is greater than average, although a lot less high as the Money Cart 2 or other competing ports.<\/p>\n

Which tempting alternatives is done all the more tempting into the novel DuckyLuck Desired Added bonus. provides you the better selection of online casino games – between video poker on twenty-three reel and 5 reel harbors. Our experience in the amounts of customer service, experience-building, as well as, our very own swiftness to help you get their payouts!<\/p>\n

All the features, for instance the MergeUp mechanic, tumbling reels, and you can extra cycles, is actually accessible for the each other apple’s ios and you can Android os products. Their compatibility across devices and associate-amicable user interface after that boost access to and you can thrills. Giovannis Gems is actually a great 7-reel video game by the Betsoft that have coal modifying so you can expensive diamonds and you can satisfying higher earnings and foot games profits when complimentary four or maybe more clusters out of signs. If you use specific post clogging application, delight look at their settings. You can discover a little more about slots as well as how they work in our online slots guide. If you are looking to register from the another type of gambling establishment in order to enjoy Fortunate Ducker, listed below are some our very own local casino opinion area, in which i have a range of allowed incentives.<\/p>\n

It is good for one another newcomers exactly who enjoy lighthearted templates and you will seasoned professionals trying to find fulfilling game play. The shape is actually lively yet advanced level, with cartoonish graphics that pop music against a calm drinking water-themed backdrop. Click the option less than only when you intend to sit right here to see details. When it comes to choosing a real currency gambling enterprise on line, DuckyLuck Casino stands out that have nice advantages, lightning-fast profits, and private online game. DuckyLuck Gambling establishment is amongst the ideal-ranked web based casinos to have U.<\/p>\n

Nolimit Area is just one of the current video game company at sweepstakes gambling enterprises, but it is quickly become among the many better brands having ports which have real cash honors. Just remember that , sweeps gambling establishment that provide online slots together with ability a good amount of Holiday-themed offers through the festive periods, therefore keep your vision unlock particularly across social networking avenues. Having normally 1000+ ports during the sweeps gambling enterprises, there are multiple totally free slot game to choose from. However you can attempt them at no cost playing with Gold Gold coins when joining ahead of using Sweeps Gold coins and seeking to so you’re able to profit real money awards if you wish. When you find yourself we currently seen specific heavy hitters drop, there’s a lot much more decreasing the newest range.<\/p>\n

The latest Totally free Spins bullet spends an icon conversion process meter; obtaining scatters converts lower-using symbols for the Mystery Flannel, enhancing the regularity of Golden Flannel leads to. Getting 4 or 5 scatters rather increases the creating insane multiplier to help you 10x or 25x respectively. ELK’s signature X-iter purchase eating plan is obtainable, offering four video game methods between a straightforward added bonus hunt to good \ufffdSuper Incentive\ufffd with guaranteed larger symbols and you may limitation grid top. NoLimit Town continues its really really-known operation which have an activity-packaged six-reel settings within this online slot release. It is good Dog’s Life from Knucklehead Syndicate try an online position built on an excellent 5?12 or 5?4 design, and also the video game enjoys insane modifiers and you can bonus-creating scatters that will direct into the multiple-layered totally free spin series.<\/p>\n

Fortunate Duck harbors can be acquired to experience for the one another desktop computer and you can mobile phones, therefore it is much easier getting people to enjoy the overall game from anywhere. That’s all; the brand new mobile type tend to weight following that, and you might feel like you’re to relax and play during the-application the entire time. The reason is easy – LuckyLand’s cellular type is useful sufficient, as well as you should do is actually carry out a merchant account and you may play within the portrait function. There’s a desktop computer sort of the site, however, despite all that, I appreciated to relax and play on the cellular without being forced to down load the fresh new application, and i also explore an android os tool. The fresh online slots games was influenced by pre-developed random number turbines.<\/p>\n

During the incentive round, the latest multiplier ladder doesn’t reset anywhere between spins, and you may an excellent \ufffdFull Websites\ufffd function normally at random result in so you’re able to sweep every fish multipliers currently into the the newest reels to own just one substantial payment Especially, any twist normally bring about the brand new Dream Lose Jackpot admission, giving users a go at the five progressive sections, like the Super Jackpot and therefore seeds at the \ufffd2 mil. Seafood signs carry instant cash values and are generally collected randomly for the the base video game otherwise instantly in the 100 % free Revolves bullet whenever they achieve the bottom of your own grid. Settle down Playing brings a 5?four \ufffdWays\ufffd free online slot slot that have a look closely at large-volume jackpot prospective. Because twenty-three,000x maximum win was conservative than the their co-workers recently, the brand new % RTP and average volatility enable it to be good enough time-name position available for expanded instruction and you can grinding South carolina\/GC.<\/p>\n

Today, that have members are completely subject to the new whims from Lady Luck, there is no sure-flames game play form right here that can be sure wins. Well, sadly, there is absolutely no Fortunate Duck jackpot available, whether modern or otherwise. Right here, professionals are required to shoot a-row of bobbing ducks so you can victory multiplier incentives or access to the top Money controls where huge multiplier incentives is actually shared. The newest duck capturing spread out symbol triggers a much more enjoyable Lucky Duck extra that generate users almost trust he’s within the a district fair. The overall look and feel is actually Western, which impression try reinforced of the sort of icons viewed within on line position, as well as the songs, that is bright and chirpy adequate to dance in order to. Everything is determined under a clear heavens and you also can also be nearly smell the sun radiant to your turf.<\/p>\n","protected":false},"excerpt":{"rendered":"

S. members seeking to fascinating gameplay, prompt crypto earnings, and huge desired incentives The brand new paytable reveals 10 standard in addition to twenty-three premium icons regarding Happy Duck online position for real currency game. Do you want to use their luck on cool-appearing position online game inside GAMEROOM? Getting\u2026<\/p>\n

Continue reading<\/span><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-109164","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/109164","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=109164"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/109164\/revisions"}],"predecessor-version":[{"id":109190,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/109164\/revisions\/109190"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=109164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=109164"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=109164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}