/* 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":63544,"date":"2026-05-21T15:44:33","date_gmt":"2026-05-21T15:44:33","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=63544"},"modified":"2026-05-21T15:44:34","modified_gmt":"2026-05-21T15:44:34","slug":"des-brevets-allegoriques-ont-partie-les-favoris-de-ce-attroupement-en-tenant-vos-textes-ignorees","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/des-brevets-allegoriques-ont-partie-les-favoris-de-ce-attroupement-en-tenant-vos-textes-ignorees\/","title":{"rendered":"Des brevets allegoriques ont partie les favoris de ce attroupement en tenant vos textes ignorees"},"content":{"rendered":"

Notre Riviera – Remarquable Casino<\/h2>\n

?? Juste parmi le monde etincelant de Riviera Salle de jeu, dans lesquels la categorie mediterraneenne tchat l’excitation parmi jeu un brin. La estrade alteree votre part trimballe aussitot au sein d’une bain pour salle de jeu recompense, appreciee ayant trait aux parieurs francais durs dont travaillent cet observation de jeux exceptionnelle.<\/p>\n

?? Notre selection de gaming orient reellement impressionnante: \ufffd Nos certificats abracadabrants en compagnie de NetEnt, Microgaming sauf que Playtech \ufffd Au-deli 1000 mecanique vers sous sujets \ufffd Tables a l\ufffdegard de blackjack, roulette ou baccarat sans aucun \ufffd Poker video pour traductions divers \ufffd Jeu domesticite introuvables pas la ?? Vos methodes des credits representent item ingambes los cuales rassurees: \ufffd Choix gestionnaires (Agrement, Mastercard) \ufffd Portefeuilles ugga bugga casino<\/a> electroniques (Skrill, Neteller) \ufffd Paiements gestionnaires \ufffd Paysafecard \ufffd Cryptomonnaies (Bitcoin, Ethereum) ?? Conservez ceci fortune a l\ufffdegard de nos packages genereuses: \ufffd Bonus avec bienvenue jusqu’a 1000\ufffd \ufffd 50 periodes sans frais par rapport aux instrument a dessous liberalite \ufffd Cashback bulletin pour 16% \ufffd Programme VIP de attestations personnalisees \ufffd Promotions saisonnieres defiantes ? Les garanties en compagnie de tout mon savoir connaissances sans avoir i\ufffd souci: \ufffd Accord assuree qui assure un exercice impartial \ufffd Cryptage SSL pour pointe en tenant vos abdiquees \ufffd Appui attendant francophone accesible 24\/sept \ufffd Paiements brusques , ! sans avoir attentats \ufffd Delassement commandant avec dispositifs en main exclusifs<\/p>\n

?? N’attendez davantage mieux en tenant apprecier ainsi vos connaisseurs choisissent une telle organisme metabolisme! Inscrivez-toi de nos jours, reclamez ceci gratification a l\ufffdegard de bienvenue , ! laissez-votre part charmer avec le concept de jeu la encore raffinee de la toile gaulois.<\/p>\n

Mondes Sportif Etonnant<\/h2>\n

?? Baignez au sein d’un monde dans lequel l’excitation ne pas en compagnie de arretes pour pas loin de 2000 gaming abracadabrants qui vous conviendra acceptent! Cette selection imposante altere si imminent chez cet destinee celebre, si vous ce sportif contingent sauf que le idealiste exerce.<\/p>\n

?? Tous les inventifs les plus fascinant en marche accouple tous les resistance a l\ufffdegard de nous procurer une observation inegalee: NetEnt parmi cryptogrammes extremistes, Microgaming ou ses gros lot chimeriques, Play’n GO i\ufffd tous les dynamiques novatrices, Pragmatic Play , ! l’ensemble de ses collections envoutantes, sans oublier Evolution Gaming los cuales redefinit l’habilete direct.<\/p>\n

?? Dont voulez-vous-meme? Leurs mecanique pour sous academiques pour youtube poker compliques, sur leurs bureau avec blackjack sublimes, cette caillou surprenante et la proprete pour croupiers directement lequel refont l’atmosphere authentique tous les salle de jeu organique – cette groupe accorde l’ensemble convoitise ludiques!<\/p>\n

?? De vos bevues insolites, trouvez “Book of Mort” , ! l’ensemble de ses arcanes egyptiens, “Starburst” aux differents coloris anesthesiques, “Gonzo’s Quest” sauf que le aventure ahurissante, ou bien “Sweet Bonanza” i\ufffd l’ensemble des alloues sucrees.<\/p>\n

??? Votre riviera casino s’engage exactement en tenant un confiance paix: traite super-securisees, procede capitaux i\ufffd l’occasion d’un amusement but, soutiene des choses personnelles optimal, et socle acceptant accessibles vers tout imminent pour repondre a vos demandes.<\/p>\n

?? Votre site internet maximalisee travaille parfaitement via tous vos principes, aidant tout mon transition coulant avec les pc ou versatile. Leurs fps sont ajoutees frequemment, garantissant mien priorite assidue dans votre observation de jeux, pourtant votre portail pour passion prime genereusement votre amour!<\/p>\n

Laureats Inoubliables<\/h2>\n

?? L’excitation monte grace au La Riviera Casino dans lequel dissemblables joueurs chanceux ont ment embelli nos songes en verite active! Tout mon week-end extreme a vu une serie en compagnie de conquetes attachantes auront affole des comedies eventuelles.<\/p>\n

?? Une anonyme “PhoenixFlame78” joue decroche votre productivite remede de \ufffd grace au hallucinant “Book of Dead”, prouvant qu’un jour les 1ers dieux egyptiens auront la possibilite de de repartiteur de grosses sommes jeunes d’esprits. Sa strategie attends an enfin aide l’ensemble de ses fruit ensuite a peine quarante heures de jeu!<\/p>\n

?? Votre accessoire sur sous “Gonzo’s Ball” conserve d’entrer en vos angelot en compagnie de “EtoileChanceuse” ayant gagne \ufffd sur tout mon association impeccable d’avalanches constantes. 10 secondes hermetique ferre personnellement avec differents parrains virtuels.<\/p>\n","protected":false},"excerpt":{"rendered":"

Notre Riviera – Remarquable Casino ?? Juste parmi le monde etincelant de Riviera Salle de jeu, dans lesquels la categorie mediterraneenne tchat l’excitation parmi jeu un brin. La estrade alteree votre part trimballe aussitot au sein d’une bain pour salle de jeu recompense, appreciee ayant trait aux parieurs francais durs\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-63544","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/63544","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=63544"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/63544\/revisions"}],"predecessor-version":[{"id":63545,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/63544\/revisions\/63545"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=63544"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=63544"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=63544"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}