!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/7.3.33 

uname -a: Linux acloudg.aryanict.com 4.18.0-513.9.1.lve.el8.x86_64 #1 SMP Mon Dec 4 15:01:22 UTC
2023 x86_64
 

uid=1095(katebhospital) gid=1098(katebhospital) groups=1098(katebhospital) 

Safe-mode: OFF (not secure)

/var/softaculous/sitepad/editor/site-data/plugins/kkart-pro/includes/   drwxr-xr-x
Free 290.68 GB of 429.69 GB (67.65%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     kkart-rest-functions.php (10.62 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?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 DateTimeZonekkart_timezone_string() ) );
    } elseif ( 
is_string$date ) ) {
        
$date = new KKART_DateTime$date, new DateTimeZone'UTC' ) );
        
$date->setTimezone( new DateTimeZonekkart_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'] = basenamecurrentexplode'?'$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 ) {
    
$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_numericsanitize_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_idwp_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 ) {
    
$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 ) {
    
$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->rolesarray_unique$shop_manager_editable_roles ) );

            
// Check if Shop Manager can edit customer or with the is same shop manager.
            
if ( count$can_manage_users ) || intval$object_id ) === intvalget_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 ) {
    
$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$context0$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 ) {
    
$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' );
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0918 ]--