X7ROOT File Manager
Current Path:
/var/softaculous/sitepad/editor/site-data/plugins/kkart-pro/includes
var
/
softaculous
/
sitepad
/
editor
/
site-data
/
plugins
/
kkart-pro
/
includes
/
ðŸ“
..
ðŸ“
abstracts
ðŸ“
admin
📄
body-props-settings.php
(8.18 KB)
📄
class-kkart-ajax.php
(125.64 KB)
📄
class-kkart-api.php
(4.97 KB)
📄
class-kkart-auth.php
(11.66 KB)
📄
class-kkart-autoloader.php
(2.78 KB)
📄
class-kkart-background-emailer.php
(4.59 KB)
📄
class-kkart-background-updater.php
(3.5 KB)
📄
class-kkart-breadcrumb.php
(9.46 KB)
📄
class-kkart-cache-helper.php
(10.71 KB)
📄
class-kkart-cart-fees.php
(3.42 KB)
📄
class-kkart-cart-session.php
(14.46 KB)
📄
class-kkart-cart-totals.php
(27.72 KB)
📄
class-kkart-cart.php
(63.24 KB)
📄
class-kkart-checkout.php
(44.58 KB)
📄
class-kkart-cli.php
(1.02 KB)
📄
class-kkart-comments.php
(12.99 KB)
📄
class-kkart-countries.php
(42.21 KB)
📄
class-kkart-coupon.php
(32.57 KB)
📄
class-kkart-customer-download-log.php
(3.38 KB)
📄
class-kkart-customer-download.php
(10.36 KB)
📄
class-kkart-customer.php
(27.24 KB)
📄
class-kkart-data-exception.php
(1.28 KB)
📄
class-kkart-data-store.php
(5.88 KB)
📄
class-kkart-datetime.php
(2.2 KB)
📄
class-kkart-deprecated-action-hooks.php
(6.54 KB)
📄
class-kkart-deprecated-filter-hooks.php
(6.26 KB)
📄
class-kkart-discounts.php
(30.96 KB)
📄
class-kkart-download-handler.php
(23.37 KB)
📄
class-kkart-emails.php
(22.17 KB)
📄
class-kkart-embed.php
(4.18 KB)
📄
class-kkart-form-handler.php
(43.73 KB)
📄
class-kkart-frontend-scripts.php
(26 KB)
📄
class-kkart-geo-ip.php
(30.43 KB)
📄
class-kkart-geolite-integration.php
(1.99 KB)
📄
class-kkart-geolocation.php
(10.34 KB)
📄
class-kkart-https.php
(4.29 KB)
📄
class-kkart-install.php
(53.84 KB)
📄
class-kkart-integrations.php
(1.29 KB)
📄
class-kkart-log-levels.php
(2.54 KB)
📄
class-kkart-logger.php
(8.21 KB)
📄
class-kkart-meta-data.php
(2.18 KB)
📄
class-kkart-order-factory.php
(3.14 KB)
📄
class-kkart-order-item-coupon.php
(4.02 KB)
📄
class-kkart-order-item-fee.php
(8.7 KB)
📄
class-kkart-order-item-meta.php
(5.8 KB)
📄
class-kkart-order-item-product.php
(13.05 KB)
📄
class-kkart-order-item-shipping.php
(7.75 KB)
📄
class-kkart-order-item-tax.php
(6.44 KB)
📄
class-kkart-order-item.php
(10.69 KB)
📄
class-kkart-order-query.php
(2.52 KB)
📄
class-kkart-order-refund.php
(4.89 KB)
📄
class-kkart-order.php
(61.03 KB)
📄
class-kkart-payment-gateways.php
(5.24 KB)
📄
class-kkart-payment-tokens.php
(5.91 KB)
📄
class-kkart-post-data.php
(17.81 KB)
📄
class-kkart-post-types.php
(26.49 KB)
📄
class-kkart-privacy-background-process.php
(1.69 KB)
📄
class-kkart-privacy-erasers.php
(13.28 KB)
📄
class-kkart-privacy-exporters.php
(14.12 KB)
📄
class-kkart-privacy.php
(14.86 KB)
📄
class-kkart-product-attribute.php
(6.89 KB)
📄
class-kkart-product-download.php
(6.01 KB)
📄
class-kkart-product-external.php
(4.77 KB)
📄
class-kkart-product-factory.php
(3.6 KB)
📄
class-kkart-product-grouped.php
(5.19 KB)
📄
class-kkart-product-query.php
(2.17 KB)
📄
class-kkart-product-simple.php
(1.85 KB)
📄
class-kkart-product-variable.php
(21.47 KB)
📄
class-kkart-product-variation.php
(17.2 KB)
📄
class-kkart-query.php
(30.4 KB)
📄
class-kkart-rate-limiter.php
(2.08 KB)
📄
class-kkart-regenerate-images-request.php
(8.17 KB)
📄
class-kkart-regenerate-images.php
(15.24 KB)
📄
class-kkart-register-wp-admin-settings.php
(4.87 KB)
📄
class-kkart-rest-authentication.php
(19.35 KB)
📄
class-kkart-rest-exception.php
(273 B)
📄
class-kkart-session-handler.php
(10.57 KB)
📄
class-kkart-shipping-rate.php
(5.26 KB)
📄
class-kkart-shipping-zone.php
(13.09 KB)
📄
class-kkart-shipping-zones.php
(4.07 KB)
📄
class-kkart-shipping.php
(11.33 KB)
📄
class-kkart-shortcodes.php
(17.21 KB)
📄
class-kkart-structured-data.php
(17.2 KB)
📄
class-kkart-tax.php
(35.84 KB)
📄
class-kkart-template-loader.php
(18.44 KB)
📄
class-kkart-tracker.php
(22.51 KB)
📄
class-kkart-validation.php
(5.83 KB)
📄
class-kkart-webhook.php
(29.85 KB)
📄
class-kkart.php
(32.69 KB)
ðŸ“
cli
ðŸ“
customizer
ðŸ“
data-stores
ðŸ“
emails
ðŸ“
export
ðŸ“
gateways
ðŸ“
import
ðŸ“
integrations
ðŸ“
interfaces
📄
kkart-account-functions.php
(12.69 KB)
📄
kkart-attribute-functions.php
(20.59 KB)
📄
kkart-cart-functions.php
(17.27 KB)
📄
kkart-conditional-functions.php
(11.8 KB)
📄
kkart-core-functions.php
(78.19 KB)
📄
kkart-coupon-functions.php
(2.65 KB)
📄
kkart-formatting-functions.php
(41.61 KB)
📄
kkart-notice-functions.php
(7.44 KB)
📄
kkart-order-functions.php
(33.53 KB)
📄
kkart-order-item-functions.php
(5.06 KB)
📄
kkart-page-functions.php
(6.92 KB)
📄
kkart-product-functions.php
(47.3 KB)
📄
kkart-rest-functions.php
(10.62 KB)
📄
kkart-stock-functions.php
(12.45 KB)
📄
kkart-template-functions.php
(164.55 KB)
📄
kkart-template-hooks.php
(11.06 KB)
📄
kkart-term-functions.php
(19.45 KB)
📄
kkart-update-functions.php
(64.88 KB)
📄
kkart-user-functions.php
(26.58 KB)
📄
kkart-webhook-functions.php
(5.58 KB)
📄
kkart-widget-functions.php
(2.08 KB)
ðŸ“
legacy
ðŸ“
libraries
ðŸ“
log-handlers
ðŸ“
payment-tokens
📄
premium.php
(943 B)
📄
premium_functions.php
(957 B)
ðŸ“
queue
ðŸ“
rest-api
ðŸ“
shipping
📄
shortcode_functions.php
(70.73 KB)
ðŸ“
shortcodes
📄
shortcodes.php
(265.74 KB)
📄
template.php
(2.85 KB)
ðŸ“
theme-support
ðŸ“
tracks
ðŸ“
traits
ðŸ“
walkers
ðŸ“
wccom-site
ðŸ“
widgets
Editing: kkart-rest-functions.php
<?php /** * Kkart REST Functions * * Functions for REST specific things. * * @package Kkart\Functions * @version 2.6.0 */ defined( 'ABSPATH' ) || exit; /** * Parses and formats a date for ISO8601/RFC3339. * * Required WP 4.4 or later. * See https://developer.wordpress.org/reference/functions/mysql_to_rfc3339/ * * @since 2.6.0 * @param string|null|KKART_DateTime $date Date. * @param bool $utc Send false to get local/offset time. * @return string|null ISO8601/RFC3339 formatted datetime. */ function kkart_rest_prepare_date_response( $date, $utc = true ) { if ( is_numeric( $date ) ) { $date = new KKART_DateTime( "@$date", new DateTimeZone( 'UTC' ) ); $date->setTimezone( new DateTimeZone( kkart_timezone_string() ) ); } elseif ( is_string( $date ) ) { $date = new KKART_DateTime( $date, new DateTimeZone( 'UTC' ) ); $date->setTimezone( new DateTimeZone( kkart_timezone_string() ) ); } if ( ! is_a( $date, 'KKART_DateTime' ) ) { return null; } // Get timestamp before changing timezone to UTC. return gmdate( 'Y-m-d\TH:i:s', $utc ? $date->getTimestamp() : $date->getOffsetTimestamp() ); } /** * Returns image mime types users are allowed to upload via the API. * * @since 2.6.4 * @return array */ function kkart_rest_allowed_image_mime_types() { return apply_filters( 'kkart_rest_allowed_image_mime_types', array( 'jpg|jpeg|jpe' => 'image/jpeg', 'gif' => 'image/gif', 'png' => 'image/png', 'bmp' => 'image/bmp', 'tiff|tif' => 'image/tiff', 'ico' => 'image/x-icon', ) ); } /** * Upload image from URL. * * @since 2.6.0 * @param string $image_url Image URL. * @return array|WP_Error Attachment data or error message. */ function kkart_rest_upload_image_from_url( $image_url ) { $parsed_url = wp_parse_url( $image_url ); // Check parsed URL. if ( ! $parsed_url || ! is_array( $parsed_url ) ) { /* translators: %s: image URL */ return new WP_Error( 'kkart_rest_invalid_image_url', sprintf( __( 'Invalid URL %s.', 'kkart' ), $image_url ), array( 'status' => 400 ) ); } // Ensure url is valid. $image_url = esc_url_raw( $image_url ); // download_url function is part of wp-admin. if ( ! function_exists( 'download_url' ) ) { include_once KKART_ADMIN_DIR . 'includes/file.php'; } $file_array = array(); $file_array['name'] = basename( current( explode( '?', $image_url ) ) ); // Download file to temp location. $file_array['tmp_name'] = download_url( $image_url ); // If error storing temporarily, return the error. if ( is_wp_error( $file_array['tmp_name'] ) ) { return new WP_Error( 'kkart_rest_invalid_remote_image_url', /* translators: %s: image URL */ sprintf( __( 'Error getting remote image %s.', 'kkart' ), $image_url ) . ' ' /* translators: %s: error message */ . sprintf( __( 'Error: %s', 'kkart' ), $file_array['tmp_name']->get_error_message() ), array( 'status' => 400 ) ); } // Do the validation and storage stuff. $file = wp_handle_sideload( $file_array, array( 'test_form' => false, 'mimes' => kkart_rest_allowed_image_mime_types(), ), current_time( 'Y/m' ) ); if ( isset( $file['error'] ) ) { @unlink( $file_array['tmp_name'] ); // @codingStandardsIgnoreLine. /* translators: %s: error message */ return new WP_Error( 'kkart_rest_invalid_image', sprintf( __( 'Invalid image: %s', 'kkart' ), $file['error'] ), array( 'status' => 400 ) ); } do_action( 'kkart_rest_api_uploaded_image_from_url', $file, $image_url ); return $file; } /** * Set uploaded image as attachment. * * @since 2.6.0 * @param array $upload Upload information from wp_upload_bits. * @param int $id Post ID. Default to 0. * @return int Attachment ID */ function kkart_rest_set_uploaded_image_as_attachment( $upload, $id = 0 ) { $info = wp_check_filetype( $upload['file'] ); $title = ''; $content = ''; if ( ! function_exists( 'wp_generate_attachment_metadata' ) ) { include_once KKART_ADMIN_DIR . 'includes/image.php'; } $image_meta = wp_read_image_metadata( $upload['file'] ); if ( $image_meta ) { if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) ) { $title = kkart_clean( $image_meta['title'] ); } if ( trim( $image_meta['caption'] ) ) { $content = kkart_clean( $image_meta['caption'] ); } } $attachment = array( 'post_mime_type' => $info['type'], 'guid' => $upload['url'], 'post_parent' => $id, 'post_title' => $title ? $title : basename( $upload['file'] ), 'post_content' => $content, ); $attachment_id = wp_insert_attachment( $attachment, $upload['file'], $id ); if ( ! is_wp_error( $attachment_id ) ) { wp_update_attachment_metadata( $attachment_id, wp_generate_attachment_metadata( $attachment_id, $upload['file'] ) ); } return $attachment_id; } /** * Validate reports request arguments. * * @since 2.6.0 * @param mixed $value Value to valdate. * @param WP_REST_Request $request Request instance. * @param string $param Param to validate. * @return WP_Error|boolean */ function kkart_rest_validate_reports_request_arg( $value, $request, $param ) { $attributes = $request->get_attributes(); if ( ! isset( $attributes['args'][ $param ] ) || ! is_array( $attributes['args'][ $param ] ) ) { return true; } $args = $attributes['args'][ $param ]; if ( 'string' === $args['type'] && ! is_string( $value ) ) { /* translators: 1: param 2: type */ return new WP_Error( 'kkart_rest_invalid_param', sprintf( __( '%1$s is not of type %2$s', 'kkart' ), $param, 'string' ) ); } if ( 'date' === $args['format'] ) { $regex = '#^\d{4}-\d{2}-\d{2}$#'; if ( ! preg_match( $regex, $value, $matches ) ) { return new WP_Error( 'kkart_rest_invalid_date', __( 'The date you provided is invalid.', 'kkart' ) ); } } return true; } /** * Encodes a value according to RFC 3986. * Supports multidimensional arrays. * * @since 2.6.0 * @param string|array $value The value to encode. * @return string|array Encoded values. */ function kkart_rest_urlencode_rfc3986( $value ) { if ( is_array( $value ) ) { return array_map( 'kkart_rest_urlencode_rfc3986', $value ); } return str_replace( array( '+', '%7E' ), array( ' ', '~' ), rawurlencode( $value ) ); } /** * Check permissions of posts on REST API. * * @since 2.6.0 * @param string $post_type Post type. * @param string $context Request context. * @param int $object_id Post ID. * @return bool */ function kkart_rest_check_post_permissions( $post_type, $context = 'read', $object_id = 0 ) { $contexts = array( 'read' => 'read_private_posts', 'create' => 'publish_posts', 'edit' => 'edit_post', 'delete' => 'delete_post', 'batch' => 'edit_others_posts', ); if ( 'revision' === $post_type ) { $permission = false; } else { $cap = $contexts[ $context ]; $post_type_object = get_post_type_object( $post_type ); $permission = current_user_can( $post_type_object->cap->$cap, $object_id ); } return apply_filters( 'kkart_rest_check_permissions', $permission, $context, $object_id, $post_type ); } /** * Check permissions of users on REST API. * * @since 2.6.0 * @param string $context Request context. * @param int $object_id Post ID. * @return bool */ function kkart_rest_check_user_permissions( $context = 'read', $object_id = 0 ) { $contexts = array( 'read' => 'list_users', 'create' => 'promote_users', // Check if current user can create users, shop managers are not allowed to create users. 'edit' => 'edit_users', 'delete' => 'delete_users', 'batch' => 'promote_users', ); // Check to allow shop_managers to manage only customers. if ( in_array( $context, array( 'edit', 'delete' ), true ) && kkart_current_user_has_role( 'shop_manager' ) ) { $permission = false; $user_data = get_userdata( $object_id ); $shop_manager_editable_roles = apply_filters( 'kkart_shop_manager_editable_roles', array( 'customer' ) ); if ( isset( $user_data->roles ) ) { $can_manage_users = array_intersect( $user_data->roles, array_unique( $shop_manager_editable_roles ) ); // Check if Shop Manager can edit customer or with the is same shop manager. if ( 0 < count( $can_manage_users ) || intval( $object_id ) === intval( get_current_user_id() ) ) { $permission = current_user_can( $contexts[ $context ], $object_id ); } } } else { $permission = current_user_can( $contexts[ $context ], $object_id ); } return apply_filters( 'kkart_rest_check_permissions', $permission, $context, $object_id, 'user' ); } /** * Check permissions of product terms on REST API. * * @since 2.6.0 * @param string $taxonomy Taxonomy. * @param string $context Request context. * @param int $object_id Post ID. * @return bool */ function kkart_rest_check_product_term_permissions( $taxonomy, $context = 'read', $object_id = 0 ) { $contexts = array( 'read' => 'manage_terms', 'create' => 'edit_terms', 'edit' => 'edit_terms', 'delete' => 'delete_terms', 'batch' => 'edit_terms', ); $cap = $contexts[ $context ]; $taxonomy_object = get_taxonomy( $taxonomy ); $permission = current_user_can( $taxonomy_object->cap->$cap, $object_id ); return apply_filters( 'kkart_rest_check_permissions', $permission, $context, $object_id, $taxonomy ); } /** * Check manager permissions on REST API. * * @since 2.6.0 * @param string $object Object. * @param string $context Request context. * @return bool */ function kkart_rest_check_manager_permissions( $object, $context = 'read' ) { $objects = array( 'reports' => 'view_kkart_reports', 'settings' => 'manage_kkart', 'system_status' => 'manage_kkart', 'attributes' => 'manage_product_terms', 'shipping_methods' => 'manage_kkart', 'payment_gateways' => 'manage_kkart', 'webhooks' => 'manage_kkart', ); $permission = current_user_can( $objects[ $object ] ); return apply_filters( 'kkart_rest_check_permissions', $permission, $context, 0, $object ); } /** * Check product reviews permissions on REST API. * * @since 3.5.0 * @param string $context Request context. * @param string $object_id Object ID. * @return bool */ function kkart_rest_check_product_reviews_permissions( $context = 'read', $object_id = 0 ) { $permission = false; $contexts = array( 'read' => 'moderate_comments', 'create' => 'moderate_comments', 'edit' => 'moderate_comments', 'delete' => 'moderate_comments', 'batch' => 'moderate_comments', ); if ( isset( $contexts[ $context ] ) ) { $permission = current_user_can( $contexts[ $context ] ); } return apply_filters( 'kkart_rest_check_permissions', $permission, $context, $object_id, 'product_review' ); }
Upload File
Create Folder