⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.45
Server IP:
185.238.29.86
Server:
Linux server2 6.8.12-6-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-6 (2024-12-19T19:05Z) x86_64
Server Software:
nginx/1.18.0
PHP Version:
8.1.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
olasjoys
/
classes
/
checkout
/
View File Name :
ConditionsToApproveFinder.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 Open Software License (OSL 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/OSL-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. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to https://devdocs.prestashop.com/ for more information. * * @author PrestaShop SA and Contributors <contact@prestashop.com> * @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ use PrestaShop\PrestaShop\Core\Checkout\TermsAndConditions; use Symfony\Component\Translation\TranslatorInterface; class ConditionsToApproveFinderCore { private $translator; private $context; public function __construct( Context $context, TranslatorInterface $translator ) { $this->context = $context; $this->translator = $translator; } /** * @return TermsAndConditions */ private function getDefaultTermsAndConditions() { $cms = new CMS(Configuration::get('PS_CONDITIONS_CMS_ID'), $this->context->language->id); $link = $this->context->link->getCMSLink($cms, $cms->link_rewrite, (bool) Configuration::get('PS_SSL_ENABLED')); $termsAndConditions = new TermsAndConditions(); $termsAndConditions ->setText( $this->translator->trans('I agree to the [terms of service] and will adhere to them unconditionally.', [], 'Shop.Theme.Checkout'), $link ) ->setIdentifier('terms-and-conditions'); return $termsAndConditions; } private function getConditionsToApprove() { $allConditions = []; $hookedConditions = Hook::exec('termsAndConditions', [], null, true); if (!is_array($hookedConditions)) { $hookedConditions = []; } foreach ($hookedConditions as $hookedCondition) { if ($hookedCondition instanceof TermsAndConditions) { $allConditions[] = $hookedCondition; } elseif (is_array($hookedCondition)) { foreach ($hookedCondition as $hookedConditionObject) { if ($hookedConditionObject instanceof TermsAndConditions) { $allConditions[] = $hookedConditionObject; } } } } if (Configuration::get('PS_CONDITIONS')) { array_unshift($allConditions, $this->getDefaultTermsAndConditions()); } /* * If two TermsAndConditions objects have the same identifier, * the one at the end of the list overrides the first one. * This allows a module to override the default checkbox * in a consistent manner. */ $reducedConditions = []; foreach ($allConditions as $condition) { if ($condition instanceof TermsAndConditions) { $reducedConditions[$condition->getIdentifier()] = $condition; } } return $reducedConditions; } public function getConditionsToApproveForTemplate() { return array_map(function (TermsAndConditions $condition) { return $condition->format(); }, $this->getConditionsToApprove()); } }