/* 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":58104,"date":"2026-05-20T13:42:53","date_gmt":"2026-05-20T13:42:53","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=58104"},"modified":"2026-05-20T13:42:54","modified_gmt":"2026-05-20T13:42:54","slug":"buffalo-silver-collection-on-line-casino-guides-free-harbors-flash-bonuses-large-winnings-films","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/buffalo-silver-collection-on-line-casino-guides-free-harbors-flash-bonuses-large-winnings-films\/","title":{"rendered":"Buffalo Silver Collection On-line casino Guides, Free Harbors, Flash Bonuses + Large Winnings Films"},"content":{"rendered":"

Brand new standout aspects are modern bonus bins, in which for each and every icon has its own meter one to fills with each five-of-a-type victory\u2014immediately following filled, the brand new involved added bonus cooking pot try given. The overall game try fully appropriate for desktop computer and you will cell phones, making certain a seamless sense across the networks. Players should expect medium volatility, an enthusiastic RTP from 95.89%, and you may an extensive playing diversity, therefore it is offered to one another relaxed and you will higher-limits followers. The newest slot\u2019s motif evokes the ability from Vegas, with ambitious graphics and you can common signs eg sevens, bells, and you will taverns. The broad gambling variety guarantees usage of for everyone brand of users, it is therefore a very good selection for individuals who enjoy antique gameplay which includes fulfilling twists. Even after their easy physical appearance, 7s Nuts Gold introduces book technicians such as for example modern bonus containers.<\/p>\n

There’s no loss of artwork high quality otherwise performance towards the shorter screens, as well as has actually\u2014as well as bonus cycles and you may modern pots\u2014was available into cellular. This new graphics aren\u2019t just like the higher level since some of the almost every other titles about Oryx library although online game keeps a fun, cartoon-such as high quality. Modern free online slots come laden with fun have made to boost your successful possible and sustain gameplay fresh. Whether you\u2019re trying to ticket the time, explore brand new headings, or score more comfortable with web based casinos, online ports render a simple and you can fun way to gamble.<\/p>\n

Log in to Gambino Ports and you will spin your way to help you fun and free slots 777 advantages! This type of expert info are made to help you win a whole lot more, appreciate prolonged sessions, and you can it is maximize the fresh thrill of any spin. A feature you to speeds up your own winnings by a set grounds, commonly associated with small enjoy 777 series or incentive games. These types of have a tendency to have more perks for example multipliers otherwise crazy symbols. Nevertheless these aren\u2019t only relics \u2013 they\u2019ve been modernized having brilliant picture, free revolves, and you can extra possess you to continue game play fresh and you will fun.<\/p>\n

It\u2019s safe with SSL encoding, short so you can stream, and supply your complete usage of all of the provides, same as into the desktop. Regardless if you are for the ios, Android, or any other system, the experience stays uniform across the the display screen items. The working platform uses receptive website design and you will HTML5 technical, guaranteeing it truly does work effortlessly with up-to-big date mobile internet explorer. If you\u2019re using an android os equipment, how you can begin is by downloading and you may installing the software with a keen APK file. Prior to starting to play in the 7Gold Casino, you will have to join for many who\u2019lso are a person otherwise visit for individuals who already have a free account.<\/p>\n

Polar Explorer Slots has the benefit of a twenty-five-payline Cold adventure with several extra cycles or more to 8 totally free spins, useful for investigations multiple-function auto mechanics just before wagering \u2014 more details can be acquired to your Polar Explorer Ports review. Your website pairs a-deep Real time Playing collection which heyspin casino<\/a> have a mixture of trial enjoy, totally free spins, without-put chips \u2014 and additionally a slate of your energy-limited promo codes \u2014 thus mobile bettors is also test common headings in advance of staking real cash. To experience free slots towards the cellular are a brilliant enjoyable means to fix pass time \u2013 we\u2019re big fans off packing up a game title whenever we features an extra five minutes! Once you play free ports on line, you can struck spin as often as you like without worrying about your bankroll. What makes free online ports so enjoyable is the diminished chance.<\/p>\n

With paylines you to shell out one another means and you can an easy style, 7s Crazy Silver is straightforward to get but full of rewarding unexpected situations for those who love slots that have a-twist. That have bright images, vintage signs like flaming 7s and you may bells, together with thrill away from modern extra bins, 7s Crazy Silver brings a nostalgic yet , fresh feel. You could play 7s Nuts Gold in the multiple casinos on the internet that bring IGT game, in addition to many most useful online slot sites. The straightforward game play, with provides like totally free revolves and you will progressive added bonus containers, brings one another excitement and you can possibility of ample victories. If you\u2019re new to online slots or a skilled user, these gambling enterprises give you the primary combination of enjoyment and cost. Throughout these cycles, \u20187\u2019 signs become wilds otherwise gluey wilds about Gold 100 percent free Revolves Incentive, residing in put across numerous spins to increase your odds of extreme victories.<\/p>\n

When you victory, you could choose to gather or play left away from the reels. No matter what variation you choose, they plays an identical. You can find alternatives for playing the game on the internet, as well as a no cost demo in this article and you may a premium version towards the Fantastic Nugget and you can Celebs gambling enterprises. Such systems promote a safe, user-friendly sense, nice bonuses, and you will a good number of video game to help keep your instruction enjoyable and you will rewarding. The fresh new Silver Totally free Revolves Bonus can not be retriggered, however, its likely to possess larger victories is significantly high due to the fresh gluey wilds plus the cooperation which have one another-implies paylines. This boosts the likelihood of landing consecutive victories with each totally free twist, since the sticky wilds accumulate and construct a whole lot more potential to possess highest-well worth payouts.<\/p>\n

Gold Fish Gambling enterprise Slots has the benefit of members various alot more than just 200 slot machines, and you can the fresh new titles are constantly put into the list. Realize Gold Fish Gambling enterprise toward our public avenues for fun trivia, video game, and a lot more exclusive video clips blogs! The Gold Fish Local casino 100 percent free authentic Las vegas feel was a complete underwater globe filled with fun, humor, and you will entertainment. You might have fun with the 7s Insane 100 percent free pokie machines on the internet, together with around australia and you will The newest Zealand, during the penny-slot-servers.com.<\/p>\n

Your website was organized to incorporate quick access to game, advertising, and you may account selection without way too many interruptions. A modest cheer (bucks otherwise spins) provided since the a great 7Gold no deposit incentive, commonly accustomed discuss game as opposed to risking their funds. You could potentially compare their running moments and you may constraints, upcoming find the one which suits you most readily useful.<\/p>\n

It IGT name is actually loaded with a method to win, courtesy its modern Incentive Bins, a couple collection of free revolves cycles, and you will wild symbol technicians which can turn a simple spin with the a big pay day. This new gambling establishment cooperates along with 65 business, plus Development Gaming, Pragmatic Gamble, NetEnt, Play\u2019letter Wade, Red Tiger, and you will Betsoft. 7 Gold Gambling enterprise has the benefit of over 10,000 game, and additionally slots, roulette, black-jack, video poker, bingo, baccarat, jackpot game, real time online game, scratch notes, and you will crash video game. 7Gold Casino brings credible customer care, making certain that you might contact her or him anytime.<\/p>\n

Of many gambling enterprises provide free revolves for the most recent game, and maintain your earnings once they meet the web site’s betting criteria. You can look at aside countless online slots games earliest to get a-game that you take pleasure in. Even in totally free slots for fun, you could manage your bankroll to see how well the game was long-name. You might be in the a bonus as an online harbors pro for those who have a great knowledge of the basics, such as volatility, signs, and you may bonuses. The fresh honor trail try a second-screen extra due to striking about three or even more scatters.<\/p>\n","protected":false},"excerpt":{"rendered":"

Brand new standout aspects are modern bonus bins, in which for each and every icon has its own meter one to fills with each five-of-a-type victory\u2014immediately following filled, the brand new involved added bonus cooking pot try given. The overall game try fully appropriate for desktop computer and you will\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-58104","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/58104","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=58104"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/58104\/revisions"}],"predecessor-version":[{"id":58105,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/58104\/revisions\/58105"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=58104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=58104"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=58104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}