$96 GRAYBYTE WORDPRESS FILE MANAGER $66

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.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/var/softaculous/sitepad/editor/site-data/plugins/kkart-pro/includes/

HOME
Current File : /var/softaculous/sitepad/editor/site-data/plugins/kkart-pro/includes//kkart-notice-functions.php
<?php
/**
 * Kkart Message Functions
 *
 * Functions for error/message handling and display.
 *
 * @package Kkart\Functions
 * @version 2.1.0
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Get the count of notices added, either for all notices (default) or for one.
 * particular notice type specified by $notice_type.
 *
 * @since  2.1
 * @param  string $notice_type Optional. The name of the notice type - either error, success or notice.
 * @return int
 */
function kkart_notice_count( $notice_type = '' ) {
	if ( ! did_action( 'kkart_init' ) ) {
		kkart_doing_it_wrong( __FUNCTION__, __( 'This function should not be called before kkart_init.', 'kkart' ), '2.3' );
		return;
	}

	$notice_count = 0;
	$all_notices  = KKART()->session->get( 'kkart_notices', array() );

	if ( isset( $all_notices[ $notice_type ] ) ) {

		$notice_count = count( $all_notices[ $notice_type ] );

	} elseif ( empty( $notice_type ) ) {

		foreach ( $all_notices as $notices ) {
			$notice_count += count( $notices );
		}
	}

	return $notice_count;
}

/**
 * Check if a notice has already been added.
 *
 * @since  2.1
 * @param  string $message The text to display in the notice.
 * @param  string $notice_type Optional. The name of the notice type - either error, success or notice.
 * @return bool
 */
function kkart_has_notice( $message, $notice_type = 'success' ) {
	if ( ! did_action( 'kkart_init' ) ) {
		kkart_doing_it_wrong( __FUNCTION__, __( 'This function should not be called before kkart_init.', 'kkart' ), '2.3' );
		return false;
	}

	$notices = KKART()->session->get( 'kkart_notices', array() );
	$notices = isset( $notices[ $notice_type ] ) ? $notices[ $notice_type ] : array();
	return array_search( $message, wp_list_pluck( $notices, 'notice' ), true ) !== false;
}

/**
 * Add and store a notice.
 *
 * @since 2.1
 * @version 3.9.0
 * @param string $message     The text to display in the notice.
 * @param string $notice_type Optional. The name of the notice type - either error, success or notice.
 * @param array  $data        Optional notice data.
 */
function kkart_add_notice( $message, $notice_type = 'success', $data = array() ) {
	if ( ! did_action( 'kkart_init' ) ) {
		kkart_doing_it_wrong( __FUNCTION__, __( 'This function should not be called before kkart_init.', 'kkart' ), '2.3' );
		return;
	}

	$notices = KKART()->session->get( 'kkart_notices', array() );

	// Backward compatibility.
	if ( 'success' === $notice_type ) {
		$message = apply_filters( 'kkart_add_message', $message );
	}

	$message = apply_filters( 'kkart_add_' . $notice_type, $message );

	if ( ! empty( $message ) ) {
		$notices[ $notice_type ][] = array(
			'notice' => $message,
			'data'   => $data,
		);
	}

	KKART()->session->set( 'kkart_notices', $notices );
}

/**
 * Set all notices at once.
 *
 * @since 2.6.0
 * @param array[] $notices Array of notices.
 */
function kkart_set_notices( $notices ) {
	if ( ! did_action( 'kkart_init' ) ) {
		kkart_doing_it_wrong( __FUNCTION__, __( 'This function should not be called before kkart_init.', 'kkart' ), '2.6' );
		return;
	}

	KKART()->session->set( 'kkart_notices', $notices );
}

/**
 * Unset all notices.
 *
 * @since 2.1
 */
function kkart_clear_notices() {
	if ( ! did_action( 'kkart_init' ) ) {
		kkart_doing_it_wrong( __FUNCTION__, __( 'This function should not be called before kkart_init.', 'kkart' ), '2.3' );
		return;
	}
	KKART()->session->set( 'kkart_notices', null );
}

/**
 * Prints messages and errors which are stored in the session, then clears them.
 *
 * @since 2.1
 * @param bool $return true to return rather than echo. @since 3.5.0.
 * @return string|null
 */
function kkart_print_notices( $return = false ) {
	if ( ! did_action( 'kkart_init' ) ) {
		kkart_doing_it_wrong( __FUNCTION__, __( 'This function should not be called before kkart_init.', 'kkart' ), '2.3' );
		return;
	}

	$all_notices  = KKART()->session->get( 'kkart_notices', array() );
	$notice_types = apply_filters( 'kkart_notice_types', array( 'error', 'success', 'notice' ) );

	// Buffer output.
	ob_start();

	foreach ( $notice_types as $notice_type ) {
		if ( kkart_notice_count( $notice_type ) > 0 ) {
			$messages = array();

			foreach ( $all_notices[ $notice_type ] as $notice ) {
				$messages[] = isset( $notice['notice'] ) ? $notice['notice'] : $notice;
			}

			kkart_get_template(
				"notices/{$notice_type}.php",
				array(
					'messages' => array_filter( $messages ), // @deprecated 3.9.0
					'notices'  => array_filter( $all_notices[ $notice_type ] ),
				)
			);
		}
	}

	kkart_clear_notices();

	$notices = kkart_kses_notice( ob_get_clean() );

	if ( $return ) {
		return $notices;
	}

	echo $notices; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}

