[Bio] / SubsystemEditor / SubsysEditor.cgi Repository:
ViewVC logotype

Diff of /SubsystemEditor/SubsysEditor.cgi

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5, Tue Jan 15 17:05:27 2008 UTC revision 1.6, Thu Jan 27 22:37:23 2011 UTC
# Line 9  Line 9 
9  use WebMenu;  use WebMenu;
10  use WebLayout;  use WebLayout;
11    
12  my $cgi = new CGI();  my $have_fcgi;
13    eval {
14        require CGI::Fast;
15        $have_fcgi = 1;
16    };
17    
18    if ($have_fcgi && ! $ENV{REQUEST_METHOD})
19    {
20    
21        #
22        # Precompile modules. Find where we found one, and use that path
23        # to walk for the rest.
24        #
25        my $mod_path = $INC{"WebComponent/Ajax.pm"};
26        if ($mod_path && $mod_path =~ s,WebApplication/WebComponent/Ajax\.pm$,,)
27        {
28            local $SIG{__WARN__} = sub {};
29            for my $what (qw(SeedViewer RAST WebApplication))
30            {
31                for my $which (qw(WebPage WebComponent DataHandler))
32                {
33                    opendir(D, "$mod_path/$what/$which") or next;
34                    my @x = grep { /^[^.]/ } readdir(D);
35                    for my $mod (@x)
36                    {
37                        $mod =~ s/\.pm$//;
38                        my $fullmod = join("::", $what, $which, $mod);
39                        eval " require $fullmod; ";
40                    }
41                    closedir(D);
42                }
43            }
44        }
45    
46        my $max_requests = $FIG_Config::fcgi_max_requests || 50;
47        my $n_requests = 0;
48    
49        warn "begin loop\n";
50        while (($max_requests == 0 || $n_requests++ < $max_requests) &&
51               (my $cgi = new CGI::Fast()))
52        {
53            eval {
54                &main($cgi);
55            };
56    
57            if ($@)
58            {
59                my $error = $@;
60                Warn("Script error: $error") if T(SeedViewer => 0);
61    
62                print CGI::header();
63                print CGI::start_html();
64    
65                # print out the error
66                print '<pre>'.$error.'</pre>';
67    
68                print CGI::end_html();
69            }
70        }
71    }
72    else
73    {
74        my $cgi = new CGI;
75        eval {
76            &main($cgi);
77        };
78        if ($@)
79        {
80            my $error = $@;
81            Warn("Script error: $error") if T(SeedViewer => 0);
82    
83            print CGI::header();
84            print CGI::start_html();
85    
86            # print out the error
87            print '<pre>'.$error.'</pre>';
88    
89            print CGI::end_html();
90        }
91    }
92    
93    sub main
94    {
95        my($cgi) = @_;
96    
97  my $layout = WebLayout->new('./Html/SubsystemEditorLayout.tmpl');  my $layout = WebLayout->new('./Html/SubsystemEditorLayout.tmpl');
98  $layout->add_css('./Html/SubsystemEditor.css');  $layout->add_css('./Html/SubsystemEditor.css');
# Line 23  Line 106 
106                                      menu     => $menu,                                      menu     => $menu,
107                                      layout   => $layout,                                      layout   => $layout,
108                                      default  => 'SubsystemOverview',                                      default  => 'SubsystemOverview',
109                                                cgi => $cgi,
110                                    } );                                    } );
111    
112  $WebApp->show_login_user_info(1);  $WebApp->show_login_user_info(1);
113  $WebApp->run();  $WebApp->run();
114    }

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3