Итоговый дайджест новостей программы Easyhotspot за 2019 год

Эта заметка включает в себя сведения обо всех более-менее значительных изменениях, исправлениях и нововведениях в биллинговой программе Easyhotspot, произошедших в 2019 году.


Изменения в веб-интерфейсе Easyhotspot («черной админке»)

  • В программу добавлена возможность печати ваучеров на т.н. «термопринтере чеков». При написании кода для проверки использовался китайский принтер модели JP-58H. Как выглядит напечатанный чек, можно посмотреть по ссылке (правда, качество фото — не очень);
  • В меню редактирования клиентов с оплатой по счету и ваучеров (включая и установку NASID или даты окончания обслуживания для postpaid-клиентов) добавлен параметр, благодаря которому после сохранения настроек Администратор (или Кассир) возвращается именно туда, откуда и вызывал данное меню. Например, если меню редактирования параметров клиента было открыто с 3-й страницы их полного списка, то и возврат по окончании редактирования произойдет на ту же самую 3-ю страницу списка;
  • При выводе информации о размере ОЗУ в меню Администратора «Информация о системе» была добавлена информация о свободном объеме памяти:

Сводка сведений о системе программы Easyhotspot

  • В «черной админке» изменен принцип считывания лог-файлов, благодаря чему теперь вверху списка выводятся самые последние сообщения из них;
  • На каком-то из этапов редактирования в код «черной админки» была внесена ошибка — в списке Тарифных пакетов перестали отображаться ссылки для постраничной навигации, если в программе присутсвует более 10 тарифов. Ошибка исправлена;
  • В шифровании запросов теперь используется время «по Гринвичу», что исключило ошибки вызванные возможными различиями в установках часового пояса для разных приложений (например, perl и php);
  • В «черной админке» модификации внешнего вида текста (из разряда «жирный», «красный», «зеленый» и т.д. и т.п.) переведены с устаревшего кода вида «<font такой-то>» на использование классов, параметры которых определены в настройках стилей CSS. Визуально не изменилось ровным счетом ничего! И реально полезным всё это может оказаться лишь для тех, кто захочет поменять весь внешний вид «черной админки», включая и цвета (ему будет достаточно просто изменить в CSS файле значения цветов, указанных для требуемых классов);
  • При вызове файлов скриптов JAVASCRIPT и стилей CSS в «черной админке» теперь добавлен «штамп» времени-даты. Благодаря этому, после обновления «черной админки» браузеры персонала автоматически по-новой загружают указанные файлы с сервера, а не используют хранящиеся в собственном кеше предыдущие их версии. Это приводит к тому, что изменения, внесенные в указанные файлы, включаются в работу сразу же, без каких либо дополнительных «телодвижений»;
  • Версия фреймворка Codeigniter (на котором написана «черная админка») обновлена до 3.1.11. Что при этом изменилось в самом Codeigniter можно прочесть в «Change Log» на сайте Codeigniter. Для Easyhotspot это же просто поддержание базового фреймворка в актуальном состоянии;
  • В процедуры создания и редактирования Тарифных пакетов была добавлена проверка того, что срок годности указан меньше, чем номинал. Если Администратор настраивает Тариф именно таким образом, то ему выводится предупредительное сообщение. (Функция была добавлена после перепуганного звонка одного из Администраторов о «неправильно работающем и криво написанном биллинге»! При этом, он поведал мне, что выдал клиентам ваучеры на три месяца, но через 3 дня система перестала пускать их в интернет, рассказывая об «израсходованных лимитах времени»! Как, думаю, всем вам стало ясно из описания добавленной проверки, этот Администратор, создавая тариф, номинал посчитал таки правильно (как и хотел, на три месяца), а вот на срок годности даже и не глянул! В итоге, тот остался именно таким, каким биллинг «рисует» его «по умолчанию» — те самые трое суток!);
  • Исправлена ошибка, возникавшая, когда при экспорте результатов работы платежных модулей была включена птичка «Удалить после экспорта», и заключавшаяся в том, что становились нерабочими попавшие в этот отчет аккаунты «клиентов с оплатой по счету», которые «помесячным» платежом продлевали срок обслуживания своего аккаунта.
  • В «черной админке» вычищены остатки использования «чистого» $_POST в качестве источника данных (с целью повышения безопасности). Теперь используются только данные, «очищенные» функцией Input фреймворка Codeigniter;
  • Добавлен «малогабаритный» формат при генерации PDF документа с ваучерами. В таком формате на страницу помещается 45 «маленьких талончиков» (с дополнительной «подсказкой», что делать клиенту, если страницу хотспота не видно). Ссылка на PDF-файл с примером ваучеров «малого формата»;
  • В форме для создания новой валюты рядом с полем «Аббревиатура» была добавлена кнопочка «?», нажав на которую можно прочесть что именно и в каком виде там нужно вводить (специально для тех, кому лень инструкции читать!), а заодно там ещё и ссылочку можно щелкнуть, да в гуглах разных почитать, «что ж это за стандарт-то такой ISO4217 !?»…
  • В «Журнале действий пользователей программы» добавлена кнопка «Очистить журнал». Цель её, полагаю, ясна из названия — при нажатии на эту кнопку из базы программы Easyhotspot удаляются записи о действиях пользователей (персонала), выполненных ими год назад и ранее;
  • Была проведена оптимизация целого ряда процедур «черной админки», относящихся к работе с ваучерами (включая SQL_запросы). Причиной послужило письмо от одного из клиентов, в котором он пожаловался на скорость показа страниц биллинга, которая по его словам была ужасающей (как было сказано в письме, «список ваучеров открывался минут пять…»). И что немаловажно, этот клиент согласился скинуть мне дамп своей базы, чтобы я смог с ним поэкспериментировать на своем домашнем сервере, за что ему отдельное спасибо! Справедливости ради, считаю нужным уточнить — речь шла о «тормозах» базы, в которой было (на минуточку!!!) «всего-то» 105 тысяч ваучеров (плюс более трехсот тысяч записей о сеансах доступа клиентов в интернет). Изменения, внесенные в процедуры и запросы, в паре с чисткой базы от старых и ставших уже ненужными ваучеров (см. следующий абзац) позволили этому заказчику снова весьма комфортно работать с биллингом, не взирая на число оставшихся в базе используемых ваучеров (а число все-равно не малое — 39 с лишним тысяч!!!). Под «комфортностью» в данном случае подразумевается тот факт, что время, затрачиваемое программой на формирование страниц пришло в норму. Например, список ваучеров (с которого собственно и начиналась претензия) теперь открывается менее чем за секунду! Дублировать тут все, внесенные в программу изменения, считаю излишним. Особенно, с учетом того, что все они описаны в соответствующем посте, размещенном у меня на форуме, и вы в любой момент без проблем сможете прочесть их там…;
  • Проверка программы «толстой базой» (см. абзац выше) в том числе показала, что процедуры Инкассации и последующего Удаления израсходованных ваучеров абсолютно не приемлемы в случае, когда ваучеров в базе — многие тысячи! Поэтому, указанные процедуры были переписаны. Теперь они в Easyhotspot-е стали, скажем так, «пакетными». То есть, сама «идеология не изменилась» — первым делом Администратор должен выполнить Инкассацию. Но теперь, он должен сначала выбрать сотрудника (кассира или другого админа), и указать даты начала и окончания того периода, за который хочет провести Инкассацию. В ответ на его запрос биллинг отбирает из базы все ваучеры, отвечающие указанным критериям, а именно: (а) их выписал указанный сотрудник, (б) ваучеры были активированы клиентами в указанный промежуток времени. В результате он получает вот такой отчет:

Отчет по инкассации сотрудника

Получив этот список, Администратор должен нажать кнопочку «Инкассация» (внизу слева), после чего программа отметит все ваучеры, попавшие в данный отчет, как инкассированные.

И напоследок, Администратору нужно перейти в меню «Безопасное удаление». В этом меню программа отберет все ваучеры, которые уже прошли инкассацию, и у которых истек срок годности. Результаты поиска также будут представлены в виде таблицы, в которой будут перечислены все ваучеры, подлежащие удалению, разбитые по тарифам:

Список израсходованных ваучеров, подлежащих удалению

Администратору остается всего лишь нажать кнопку «Удалить все», и все эти ваучеры будут удалены! На всякий случай, чтобы вы не переживали, напоминаю, что данные о сеансах тех ваучеров, которыми клиенты пользовались (ходили по ним в интернет), не будут «безвозвратно» удалены! Вместо этого они будут перенесены в архив программы, чтобы не мешать нормальной работе биллинга. А уж из архива вы в любое время сможете их экспортировать в экселевский файл, коим безмерно порадуете горячо любимых сотрудников ФСБ!

Обновления и изменения страницы авторизации

  • Сообщения об ошибках теперь выводятся с помощью специального div-а («возникающего» в виде своеобразного popup-окна), имеющего одинаковый вид для всех браузеров. Ранее использовалась встроенная команда alert от javascript, и разные браузеры по-разному показывали окно с сообщением;
  • Куки с логином клиента теперь сохраняются только в том случае, если у страницы авторизации отключен «автологин». Т.к. «автологину» не нужны никакие куки, скрипт теперь проверяет, используется данная функция, или нет. И уже по результатам данной проверки либо сохраняет указанные куки, либо нет;
  • В форме ввода номера телефона, используемой страницей авторизации для «Авторизации по СМС/телефонному звонку» реализовано форматирование номера. Посмотреть примеры можно либо на картинке ниже, либо «живьем» — по ссылкам 1 или 2.

новое визуальное форматирование номера телефона, который вводи клиент

  • В настройки страницы авторизации добавлен параметр, меняющий местами вкладки «Пароль» и «Бесплатно». Также, в этом случае, открывающейся по умолчанию вкладкой становится именно «Бесплатно». Данная возможность может оказаться полезной для тех хотспотов, которые используют авторизацию клиентов по СМС или звонку. Благодаря этому, первой клиенту открывается именно та закладка («Бесплатно»), которая предлагает ему ввести свой номер телефона, чтобы получить доступ в интернет! Внешний вид меню страницы авторизации с «переставленными» вкладками:

Внешний вид меню с переставленными вкладкми Пароль и Бесплатно

  • Параметр, в котором Администратор при желании мог принудительно установить «код страны», перенесен из кода файла javascript в «стандартный» файл настроек страницы авторизации (conf.txt).

Обновления и исправления модулей

  • В модуль СМС-авторизации добавлен новый вариант авторизации клиентов по телефонному звонку, который использует функцию «Отправка кода в телефонном номере» от агрегатора СМС-Центр;

Клиент должен запомнить последние 4 цифры номера, с которого ему поступит звонок, которые и будут являться паролем для доступа в интернет

  • В модуле СМС-авторизации добавлен новый агрегатор — Mobizon (Казахстан) ;
  • В число «агрегаторов», используемых для отправки СМС, добавлен сервис SemySMS. Сервис интересен тем, что в отличие от традиционных «агрегаторов», он рассылает СМС через ваши «гаджеты», работающие под управлением Android, с помощью установленного на них приложения;
  • В модуле СМС-авторизации разделены сообщения об ошибке, если число тарифов для обслуживания отличается от 1. Если тарифов нет совсем (=0), выводится сообщение «В настройках модуля СМС-авторизации нет тарифов, привязанных к указанному вами NASID: {такой-то}!» (как это и было ранее), а если их несколько (>1), то теперь текст в сообщении об ошибке именно об этом и гласит: «В настройках модуля СМС-авторизации к указанному вами NASID: {такой-то}, привязано БОЛЕЕ ОДНОГО тарифа!». Ранее в любом из случаев сообщение было «В настройках модуля СМС-авторизации нет тарифов…», что не позволяло точно идентифицировать причину проблемы;
  • Внесен ряд изменений в модуль Liqpay: во первых, модулю достался код, «красиво» форматирующий номер телефона, который вводит клиент. Клиент вводит только цифры, а уже сам скрипт преобразует телефон вот в такой «красивый вид»: +38 (066) 583-6592. Также, был добавлен файл текстовых сообщений на украинском языке (модуль теперь поддерживает три языка интерфейса — английский, украинский и русский). Далее — сообщения об ошибках теперь выводятся popup-окнами, а не функцией alert языка javascript (выглядит и симпатичней, и «более единообразно» в разных браузерах) И напоследок, были внесены небольшие «косметические» изменения в CSS и сами скрипты;
  • Обновлен платежный модуль для п/с Robokassa. Фактически, все внесенные в модуль изменения аналогичны тем, которые были выполнены для модуля Liqpay и описаны в предыдущем абзаце;

Обновления и исправления скрипта-инсталятора

  • В число поддерживаемых скриптом-инсталятором биллинга Easyhotspot включен новый релиз ОС Debian — buster (10-ка). Для установки Coova-chilli на дистрибутив debian 10 (buster) пришлось использовать «костыль» — в систему устанавливается заранее скомпилированный deb-пакет.
  • Изменены способы определения версии дистрибутива Linux, а также методы выбора тех или иных версий пакетов, используемых при установке. Проделано все это было всвязи с выходном новой версии дистрибутива Debian — buster. А точнее — с целью облегчения последующих адаптаций скрипта при включении в число поддерживаемых очередных новых релизов ОС Linux;

Изменения в документации

Обновлена инструкция «Настройка роутеров Mikrotik для работы под управлением биллинга Easyhotspot»:

  • Раздел «Включение и настройка «базового» хотспота в роутере Mikrotik» переписан, теперь процедура использует встроенный «мастер» установки хотспота;
  • Добавлен новый раздел «Создание в роутере отдельной LAN-подсети для хотспота», описывающий как в роутере отделить сеть хотспота от локальной сети, например, предприятия;

Обновлена инструкция по быстрой установке программы EASYHOTSPOT скриптом-инсталятором. В инструкцию добавлены подробные описания, включая информацию о:

  • требованиях к железу;
  • выборе ОС и скачивании ее;
  • смысле и возможных значениях тех параметров, вопросы про которые скрипт задает пользователю в процессе своего выполнения;

Обновленная инструкция доступна по ссылке:

Инструкция «Процедура быстрой установки программы EASYHOTSPOT»


Просмотреть все эти изменения в действии можно на сайте демо-версии модифицированной программы Easyhotspot (логин/пароль Кассира: vcool/vcool123, логин/пароль Администратора: admin/admin123)

На всякий случай, напоминаю, что все эти изменения относятся именно к модифицированной версии программы Easyhotspot, которую можно приобрести на странице онлайн-продажи.

Список предыдущих анонсов новостей программы Easyhotspot доступен тут.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *