/* 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":96868,"date":"2026-05-24T11:39:35","date_gmt":"2026-05-24T11:39:35","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=96868"},"modified":"2026-05-24T11:39:35","modified_gmt":"2026-05-24T11:39:35","slug":"on-the-web-gambling-publication-learn-the-concepts","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/on-the-web-gambling-publication-learn-the-concepts\/","title":{"rendered":"On the web Gambling Publication Learn the Concepts"},"content":{"rendered":"

The typical Wild is the online game\u2019s signal and several expensive diamonds in numerous colour act as Scatters you to spend Thrown victories (dollars awards regardless of where they house on reels). Some of the signs try borrowed of antique fruits computers; you\u2019ll find cherries, plums, watermelons, peaches and you will plums with the display screen and show straight down philosophy. Perks is actually paid out even though you have one or integration of one’s signs on the payline.<\/p>\n

That have a standalone live gambling enterprise, you can find cellular apps, an excellent list of financial possibilities and you will super-quick distributions. And an enormous type of progressive jackpot position games, Class Local casino are a reliable United kingdom web site having \u00a35 places and you will totally free instant distributions. Mega Wide range also provides a huge directory of harbors and quick withdrawals significantly less than a reliable license. Notably, withdrawals was processed in this 5 minutes, and sundays.<\/p>\n

While the program is continuing to grow rather because the 2015 launch, it however tracks local leadership such ToonieBet Ontario, which includes 3,600+ video game around the several company. One another mobile designs enable deposits, withdrawals, and you will custom PlaySmart products inside a secure and you will clear ecosystem. Places are almost immediate, however, withdrawals can take to four working days adopting the membership is verified. Most of the time, withdrawals try delivered to your finances using a digital funds import. Delight in quick places, anonymous enjoy, and super-fast withdrawals on your favorite cryptocurrencies.<\/p>\n

Crazy signs could be the chameleons of your online slots business \u2013 they are able to substitute for other signs to simply help done good earn. Those individuals the signs can make more gains in identical round, with cascades you’ll. End up in brand new 100 percent free Spins Added bonus while playing ports online and you\u2019ll gamble because of some revolves \u2013 no additional prices, only pure gamble.<\/p>\n

They\u2019re also bound to happen over the many Fruit Shop<\/a> randomized revolves for the a server\u2019s lifestyle. With each hit of one’s spin option is the pledge the brand new Random Count Generator commonly house into a mix of number you to correspond to successful symbols. After you have written an account and you may confirmed it because of OLG, you should have usage of a variety of real cash video game, and. For individuals who\u2019lso are used to men and women icons, you might want to try new Eye out-of Horus The Golden Pill Jackpot Royale version. Together with look function and you may category tabs, you\u2019ll pick filter systems for layouts, provides, and you may company.<\/p>\n

Just pick one of your three symbols with the reels to help you tell you a bona fide cash award. Particular 100 percent free position video game have incentive features and you will added bonus cycles when you look at the the form of special signs and you will front game. OLG Local casino also offers a dedicated cellular casino app that provide a beneficial selection of enjoyable keeps, granting pages the means to access an enjoyable set of ports, table games, and a lot more. Spread out icons come randomly everywhere for the reels toward casino free harbors. It indicates the gameplay is actually dynamic, that have signs multiplying across the reels to make countless indicates in order to earn. Effective payline try reasonable range towards reels the spot where the mix of symbols need certainly to house in purchase to spend a win.<\/p>\n

Away from sexy free-twist cycles in order to multiplier-packaged enjoys, Olg has the experience streaming. OLG try a keen Ontario government work on agency providing you with each other lottery and you may gambling amusement to prospects. Spin smarter, mention the advantages you prefer most, and you will allow right promotion turn the example towards the a highlight. Whether or not you adore antique fresh fruit machines or progressive ability-packaged titles, you\u2019ll select a silky path to incentives, 100 percent free revolves, and jackpot excitement.<\/p>\n

MARIE, On the \u2013 There have been two weeks remaining so you’re able to allege good $a hundred,one hundred thousand ENCORE award throughout the Friday, May 8, 2021 Lotto 6\/49 mark. MARIE, Into the \u2013 There are two days kept in order to claim a lottery 6\/forty two $twenty-five,one hundred thousand award in the Saturday, May 8, 2021 mark. The fresh winning number was indeed 2 \u2013 step 3 \u2013 step one \u2013 3 \u2013 1 \u2013 5 \u2013 8 together with successful solution is available in Scarborough. MARIE, For the \u2013 There are two main days leftover to help you claim a keen ENCORE award really worth $10,100000 from the Wednesday, Get 12, 2021 Lottery six\/forty-two draw.<\/p>\n

Register now, pick their welcome bundle, and you may let the reels move\u2014responsibly. Willing to jump into heart-racing reels which have additional value for each spin? Should you want to bail after a couple of spins once you have installed your money, merely hit the bucks-out key. After you hit Spin, the fresh new RNG freezes and you will lands on the number one to determine brand new associated symbols. The truth is symbols, the device observes numbers. The brand new spinning signs only create amusement toward video game.<\/p>\n

The new allowed provide are 100% as much as $a hundred plus 50 100 percent free revolves. Omg Casino On line Canada ‘s the safest place to go for availability throughout the provinces. Confidentiality means can vary, such as, according to research by the possess you use or your age. As the official lottery and you can playing organization off Ontario, OLG was managed and you may subscribed, making sure a secure and you will fair gambling environment getting users.<\/p>\n

Though speed may differ because of the strategy, really withdrawals processes within just 1 day. Distributions are quick so there are no lowest distributions. From the zero-betting acceptance free spins as much as delivering a real income straight back for each twist (even if you lose), OJOers get the very best. Right from their invited 100 percent free revolves with all of victories of incentives paid-in bucks and no limits, of getting real money right back for each twist (even though you dump), OJOers get the best.<\/p>\n

These online game ability cityscapes, neon bulbs, or other signs from metropolitan life. This type of online game feature stunning image and you can symbols instance wasteland, tigers, or other animals. OLG even offers an array of slot online game, for each using its own unique motif featuring. Another ideal modern jackpot games is actually Egyptian Mistress, which includes an old Egyptian motif features a local progressive jackpot which is private in order to OLG. New software also offers a sensation due to the fact seamless because the webpages but with superior possess also. The newest OLG software lets participants to get into gambling games, get lotto seats and you may enjoy Keno.<\/p>\n

MARIE, Into \u2013 There are 2 weeks kept so you can allege an enthusiastic ENCORE prize worthy of $10,100 regarding Wednesday, February dos, 2022 Lottery 6\/49 draw. New successful quantity was in fact 6 \u2013 0 \u2013 dos \u2013 six \u2013 3 \u2013 0 \u2013 5 additionally the effective solution are bought in Trenton. MARIE, To your \u2013 There are two weeks kept to allege a keen ENCORE honor well worth $ten,000 on Wednesday, March 16, 2022 Lotto 6\/forty-two mark. Free spins is actually caused if suitable scatters show up on the step 3 center reels. Discover 5 reels and you will step 3 rows out-of symbols, and when your strike the Twist button, you can hope for successful combos around the 9 purchasing contours.<\/p>\n","protected":false},"excerpt":{"rendered":"

The typical Wild is the online game\u2019s signal and several expensive diamonds in numerous colour act as Scatters you to spend Thrown victories (dollars awards regardless of where they house on reels). Some of the signs try borrowed of antique fruits computers; you\u2019ll find cherries, plums, watermelons, peaches and you\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-96868","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/96868","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=96868"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/96868\/revisions"}],"predecessor-version":[{"id":96869,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/96868\/revisions\/96869"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=96868"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=96868"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=96868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}