!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/packages/kkart-admin/src/API/Reports/   drwxr-xr-x
Free 292.84 GB of 429.69 GB (68.15%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     Controller.php (8.65 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * REST API Reports controller extended by KKART Admin plugin.
 *
 * Handles requests to the reports endpoint.
 */

namespace Automattic\Kkart\Admin\API\Reports;

defined'ABSPATH' ) || exit;

/**
 * REST API Reports controller class.
 *
 * @extends KKART_REST_Reports_Controller
 */
class Controller extends \KKART_REST_Reports_Controller {

    
/**
     * Endpoint namespace.
     *
     * @var string
     */
    
protected $namespace 'kkart-analytics';

    
/**
     * Route base.
     *
     * @var string
     */
    
protected $rest_base 'reports';

    
/**
     * Register the routes for reports.
     */
    
public function register_routes() {
        
register_rest_route(
            
$this->namespace,
            
'/' $this->rest_base,
            array(
                array(
                    
'methods'             => \WP_REST_Server::READABLE,
                    
'callback'            => array( $this'get_items' ),
                    
'permission_callback' => array( $this'get_items_permissions_check' ),
                    
'args'                => $this->get_collection_params(),
                ),
                
'schema' => array( $this'get_public_item_schema' ),
            )
        );
    }

    
/**
     * Check whether a given request has permission to read reports.
     *
     * @param  WP_REST_Request $request Full details about the request.
     * @return WP_Error|boolean
     */
    
public function get_items_permissions_check$request ) {
        if ( ! 
kkart_rest_check_manager_permissions'reports''read' ) ) {
            return new \
WP_Error'kkart_rest_cannot_view'__'Sorry, you cannot list resources.''kkart' ), array( 'status' => rest_authorization_required_code() ) );
        }

        return 
true;
    }


    
/**
     * Get all reports.
     *
     * @param WP_REST_Request $request Request data.
     * @return array|WP_Error
     */
    
public function get_items$request ) {
        
$data    = array();
        
$reports = array(
            array(
                
'slug'        => 'performance-indicators',
                
'description' => __'Batch endpoint for getting specific performance indicators from `stats` endpoints.''kkart' ),
            ),
            array(
                
'slug'        => 'revenue/stats',
                
'description' => __'Stats about revenue.''kkart' ),
            ),
            array(
                
'slug'        => 'orders/stats',
                
'description' => __'Stats about orders.''kkart' ),
            ),
            array(
                
'slug'        => 'products',
                
'description' => __'Products detailed reports.''kkart' ),
            ),
            array(
                
'slug'        => 'products/stats',
                
'description' => __'Stats about products.''kkart' ),
            ),
            array(
                
'slug'        => 'variations',
                
'description' => __'Variations detailed reports.''kkart' ),
            ),
            array(
                
'slug'        => 'variations/stats',
                
'description' => __'Stats about variations.''kkart' ),
            ),
            array(
                
'slug'        => 'categories',
                
'description' => __'Product categories detailed reports.''kkart' ),
            ),
            array(
                
'slug'        => 'categories/stats',
                
'description' => __'Stats about product categories.''kkart' ),
            ),
            array(
                
'slug'        => 'coupons',
                
'description' => __'Coupons detailed reports.''kkart' ),
            ),
            array(
                
'slug'        => 'coupons/stats',
                
'description' => __'Stats about coupons.''kkart' ),
            ),
            array(
                
'slug'        => 'taxes',
                
'description' => __'Taxes detailed reports.''kkart' ),
            ),
            array(
                
'slug'        => 'taxes/stats',
                
'description' => __'Stats about taxes.''kkart' ),
            ),
            array(
                
'slug'        => 'downloads',
                
'description' => __'Product downloads detailed reports.''kkart' ),
            ),
            array(
                
'slug'        => 'downloads/files',
                
'description' => __'Product download files detailed reports.''kkart' ),
            ),
            array(
                
'slug'        => 'downloads/stats',
                
'description' => __'Stats about product downloads.''kkart' ),
            ),
            array(
                
'slug'        => 'customers',
                
'description' => __'Customers detailed reports.''kkart' ),
            ),
        );

        
/**
         * Filter the list of allowed reports, so that data can be loaded from third party extensions in addition to Kkart core.
         * Array items should be in format of array( 'slug' => 'downloads/stats', 'description' =>  '',
         * 'url' => '', and 'path' => '/kkart-ext/v1/...'.
         *
         * @param array $endpoints The list of allowed reports..
         */
        
