$32 GRAYBYTE WORDPRESS FILE MANAGER $94

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | 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-translation.php
<?php

use Give\Log\Log;

/**
 * Translations
 *
 * @package     Give
 * @subpackage  Classes/Give_Stats
 * @copyright   Copyright (c) 2017, Give
 * @license     https://opensource.org/licenses/gpl-license GNU Public License
 * @since       2.0
 */
class Give_Translations {
	/**
	 * Instance.
	 *
	 * @since  2.0
	 * @access private
	 * @var
	 */
	private static $instance;

	/**
	 * Text config.
	 *
	 * @since  2.0
	 * @access private
	 * @var
	 */
	private static $text_configs = array();

	/**
	 * Translated texts.
	 *
	 * @since  2.0
	 * @access private
	 * @var
	 */
	private static $text_translations = array();

	/**
	 * Singleton pattern.
	 *
	 * @since  2.0
	 * @access private
	 */
	private function __construct() {
	}


	/**
	 * Get instance.
	 *
	 * @since  2.0
	 * @access public
	 * @return static
	 */
	public static function get_instance() {
		if ( null === static::$instance ) {
			self::$instance = new static();
		}

		return self::$instance;
	}

	/**
	 * Setup
	 *
	 * @since  2.0
	 * @access public
	 */
	public function setup() {
		self::setup_hooks();
	}

	/**
	 * Setup hooks
	 *
	 * @since  2.0
	 * @access public
	 */
	public function setup_hooks() {
		add_action( 'init', array( $this, 'load_translated_texts' ), 999 );
	}

	/**
	 * Load translated texts.
	 *
	 * @since  2.0
	 * @access public
	 */
	public function load_translated_texts() {
		/**
		 * Filter the translated texts.
		 *
		 * @since 2.0
		 */
		self::$text_translations = apply_filters(
			'give_translated_texts',
			self::$text_translations
		);
	}

	/**
	 * Add text by group ( if any )
	 *
	 * @since  2.0
	 * @access public
	 *
	 * @param array $args
	 *
	 * @return bool|WP_Error false on success otherwise WP_Error object
	 */
	public static function add_text( $args = array() ) {
		$error = false;

		// Set text params.
		$args = wp_parse_args(
			$args,
			array(
				'text'  => '',
				'id'    => '',
				'group' => '',
				'type'  => 'text',
			)
		);

		try {
			// Check for errors.
			if ( empty( $args['text'] ) ) {
				/* @var WP_Error $error */
				$error = new WP_Error( 'EMPTY_TEXT', __( 'Empty string is not allowed.', 'give' ), $args );
				throw new Exception( $error->get_error_message( 'EMPTY_TEXT' ) );
			} elseif ( empty( $args['id'] ) ) {
				/* @var WP_Error $error */
				$error = new WP_Error( 'EMPTY_ID', __( 'Empty ID is not allowed.', 'give' ), $args );
				throw new Exception( $error->get_error_message( 'EMPTY_ID' ) );

			} elseif (
				empty( $args['group'] ) &&
				array_key_exists( $args['id'], self::$text_configs )
			) {
				/* @var WP_Error $error */
				$error = new WP_Error( 'TEXT_ID_ALREADY_EXIST', __( 'Text ID without a group already exists.', 'give' ), $args );
				throw new Exception( $error->get_error_message( 'TEXT_ID_ALREADY_EXIST' ) );

			} elseif (
				! empty( $args['group'] ) &&
				! empty( self::$text_configs[ $args['group'] ] ) &&
				array_key_exists( $args['id'], self::$text_configs[ $args['group'] ] )
			) {
				/* @var WP_Error $error */
				$error = new WP_Error( 'TEXT_ID_WITHIN_GROUP_ALREADY_EXIST', __( 'Text ID within a group already exists.', 'give' ), $args );
				throw new Exception( $error->get_error_message( 'TEXT_ID_WITHIN_GROUP_ALREADY_EXIST' ) );

			}

			// Add text.
			if ( ! empty( $args['group'] ) ) {
				self::$text_configs[ $args['group'] ][ $args['id'] ] = $args;
			} else {
				self::$text_configs[ $args['id'] ] = $args;
			}
		} catch ( Exception $e ) {
            Log::error( $e->getMessage() );
        }// End try().

		/**
		 * Filter the texts
		 *
		 * @since 2.0
		 */
		self::$text_configs = apply_filters( 'give_texts', self::$text_configs );

		return $error;
	}

	/**
	 * Add label by group ( if any )
	 *
	 * @since  2.0
	 * @access public
	 *
	 * @param array $args
	 *
	 * @return string
	 */
	public static function add_label( $args = array() ) {
		// Set text params.
		$args = wp_parse_args(
			$args,
			array(
				'text'  => '',
				'id'    => '',
				'group' => '',
			)
		);

		$args['type'] = 'label';
		$args['id']   = "{$args['id']}_label";

		return self::add_text( $args );
	}

