Анонс новостей (обновлений, исправлений) Easyhotspot

Анонсы всего, что происходит в плане дальнейшей модернизации программы, а также, исправления обнаруженных ошибок.
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений и т.п.)

Сообщение Dmitry »

ОК. Если будет чего непонятно в пдф-е или по процессу - пишите.
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений и т.п.)

Сообщение Dmitry »

Дополнительный скрипт.
Попросили меня реализовать возможность импорта в базу Easyhotspot уже готового списка клиентов из XML-файла.
файл со списком имеет следующий вид:

Код: Выделить всё

<?xml version="1.0" encoding="UTF-8"?>
<Main upload="students">
	<!--Выгрузка студентов-->
	<Student>
		<Name>Губайдулин Эмиль Сергеевич</Name>
		<Login>MVScjO</Login>
		<Password>JuPMaD</Password>
	</Student>
	<Student>
		<Name>Пашков Сергей Юрьевич</Name>
		<Login>Jklsjg</Login>
		<Password>Kdjfkh</Password>
	</Student>
	...
</Main>
В итоге написал скрипт, который пристегнут к данному сообщению (возможно кому-то еще будет полезен).

Как скрипт подготовить к работе.
  • Скрипт нужно распаковать в какую-то произвольную папку веб-сервера, например, в папку /var/www/import.
  • Скрипту нужно назначить владельцем пользователя www-data (точнее, того, от имени кого запущен apache)
  • В папке, куда был помещен скрипт, нужно сделать дополнительную подпапку tmp (то есть, для использованного выше примера - папку /var/www/import/tmp). В эту папку будет на время импорта загружаться XML-файл (по окончании импорта, файл удаляется).
  • Чтобы apache мог писать в эту папку, ей тоже нужно назначить владельцем пользователя www-data.
  • Если вы при установке Easyhotspot меняли параметры, которые используются при работе с базой данных MySQL, то нужно открыть скрипт в редакторе и изменить в нем значения (сервер, база, логин, пароль). Эти параметры находятся в самом начале скрипта и подписаны.
Все, на этом приготовления заканчиваются.
Как пользоваться.
  • Просто обращаетесь к скрипту через браузер. Если продолжить согласно приведенному выше примеру, то в браузере вам нужно будет набрать адрес http://localhost/import/import.php (с учетом того, что браузер запускается на самом сервере хотспота).
  • Откроется окно, показанное в пристегнутом рисунке.
  • В окне при желании вводите лимиты скорости (они будут одинаковыми для всего импортируемого списка). Если скорость для импортируемых клиентов ограничивать не хотите, оставьте нули в соответствующих полях.
  • В поле "Выберите файл" введите ваш XML-файл.
  • Нажмите кнопку "Загрузить файл на сервер".
  • Файл будет загружен и потом весь список из него будет импортирован в базу программы Easyhotspot.
Какие нюансы.
  • При загрузке файл проверяется что это xml-файл, и что его размер не превышает 2000000 байт (~ 1,91 Мб).
  • При импорте списка проверяется, что логин и пароль уникальны, в противном случае запись не импортируется, чтобы в базе Easyhotspot не было дублей.
  • Импорт происходит в базу "Клиентов с оплатой по счету".
  • Имена в списке д.б. в кодировке UTF-8
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений и т.п.)

Сообщение Dmitry »

Исправление двух ошибок!!!

1-я ошибка. В меню администратора, в списке выписанных счетов, если выполнить поиск, результат запроса вываливался уже в меню кассира. Для исправления ошибки нужно взять пристегнутый к сообщению архив invoice.zip. В нем содержатся два файла. Ими нужно заменить два старых файла в программе. Размещение старых файлов следующее:
/var/www/easyhotspot/system/application/controllers/admin/invoice.php
и
/var/www/easyhotspot/system/application/views/admin/invoice/invoice_view.php
Замените старые файлы новыми из архива, назначьте им владельцем пользователя www-data.

2-я Ошибка редактирования клиента с оплатой по счету (после редактирования клиент не мог авторизоваться), описанная в этой теме форума:
http://wifi-hotspot.zp.ua/forum/viewtopic.php?f=9&t=52
Для исправления ошибки нужно взять файл архива postpaidmodel.zip. В нем находится один единственный исправленный файл. Его нужно скопировать на место старого файла. Старый файл находится тут:
/var/www/easyhotspot/system/application/models/postpaidmodel.php
Замените файл новым из архива и назначьте ему владельцем пользователя www-data

Команда смены пользователя:

Код: Выделить всё

sudo chown www-data:www-data имя_файла
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений и т.п.)

Сообщение Dmitry »

Обновление (функция принудительного отключения)
Ранее функция принудительного отключения в программе корректно работала только в случае, если клиенты подключались к интернету непосредственно через сам сервер хотспота (chillispot был запущен на том же самом компьютере, что и Easyhotspot). Если же система строилась по схеме: "отдельный сервер биллинга" + роутеры с chillispot внутри них" (как описано в заметке "Организация нескольких хотспотов"), то в таком случае функция принудительного отключения не работала.

Тем же, у кого и chillispot и Easyhotspot запущены на одном компьютере, можно не обращать внимание на это обновление.

Получение работающей процедуры достигается настройкой трех составляющих – сервера RADUIS, прошивки DD-WRT и биллинга Easyhotspot.

Первым делом настраиваем сервер RADIUS. Нам нужно добиться того, чтобы в таблицу учета сеансов клиентов записывался реальный IP-адрес того NAS (роутера с прошивкой DD-WRT), через который подключен клиент хотспота. Для этого в консоли нужно выполнить команду (или от имени root-а, или через sudo):

Код: Выделить всё

sudo sed -i -e "s/NAS-IP-Address/Client-IP-Address/g" /etc/freeradius/sql/mysql/dialup.conf
Во вторых, в дополнительной подготовке нуждается сам роутер с прошивкой DD-WRT. В его настройках нужно указать программе Chillispot слушать команду принудительного отключения на порту 3799, и при этом не проверять IP-адрес приславшего ее сервера. Кроме этого, нужно добавить правило в файерволе роутера, открывающее этот порт. Как это сделать, описано у меня в блоге на странице
Прошивка роутера D’link DIR-320 «под хотспот»
Там этому вопросу посвящен подзаголовок "Дополнительные настройки для возможности приема команды принудительного отключения".
Также, если роутер с dd-wrt установлен после какого-нибудь дополнительного оборудования с NAT (например, ADSL-модем, настроенный роутером), то тогда в этом оборудовании нужно настраивать портфорвардинг порта 3799/udp на роутер с dd-wrt.

И третье - сама программа Easyhotspot.
В ней нужно первым делом отредактировать файл настроек. Вводите команду

Код: Выделить всё

sudo mcedit /var/www/easyhotspot/system/application/config/easyhotspot.php
В редактируемом файле находите строку

Код: Выделить всё

$config['radiusserver'] = '127.0.0.1:3799';
и меняете ее таким образом, чтобы она стала выглядеть следующим образом:

Код: Выделить всё

$config['radiusserver'] = ':3799';
(то есть, из параметра нужно убрать жестко прописанный в нем IP-адрес 127.0.01. Но учтите, что при этом двоеточие должно остаться!!!)
Кроме этого изменения файла настроек нужно еще заменить три файла новыми, находящимися в пристегнутом к этому сообщению архиве.
Размещение старых файлов в файловой системе сервера хотспота следующее
/var/www/easyhotspot/system/application/controllers/onlineuser.php
/var/www/easyhotspot/system/application/models/onlineusermodel.php
и
/var/www/easyhotspot/system/application/views/onlineusers_view.php
После замены новым файлам назначить владельцем пользователя www-data

Важное замечание - для всех клиентов RADIUS-а (всех !!! chillispot-ов, и внешних, и локального на самом сервере) функция принудительного использует один и тот же пароль (radius secret), Поэтому, он должен быть одинаковым!!!

ЗЫ. Ну и напоследок - ВСЁ вышеописанное относится ТОЛЬКО к модифицированной версии программы Easyhotspot. Для исходной англоязычной версии 0.1 и для версии 0.2 - это АБСОЛЮТНО бесполезно!

(13.01.2012 - архив со скриптами удален, т.к. некорректно работал. Исправленные скрипты находятся в архиве, пристегнутом к следующему сообщению)
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений и т.п.)

Сообщение Dmitry »

Обновление
Функция принудительного отключения
Были еще раз исправлены только сами скрипты. Поэтому, архив, который ранее был пристегнут в предыдущем сообщении, из него был удален. Архив с корректно работающими скриптами теперь пристегнут именно к этому сообщению.

Теперь функция принудительного отключения корректно отключает любых пользователей, подключенных к самым разным NAS (контроллерам доступа). Успешно отключаются пользователи, подключенные к внешним роутерам с chillispot-ом внутри них, имеющим самые разные IP-адреса. Точно также, функция корректно работает и в том случае, когда chillispot используется на самом сервере. Также, допускается смешивание - то есть, одновременно используется и chillispot на самом сервере, и внешние роутеры с chillispot-ом вшитым в них.

Никаких изменений в описании (процессе) настройки по сравнению с предыдущим постом НЕТ! Все необходимо сделать именно так, как это описано выше (в предыдущем сообщении).

Что изменилось в странице. Ранее страница показывала данные об суммарном времени и суммарном трафике, потребленном клиентом. Сейчас страница показывает данные только о последнем (текущем) сеансе клиента.

Никаких других отличий нет. В работе страницы изменений нет.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений и т.п.)

Сообщение Dmitry »

Обновление
Несколько изменений в странице авторизации.
  • Реализована возможность отключения парольного входа.
  • Кнопка входа теперь может быть подписана и на русском языке.
Теперь подробнее.
Вот в этой теме "Настройка гостевого доступа" описана настройка гостевого доступа в интернет. Причем, некоторые из клиентов пожелали настроить хотспот ТОЛЬКО для гостевого доступа (например, после просмотра рекламы). В таком случае, поля для ввода логина и пароля не нужны. И сейчас, в странице с поддержкой css, которая была описана вот в этом сообщении, реализована возможность отключения отображения этих полей.

То есть, теперь, появление различных элементов полностью определяется файлом loginpage, располагающемся в той же папке, что и файл hotspotlogin.cgi
В этом файле может быть до 4 строк, в каждой из которых может быть вписано одно слово (порядок строк не важен). Варианты слов:

regular - управляет отображением полей для ввода логина и пароля (см. рис. "Только обычный парольный вход"). Если слово regular присутствует, поля отображаются. Если слово отсутствует, полей нет. Важное замечание - если включено отображение вариантов оплат по СМС или кредитной картой, поля для ввода логина и пароля будут отображаться даже в том случае, если слова regular в файле loginpage не будет (иначе, как же тогда клиенты смогут вводить купленные у вас логины/пароли)?

free - включает отображение поля для гостевого входа. Если обычный парольный вход при этом отключен, то на странице авторизации присутствует только лишь кнопка гостевого входа (см. рис. "Только лишь гостевой вход").

sms - включает отображение иконки-кнопки для модуля приема платежей по СМС. Важное замечание - само наличие кнопки-иконки не означает факт приема платежей, для этого требуется приобретение и установка соответствующего платежного модуля.

creditcard - включает отображение иконки-кнопки для модуля приема платежей c банковских пластиковых карт. Важное замечание - само наличие кнопки-иконки не означает факт приема платежей, для этого требуется приобретение и установка соответствующего платежного модуля.

Внешний вид страницы авторизации, у которой включены все четыре параметра, показан на рис. "Парольный + гостевой + СМС + кредитки".

Второе - и в теме "как создать свою кнопку на окне авторизации?", и в теме о предложениях по улучшению, и в личной переписке, неоднократно задавался вопрос о том, что кнопка для входа в интернет подписана "не по русски". Исправлено! Теперь надпись на этой кнопке может быть на любом языке. Это, кстати, видно и на пристегнутых к сообщению картинках. Вот в этом сообщении я писал, какие параметры определяют конкретный текст, выводимый на кнопках. Это на тот случай, если кто-то посчитает выбранные мной варианнты не самыми удачными.

Сама новая страница авторизации пристегнута к сообщению в виде архива.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Roman
Сообщения: 78
Зарегистрирован: 03 дек 2011, 00:25
Откуда: Харьковская область
Контактная информация:

Re: Анонс новостей (обновлений, исправлений и т.п.)

Сообщение Roman »

Заменил страницу, пропали изображения, возвращаю обратно старую hotspotlogin.cgi, всё возвращается, фоновая картинка и основная.
А откуда новая страница hotspotlogin.cgi берет или куда обращается за новыми изображениями, что-то я не понял, разве не в conf.txt это всё прописано, тогда причем здесь hotspotlogin.cgi? Может ошибка где?
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений и т.п.)

Сообщение Dmitry »

Roman писал(а):Заменил страницу, пропали изображения, возвращаю обратно старую hotspotlogin.cgi, всё возвращается, фоновая картинка и основная.
А откуда новая страница hotspotlogin.cgi берет или куда обращается за новыми изображениями, что-то я не понял, разве не в conf.txt это всё прописано, тогда причем здесь hotspotlogin.cgi? Может ошибка где?
В моем сообщении про обновленную страницу авторизации было сказано, что эта страница - дальнейшая модернизация "страницы с css описанной в таком-то сообщении".
У этой самой "страницы с css" настройки рисунков, шрифтов и пр. вынесены во внешние файлы css, а сами рисунки также перемещены в дополнительную папку.
В итоге, для нормальной работы этой страницы нужно, чтобы в папке /var/www присутствовала дополнительная папка login, а в ней две подпаки: image и css. Их содержимое можно взять как в том сообщении про "страницу с css", ссылка на которое присутствует выше, так и в архиве, пристегнутом к этому сообщению.

Какие элементы css за что отвечают, описано в этом файле
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений и т.п.)

Сообщение Dmitry »

Обновление
Добавлены номера ваучеров.
Теперь на ваучерах печатаются порядковые номера. Как это выглядит, можно увидеть на пристегнутом к сообщению рисунке (для наглядности номер дополнительно выделен красной рамкой, которой в реалии не будет). Также, подкорректирована и функция поиска ваучеров, что позволяет теперь искать их и по номеру тоже.
Данное обновление может быть в любой момент добавлено в уже работающую программу (номера ваучеров в ней итак уже есть).
Для этого нужно из пристегнутого к сообщению архива распаковать три файла. Два из них, а именно, файлы
voucher_printall.php
и
voucher_print.php
должны быть скопированы в папку:
/var/www/easyhotspot/system/application/views/voucher
еще один файл с именем
vouchermodel.php
должен быть скопирован в папку
/var/www/easyhotspot/system/application/models

Изменения, внесенные в первые два файла, добавляют индикацию номера на печатаемых ваучерах.
Изменения, внесенные в третий файл, позволяют вести поиск ваучера именно по этому его номеру (в меню кассира в списке ваучеров).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Анонс новостей (обновлений, исправлений и т.п.)

Сообщение Dmitry »

Обновление
В форме создания тарифных пакетов добавлена проверка вводимого имени, чтобы в нем были только латинские буквы и цифры.
файл из пристегнутого к сообщению архива нужно распаковать в папку
/var/www/easyhotspot/system/application/views/admin/billingplan
и заменить им уже имеющийся там старый файл
billingplan_view.php

(обновлено 05.02.2012 - архив, пристегнутый к этому сообщению, был удален. Причина - в следующем посте (сообщении) выложена более новая версия.)
Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя