Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
n num char(10) – номер порта (в виде nDSLAM/nBOARD/nPORT);
n vlan numeric(4) – номер VLAN, соответствующей ADSL-порту;
n vpi numeric(3) – номер VPI;
n vci numeric(3) – номер VCI, присвоенный клиенту;
n interface char(15) – имя интерфейса, на котором будет вестись учет трафика;
n ipaddress inet – IP-адрес, сопоставленный с данным портом.
n lines – характеристики линий связи:
n uid serial – уникальный идентификатор линии;
n portid numeric – идентификатор порта DSLAM, на который подключена эта линия;
n length numeric(5) – длина линии в метрах;
n diameter numeric(2,1) – диаметр жилы в миллиметрах;
n impedance numeric(4) – сопротивление шлейфа в Омах.
И еще одна таблица для хранения служебной информации:
n st_modules – список функциональных модулей:
n name char(20) – имя модуля;
n description varchar – описание модуля;
n ink varchar – ссылка на сценарий модуля;
n allow char(12)[] – массив, хранящий имена пользователей, которым позволено работать с данным модулем;
n orderby numeric(2) – данное поле задает порядок вывода модулей на экран.
В данном случае мы минимально задействуем расширенные возможности PostgreSQL, что позволит почти ничего не менять при использовании, например, MySQL.
Шаблон сайта – модульный подход
Поскольку переписывать все сначала при необходимости расширить функциональность нашего приложения – занятие не очень интересное, применим модульный подход. Пусть основной сценарий отвечает только за предоставление доступа к имеющимся функциям, а каждая функция будет реализована отдельным скриптом. Кроме того, часто используемые операции будем выносить в наш модуль My::Insite.
Выглядеть базовый сценарий будет примерно так:
#!/usr/bin/perl –w
#-------------------------------------------- adsl.cgi
use My::Insite;
# Подключаемся к БД и создаем объект CGI для работы с HTTP
$dbh = My::Insite->DBConnect('adsl', 'adsluser', 'password');
$cgi = My::Insite->CGIStart();
# Считываем значение HTTP-параметра «action»
($action = $cgi->param('action')) or $action = '';
# Выполняем процедуру выхода
if($action eq 'logoff') { &doLogoff; }
# Процедура авторизации
if($action eq 'logon') {