$reports apply_filters'kkart_admin_reports'$reports );

        foreach ( 
$reports as $report ) {
            if ( empty( 
$report['slug'] ) ) {
                continue;
            }

            if ( empty( 
$report['path'] ) ) {
                
$report['path'] = '/' $this->namespace '/reports/' $report['slug'];
            }

            
// Allows a different admin page to be loaded here,
            // or allows an empty url if no report exists for a set of performance indicators.
            
if ( ! isset( $report['url'] ) ) {
                if ( 
'/stats' === substr$report['slug'], -) ) {
                    
$url_slug substr$report['slug'], 0, -);
                } else {
                    
$url_slug $report['slug'];
                }

                
$report['url'] = '/analytics/' $url_slug;
            }

            
$item   $this->prepare_item_for_response( (object) $report$request );
            
$data[] = $this->prepare_response_for_collection$item );
        }

        return 
rest_ensure_response$data );
    }

    
/**
     * Get the order number for an order. If no filter is present for `kkart_order_number`, we can just return the ID.
     * Returns the parent order number if the order is actually a refund.
     *
     * @param  int $order_id Order ID.
     * @return string
     */
    
public function get_order_number$order_id ) {
        
$order kkart_get_order$order_id );

        if ( ! 
$order instanceof \KKART_Order ) {
            return 
null;
        }

        if ( 
'shop_order_refund' === $order->get_type() ) {
            
$order kkart_get_order$order->get_parent_id() );
        }

        if ( ! 
has_filter'kkart_order_number' ) ) {
            return 
$order->get_id();
        }

        return 
$order->get_order_number();
    }

    
/**
     * Prepare a report object for serialization.
     *
     * @param stdClass        $report  Report data.
     * @param WP_REST_Request $request Request object.
     * @return WP_REST_Response
     */
    
public function prepare_item_for_response$report$request ) {
        
$data = array(
            
'slug'        => $report->slug,
            
'description' => $report->description,
            
'path'        => $report->path,
        );

        
$context = ! empty( $request['context'] ) ? $request['context'] : 'view';
        
$data    $this->add_additional_fields_to_object$data$request );
        
$data    $this->filter_response_by_context$data$context );

        
// Wrap the data in a response object.
        
$response rest_ensure_response$data );
        
$response->add_links(
            array(
                
'self'       => array(
                    
'href' => rest_url$report->path ),
                ),
                
'report'     => array(
                    
'href' => $report->url,
                ),
                
'collection' => array(
                    
'href' => rest_urlsprintf'%s/%s'$this->namespace$this->rest_base ) ),
                ),
            )
        );

        
/**
         * Filter a report returned from the API.
         *
         * Allows modification of the report data right before it is returned.
         *
         * @param WP_REST_Response $response The response object.
         * @param object           $report   The original report object.
         * @param WP_REST_Request  $request  Request used to generate the response.
         */
        
return apply_filters'kkart_rest_prepare_report'$response$report$request );
    }

    
/**
     * Get the Report's schema, conforming to JSON Schema.
     *
     * @return array
     */
    
public function get_item_schema() {
        
$schema = array(
            
'$schema'    => 'http://json-schema.org/draft-04/schema#',
            
'title'      => 'report',
            
'type'       => 'object',
            
'properties' => array(
                
'slug'        => array(
                    
'description' => __'An alphanumeric identifier for the resource.''kkart' ),
                    
'type'        => 'string',
                    
'context'     => array( 'view' ),
                    
'readonly'    => true,
                ),
                
'description' => array(
                    
'description' => __'A human-readable description of the resource.''kkart' ),
                    
'type'        => 'string',
                    
'context'     => array( 'view' ),
                    
'readonly'    => true,
                ),
                
'path'        => array(
                    
'description' => __'API path.''kkart' ),
                    
'type'        => 'string',
                    
'context'     => array( 'view' ),
                    
'readonly'    => true,
                ),
            ),
        );

        return 
$this->add_additional_fields_schema$schema );
    }

    
/**
     * Get the query params for collections.
     *
     * @return array
     */
    
public function get_collection_params() {
        return array(
            
'context' => $this->get_context_param( array( 'default' => 'view' ) ),
        );
    }

    
/**
     * Get order statuses without prefixes.
     *
     * @return array
     */
    
public function get_order_statuses() {
        return 
array_keys$this->get_order_status_labels() );
    }

    
/**
     * Get order statuses (and labels) without prefixes.
     *
     * @return array
     */
    
public function get_order_status_labels() {
        
$order_statuses = array();

        foreach ( 
kkart_get_order_statuses() as $key => $label ) {
            
$new_key                    str_replace'kkart-'''$key );
            
$order_statuses$new_key ] = $label;
        }

        return 
$order_statuses;
    }
}

:: 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.0976 ]--