#!/usr/bin/perl #Скрипт обрабатывает события #Функция: domain.edit #Функция: domain.delete # # # #Да, при создании зоны в DNSmanager запускается функция domain.edit с параметрами:. # #clicked_button=ok&dtype=master&email=<E-mail>&func=domain.edit&ip=<IP адрес>&masterip=&na # # use CGI; #Функции # sub l { my $filename = $0.'.log'; open(my $fh, '>>', $filename) or die "Не могу открыть '$filename' $!"; print $fh "$_[0]\n"; close $fh; } # Тело скрипта my $Q = new CGI; $func = $Q->param("func"); $elid = $Q->param("elid"); l('Вызов скрипта. СТАРТ.'); l(`date`); l('func:'.$func); l('elid:'.$elid); l('clicked_button='.$Q->param('clicked_button')); l('dtype='.$Q->param('dtype')); l('email='.$Q->param('email')); l('func='.$Q->param('func')); l('ip='.$Q->param('ip')); l('masterip='.$Q->param('masterip')); l('name='.$Q->param('name')); l('progressid='.$Q->param('progressid')); l('sfrom='.$Q->param('sfrom')); l('sok='.$Q->param('sok')); # #Отличить в плагине создание домена от редактирования можно по параметру elid, он пустой п # if ( $func eq "domain.edit" ) { #редактирвоание домена unless ( $elid ) { # /* # Параметр elid пустой. Домен создается. # Нужно разобрать входные параметры функции # clicked_button=ok # dtype=master # email=<E-mail> # func=domain.edit # ip=<IP адрес> # masterip= # name=<Домен> # progressid=false # sfrom=ajax # sok=ok. # Это доступно из. # $Q->param("ПАРАМЕТР") #У скрипта на ISPManager входные параметры: #zone - текстовый параметр, имя зоны #ipmaster - IP адрес мастера зоны #del - любое значение, признак удаления зоны. #*/ l('elid пустой'); $zone = $Q->param('name'); #ipmaster - передается в скрипт на ISPManager IP адрес мастера зоны $ipmaster = $Q->param('ip'); l("$zone master $ipmaster"); } else { #/* # Параметр elid не пустой. Зона уже существует. Ни чего делать не надо. # Или надо проверить существование зоны на вторичном и "передернуть" его? #TO-DO - удаление зоны!!!! #*/ l("$elid существует"); unless ( $Q->param('name') ) { $zone=$elid; }... else { $zone = $Q->param('name'); } l("создание домена $zone на $ipmaster"); } } if ( $func eq "domain.delete") { # Удаление домена l("Удаление домена $zone"); } l("end"); print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc/>\n";