/* 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":96794,"date":"2026-05-24T11:28:05","date_gmt":"2026-05-24T11:28:05","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=96794"},"modified":"2026-05-24T11:28:05","modified_gmt":"2026-05-24T11:28:05","slug":"online-playing-book-find-out-the-basics","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/online-playing-book-find-out-the-basics\/","title":{"rendered":"Online Playing Book Find out the Basics"},"content":{"rendered":"

The conventional Nuts ‘s the online game\u2019s image and some expensive diamonds in different colors Ice Fishing<\/a> try to be Scatters you to spend Scattered gains (dollars awards irrespective of where it land into the reels). A number of the symbols is actually borrowed out-of antique good fresh fruit hosts; you\u2019ll look for cherries, plums, watermelons, peaches and plums towards the monitor and so they portray all the way down philosophy. Rewards is settled even if you get one otherwise integration of one’s signs to the payline.<\/p>\n

With a separate real time casino, you can find cellular applications, a great selection of banking options and you will lightning-punctual withdrawals. Plus a big distinct progressive jackpot slot games, Team Casino was a dependable United kingdom web site with \u00a35 places and you can 100 percent free instant withdrawals. Super Wealth has the benefit of a colossal variety of ports and you can rapid withdrawals below a dependable permit. Significantly, distributions is canned within this five minutes, also weekends.<\/p>\n

Just like the platform is continuing to grow significantly just like the the 2015 release, they nevertheless tracks local management such ToonieBet Ontario, which features step three,600+ video game across the several providers. Each other mobile versions enable deposits, withdrawals, and you will custom PlaySmart equipment within this a safe and you can clear environment. Dumps are nearly quick, but withdrawals may take to five working days adopting the membership was affirmed. Usually, withdrawals try delivered to your finances courtesy an electronic funds transfer. Take pleasure in instantaneous places, unknown gamble, and super-quick withdrawals on your own favorite cryptocurrencies.<\/p>\n

Wild symbols certainly are the chameleons of the online slots games world \u2013 they could stand in to other icons to aid done a beneficial earn. Those people this new signs can produce extra wins in the same bullet, with more cascades you can easily. Trigger the brand new Totally free Revolves Added bonus playing ports on the internet and your\u2019ll play by way of some revolves \u2013 no additional cost, simply absolute gamble.<\/p>\n

They\u2019lso are destined to takes place along the an incredible number of randomized revolves during the a host\u2019s existence. With each struck of the spin key is the pledge the new Haphazard Number Generator usually home to your a mixture of numbers one match winning signs. After you’ve created a free account and you may confirmed it by way of OLG, you’ll have usage of a number of a real income online game, and a lot more. For those who\u2019lso are regularly those individuals symbols, you may want to is actually new Eyes out-of Horus The newest Golden Pill Jackpot Royale variant. Together with lookup setting and you can category tabs, you\u2019ll get a hold of filters to own templates, keeps, and company.<\/p>\n

Merely choose one of one’s around three symbols into reels so you can show a genuine dollars honor. Certain totally free position online game provides extra have and you may incentive cycles within the the type of special signs and you will top video game. OLG Casino also provides a dedicated mobile gambling establishment software giving an excellent variety of enjoyable possess, giving profiles access to a fantastic band of ports, desk online game, and a lot more. Spread symbols appear randomly anywhere with the reels to the gambling establishment free harbors. It indicates the game play is actually vibrant, having icons multiplying along side reels in order to make a great deal of ways so you can earn. Productive payline are a marked line for the reels where the mixture of symbols must residential property on in acquisition to pay out an earn.<\/p>\n

Out of sexy 100 percent free-twist series to multiplier-manufactured possess, Olg keeps the experience moving. OLG is actually a keen Ontario authorities focus on institution that delivers one another lottery and you will gambling recreation to prospects. Spin wiser, talk about the advantages you prefer very, and allow the best promotion turn the concept on an identify. If you adore antique good fresh fruit hosts or progressive ability-packaged headings, you\u2019ll pick a silky path to incentives, free revolves, and you may jackpot excitement.<\/p>\n

MARIE, To the \u2013 There are 2 days leftover to help you claim a $a hundred,one hundred thousand ENCORE honor on Monday, Get 8, 2021 Lotto six\/forty-two draw. MARIE, To your \u2013 There are two main weeks kept to help you allege a lottery 6\/49 $twenty five,100 honor throughout the Tuesday, May 8, 2021 mark. The newest winning numbers was indeed dos \u2013 step 3 \u2013 step 1 \u2013 step three \u2013 step 1 \u2013 5 \u2013 8 and profitable ticket is actually bought in Scarborough. MARIE, Towards the \u2013 There’s two months kept so you can allege an enthusiastic ENCORE award well worth $ten,100000 in the Wednesday, Will get twelve, 2021 Lottery 6\/forty two mark.<\/p>\n

Register now, see their acceptance plan, and you may let the reels roll\u2014sensibly. Happy to jump on cardio-race reels with extra value for each spin? If you want to bail after a couple of revolves after you’ve setup your bank account, merely strike the bucks-away switch. After you struck Spin, brand new RNG freezes and you will places on the number one determine the brand new associated signs. You notice symbols, the device observes number. The fresh new rotating icons simply incorporate entertainment toward game.<\/p>\n

The fresh new allowed bring was a hundred% to $a hundred also fifty free revolves. Omg Local casino On the internet Canada ‘s the trusted destination for availableness throughout the provinces. Confidentiality strategies may differ, for example, in accordance with the enjoys you use otherwise how old you are. Due to the fact official lotto and you can gambling business out of Ontario, OLG is actually managed and you will subscribed, making certain a secure and you can reasonable gambling ecosystem getting people.<\/p>\n

Even in the event rates may differ by the means, very withdrawals procedure within just twenty four hours. Distributions is actually quick and there are not any minimal distributions. Straight from your no-betting allowed 100 percent free revolves as much as bringing real money right back for each twist (even if you eradicate), OJOers have the best. Straight from your acceptance totally free revolves along with gains out of incentives paid-in cash and no restrictions, to getting real cash right back on every twist (even though you eliminate), OJOers have the best.<\/p>\n

These types of game element cityscapes, fluorescent lights, and other signs regarding metropolitan lifestyle. Such online game element unique graphics and you may signs such as desert, tigers, or other creatures. OLG has the benefit of numerous position video game, each with its individual unique motif featuring. Various other better progressive jackpot game is Egyptian Domme, which features a historical Egyptian motif and has a local progressive jackpot which is exclusive in order to OLG. The fresh new software now offers a technology just like the smooth while the site but with superior possess as well. The fresh OLG software lets users to access online casino games, get lottery passes and enjoy Keno.<\/p>\n

MARIE, Towards the \u2013 There have been two months leftover so you can allege an ENCORE award worth $10,100 in the Wednesday, February 2, 2022 Lotto 6\/49 mark. The brand new profitable number had been 6 \u2013 0 \u2013 dos \u2013 6 \u2013 3 \u2013 0 \u2013 5 plus the successful ticket is bought in Trenton. MARIE, On \u2013 There are two days kept so you can claim an ENCORE award worthy of $10,100000 on Wednesday, March 16, 2022 Lotto six\/forty-two draw. Free revolves is caused when the suitable scatters show up on brand new step 3 middle reels. You will find 5 reels and you can 3 rows off symbols, as soon as you smack the Spin switch, you could a cure for profitable combinations all over 9 investing outlines.<\/p>\n","protected":false},"excerpt":{"rendered":"

The conventional Nuts ‘s the online game\u2019s image and some expensive diamonds in different colors Ice Fishing try to be Scatters you to spend Scattered gains (dollars awards irrespective of where it land into the reels). A number of the symbols is actually borrowed out-of antique good fresh fruit hosts;\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-96794","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/96794","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=96794"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/96794\/revisions"}],"predecessor-version":[{"id":96795,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/96794\/revisions\/96795"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=96794"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=96794"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=96794"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}