Плагин для DNSManager, обрабатывающий создание зоны

 

#!/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";


 

 

Плагин для DNSManager, обрабатывающий создание зоны: 2 комментария

  1. Щелчок по значку «Новый домен»:
    func=domain.edit
    elid=
    clicked_button=
    dtype=
    email=
    ip=
    masterip=
    name=
    progressid=
    sfrom=ajax
    sok=

    Заполняем поля, нажимаем «ОК»:
    Ср июн 21 14:48:31 +07 2017

    func=
    elid=
    clicked_button=
    dtype=
    email=
    ip=
    masterip=
    name=
    progressid=
    sfrom=
    sok=
    ==================================
    Ср июн 21 14:48:32 +07 2017

    func=
    elid=
    clicked_button=
    dtype=
    email=
    ip=
    masterip=
    name=
    progressid=
    sfrom=
    sok=
    ==================================
    Плагин вызывается несколько раз, но все время поля пустые.

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