JEMBOT MAWOT Bypass Shell

Current Path : /home/cinepatreb/billetterie/modules/mollie/src/Logger/
Upload File :
Current File : /home/cinepatreb/billetterie/modules/mollie/src/Logger/PrestaLogger.php

<?php
/**
 * Mollie       https://www.mollie.nl
 *
 * @author      Mollie B.V. <info@mollie.nl>
 * @copyright   Mollie B.V.
 * @license     https://github.com/mollie/PrestaShop/blob/master/LICENSE.md
 *
 * @see        https://github.com/mollie/PrestaShop
 * @codingStandardsIgnoreStart
 */

namespace Mollie\Logger;

use Mollie\Adapter\ConfigurationAdapter;
use Mollie\Config\Config;
use Mollie\Exception\NotImplementedException;

if (!defined('_PS_VERSION_')) {
    exit;
}

class PrestaLogger implements PrestaLoggerInterface
{
    // TODO move this as a shared service for subscriptions and main source
    // TODO refactor whole logger logic and implement leftover methods

    /** @var ConfigurationAdapter */
    private $configuration;

    public function __construct(ConfigurationAdapter $configuration)
    {
        $this->configuration = $configuration;
    }

    public function emergency($message, array $context = [])
    {
        throw new NotImplementedException('not implemented method');
    }

    public function alert($message, array $context = [])
    {
        throw new NotImplementedException('not implemented method');
    }

    public function critical($message, array $context = [])
    {
        throw new NotImplementedException('not implemented method');
    }

    public function error($message, array $context = [])
    {
        if ((int) $this->configuration->get(Config::MOLLIE_DEBUG_LOG) === Config::DEBUG_LOG_NONE) {
            return;
        }

        $uniqueMessage = sprintf('Log ID (%s) | %s', uniqid('', true), $message);

        \PrestaShopLogger::addLog(
            $this->getMessageWithContext($uniqueMessage, $context),
            3
        );
    }

    public function warning($message, array $context = [])
    {
        throw new NotImplementedException('not implemented method');
    }

    public function notice($message, array $context = [])
    {
        throw new NotImplementedException('not implemented method');
    }

    public function info($message, array $context = [])
    {
        if ((int) $this->configuration->get(Config::MOLLIE_DEBUG_LOG) !== Config::DEBUG_LOG_ALL) {
            return;
        }

        $uniqueMessage = sprintf('Log ID (%s) | %s', uniqid('', true), $message);

        \PrestaShopLogger::addLog(
            $this->getMessageWithContext($uniqueMessage, $context)
        );
    }

    public function debug($message, array $context = [])
    {
        // TODO implement single method, which handles logging

        $this->info($message, $context);
    }

    public function log($level, $message, array $context = [])
    {
        throw new NotImplementedException('not implemented method');
    }

    private function getMessageWithContext($message, array $context = [])
    {
        $content = json_encode($context);

        return "{$message} . context: {$content}";
    }
}

xxxxx1.0, XXX xxxx