/**
 * Print a single notice immediately.
 *
 * @since 2.1
 * @version 3.9.0
 * @param string $message The text to display in the notice.
 * @param string $notice_type Optional. The singular name of the notice type - either error, success or notice.
 * @param array  $data        Optional notice data. @since 3.9.0.
 */
function kkart_print_notice( $message, $notice_type = 'success', $data = array() ) {
	if ( 'success' === $notice_type ) {
		$message = apply_filters( 'kkart_add_message', $message );
	}

	$message = apply_filters( 'kkart_add_' . $notice_type, $message );

	kkart_get_template(
		"notices/{$notice_type}.php",
		array(
			'messages' => array( $message ), // @deprecated 3.9.0
			'notices'  => array(
				array(
					'notice' => $message,
					'data'   => $data,
				),
			),
		)
	);
}

/**
 * Returns all queued notices, optionally filtered by a notice type.
 *
 * @since  2.1
 * @version 3.9.0
 * @param  string $notice_type Optional. The singular name of the notice type - either error, success or notice.
 * @return array[]
 */
function kkart_get_notices( $notice_type = '' ) {
	if ( ! did_action( 'kkart_init' ) ) {
		kkart_doing_it_wrong( __FUNCTION__, __( 'This function should not be called before kkart_init.', 'kkart' ), '2.3' );
		return;
	}

	$all_notices = KKART()->session->get( 'kkart_notices', array() );

	if ( empty( $notice_type ) ) {
		$notices = $all_notices;
	} elseif ( isset( $all_notices[ $notice_type ] ) ) {
		$notices = $all_notices[ $notice_type ];
	} else {
		$notices = array();
	}

	return $notices;
}

/**
 * Add notices for WP Errors.
 *
 * @param WP_Error $errors Errors.
 */
function kkart_add_wp_error_notices( $errors ) {
	if ( is_wp_error( $errors ) && $errors->get_error_messages() ) {
		foreach ( $errors->get_error_messages() as $error ) {
			kkart_add_notice( $error, 'error' );
		}
	}
}

/**
 * Filters out the same tags as wp_kses_post, but allows tabindex for <a> element.
 *
 * @since 3.5.0
 * @param string $message Content to filter through kses.
 * @return string
 */
function kkart_kses_notice( $message ) {
	$allowed_tags = array_replace_recursive(
		wp_kses_allowed_html( 'post' ),
		array(
			'a' => array(
				'tabindex' => true,
			),
		)
	);

	/**
	 * Kses notice allowed tags.
	 *
	 * @since 3.9.0
	 * @param array[]|string $allowed_tags An array of allowed HTML elements and attributes, or a context name such as 'post'.
	 */
	return wp_kses( $message, apply_filters( 'kkart_kses_notice_allowed_tags', $allowed_tags ) );
}

/**
 * Get notice data attribute.
 *
 * @since 3.9.0
 * @param array $notice Notice data.
 * @return string
 */
