$19 GRAYBYTE WORDPRESS FILE MANAGER $12

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//class-kkart-api.php
<?php
/**
 * KKART-API endpoint handler.
 *
 * This handles API related functionality in Kkart.
 * - kkart-api endpoint - Commonly used by Payment gateways for callbacks.
 * - Legacy REST API - Deprecated in 2.6.0. @see class-kkart-legacy-api.php
 * - WP REST API - The main REST API in Kkart which is built on top of the WP REST API.
 *
 * @package Kkart\RestApi
 * @since   2.0.0
 */

defined( 'ABSPATH' ) || exit;

/**
 * KKART_API class.
 */
class KKART_API extends KKART_Legacy_API {

	/**
	 * Init the API by setting up action and filter hooks.
	 */
	public function init() {
		parent::init();
		add_action( 'init', array( $this, 'add_endpoint' ), 0 );
		add_filter( 'query_vars', array( $this, 'add_query_vars' ), 0 );
		add_action( 'parse_request', array( $this, 'handle_api_requests' ), 0 );
		add_action( 'rest_api_init', array( $this, 'register_wp_admin_settings' ) );
	}

	/**
	 * Get the version of the REST API package being ran. Since API package was merged into core, this now follows KKART version.
	 *
	 * @since 3.7.0
	 * @return string|null
	 */
	public function get_rest_api_package_version() {
		if ( ! $this->is_rest_api_loaded() ) {
			return null;
		}
		if ( method_exists( \Automattic\Kkart\RestApi\Server::class, 'get_path' ) ) {
			$path = \Automattic\Kkart\RestApi\Server::get_path();
			if ( 0 === strpos( $path, __DIR__ ) ) {
				// We are loading API from included version.
				return KKART()->version;
			}
		}
		// We are loading API from external plugin.
		return \Automattic\Kkart\RestApi\Package::get_version();
	}

	/**
	 * Get the version of the REST API package being ran.
	 *
	 * @since 3.7.0
	 * @return string
	 */
	public function get_rest_api_package_path() {
		if ( ! $this->is_rest_api_loaded() ) {
			return null;
		}
		if ( method_exists( \Automattic\Kkart\RestApi\Server::class, 'get_path' ) ) {
			// We are loading API from included version.
			return \Automattic\Kkart\RestApi\Server::get_path();
		}
		// We are loading API from external plugin.
		return \Automattic\Kkart\RestApi\Package::get_path();
	}

	/**
	 * Return if the rest API classes were already loaded.
	 *
	 * @since 3.7.0
	 * @return boolean
	 */
	protected function is_rest_api_loaded() {
		return class_exists( '\Automattic\Kkart\RestApi\Server', false );
	}

	/**
	 * Get data from a Kkart API endpoint.
	 *
	 * @since 3.7.0
	 * @param string $endpoint Endpoint.
	 * @param array  $params Params to passwith request.
	 * @return array|\WP_Error
	 */
	public function get_endpoint_data( $endpoint, $params = array() ) {
		if ( ! $this->is_rest_api_loaded() ) {
			return new WP_Error( 'rest_api_unavailable', __( 'The Rest API is unavailable.', 'kkart' ) );
		}
		$request = new \WP_REST_Request( 'GET', $endpoint );
		if ( $params ) {
			$request->set_query_params( $params );
		}
		$response = rest_do_request( $request );
		$server   = rest_get_server();
		$json     = wp_json_encode( $server->response_to_data( $response, false ) );
		return json_decode( $json, true );
	}

	/**
	 * Add new query vars.
	 *
	 * @since 2.0
	 * @param array $vars Query vars.
	 * @return string[]
	 */
	public function add_query_vars( $vars ) {
		$vars   = parent::add_query_vars( $vars );
		$vars[] = 'kkart-api';
		return $vars;
	}

	/**
	 * KKART API for payment gateway IPNs, etc.
	 *
	 * @since 2.0
	 */
	public static function add_endpoint() {
		parent::add_endpoint();
		add_rewrite_endpoint( 'kkart-api', EP_ALL );
	}

	/**
	 * API request - Trigger any API requests.
	 *
	 * @since   2.0
	 * @version 2.4
	 */
	public function handle_api_requests() {
		global $wp;

		if ( ! empty( $_GET['kkart-api'] ) ) { // WPCS: input var okay, CSRF ok.
			$wp->query_vars['kkart-api'] = sanitize_key( wp_unslash( $_GET['kkart-api'] ) ); // WPCS: input var okay, CSRF ok.
		}

		// kkart-api endpoint requests.
		if ( ! empty( $wp->query_vars['kkart-api'] ) ) {

			// Buffer, we won't want any output here.
			ob_start();

			// No cache headers.
			kkart_nocache_headers();

			// Clean the API request.
			$api_request = strtolower( kkart_clean( $wp->query_vars['kkart-api'] ) );

			// Make sure gateways are available for request.
			KKART()->payment_gateways();

			// Trigger generic action before request hook.
			do_action( 'kkart_api_request', $api_request );

			// Is there actually something hooked into this API request? If not trigger 400 - Bad request.
			status_header( has_action( 'kkart_api_' . $api_request ) ? 200 : 400 );

			// Trigger an action which plugins can hook into to fulfill the request.
			do_action( 'kkart_api_' . $api_request );

			// Done, clear buffer and exit.
			ob_end_clean();
			die( '-1' );
		}
	}

	/**
	 * Register KKART settings from WP-API to the REST API.
	 *
	 * @since  3.0.0
	 */
	public function register_wp_admin_settings() {
		$pages = KKART_Admin_Settings::get_settings_pages();
		foreach ( $pages as $page ) {
			new KKART_Register_WP_Admin_Settings( $page, 'page' );
		}

		$emails = KKART_Emails::instance();
		foreach ( $emails->get_emails() as $email ) {
			new KKART_Register_WP_Admin_Settings( $email, 'email' );
		}
	}
}


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