/* 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":138016,"date":"2026-05-27T21:29:33","date_gmt":"2026-05-27T21:29:33","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=138016"},"modified":"2026-05-27T21:29:35","modified_gmt":"2026-05-27T21:29:35","slug":"100-as-much-as-200-77-no-deposit-100-percent-free-revolves","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/100-as-much-as-200-77-no-deposit-100-percent-free-revolves\/","title":{"rendered":"100% as much as \u00a3200 + 77 No deposit 100 percent free Revolves"},"content":{"rendered":"

A message having a safe reset connect was provided for your own inserted email address. Users have access to 777 casino thru the equipment web browsers without the need for so you’re able to down load one applications. The platform strives to update its online game library on a regular basis, making sure people get access to brand new and more than enjoyable gaming options available in the industry. Availability numerous ports, dining table online game, and you may alive dealer event straight from the cellular phone, including brief deals and you may devoted assistance. See private the means to access welcome bonuses, typical campaigns, and you may lucrative cashback product sales on the favorite video game at the 777 local casino! Currently, 777 local casino now offers fascinating no-deposit incentives for brand new professionals.<\/p>\n

This new members can also be allege an organized greet plan that spans their first several dumps, incorporating incentive funds and you may 100 percent free spins to give game play. Many configurations provide 24\/7 visibility which have multilingual agencies tackling questions relating to game, money, bonuses, or technical hiccups. Lots quick to the 4G, performs smooth, will not chew through battery otherwise study. No download needed, even in the event Android os APKs occur in some regions if you’d like a good native application be. Individualized offers and you can very early access to the newest video game or occurrences been which have high standing, fulfilling consistency and you can volume. The fresh lobby flags high-possible video game, making it easy to destination and this headings bring progressive pounds.<\/p>\n

Having quick and you will safer log in options, a simple and you may intuitive screen, and you can an enthusiastic optimized playing experience, the fresh new mobile application will require your own playing sense to another location level. People who need fast access to help you selected headings can also try the newest 777 choice video game obtain apk. Signing up for 777 Wager is quick, each step is perfect for Indian professionals.<\/p>\n

777 Casino provides one of the most complete sets of payment possibilities anywhere in the web based local casino globe, including a good PayPal casino deposit alternative. The site is straightforward to make use of, which have very good routing, easy to find menus, that assist usually effortlessly available to you. Do you know spil jokers jewel<\/a> what it\u2019s such once you satisfy an appealing people and you can fall quickly in love, just to score bitterly distressed after you in reality learn him or her? Cash helps make the reels go around, therefore\u2019ll have to invest in your own 777 internet casino account. The only downer would it be needs the brand new Casino as frequently since step 3 business days to help you process the detachment request (if you don’t\u2019lso are a gold VIP user, in which particular case it goes as a result of 1). Minimal deposit limit is determined at a great \u00a320, apart from Maestro (\u00a310) and you can Cable Transfer (\u00a375).<\/p>\n

For every online game is designed to serve several tastes, guaranteeing men finds out something that they enjoy. The things i love about 777 gambling enterprise is the enjoyable advertisements and you can new smooth alive betting experience. 777 gambling enterprise now offers an impressive particular online game and you may a simple-to-navigate program. Discover the fantastic incentive ventures in the 777 casino available for British players. The site even offers secure and fast deals, guaranteeing comfort for everyone people. Odds come in decimal style liked by Australian bettors, with small transformation to fractional or American platforms in options.<\/p>\n

777.com now offers what they phone call \u2018Every day Pleasures.\u2019 Here your\u2019ll get a hold of a variety of great incentives and advertising offered to depending casino players. Once the a good 777 VIP, you have made a nearly all-supply ticket to different experts unavailable in order to low-VIPs, such as for example invites in order to VIP occurrences and you will exclusive promotions. Cassava Companies uses advanced encryption technical in order to properly transfer sensitive advice on the internet. Cassava People (Gibraltar) Ltd., a leading transaction merchant, is responsible for providing 777.com that have secure monetary transaction operating properties. 777 Gambling enterprise provides a number of shelter procedures in position in order to guarantee that all customers advice and you will transaction information stay safe. While 777 Gambling enterprise hasn\u2019t existed so long as a few of their competitors, new gaming website has actually easily mature to transmit one of several best gambling experiences on the internet.<\/p>\n

Consolidating around the globe standards which have a neighbor hood reach, 24\/7 assistance comes in Bangla and you may English, to make R777 the quantity-that option for Bangladesh gambling enterprise on the web betting. Regarding adrenaline-occupied slots to reside casino tables and you will cricket gambling, R777 gambling establishment Bangladesh packages a punch which have enjoyable, benefits, and trustworthiness! There are a lot of choices regarding the allowed plan, so we\u2019d highly recommend most reading through one point before you could select one alternative.<\/p>\n

Notable because of its steeped selection of harbors and you can vintage casino games, 777 Casino provides a made gaming experience. Live chat is the fastest option, accessible via the speak icon in the bottom part of every page\u2014response times average lower than a few times while in the height instances and below five full minutes throughout the quiet attacks. Click the indication-right up switch towards the website, after that fill in the subscription means having appropriate personal stats including their complete judge label, date out-of delivery, email, cellular number, and you may home-based address. Discover your chosen commission means, go into the count (conference people minimum need for added bonus eligibility), and you may finish the exchange using your percentage provider’s safer screen. For set up books and program requirements, obtain this new 777Bet cellular app in the dedicated cellular page.<\/p>\n

Bringing these types of security features guarantees besides exciting game play and reassurance at the R777. Having healthier shelter (especially when enjoyable which have very large deals or highly confidential advice), allow a few-foundation authentication in your account. That it respected on the web a real income gambling enterprise for the Bangladesh enjoys steps when you look at the set that ensure extreme security and fairness for all users. Member shelter is not treated with shorter importance- it\u2019s an elementary key well worth at the R777.<\/p>\n

Their profile is even secure just like the every time individuals tries to log in, it\u2019s seemed for uncommon pastime. All of your current individual and financial data is usually safer towards the new brand’s program, which uses modern encryption technology. Immediately following log in, you can publish such on the membership city, or if you gets a message with a secure publish link. If not follow this action, you do not be able to availableness this site.<\/p>\n

It license promises player shelter, equity, and you can precision, taking a safe environment to own enthusiasts in order to take part in their favorite video game. That it comprehensive plan can make Field 777 Casino an appealing choice for Australian people looking to an enhanced playing experience. That it Curacao-signed up RTG gambling enterprise includes a streamlined AUD-supporting program, enhanced having smooth purchases, and additionally timely and you can safer withdrawals through Bitcoin.<\/p>\n

The actual framework may vary of the area and currency, with 777bet fun products built to give expanded game play out of your initial places. Whatever you do was designed to provide the better gaming experience possible. Once you\u2019lso are about internal circle, you\u2019ll feel it.<\/p>\n

After you get in on the VIP bar, you get an almost all-availableness ticket into benefits of registration, and additionally a personal account movie director, private selling, and you can perks. You’ll find about three VIP statuses to achieve, also VIP, VIP Gold, and you may VIP Platinum, for every through its individual selection of personal advantages. you will receive VIP support advantages, particularly honor pulls that provide aside today’s technology, jewelry, gadgets, developer goods, dollars bonuses, and also sunday getaways. Personal statistics and transactions are stored toward secure servers hence is protected by fire walls.<\/p>\n

Discover incentive shopping, increasing wilds, free-spin cycles, has built to continue courses volatile. Certain types slim into the JILI ports, angling video game, and you can bingo, designed with crisp graphics and punchy sound to get your right in. VIP participants access personal advantages together with highest withdrawal limits, private account professionals, and tailored added bonus packages. Participants may download the new 777bet cellular app to possess a dedicated mobile expertise in faster loading times and you may household display screen availableness.<\/p>\n","protected":false},"excerpt":{"rendered":"

A message having a safe reset connect was provided for your own inserted email address. Users have access to 777 casino thru the equipment web browsers without the need for so you’re able to down load one applications. The platform strives to update its online game library on a regular\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-138016","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/138016","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=138016"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/138016\/revisions"}],"predecessor-version":[{"id":138017,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/138016\/revisions\/138017"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=138016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=138016"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=138016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}