Общее описание задачи

Необходимо создать функциональную форму подписки для статичного сайта. Форма должна появляться только после истечения заданного таймера. Пользователь вводит email, нажимает кнопку - данные (email и гео информация страны) сохраняются в txt файл на хостинге.

Требования к функционалу

  • После запуска страницы включается таймер.
  • По истечении времени таймера автоматически отображается всплывающее окно с заголовком и полем ввода email.
  • В форме обязательно наличие кнопки подтверждения (Подписаться или Аналогично).
  • При клике на кнопку данные отправляются Ajax/post методом на сервер (текущий хостинг).
  • Серверная часть должна принять запрос, получить email (POST параметр) и определить страну посетителя (использовать HTTP заголовок Accept-Language, GeoIP или вешать внешний сервис геолокации).
  • Сохранить получившуюся строку вида: "email; страна" в конец файла на сервере (с новой строки).
  • Файл может быть logs.txt или users.txt. Нужно указать при сдаче.
  • Страна должна записываться не кодом, а полным англоязычным названием (например Ukraine, United States, Germany).
  • Фронтенд с инициализацией формы должен корректно работать в современных браузерах (Chrome, Firefox, Safari).

Входные и тестовые данные

Файлы сайта предоставляются исполнителю в архиве. Весь сайт - на чистом HTML/Jquery либо статических технологиях. Доработку необходимо проверять работоспособность, залив на тестовый хостинг (возможно продакшн доступ параллельно со статистикой). Клиент предоставляет FTP доступ или устанавливает PHP.

Ожидаемый результат

Готовый код, формирующий правильный JSON? Рабочая форма в директории assets? все callback кнопка/окно скрываются после успешной отправки. На хостинг должен вести запись новый строк с емэйлами В файле лога. Передать архив скорректированного сайта или описание замены (если скриптовый модуль подключен отдельно). Инструкция “куда какой файл положить.”

Доп. пояснение

  • Использовать front-end - собственные доработки.
  • Таймер останавливается если форма вызвали только один.
  • Отключать по Ctrl+F5? бонус необязательный