	/**
	 * Add tooltip by group ( if any )
	 *
	 * @since  2.0
	 * @access public
	 *
	 * @param array $args
	 *
	 * @return string
	 */
	public static function add_tooltip( $args = array() ) {
		// Set text params.
		$args = wp_parse_args(
			$args,
			array(
				'text'  => '',
				'id'    => '',
				'group' => '',
			)
		);

		$args['type'] = 'tooltip';
		$args['id']   = "{$args['id']}_tooltip";

		return self::add_text( $args );
	}

	/**
	 * Add translation by group ( if any )
	 *
	 * @since  2.0
	 * @access public
	 *
	 * @param array 4args
	 *
	 * @return string
	 */
	public static function add_translation( $args = array() ) {
		$args = wp_parse_args(
			$args,
			array(
				'id'    => '',
				'group' => '',
				'text'  => '',
			)
		);

		// Bailout.
		if ( empty( $args['id'] ) ) {
			return;
		}

		if ( ! empty( $args['group'] ) ) {
			self::$text_translations[ $args['group'] ][ $args['id'] ] = $args['text'];
		} else {
			self::$text_translations[ $args['id'] ] = $args['text'];
		}
	}

	/**
	 * Get label translation by group ( if any )
	 *
	 * @since  2.0
	 * @access public
	 *
	 * @param string $id
	 * @param string $group
	 * @param string $text
	 *
	 * @return string
	 */
	public static function add_label_translation( $id, $group = '', $text = '' ) {
		return self::get_text(
			array(
				'id'    => "{$id}_label",
				'group' => $group,
				'text'  => $text,
			)
		);
	}

	/**
	 * Get tooltip translation by group ( if any )
	 *
	 * @since  2.0
	 * @access public
	 *
	 * @param string $id
	 * @param string $group
	 * @param string $text
	 *
	 * @return string
	 */
	public static function add_tooltip_translation( $id, $group = '', $text = '' ) {
		return self::get_text(
			array(
				'id'    => "{$id}_label",
				'group' => $group,
				'text'  => $text,
			)
		);
	}

	/**
	 * Get label by group ( if any )
	 *
	 * @since  2.0
	 * @access public
	 *
	 * @param string $id
	 * @param string $group
	 *
	 * @return string
	 */
	public static function get_label( $id, $group = '' ) {
		return self::get_text(
			array(
				'id'    => "{$id}_label",
				'group' => $group,
				'type'  => 'label',
			)
		);
	}

	/**
	 * Get tooltip by group ( if any )
	 *
	 * @since  2.0
	 * @access public
	 *
	 * @param string $id
	 * @param string $group
	 *
	 * @return string
	 */
	public static function get_tooltip( $id, $group = '' ) {
		return self::get_text(
			array(
				'id'    => "{$id}_tooltip",
				'group' => $group,
				'type'  => 'tooltip',
			)
		);
	}

	/**
	 * Get text by group
	 *
	 * @since  2.0
	 * @access public
	 *
	 * @param array $args
	 *
	 * @return string
	 */
	public static function get_text( $args = array() ) {
		$text = '';

		// Bailout.
		if ( empty( $args ) ) {
			return $text;
		}

		// Setup args.
		$args = wp_parse_args(
			$args,
			array(
				'id'    => '',
				'group' => '',
				'type'  => 'text',
			)
		);

		// Check if text exist.
		if (
			empty( $args['id'] ) ||
			( empty( $args['group'] ) && ! array_key_exists( $args['id'], self::$text_configs ) ) ||
			( ! empty( $args['group'] ) && ! empty( self::$text_configs[ $args['group'] ] ) && ! array_key_exists( $args['id'], self::$text_configs[ $args['group'] ] ) )
		) {
			return $text;
		}

		// Get text value.
		if (
			! empty( $args['group'] ) &&
			array_key_exists( $args['group'], self::$text_configs )
		) {
			$text = self::$text_configs[ $args['group'] ][ $args['id'] ]['text'];

			// Get translated text if exist.
			if (
				! empty( self::$text_translations ) &&
				! empty( self::$text_translations[ $args['group'] ] ) &&
				array_key_exists( $args['id'], self::$text_translations[ $args['group'] ] )
			) {
				$text = self::$text_translations[ $args['group'] ][ $args['id'] ];
			}
		} elseif (
			empty( $args['group'] ) &&
			array_key_exists( $args['id'], self::$text_configs )
		) {
			$text = self::$text_configs[ $args['id'] ]['text'];

			// Get translated text if exist.
			if (
				! empty( self::$text_translations ) &&
				array_key_exists( $args['id'], self::$text_translations )
			) {
				$text = self::$text_translations[ $args['id'] ];
			}
		}

		/**
		 * Filter the give text
		 *
		 * @since 2.0
		 */
		$text = apply_filters( 'give_text', $text, $args, self::$text_configs, self::$text_translations );

		return $text;
	}
}

// Setup translations.
Give_Translations::get_instance()->setup();



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