$24 GRAYBYTE WORDPRESS FILE MANAGER $80

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.23
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/home/bravrvjk/itiministry.org/wp-content/plugins/give/includes/

HOME
Current File : /home/bravrvjk/itiministry.org/wp-content/plugins/give/includes//class-give-tooltips.php
<?php

/**
 * Class for managing tooltips
 *
 * @package     Give
 * @subpackage  Classes/Give_Tooltips
 * @copyright   Copyright (c) 2017, GiveWP
 * @license     https://opensource.org/licenses/gpl-license GNU Public License
 * @since       2.0
 */
class Give_Tooltips {
	/**
	 * Set tooltip arguments.
	 *
	 * @since  2.0
	 * @access private
	 *
	 * @param $args
	 *
	 * @return array
	 */
	private function set_toottip_args( $args ) {
		$args = wp_parse_args(
			$args,
			array(
				// Tooltip tag.
				'tag'         => 'span',
				'tag_content' => '',

				// Set to link of anchor if tooltip tag is anchor.
				'link'        => '#',

				// Text for tooltip
				'label'       => '',

				// Value: top-right, top, top-left, right, left, bottom-right, bottom, bottom-left.
				'position'    => 'top',

				// Value: error, warning, info, success.
				'status'      => '',

				// Value: small, medium, large.
				'size'        => '',

				// Value: true/false.
				'show_always' => false,

				// Value: true/false
				'round_edges' => false,

				// Value: true/false
				'animate'     => true,

				// Attributes.
				'attributes'  => array(),

				// Value: true/false
				'auto_width'  => true,
			)
		);

		// Auto set width of tooltip.
		if (
			! empty( $args['auto_width'] ) &&
			! empty( $args['label'] ) &&
			empty( $args['size'] )
		) {
			if ( 15 < str_word_count( $args['label'] ) ) {
				$args['size'] = 'large';
			} elseif ( 7 < str_word_count( $args['label'] ) ) {
				$args['size'] = 'medium';
			}
		}

		return $args;
	}


	/**
	 * Render tooltip
	 *
	 * @since  2.0
	 * @access public
	 *
	 * @param $args
	 *
	 * @return string
	 */
	public function render( $args ) {
		$args = $this->set_toottip_args( $args );

		$tooltip_pos = array(
			'top'          => 'hint--top',
			'top-right'    => 'hint--top-right',
			'top-left'     => 'hint--top-left',
			'right'        => 'hint--right',
			'left'         => 'hint--left',
			'bottom'       => 'hint--bottom',
			'bottom-right' => 'hint--bottom-right',
			'bottom-left'  => 'hint--bottom-left',
		);

		$tooltip_status = array(
			'error'   => 'hint--error',
			'warning' => 'hint--warning',
			'info'    => 'hint--info',
			'success' => 'hint--success',
		);

		$tooltip_size = array(
			'small'  => 'hint--small',
			'medium' => 'hint--medium',
			'large'  => 'hint--large',
		);

		// Set label.
		$args['attributes']['aria-label'] = $args['label'];

		// Set classes.
		$args['attributes']['class']  = ! empty( $args['attributes']['class'] ) ? $args['attributes']['class'] : '';
		$args['attributes']['class'] .= " {$tooltip_pos[ $args['position'] ]}";
		$args['attributes']['class'] .= ! empty( $args['status'] ) ? " {$tooltip_status[ $args['status'] ]}" : '';
		$args['attributes']['class'] .= ! empty( $args['size'] ) ? " {$tooltip_size[ $args['size'] ]}" : '';
		$args['attributes']['class'] .= $args['show_always'] ? ' hint--always' : '';
		$args['attributes']['class'] .= $args['round_edges'] ? ' hint--rounded' : '';
		$args['attributes']['class'] .= $args['animate'] ? ' hint--bounce' : ' hint--no-animate';
		$args['attributes']['class']  = trim( $args['attributes']['class'] );

		// Set link attribute in tooltip has anchor tag.
		if ( 'a' === $args['tag'] && ! empty( $args['link'] ) ) {
			$args['attributes']['href'] = esc_url( $args['link'] );
		}

		return sprintf( '<%1$s %2$s rel="tooltip">%3$s</%1$s>', $args['tag'], give_get_attribute_str( $args['attributes'] ), $args['tag_content'] );
	}


	/**
	 * Render tooltip with anchor tag
	 *
	 * @since  2.0
	 * @access public
	 *
	 * @param array $args
	 *
	 * @return string
	 */
	function render_link( $args ) {
		$args['tag']    = 'a';
		$tooltip_markup = $this->render( $args );

		return $tooltip_markup;
	}

	/**
	 * Render tooltip with span tag
	 *
	 * @since  2.0
	 * @access public
	 *
	 * @param array|string $args
	 *
	 * @return string
	 */
	function render_span( $args ) {
		// Set tooltip args from string.
		if ( is_string( $args ) ) {
			$args = array( 'label' => $args );
		}

		$args['tag']    = 'span';
		$tooltip_markup = $this->render( $args );

		return $tooltip_markup;
	}

	/**
	 * Render tooltip with span tag and question mark icon
	 *
	 * @since  2.0
	 * @access public
	 *
	 * @param array|string $args
	 *
	 * @return string
	 */
	function render_help( $args ) {
		// Set tooltip args from string.
		if ( is_string( $args ) ) {
			$args = array( 'label' => $args );
		}

		$args['tag_content']         = '<i class="give-icon give-icon-question"></i>';
		$args['attributes']['class'] = 'give-tooltip';
		$tooltip_markup              = $this->render_span( $args );

		return $tooltip_markup;
	}
}


Current_dir [ WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
admin
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
api
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
database
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
deprecated
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
donors
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
emails
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
forms
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
frontend
--
7 Apr 2026 5.25 AM
bravrvjk / bravrvjk
0755
gateways
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
libraries
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
payments
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
actions.php
10.004 KB
17 Sep 2025 8.52 PM
bravrvjk / bravrvjk
0644
ajax-functions.php
21.116 KB
17 Sep 2025 8.52 PM
bravrvjk / bravrvjk
0644
class-give-async-process.php
1.332 KB
14 Aug 2024 11.11 PM
bravrvjk / bravrvjk
0644
class-give-background-updater.php
15.351 KB
17 Sep 2025 8.52 PM
bravrvjk / bravrvjk
0644
class-give-cache-setting.php
6.059 KB
22 May 2025 12.18 AM
bravrvjk / bravrvjk
0644
class-give-cache.php
17.805 KB
17 Sep 2025 8.52 PM
bravrvjk / bravrvjk
0644
class-give-cli-commands.php
32.395 KB
31 Mar 2025 11.17 PM
bravrvjk / bravrvjk
0644
class-give-comment.php
17.029 KB
17 Sep 2025 8.52 PM
bravrvjk / bravrvjk
0644
class-give-cron.php
5.212 KB
17 Sep 2025 8.52 PM
bravrvjk / bravrvjk
0644
class-give-donate-form.php
24.154 KB
18 Jul 2024 12.34 AM
bravrvjk / bravrvjk
0644
class-give-donor.php
40.059 KB
11 Jan 2024 12.22 AM
bravrvjk / bravrvjk
0644
class-give-email-access.php
8.304 KB
23 Mar 2021 1.24 AM
bravrvjk / bravrvjk
0644
class-give-license-handler.php
34.26 KB
31 Mar 2025 11.17 PM
bravrvjk / bravrvjk
0644
class-give-logging.php
7.414 KB
17 Sep 2025 8.52 PM
bravrvjk / bravrvjk
0644
class-give-readme-parser.php
1.376 KB
17 Jun 2022 4.03 AM
bravrvjk / bravrvjk
0644
class-give-roles.php
11.103 KB
28 Jan 2026 8.00 PM
bravrvjk / bravrvjk
0644
class-give-scripts.php
26 KB
16 Oct 2025 6.10 PM
bravrvjk / bravrvjk
0644
class-give-session.php
14.961 KB
17 Sep 2025 8.52 PM
bravrvjk / bravrvjk
0644
class-give-stats.php
11.767 KB
31 Mar 2020 4.14 AM
bravrvjk / bravrvjk
0644
class-give-template-loader.php
3.553 KB
31 Mar 2020 4.14 AM
bravrvjk / bravrvjk
0644
class-give-tooltips.php
4.561 KB
31 Mar 2020 4.14 AM
bravrvjk / bravrvjk
0644
class-give-translation.php
8.268 KB
20 Jan 2022 11.45 AM
bravrvjk / bravrvjk
0644
class-notices.php
19.3 KB
17 Sep 2025 8.52 PM
bravrvjk / bravrvjk
0644
country-functions.php
76.284 KB
18 Nov 2025 7.37 PM
bravrvjk / bravrvjk
0644
currencies-list.php
52.224 KB
18 Nov 2025 7.37 PM
bravrvjk / bravrvjk
0644
currency-functions.php
11.573 KB
8 Jul 2022 3.27 AM
bravrvjk / bravrvjk
0644
error-tracking.php
2.926 KB
31 Mar 2020 4.14 AM
bravrvjk / bravrvjk
0644
filters.php
8.836 KB
17 Sep 2025 8.52 PM
bravrvjk / bravrvjk
0644
formatting.php
28.439 KB
1 Oct 2025 3.37 PM
bravrvjk / bravrvjk
0644
install.php
17.08 KB
17 Sep 2025 8.52 PM
bravrvjk / bravrvjk
0644
login-register.php
10.33 KB
10 Apr 2024 9.54 PM
bravrvjk / bravrvjk
0644
misc-functions.php
113.723 KB
17 Sep 2025 8.52 PM
bravrvjk / bravrvjk
0644
plugin-compatibility.php
3.171 KB
31 Mar 2020 4.14 AM
bravrvjk / bravrvjk
0644
post-types.php
17.825 KB
31 Mar 2025 11.17 PM
bravrvjk / bravrvjk
0644
price-functions.php
2.827 KB
31 Mar 2020 4.14 AM
bravrvjk / bravrvjk
0644
process-donation.php
49.202 KB
6 Nov 2024 11.55 PM
bravrvjk / bravrvjk
0644
setting-functions.php
4.356 KB
11 Jul 2019 8.38 AM
bravrvjk / bravrvjk
0644
shortcodes.php
33.278 KB
22 May 2025 12.18 AM
bravrvjk / bravrvjk
0644
template-functions.php
13.151 KB
31 Mar 2025 11.17 PM
bravrvjk / bravrvjk
0644
user-functions.php
15.768 KB
18 Aug 2022 10.28 PM
bravrvjk / bravrvjk
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF