HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/shoetique/wp-content/plugins/wp-all-export-pro/src/App/Service/Addons/AddonService.php
<?php

namespace Wpae\App\Service\Addons;


class AddonService
{
    public function isUserAddonActive() {
        return defined('PMUE_EDITION');
    }

    public function isWooCommerceAddonActive() {
        return defined('PMWE_VERSION');
    }

    public function isAcfAddonActive() {
        return defined('PMAE_VERSION');
    }

    public function isWooCommerceProductAddonActive() {
        return defined('PMWPE_EDITION');
    }

    public function isWooCommerceOrderAddonActive() {
        return defined('PMWOE_EDITION');
    }

    public function isWoocommerceAddonActiveAndIsWooCommerceExport()
    {
        return $this->isWooCommerceAddonActive() && \XmlExportWooCommerce::$is_active;
    }


    public function isUserAddonActiveAndIsUserExport()
    {
        return $this->isUserAddonActive() && \XmlExportUser::$is_active;
    }


    public function userExportsExistAndAddonNotInstalled()
    {

	    $exports = new \PMXE_Export_List();
	    $exports->getBy('parent_id', 0)->convertRecords();

	    foreach ($exports as $item) {

		    if(!isset($item['options']['cpt'])) {
			    continue;
		    }

		    if(!is_array($item['options']['cpt'])) {
			    $item['options']['cpt'] = array($item['options']['cpt']);
		    }

		    if (
			    ((in_array('users', $item['options']['cpt']) || in_array('shop_customer', $item['options']['cpt'])) && !$this->isUserAddonActive()) ||
			    ($item['options']['export_type'] == 'advanced' && $item['options']['wp_query_selector'] == 'wp_user_query' && !$this->isUserAddonActive())
		    ) {
			    return true;
		    }

	    }

	    return false;
	}

    public function hasExportAtOlderVersionThan($version)
    {
        $exports = new \PMXE_Export_List();
        $exports->getBy('parent_id', 0)->convertRecords();

        foreach ($exports as $item) {

            if (!isset($item['options']['created_at_version'])) {
                continue;
            }

            if(version_compare($item['options']['created_at_version'], $version) < 0) {
                return true;
            }
        }

        return false;
    }

    public function wooCommerceExportsExistAndAddonNotInstalled()
    {
        $exports = new \PMXE_Export_List();
        $exports->getBy('parent_id', 0)->convertRecords();

        foreach ($exports as $item) {

            if(!isset($item['options']['cpt'])) {
                continue;
            }

            if(!is_array($item['options']['cpt'])) {
                $item['options']['cpt'] = array($item['options']['cpt']);
            }

            if (
                (
                    (
	                    (in_array('product', $item['options']['cpt']) && !$this->isWooCommerceProductAddonActive() && \class_exists('WooCommerce')) ||
                        in_array('product_variation', $item['options']['cpt']) ||
	                    (in_array('shop_order', $item['options']['cpt']) && !$this->isWooCommerceOrderAddonActive()) ||
                        in_array('shop_review', $item['options']['cpt']) ||
                        in_array('shop_coupon', $item['options']['cpt'])
                    )
                    && !$this->isWooCommerceAddonActive())
            ) {
                return true;
            }

        }

        return false;
    }


    public function wooCommerceRealTimeExportsExistAndAddonNotInstalled()
    {
        $exports = new \PMXE_Export_List();
        $exports->getBy('parent_id', 0)->convertRecords();

        foreach ($exports as $item) {

            if(!isset($item['options']['cpt'])) {
                continue;
            }

            if(!is_array($item['options']['cpt'])) {
                $item['options']['cpt'] = array($item['options']['cpt']);
            }

            if (
            (
                (
                    (in_array('product', $item['options']['cpt']) && !$this->isWooCommerceProductAddonActive() && \class_exists('WooCommerce')) ||
                    in_array('product_variation', $item['options']['cpt']) ||
                    (in_array('shop_order', $item['options']['cpt']) && !$this->isWooCommerceOrderAddonActive()) ||
                    in_array('shop_review', $item['options']['cpt']) ||
                    in_array('shop_coupon', $item['options']['cpt'])
                )
                && !$this->isWooCommerceAddonActive() && isset($item['options']['enable_real_time_exports']) && $item['options']['enable_real_time_exports'])
            ) {
                return true;
            }

        }

        return false;
    }

    public function userRealTimeExportsExistAndAddonNotInstalled()
    {

        $exports = new \PMXE_Export_List();
        $exports->getBy('parent_id', 0)->convertRecords();

        foreach ($exports as $item) {

            if(!isset($item['options']['cpt'])) {
                continue;
            }

            if(!is_array($item['options']['cpt'])) {
                $item['options']['cpt'] = array($item['options']['cpt']);
            }

            if (
                ((in_array('users', $item['options']['cpt']) || in_array('shop_customer', $item['options']['cpt'])) && !$this->isUserAddonActive()) ||
                ($item['options']['export_type'] == 'advanced' && $item['options']['wp_query_selector'] == 'wp_user_query' && !$this->isUserAddonActive() && isset($item['options']['enable_real_time_exports']) && $item['options']['enable_real_time_exports'])
            ) {
                return true;
            }

        }

        return false;
    }

    public function acfRealTimeExportsExistAndNotInstalled()
    {
        if($this->isAcfAddonActive()) {
            return false;
        }

        $exports = new \PMXE_Export_List();
        $exports->getBy('parent_id', 0)->convertRecords();

        foreach ($exports as $item) {

            if(isset($item['options']['enable_real_time_exports']) && $item['options']['enable_real_time_exports']) {
                if (isset($item->options['cc_type']) && is_array($item->options['cc_type']) && in_array('acf', $item->options['cc_type'])) {
                    return true;
                }
            }


        }

        return false;
    }


    public function acfExportsExistAndNotInstalled()
    {
        if($this->isAcfAddonActive()) {
            return false;
        }

        $exports = new \PMXE_Export_List();
        $exports->getBy('parent_id', 0)->convertRecords();

        foreach ($exports as $item) {

            if(isset($item->options['cc_type']) && is_array($item->options['cc_type']) && in_array('acf', $item->options['cc_type'])) {
                return true;
            }


        }

        return false;
    }

}