function kkart_get_notice_data_attr( $notice ) {
	if ( empty( $notice['data'] ) ) {
		return;
	}

	$attr = '';

	foreach ( $notice['data'] as $key => $value ) {
		$attr .= sprintf(
			' data-%1$s="%2$s"',
			sanitize_title( $key ),
			esc_attr( $value )
		);
	}

	return $attr;
}


Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
21 Feb 2026 2.55 AM
root / root
0755
abstracts
--
21 Feb 2026 2.55 AM
root / root
0755
admin
--
21 Feb 2026 2.55 AM
root / root
0755
cli
--
21 Feb 2026 2.55 AM
root / root
0755
customizer
--
21 Feb 2026 2.55 AM
root / root
0755
data-stores
--
21 Feb 2026 2.55 AM
root / root
0755
emails
--
21 Feb 2026 2.55 AM
root / root
0755
export
--
21 Feb 2026 2.55 AM
root / root
0755
gateways
--
21 Feb 2026 2.55 AM
root / root
0755
import
--
21 Feb 2026 2.55 AM
root / root
0755
integrations
--
21 Feb 2026 2.55 AM
root / root
0755
interfaces
--
21 Feb 2026 2.55 AM
root / root
0755
legacy
--
21 Feb 2026 2.55 AM
root / root
0755
libraries
--
21 Feb 2026 2.55 AM
root / root
0755
log-handlers
--
21 Feb 2026 2.55 AM
root / root
0755
payment-tokens
--
21 Feb 2026 2.55 AM
root / root
0755
queue
--
21 Feb 2026 2.55 AM
root / root
0755
rest-api
--
21 Feb 2026 2.55 AM
root / root
0755
shipping
--
21 Feb 2026 2.55 AM
root / root
0755
shortcodes
--
21 Feb 2026 2.55 AM
root / root
0755
theme-support
--
21 Feb 2026 2.55 AM
root / root
0755
tracks
--
21 Feb 2026 2.55 AM
root / root
0755
traits
--
21 Feb 2026 2.55 AM
root / root
0755
walkers
--
21 Feb 2026 2.55 AM
root / root
0755
wccom-site
--
21 Feb 2026 2.55 AM
root / root
0755
widgets
--
21 Feb 2026 2.55 AM
root / root
0755
body-props-settings.php
8.183 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-ajax.php
128.261 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-api.php
4.971 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-auth.php
11.659 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-autoloader.php
2.775 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-background-emailer.php
4.593 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-background-updater.php
3.496 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-breadcrumb.php
9.465 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-cache-helper.php
10.71 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-cart-fees.php
3.416 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-cart-session.php
14.459 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-cart-totals.php
27.723 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-cart.php
63.235 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-checkout.php
44.586 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-cli.php
1.019 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-comments.php
12.993 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-countries.php
42.209 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-coupon.php
32.568 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-customer-download-log.php
3.377 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-customer-download.php
10.357 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-customer.php
27.24 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-data-exception.php
1.275 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-data-store.php
5.881 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-datetime.php
2.198 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-deprecated-action-hooks.php
6.54 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-deprecated-filter-hooks.php
6.263 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-discounts.php
30.963 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-download-handler.php
23.369 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-emails.php
22.166 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-embed.php
4.184 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-form-handler.php
43.727 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-frontend-scripts.php
25.999 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-geo-ip.php
30.435 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-geolite-integration.php
1.994 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-geolocation.php
10.338 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-https.php
4.294 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-install.php
53.838 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-integrations.php
1.285 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-log-levels.php
2.536 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-logger.php
8.208 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-meta-data.php
2.179 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-order-factory.php
3.137 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-order-item-coupon.php
4.021 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-order-item-fee.php
8.7 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-order-item-meta.php
5.8 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-order-item-product.php
13.053 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-order-item-shipping.php
7.747 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-order-item-tax.php
6.438 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-order-item.php
10.69 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-order-query.php
2.518 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-order-refund.php
4.892 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-order.php
61.028 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-payment-gateways.php
5.241 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-payment-tokens.php
5.905 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-post-data.php
17.814 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-post-types.php
26.492 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-privacy-background-process.php
1.693 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-privacy-erasers.php
13.284 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-privacy-exporters.php
14.119 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-privacy.php
14.855 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-product-attribute.php
6.887 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-product-download.php
6.015 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-product-external.php
4.774 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-product-factory.php
3.597 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-product-grouped.php
5.194 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-product-query.php
2.17 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-product-simple.php
1.854 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-product-variable.php
21.468 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-product-variation.php
17.197 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-query.php
30.399 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-rate-limiter.php
2.083 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-regenerate-images-request.php
8.169 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-regenerate-images.php
15.241 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-register-wp-admin-settings.php
4.873 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-rest-authentication.php
19.347 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-rest-exception.php
0.267 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-session-handler.php
10.567 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-shipping-rate.php
5.262 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-shipping-zone.php
13.09 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-shipping-zones.php
4.071 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-shipping.php
11.335 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-shortcodes.php
17.205 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-structured-data.php
17.201 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-tax.php
35.837 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-template-loader.php
18.436 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-tracker.php
22.509 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-validation.php
5.835 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart-webhook.php
29.851 KB
18 Feb 2026 11.32 PM
root / root
0644
class-kkart.php
31.278 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-account-functions.php
12.69 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-attribute-functions.php
20.589 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-cart-functions.php
17.269 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-conditional-functions.php
11.796 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-core-functions.php
82.039 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-coupon-functions.php
2.647 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-formatting-functions.php
41.608 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-notice-functions.php
7.444 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-order-functions.php
33.528 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-order-item-functions.php
5.056 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-page-functions.php
6.918 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-product-functions.php
47.298 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-rest-functions.php
10.621 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-stock-functions.php
12.454 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-template-functions.php
164.644 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-template-hooks.php
11.057 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-term-functions.php
19.451 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-update-functions.php
64.883 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-user-functions.php
26.584 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-webhook-functions.php
5.579 KB
18 Feb 2026 11.32 PM
root / root
0644
kkart-widget-functions.php
2.076 KB
18 Feb 2026 11.32 PM
root / root
0644
premium.php
0.921 KB
18 Feb 2026 11.32 PM
root / root
0644
premium_functions.php
0.935 KB
18 Feb 2026 11.32 PM
root / root
0644
shortcode_functions.php
71.114 KB
18 Feb 2026 11.32 PM
root / root
0644
shortcodes.php
265.735 KB
18 Feb 2026 11.32 PM
root / root
0644
template.php
2.853 KB
18 Feb 2026 11.32 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF