/* 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":98059,"date":"2026-05-24T14:59:10","date_gmt":"2026-05-24T14:59:10","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=98059"},"modified":"2026-05-24T14:59:11","modified_gmt":"2026-05-24T14:59:11","slug":"titanic-demonstration-play-free-position-video-game","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/titanic-demonstration-play-free-position-video-game\/","title":{"rendered":"Titanic Demonstration Play Free Position Video game"},"content":{"rendered":"

It slot has been designed in a sense you need to bet a-flat increment away from coins so as to transmit the reel spinning, so make certain that should you intend to have fun with the Titanic Position you’re taking a peek at exactly what men and women share membership is and you may play for sensible share numbers their money is also experience! Is the Titanic Slot a position with a high RTP If away would play slot machines continuously then you’ll divine fortune val\u00f3di p\u00e9nz<\/a> definitely now the payout commission you can get to whenever to experience loads including the Titanic Position will always be depend exactly how luck you are, this really is a slot and that really does have a good highest RTP so you will always has actually many effective solutions when you get involved in it. Yet not, just in case you do have a few more questions about how this slot works and takes on below i’ve put with her a problems and solutions section compared to that feedback and that i thought you will have an effective search through.<\/p>\n

For Collect, players carefully favor an icon you to suggests a respect and multiplies you to amount by share amount. The center symbol gets the latest wild with this minigame. You could select one out-of three ceramic tiles because of it secret round and you can win a mini or Maxi jackpot.<\/p>\n

New navigator was probably the most important icon contained in this Titanic 1912, since it often cause you to the bonus game. Having said that, because you\u2019ll select on the following the opinion, Titanic 1912 is a simple recommendation. Along with fifteen years for the gambling business and you can an internet gaming history, Daniel now could be warmly investigating and you may comparing varied harbors and internet to have clients.<\/p>\n

See ReallyBestSlots to play the latest Titanic on the internet slot 100percent free and you will speak about their great features before deciding playing the real deal currency. Because Flower many years, she cherishes new thoughts off this lady real love, staying a souvenir regarding Jack close to the woman center. The newest heartbreaking completion observes the fresh Titanic sinking and you may Jack losing himself to keep Rose. The film narrates new facts out of a beneficial seventeen-year-old aristocrat, Rose, that is set to marry a refreshing suitor chose by their mother. As an example, a beneficial forty-borrowing from the bank choice offers a 3rd classification ticket on board the fresh motorboat, delivering access to you to definitely mystery feature.<\/p>\n

The advantages are steeped, having an effective vessels controls spin choosing hence bonus online game you have made playing. Have and you will modern added bonus games start the greater the \u2018ticket\u2019. People get into a plus video game in which they select from a choice away from pictures to disclose instant cash honors.<\/p>\n

The brand new scatter icons show up on reels step one, step 3 and you may 5 and these result in new wheel ability, in this 2 region element you spin the fresh head\u2019s wheel and they are given both credits and you will a supplementary spin, otherwise one of the many enjoys being offered. Discover the ports and claim their acceptance added bonus otherwise deposit incentive in the our very own recommended and best casinos on the internet or other totally free local casino game only at BETO. You will pick one out-of step 3 ceramic tiles to reveal your incentive prize otherwise Jackpot. They isn\u2019t easy to satisfy anybody if traditional are ready highest from the name on the position. Really, that it slot is very easily probably one of the most ambitious ports we provides actually played. Enjoy a huge excitement regarding the Titanic on line position from the you to from BETO’s required internet casino<\/p>\n

Graphically, new Titanic App try divine and use features which could see you experiencing the video game and the real money prizes that it has the benefit of. We also provide slots off their casino software organization when you look at the all of our database. Zero network jackpot lies here, however the in the-games Small and you may Maxi regarding the Mystery Jackpots find create lay-threshold blasts one become fair into the exposure curve. Mystery Insane Reels normally put a couple reels away as the insane up until new spin settles. I always put a steady risk and you may let the citation mechanic manage its business. I discovered the complete plan familiar but really comforting, which fits a-game linked with a movie everyone knows.<\/p>\n

If you need enjoying your preferred characters and rotating new reels of the position, following investigate almost every other programs also. No less than about three symbols searching on a single line is actually repaid with regards to the strictly set odds. not, you have the possibility to choose your own choice. The new American providers already chose a style one to worths, so they really only have to utilize innovation and you may intelligence for the position. We realize one to Bally Technologies has actually one of the primary and you will significant experience with producing slots or any other gaming technical (the prominent industries according to the certified webpage).<\/p>\n

It is advisable understand these outlined games a long time before to tackle having real money. It offers a powerful way to changeover toward a separate organization with a new set of games. Many web based casinos promote no deposit incentives due to their the fresh new members.<\/p>\n

For those who continue using this web site as opposed to modifying their cookie options or if you click “Accept” below then you are consenting to this. Regardless of my personal opinion, you can test away Titanic towards minds blogs and you may test all of the 7 added bonus function rounds free of charge, physically over. But then, that’s the beauty of slot machines since there is invariably anything for everyone.<\/p>\n

If you would like all the features energetic, you\u2019ll must purchase the 1st classification violation, when you’re choosing the next and you can 3rd class entry will discover have eliminated. Overall, you\u2019ll pick over 100 pleasing free harbors having extra video game, and even more than just 50 100 percent free electronic poker alternatives! It will help to include much more thrill as well as numerous extra provides and you may added bonus video game when it comes to those bonuses. Make use of the free play trial in an effort to study an effective game\u2019s mechanics before you could invest in staking real money with an enthusiastic internet casino. The latest casino slot games enjoys a couple of 100 percent free spin enjoys, four extra games, together with well-known You-Spin Wheel Added bonus Feature.<\/p>\n

In a position the real deal money play? Gamble totally free demonstration immediately\u2014no download expected\u2014and you can explore most of the added bonus enjoys exposure-totally free. 200+ Bally totally free penny ports is known for the immediate enjoy tech as opposed to registration and no install options. Bally 100 percent free ports excitement are available in zero developed zero subscription function.<\/p>\n

To alert the web based player regarding the type of events and you will outcomes, new Titanic Slot casino video game goes including dedicated songs special consequences you to definitely set off to tag the conclusion a few kind of membership about video game. Profit Big that have Esoteric Harbors from the comfort of your house free-of-charge! Merely obtain the brand new app away from Google Play or the Fruit Application Store, and you\u2019ll get on the right path to help you an extraordinary 100 percent free betting thrill. Disappointed, however, nothing of one’s online game within the Mystic Ports offer a real income otherwise cash benefits. With more than 130 ports, and additionally Electronic poker, Roulette, Blackjack, Keno, and Live Bingo, you\u2019ll has that which you in order to satisfy your gambling enterprise betting wishes!<\/p>\n

Sure, Titanic shall be starred on the all sorts of gadgets, plus desktops, cellphones and you may pills. This really is an average rate having an online gambling enterprise slot machine. A 3rd-group citation is definitely worth 1 cent, a moment-group pass costs dos-4 dollars, and you will a bet of 5 cents will open among the many gates with the steeped business to the very first-group website visitors.<\/p>\n","protected":false},"excerpt":{"rendered":"

It slot has been designed in a sense you need to bet a-flat increment away from coins so as to transmit the reel spinning, so make certain that should you intend to have fun with the Titanic Position you’re taking a peek at exactly what men and women share membership\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-98059","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/98059","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=98059"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/98059\/revisions"}],"predecessor-version":[{"id":98061,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/98059\/revisions\/98061"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=98059"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=98059"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=98059"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}