/* 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":83946,"date":"2026-05-23T17:48:38","date_gmt":"2026-05-23T17:48:38","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=83946"},"modified":"2026-05-23T17:48:39","modified_gmt":"2026-05-23T17:48:39","slug":"however-every-slots-that-run-out-of-an-unusual-idea-and-you-may-high-construction","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/however-every-slots-that-run-out-of-an-unusual-idea-and-you-may-high-construction\/","title":{"rendered":"However, every slots that run out of an unusual idea and you may high construction"},"content":{"rendered":"

The main benefit have are an effective added advantage<\/h2>\n

Needless to say, Zeus 3 performs really also regarding the enjoyable mode, that have very repeated expenses revolves, one to my enjoyable borrowing equilibrium never went below its creating count! Perhaps it is just me personally, I’m not sure, although winnings that i returned the base games since the better like in the brand new 100 % free Spins online game was basically surely discouraging! Even if in the future basically get lucky, I however getting you will want to purchase enough time to make lots of profits and you can profit from this game.<\/p>\n

The newest player’s account balance is actually revealed from the Equilibrium range for the the upper leftover part of the display screen. Zeus III try indeed a vibrant position games, combining an unusual reel concept which have good auto mechanics and you may well-balanced volatility. It position is made for professionals trying to well-balanced mechanics. Take advantage of one,024 a means to winnings on foot online game, or over so you’re able to 5,040 means once you end in the brand new 100 % free spins extra. It streamlines the fresh gaming techniques by permitting pre-lay bet numbers instead of yourself modifying bets on each twist.<\/p>\n

Recognized for exclusive condition headings, the business is targeted on enjoyable game play, high-top quality image, and you can cellular being compatible. As you will get a hold of out of just starting to enjoy Zeus towards the web, the product quality and magnificence of your picture are not just what you would name \ufffdbest rated’. An identify your’ll find after you enjoy Zeus online ‘s the current 100 percent 100 % free revolves element.<\/p>\n

And you’ll also pick ines Soft. When you play online, you’ll constantly discover video game away from globe giants such as IGT and you can RTG. If or not its Megaways or Infinity Reels, an educated online slots games have numerous pleasing provides.<\/p>\n

Zeus Goes Wild was designed to works perfectly across all mobile devices, ensuring playluck casino online<\/a> that players will enjoy this exciting Greek-inspired position on the run. If you would like enjoy their video game, discover them at all an informed casinos on the internet from the You. The latest Zeus slot machine are a vibrant that and attractive to position people, very while it’s almost a decade dated you should view it at the most casinos you to household SG Digital games. Permits you to familiarise themself into the gaming constraints, bonus features, the worth of the latest symbols, and you will what exactly is necessary to result in incentive possess.<\/p>\n

The latest Greek Temple is the Nuts of one’s video game which can replace the icons apart from the new Zeus hand Spread out symbol. The newest contours is varying and slot might be played to the a single payline in just a $0.01 for every single spin or to your every thirty lines for the total bet of $150 – betting $5 for every single line. Regarding Zeus slot machine, the most significant profits try you’ll during the bonus rounds. In the event that no less than 3 of these signs appear on the fresh display, a gambler becomes 100 % free spins of your own reels. It replaces all the symbols apart from the fresh new spread out. If the a gambler prefers the latest automatic control setting, he is able to turn on the fresh revolves to your secret that is receive to the left of the menu familiar with set the amount off active lines.<\/p>\n

Whenever choosing slots of the theme, you are not just to play-you will be causing your very own unique excitement. They provide mythology, activities, and you can novel storylines you will not see any place else. Thousands of people become together, and are preferred because of their added bonus possess and you will interesting gameplay. In our latest feedback of , i emphasized Insane Nuts Wealth, a vibrant slot one perfectly integrates entertaining game play which have large profits.<\/p>\n

The new picture try very good sufficient – specially when you earn the latest frightening Zeus towards reel 1 – just who you’ll end up looking to loads of since that’s when the lender equilibrium begins protruding. With respect to the level of scatters, you will receive 10, twenty-five otherwise an enormous 50 free spins that will be played to your a mirrored game industry, meaning that the leftmost reel is becoming the biggest reel, plus the reel \ufffdfunnel’ narrows down of leftover so you can correct. The new 100 % free play choice is best for novices who want to familiarize themselves to the aspects prior to place genuine bets.<\/p>\n

There is certainly a good Laurel Wreath, Gold and silver, a good Harp and you can a good Vase, which offer minimal payouts. Most of the components of the latest casino slot games are built regarding announced theme, so that the artwork build appears really good. Further in our Zeus remark, we are going to look closer from the game play mechanics and you may all round laws of game.<\/p>\n

Merely favor what you like and you will plunge towards enjoyable world out of slots!<\/h2>\n

These types of ended up its video game you may change, however, certificates intended playing it safer with aspects members already knew. Positives (based on 5) high light secure earnings and you may average bets as its key pros. This slot, with a rating out of twenty-three.34 out of 5 and you will a situation regarding 833 of 1447, is fantastic people that value harmony.<\/p>\n

Their knowledge of internet casino certification and you can incentives form our very own analysis are always state of the art therefore we ability an educated on the internet casinos for our globally readers. Good luck online casinos promote 100 % free harbors that one can explore no deposit called for. He’s packaged packed with exciting online game features such as totally free spins, added bonus wheels, broadening wilds, and you can multipliers. Their game try shown fair, and they provide the video game to players at best European online casinos. The game will likely be liked within courtroom online casinos, managed internet sites, provincial gambling establishment internet sites all over the world.<\/p>\n

I haven’t reached experience the 100 % free revolves element thus i dont discuss one. A bad keyword is offered but in addition for the bonus games and therefore is really hard to result in (You will find played it only if inside the 3 hundred revolves and you may perform not learn anything from they). The songs is chosen for instance the graphics, a monotonous trumpet try to try out several sounds from the history.<\/p>\n

Zeus will be played on the desktops, mobile phones, pills, and other compatible handheld devices. The fresh new position pays leftover in order to correct, starting from the fresh far-leftover reel. Homes three or even more Scatters towards reels and you may end in 100 % free spins, it’s as easy as that. Towards big 100 % free spins incentive bullet, the brand new Zeus slot machine motivated another generation from gambling establishment bucks slot machines inside Vegas, such as the very well-known games titled Kronos.<\/p>\n

It requires pleasure in place regarding entertainment range because of the pleasant construction and you can large RTP speed (%). Simultaneously, the brand new game’s image and you will sound effects are perfect, immersing people in the world of ancient Greece. Since keen on Greek myths, I happened to be drawn to the newest Zeus slot games construction and symbols particularly Zeus and you can Pegasus. Free demos provide a much better threat of understanding how a game try starred without the need to purchase a dime.<\/p>\n","protected":false},"excerpt":{"rendered":"

The main benefit have are an effective added advantage Needless to say, Zeus 3 performs really also regarding the enjoyable mode, that have very repeated expenses revolves, one to my enjoyable borrowing equilibrium never went below its creating count! Perhaps it is just me personally, I’m not sure, although winnings\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-83946","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/83946","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=83946"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/83946\/revisions"}],"predecessor-version":[{"id":83947,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/83946\/revisions\/83947"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=83946"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=83946"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=83946"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}