/* 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":140219,"date":"2026-06-10T17:32:49","date_gmt":"2026-06-10T17:32:49","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=140219"},"modified":"2026-06-10T17:32:49","modified_gmt":"2026-06-10T17:32:49","slug":"breaking-mafia-casino-launches-innovative-mobile-experience-for-australia","status":"publish","type":"post","link":"https:\/\/klecet.edu.in\/alumni\/breaking-mafia-casino-launches-innovative-mobile-experience-for-australia\/","title":{"rendered":"Breaking Mafia Casino Launches Innovative Mobile Experience for Australia"},"content":{"rendered":"
\n\"Skill<\/p>\n

Australia’s online casino scene just got a major overhaul. Mafia Casino has rolled out a mobile platform designed specifically for players who are traveling. Forget about downloading an app from a store. This is a browser-based experience that feels just like a native app. It’s made for Australian players, emphasizing speed, easy navigation, and a game library that looks perfect on phone and tablet screens. If you desire convenience that doesn’t cut corners, this new mobile offering elevates the experience.<\/p>\n

Smart Features for Enhanced Play<\/h2>\n

Under the hood, the platform offers intelligent features that adapt to how you play. Quick-bet shortcuts, game suggestions tailored to what you like, and simple-to-locate history logs make the experience feel personal. You can manage alerts for new games or available bonuses directly from your phone. These tools operate like a helper, streamlining things so you can zero in on playing. For crunchbase.com<\/a> Australian players, this results in less admin and more time savoring the games and the chance to win.<\/p>\n

Hassle-free Banking for Australian Players<\/h2>\n

Mafia Casino gets the local market. Their mobile banking setup is designed for Australia. It includes a range of reliable local payment methods so deposits and withdrawals are easy and safe. The whole process is fast with minimal steps and straightforward instructions. Moving money is as easy as booking a taxi. Strong security measures are in place including fingerprint or face login on devices that support it. Whether you’re topping up with a familiar e-wallet or cashing out the financial system is built for mobile speed and reliability.<\/p>\n

Devotion to Responsible Gaming on Portable Devices<\/h2>\n

Mafia Casino puts its responsible gaming tools at the forefront in the mobile interface. With a few taps, you can establish deposit limits, activate session time alerts, or step away. Links to Australian support organisations and helpful information are readily accessible. This built-in approach makes sure the amazing convenience of mobile play comes with the right tools for staying in control. It demonstrates a mature, player-focused attitude from the operator.<\/p>\n

Exclusive Mobile Promotions and Perks<\/h2>\n

To commemorate the mobile launch, Mafia Casino is rolling out promotions just for players accessing the new platform. These aren’t standard offers. They’re customized deals crafted to boost your mobile play. Find welcome bonuses with fair playthrough rules, free spin packs on mobile-friendly pokies, and special loyalty rewards for playing on the go. These perks provide you extra value on top of the slick design. It indicates Mafia Casino aims to provide its mobile community in Australia something worthwhile.<\/p>\n

\"Top<\/p>\n

\u010cast\u00e9 dotazy<\/h2>\n

Is it necessary install an app to play?<\/h3>\n

No download required. You enter Mafia Casino’s mobile experience directly through your web browser, such as Chrome or Safari. It delivers a rapid, app-like feel with no a trip to an app store. This saves space on your device and ensures you always have the latest update.<\/p>\n

Are the games playable on mobile?<\/h3>\n

Indeed. Every game in the Mafia Casino collection can be found and entirely optimised for the mobile platform. That encompasses hundreds of pokies, all the table games, and the full live dealer lineup. Every one is adapted for touchscreens and operates smoothly, so you enjoy the full experience on your phone or tablet.<\/p>\n

What payment methods are available for Aussie players?<\/h3>\n

The mobile platform accepts each of the payment options popular in Australia. You can use major credit and debit cards, e-wallets like Neosurf and MuchBetter, and direct bank transfers. All transactions is encrypted and made easier for mobile, rendering deposits and withdrawals speedy and safe.<\/p>\n

\"Club<\/p>\n

In what manner does the mobile experience differ from the desktop site?<\/h3>\n

The mobile platform is a full redesign, rather than a shrunken copy of the desktop site. It features an interface built for touch, faster loading, and clever features for playing on the go. Navigation, game presentation, and banking are entirely reworked to provide smartphone and tablet users a top-notch, native-style experience.<\/p>\n

Can I use the same account on mobile and desktop?<\/h3>\n

Absolutely<\/a>, your single Mafia Casino account functions on each device. Start playing on your computer, resume where you left off on your phone on the go, and later check your balance on a tablet. Your funds, bonus details, and game history sync in real time across all of them.<\/p>\n

Is it secure to play and bank on the mobile platform?<\/h3>\n

Safety is the top priority. The mobile platform uses cutting-edge SSL encryption, the very same protection major banks depend on, to secure your data and transactions. On supported devices, you may add an further layer of security by utilising biometric login such as your fingerprint or face ID.<\/p>\n

Live Dealer Action, Tailored for Mobile<\/h2>\n

There’s no need for a computer to enjoy the buzz of a live casino. Mafia Casino has redesigned its live dealer section for smaller screens but kept all the excitement. The high-definition video feeds adapt to your connection speed, maintaining the stream steady. The chat and betting controls are placed right where your fingers can easily tap them, so you can interact with the dealer and other players without fumbling. This offers the real tension of roulette, blackjack, and baccarat straight to you. Now a live session is possible on your lunch break or from your living room sofa.<\/p>\n

A Carefully Selected Game Library at Your Fingertips<\/h2>\n

No more struggling with a disorganized, overcrowded game lobby mafias-casino.com<\/a>. Mafia Casino’s mobile site offers a well-selected lineup of games, arranged for easy browsing. You can flip through hundreds of top pokies, table games, and live dealer options using clear categories or the search bar. It showcases Aussie classics alongside international hits, all tuned for mobile devices. Every game runs with sharp graphics and full sound quality. It\u2019s a rich console-like experience that rests in your hand, ready to play anywhere in Australia.<\/p>\n

Exceptional Speed and Responsiveness<\/h2>\n

For mobile gaming, speed isn’t just nice to have\u2014it’s critical. Mafia Casino’s platform uses modern technology to make games, account pages, and banking load almost instantly. This matters for players all over Australia, especially in areas where the internet signal could fluctuate. The lightweight build ensures everything running smoothly. Animations are fluid, and pokies respond the moment you tap the spin button. That annoying loading icon that interrupts your fun? You’re unlikely to see it here. The action continues uninterrupted from your first bet to cashing out your winnings.<\/p>\n

The Dawn of Mobile-First Design<\/h2>\n

The team at Mafia Casino built from zero with one goal: optimize it for mobile devices. They positioned each button and engineered every menu flow for the touchscreens Aussies rely on daily. The outcome is a sleek, speedy interface. You won’t lose time figuring out where to go or handling laggy menus. Tapping the wrong button is a thing of the past. From logging in to joining a live dealer game, the experience is seamless. The interface works on any display, so it works just as well on a tablet at home as on a phone during your daily commute.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"

Australia’s online casino scene just got a major overhaul. Mafia Casino has rolled out a mobile platform designed specifically for players who are traveling. Forget about downloading an app from a store. This is a browser-based experience that feels just like a native app. It’s made for Australian players, emphasizing\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-140219","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/140219","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/comments?post=140219"}],"version-history":[{"count":1,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/140219\/revisions"}],"predecessor-version":[{"id":140220,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/140219\/revisions\/140220"}],"wp:attachment":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=140219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=140219"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=140219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}