[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

CGI Implementation: config.cgi

@ISA of config.cgi is as follows:

FML::CGI::Menu FML::Process::CGI::Kernel FML::Process::CGI::Param
Let see processing of config.cgi below.

config.cgi process object $curproc is a FML::Process::CGI::Kernel class.

is sequentially called from FML::Process::CGI::Kernel class.

run() is important. run() executes the following methods sequentially.

    $curproc->html_start();          (FML::CGI::Menu)
    $curproc->_drive_cgi_by_table(); (FML::Process::CGI::Kernel)
    $curproc->html_end();            (FML::CGI::Menu)
_drive_cgi_by_table() prepares the screen. This function calls the main part of CGI.

$curproc->_drive_cgi_by_table() calles the following run_XXX() methods.

run_cgi_main              (FML::CGI::Menu)
calls cgi_execute_command (FML::Process::CGI::Kernel) to execute FML::Command::Admin::$COMMAND via FML::Command class. This is the main part of command execution via CGI but the screen creation is a role of another part.

For example, consider subscribe an address via CGI. run_cgi_main() executes the real process of subscription. Instead run_cgi_menu() creates input menu. Former calls FML::Command::Admin::subscribe::process() method, latter calls FML::Command::Admin::subscribe::cgi_menu() method.

There are several other run_cgi_XXX() methods. They are optional for screen creation.

The following run_cgi_XXX() uses the default method.

run_cgi_title             FML::Process::CGI::Kernel (show title)
run_cgi_options           FML::Process::CGI::Kernel (show language selection)
.cgi specific methods are as follows:
run_cgi_navigator         FML::CGI::Menu
run_cgi_help              FML::CGI::Menu
run_cgi_command_help      FML::CGI::Menu
run_cgi_menu              FML::CGI::Menu

run_cgi_menu() executes FML::Command::Admin::COMMAND::cgi_menu() via cgi_execute_cgi_menu() method.

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >