/* 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":140315,"date":"2026-06-10T19:39:08","date_gmt":"2026-06-10T19:39:08","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=140315"},"modified":"2026-06-10T19:39:08","modified_gmt":"2026-06-10T19:39:08","slug":"site-casino-robocat","status":"publish","type":"post","link":"https:\/\/klecet.edu.in\/alumni\/site-casino-robocat\/","title":{"rendered":"Robocat Casino \u2013 T\u00f3g P\u00e1irt i gCom\u00f3rtais Eisiacha in \u00c9irinn"},"content":{"rendered":"
\n\"Euro<\/p>\n

T\u00e1 Robocat Casino ag \u00e9ir\u00ed go m\u00f3r i measc imreoir\u00ed f\u00edor\u00fala na h\u00c9ireann, go h\u00e1irithe iad si\u00fad ar mian leo a scileanna a thriail i gcoinne daoine eile. Sol\u00e1thra\u00edonn s\u00e9 rud speisialta: deis chun dul san ioma\u00edocht le himreoir\u00ed eile le duaiseanna suntasacha mar sprioc, agus \u00e9 sin ar fad i dtimpeallacht chl\u00e1raithe shlachtmhar. I measc na n-\u00e1iteanna ilghn\u00e9itheacha at\u00e1 ann, tarraing\u00edonn Robocat Casino daoine chuige mar gheall ar a chl\u00e1r com\u00f3rtais rialta. Cuireann na himeachtais seo spraoi agus dr\u00e1ma\u00edocht nua leis an gcluich\u00ed. Anseo, d\u00e9anfaimid ini\u00fachadh ar na pr\u00edomhghn\u00e9ithe a chuireann an t-ionad seo ar f\u00e1il, \u00f3 na cluich\u00ed is fearr a oireann do chom\u00f3rtais go dt\u00ed na modhanna is \u00e9ifeachta\u00ed chun an l\u00e1mh in uachtar a fh\u00e1il. T\u00e1 gach rud deartha le freastal ar imreoir na h\u00c9ireann, le taca\u00edocht \u00e1iti\u00fail agus modhanna \u00edoca\u00edochta a oireann d\u00fainn go l\u00e9ir.<\/p>\n

Cad \u00e9 Robocat Casino?<\/h2>\n

Is ceasa\u00edneo f\u00edor\u00fail le \u00fadar\u00fa idirn\u00e1isi\u00fanta \u00e9 Robocat Casino, a chuireann b\u00e9im l\u00e1idir ar thaith\u00ed agus ar \u00e1thas an imreora. T\u00e1 an branda t\u00f3gtha ar th\u00e9ama meicni\u00fail nua-aimseartha, ach t\u00e1 cro\u00ed cairdi\u00fail \u00c9ireannach fite fuaite ann. T\u00e1 an su\u00edomh \u00e9asca le tuiscint le nasclean\u00faint, le rogha Gaeilge agus le foireann taca\u00edochta a tuigeann go maith conas mar a imr\u00edonn muintir na h\u00c9ireann. T\u00e1 raidhse cluich\u00ed ar f\u00e1il, \u00f3 meais\u00edn\u00ed sliot\u00e1n go cluich\u00ed r\u00edomhaire go dt\u00ed an ceasa\u00edneo beo, ach is \u00e9 an rud is suntasa\u00ed faoi n\u00e1 a bhaili\u00fach\u00e1n com\u00f3rtais lean\u00fanach. Ritheann na com\u00f3rtais seo go rialta, ag gini\u00faint deiseanna gan staonadh do gach duine, \u00f3n gc\u00e9ad l\u00e1 go dt\u00ed an t-imreoir cr\u00edochnaithe, chun a gcuid scileanna a chur ar t\u00e1st\u00e1il. Is \u00e9 at\u00e1 mar sprioc acu an siamsa a leathn\u00fa tr\u00ed atmaisf\u00e9ar ioma\u00edoch a fhorbairt.<\/p>\n

Straiteis\u00ed chun Bua a Shealbh\u00fa i gCom\u00f3rtais<\/h2>\n

C\u00e9 gur mb\u00edonn an t-\u00e1dh i gceist i gc\u00f3na\u00ed, is f\u00e9idir le strait\u00e9is chliste do sheansanna a fheabhs\u00fa go m\u00f3r i gcom\u00f3rtais. Ar an gc\u00e9ad dul s\u00edos, socraigh buis\u00e9ad do chom\u00f3rtais agus fan leis. Seachain do chailleadh a ch\u00faiti\u00fa tr\u00ed gheallt\u00f3ireacht mh\u00f3r a dh\u00e9anamh. I gcom\u00f3rtais ghasta, b\u00edonn sochar ag an imreoir a thosa\u00edonn go luath, toisc go mb\u00edonn n\u00edos m\u00f3 ama acu seisi\u00fain a imirt agus sc\u00f3ir n\u00edos airde a bhaili\u00fa. I gcom\u00f3rtais shraitheanna, \u00e9ir\u00edonn le himreoir\u00ed comhsheasmhacha go minic seachas le himreoir\u00ed a imr\u00edonn go for\u00e9igneach amh\u00e1in. B\u00ed ar an eolas faoi na coinn\u00edollacha speisialta, mar shampla conas sc\u00f3ir a fh\u00e1il n\u00f3 cad a chuireann leibh\u00e9al n\u00edos airde i gcion.<\/p>\n

    \n
  1. Bunaigh buis\u00e9ad do chom\u00f3rtais agus fan leis.<\/li>\n
  2. Cuir t\u00fas go luath i gcom\u00f3rtais turbar chun n\u00edos m\u00f3 ama a fh\u00e1il.<\/li>\n
  3. Togha cluich\u00ed a bhfuil eolas maith agat orthu agus a bhfuil r\u00e1ta ais\u00edoca\u00edochta maith acu.<\/li>\n
  4. Coinnigh comhsheasmhach i do chuid imeartha, go h\u00e1irithe i sraitheanna fada.<\/li>\n
  5. Breathnaigh ar chleachtais na n-imreoir\u00ed is fearr agus foghlaim uathu.<\/li>\n<\/ol>\n

    Ioma\u00edochta\u00ed Eisiacha do Phobal na h\u00c9ireann<\/h2>\n

    Cuireann Robocat Casino sraith de chom\u00f3rtais nach bhfuil ar f\u00e1il ach d\u2019imreoir\u00ed at\u00e1 cl\u00e1raithe \u00f3n t\u00edr seo. Is minic go mb\u00edonn na com\u00f3rtais seo bainteach le cluich\u00ed at\u00e1 an-t\u00f3ir orthu anseo, mar shampla leaganacha \u00e1irithe de shlota\u00ed n\u00f3 de chluich\u00ed cearrbhachais. Is iad na duaiseanna n\u00e1 t\u00e1ille, bonn saor in aisce, agus uaireanta cuairt ar imeacht sp\u00f3irt \u00e1iti\u00fail. Is \u00e9 an rud is sp\u00e9isi\u00fala faoi na com\u00f3rtais \u2018\u00c9ire-amh\u00e1in\u2019 n\u00e1 go gcl\u00e1ra\u00edtear iad le sceidil agus laethanta saoire na t\u00edre seo, rud a ligeann do n\u00edos m\u00f3 daoine p\u00e1irt a ghlacadh. T\u00f3gann siad pobal, \u00e1it a mb\u00edonn imreoir\u00ed as gach cearn den t\u00edr ag ioma\u00edocht lena ch\u00e9ile ar ardsc\u00f3ir, ag cur le braistint an chom\u00f3rtais.<\/p>\n

    Conas dul isteach i gCom\u00f3rtas<\/h2>\n

    Is furasta go leor p\u00e1irt a ghlacadh i gcom\u00f3rtas ag Robocat Casino, ach caithfidh t\u00fa aire a thabhairt do na rialacha agus na sprioc-amanna. Caithfidh t\u00fa a bheith cl\u00e1raithe agus cuntas bunaithe agat ar dt\u00fas. Ansin, t\u00e9igh go dt\u00ed an roinn \u2018Com\u00f3rtais\u2019 ar an su\u00edomh Gr\u00e9as\u00e1in n\u00f3 san aip, at\u00e1 lonnaithe go soil\u00e9ir sa phr\u00edomh-nasclean\u00faint. Beidh t\u00fa ag feice\u00e1il liosta de na com\u00f3rtais at\u00e1 ar si\u00fal n\u00f3 at\u00e1 le teacht, le faisn\u00e9is shoil\u00e9ir faoin gcluiche l\u00e1rnach, an t-am a dh\u00fanann s\u00e9, an t\u00e1ille iontr\u00e1la (m\u00e1s ann di), agus luach na nduaiseanna. Togh an com\u00f3rtas is fearr a oireann duit agus clice\u00e1il ar an gcnaipe \u2018Glac P\u00e1irt\u2019. Tabharfar treoir duit chuig an gcluiche ceart, \u00e1it a mbeidh an com\u00f3rtas ar si\u00fal. D\u00e9an cinnte go dtuigeann t\u00fa na rialacha ar fad sula dtosa\u00edonn t\u00fa.<\/p>\n