Files
b2b.redline.com.pl/modules/paypal/controllers/admin/AdminPayPalHelpController.php
2025-06-24 14:14:35 +02:00

111 lines
3.7 KiB
PHP

<?php
/**
* 2007-2020 PayPal
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* 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 http://www.prestashop.com for more information.
*
* @author 2007-2020 PayPal
* @author 202 ecommerce <tech@202-ecommerce.com>
* @copyright PayPal
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
*/
require_once _PS_MODULE_DIR_ . 'paypal/vendor/autoload.php';
use PaypalAddons\classes\AbstractMethodPaypal;
use PrestaShop\PrestaShop\Core\Addon\Module\ModuleManagerBuilder;
use Symfony\Component\HttpFoundation\JsonResponse;
use PaypalAddons\classes\AdminPayPalController;
class AdminPayPalHelpController extends AdminPayPalController
{
public function init()
{
parent::init();
if (Tools::isSubmit('registerHooks')) {
if ($this->registerHooks()) {
$this->confirmations[] = $this->l('Hooks successfully registered');
}
}
}
public function initContent()
{
parent::initContent();
$countryDefault = new Country((int)\Configuration::get('PS_COUNTRY_DEFAULT'), $this->context->language->id);
$method = AbstractMethodPaypal::load($this->method);
if ($method->isSandbox()) {
$settingLink = 'https://www.sandbox.paypal.com/businessprofile/settings/info/edit';
} else {
$settingLink = 'https://www.paypal.com/businessprofile/settings/info/edit';
}
$this->context->smarty->assign('settingLink', $settingLink);
$tpl_vars = array(
'psCheckoutBtnText' => $this->getCheckoutBtnText(),
'showPsCheckout' => in_array($countryDefault->iso_code, $this->module->countriesApiCartUnavailable),
'settingLink' => $settingLink
);
$this->context->smarty->assign($tpl_vars);
$this->content = $this->context->smarty->fetch($this->getTemplatePath() . 'help.tpl');
$this->context->smarty->assign('content', $this->content);
$this->addJS(_PS_MODULE_DIR_ . $this->module->name . '/views/js/helpAdmin.js');
}
protected function getCheckoutBtnText()
{
$moduleManagerBuilder = ModuleManagerBuilder::getInstance();
$moduleManager = $moduleManagerBuilder->build();
if ($moduleManager->isInstalled('ps_checkout')) {
$psCheckoutBtnText = $this->l('Configure PrestaShop Checkout');
} elseif (is_dir(_PS_MODULE_DIR_ . 'ps_checkout')) {
$psCheckoutBtnText = $this->l('Install PrestaShop Checkout');
} else {
$psCheckoutBtnText = $this->l('Download PrestaShop Checkout');
}
return $psCheckoutBtnText;
}
public function displayAjaxCheckCredentials()
{
$response = new JsonResponse($this->_checkRequirements());
return $response->send();
}
public function registerHooks()
{
$result = true;
$hooksUnregistered = $this->module->getHooksUnregistered();
if (empty($hooksUnregistered)) {
return $result;
}
foreach ($hooksUnregistered as $hookName) {
$result &= $this->module->registerHook($hookName);
}
return $result;
}
}