- Created Articles.php for rendering article views including full articles, miniature lists, and news sections. - Added Banners.php for handling banner displays. - Introduced Languages.php for rendering language options. - Implemented Menu.php for dynamic menu rendering. - Developed Newsletter.php for newsletter view rendering. - Created Scontainers.php for rendering specific containers. - Added ShopCategory.php for category descriptions and product listings. - Introduced ShopClient.php for managing client-related views such as address editing and order history. - Implemented ShopPaymentMethod.php for displaying payment methods in the basket. - Created ShopProduct.php for generating product URLs. - Added ShopSearch.php for rendering a simple search form. - Added .htaccess file to enhance security by restricting access to sensitive files and directories.
50 lines
1.1 KiB
PHP
50 lines
1.1 KiB
PHP
<?php
|
|
namespace front\Controllers;
|
|
|
|
use Domain\Newsletter\NewsletterRepository;
|
|
|
|
class NewsletterController
|
|
{
|
|
private NewsletterRepository $repository;
|
|
|
|
public function __construct( NewsletterRepository $repository )
|
|
{
|
|
$this->repository = $repository;
|
|
}
|
|
|
|
public function signin()
|
|
{
|
|
global $settings;
|
|
|
|
$result = [ 'status' => 'bad' ];
|
|
|
|
if ( $this->repository->signup( \Shared\Helpers\Helpers::get( 'email' ), $_SERVER['SERVER_NAME'], !empty( $settings['ssl'] ), $settings ) )
|
|
$result = [ 'status' => 'ok' ];
|
|
|
|
echo json_encode( $result );
|
|
exit;
|
|
}
|
|
|
|
public function confirm()
|
|
{
|
|
global $lang;
|
|
|
|
if ( $this->repository->confirmSubscription( \Shared\Helpers\Helpers::get( 'hash' ) ) )
|
|
\Shared\Helpers\Helpers::alert( $lang['email-zostal-dodany-do-listy-newsletter'] );
|
|
|
|
header( 'Location: /' );
|
|
exit;
|
|
}
|
|
|
|
public function unsubscribe()
|
|
{
|
|
global $lang;
|
|
|
|
if ( $this->repository->unsubscribe( \Shared\Helpers\Helpers::get( 'hash' ) ) )
|
|
\Shared\Helpers\Helpers::alert( $lang['email-zostal-usuniety-z-listy-newsletter'] );
|
|
|
|
header( 'Location: /' );
|
|
exit;
|
|
}
|
|
}
|