File: /home/petsclubcc/shop/modules/amazonpay/vendor/redirectionTrait.php
<?php
/**
* 2007-2021 patworx.de
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade AmazonPay 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 patworx multimedia GmbH <service@patworx.de>
* @copyright 2007-2021 patworx multimedia GmbH
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
*/
trait AmazonPayRedirectionTrait
{
public function PrestaShopNotificationsFetcher($controller)
{
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
if (session_status() == PHP_SESSION_ACTIVE && isset($_SESSION['notifications'])) {
$notifications = json_decode($_SESSION['notifications'], true);
unset($_SESSION['notifications']);
} elseif (isset($_COOKIE['notifications'])) {
$notifications = json_decode($_COOKIE['notifications'], true);
unset($_COOKIE['notifications']);
}
if (isset($notifications)) {
$controller->errors = $notifications['error'];
$controller->warning = $notifications['warning'];
$controller->success = $notifications['success'];
$controller->info = $notifications['info'];
}
}
public function PrestaShopRedirectWithNotifications()
{
$notifications = json_encode(array(
'error' => $this->errors,
'warning' => $this->warning,
'success' => $this->success,
'info' => $this->info,
));
if (session_status() == PHP_SESSION_ACTIVE) {
$_SESSION['notifications'] = $notifications;
} elseif (session_status() == PHP_SESSION_NONE) {
session_start();
$_SESSION['notifications'] = $notifications;
} else {
setcookie('notifications', $notifications);
}
return call_user_func_array(array('Tools', 'redirect'), func_get_args());
}
}