<?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;
  }
}
