403Webshell
Server IP : 5.129.245.98  /  Your IP : 216.73.216.246
Web Server : Apache/2.4.66 (Debian)
System : Linux 1b8c17c336b9 6.8.0-111-generic #111-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 11 23:16:02 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/html/wp-content/plugins/content-egg/application/components/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/wp-content/plugins/content-egg/application/components/AggregateOffer.php
<?php

namespace ContentEgg\application\components;

defined('\ABSPATH') || exit;

use ContentEgg\application\admin\GeneralConfig;
use ContentEgg\application\WooIntegrator;
use ContentEgg\application\components\ContentManager;
use ContentEgg\application\helpers\TemplateHelper;
use ContentEgg\application\components\ContentProduct;

/**
 * AggregateOffer class file
 *
 * @author keywordrush.com <support@keywordrush.com>
 * @link https://www.keywordrush.com
 * @copyright Copyright &copy; 2025 keywordrush.com
 */
class AggregateOffer
{

    public static function initAction()
    {
        if (GeneralConfig::getInstance()->option('aggregate_offer') !== 'enabled')
            return;

        \add_action('woocommerce_structured_data_product', array(__CLASS__, 'addStructuredDataProduct'), 10, 2);
    }

    public static function addStructuredDataProduct($markup, $product)
    {
        $post_id = $product->get_id();

        if (!WooIntegrator::getMetaSyncUniqueId($post_id))
            return $markup;

        $data = ContentManager::getViewProductData($post_id);

        if (!$data)
            return $markup;

        foreach ($data as $i => $d)
        {
            if (!isset($d['stock_status']) || $d['stock_status'] == ContentProduct::STOCK_STATUS_OUT_OF_STOCK)
                unset($data[$i]);
        }
        $data = array_values($data);

        $offer_count = count($data);

        if ($offer_count <= 1)
            return $markup;

        $data = TemplateHelper::sortByPrice($data);
        $min_price_item = TemplateHelper::getMinPriceItem($data);

        if (!$min_price_item)
            return $markup;

        $max_price_item = TemplateHelper::getMaxPriceItem($data);

        $markup['offers'] = array(
            '@type' => 'AggregateOffer',
            'offerCount' => $offer_count,
        );

        if ($min_price_item['price'])
        {
            $markup['offers']['lowPrice'] = sprintf('%0.2f', $min_price_item['price']);
            $markup['offers']['priceCurrency'] = $min_price_item['currencyCode'];
        }

        if ($max_price_item['price'])
        {
            $markup['offers']['highPrice'] = sprintf('%0.2f', $max_price_item['price']);
            $markup['offers']['priceCurrency'] = $min_price_item['currencyCode'];
        }

        return $markup;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit