[Bio] / SeedViewer / seedviewer.cgi Repository:
ViewVC logotype

Diff of /SeedViewer/seedviewer.cgi

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

revision 1.4, Wed Nov 7 17:09:12 2007 UTC revision 1.34, Thu Dec 23 18:03:19 2010 UTC
# Line 1  Line 1 
1  use strict;  use strict;
2  use warnings;  use warnings;
3    no warnings 'once';
4    
5  use DBMaster;  use DBMaster;
6  use WebApplication;  use WebApplication;
7  use WebMenu;  use WebMenu;
8  use WebLayout;  use WebLayout;
9    use Tracer;
10    use FIGRules;
11    use FIG_Config;
12    use WebConfig;
13    
14    my $have_fcgi;
15  eval {  eval {
16      &main;      require CGI::Fast;
17        $have_fcgi = 1;
18    };
19    
20    if ($have_fcgi && ! $ENV{REQUEST_METHOD})
21    {
22        my $max_requests = $FIG_Config::fcgi_max_requests || 50;
23        my $n_requests = 0;
24    
25        warn "begin loop\n";
26        while (($max_requests == 0 || $n_requests++ < $max_requests) &&
27               (my $cgi = new CGI::Fast()))
28        {
29            eval {
30                &main($cgi);
31  };  };
32    
33  if ($@)  if ($@)
34  {  {
35      my $cgi = new CGI();              my $error = $@;
36                Warn("Script error: $error") if T(SeedViewer => 0);
37    
38      print $cgi->header();              print CGI::header();
39      print $cgi->start_html();              print CGI::start_html();
40    
41      # print out the error      # print out the error
42      print '<pre>'.$@.'</pre>';              print '<pre>'.$error.'</pre>';
   
     print $cgi->end_html();  
43    
44                print CGI::end_html();
45            }
46  }  }
47    }
48    else
49    {
50        my $cgi = new CGI;
51        eval {
52            &main($cgi);
53        };
54    
55  sub main {      if ($@)
56        {
57            my $error = $@;
58            Warn("Script error: $error") if T(SeedViewer => 0);
59    
60      # initialize cgi          print CGI::header();
61      my $cgi = new CGI();          print CGI::start_html();
62    
63      # initialize db-master          # print out the error
64      my $dbmaster = DBMaster->new(-database => 'WebAppBackend');          print '<pre>'.$error.'</pre>';
65    
66      # initialize layout          print CGI::end_html();
67      my $layout = WebLayout->new('./Html/SeedViewer.tmpl');      }
68      $layout->add_css('./Html/default.css');  }
     $layout->add_css('./Html/seedviewer.css');  
69    
70    sub main {
71        my($cgi) = @_;
72    
73        # Initialize tracing.
74        ETracing($cgi);
75        if (FIGRules::nmpdr_mode($cgi)) {
76            Trace("NMPDR mode selected.") if T(3);
77            my $parms = $cgi->query_string();
78            if ($parms) {
79                $parms = "?$parms";
80            } else {
81                $parms = "?page=Home";
82            }
83            print CGI::redirect(-uri => "$FIG_Config::cgi_url/wiki/rest.cgi/NmpdrPlugin/SeedViewer$parms",
84                                -status => 301);
85        } else {
86            # initialize layout
87            # Use the template file for the current mode-- NMPDR or SEED
88            my $templateFile = TMPL_PATH . "/SeedViewer.tmpl";
89            Trace("Template file is $templateFile") if T(3);
90            my $layout = WebLayout->new($templateFile);
91            # Choose the body/header style sheet according to the mode.
92            $layout->add_css("$FIG_Config::cgi_url/Html/seedviewer.css");
93            $layout->add_css("$FIG_Config::cgi_url/Html/commonviewer.css");
94            $layout->add_css("$FIG_Config::cgi_url/Html/web_app_default.css");
95      # build menu      # build menu
96      my $menu = WebMenu->new();          my $menu;
97            $menu = WebMenu->new();
98      $menu->add_category('&raquo;Navigate', '?page=Home');      $menu->add_category('&raquo;Navigate', '?page=Home');
99      $menu->add_entry('&raquo;Navigate', 'Search', '?page=Home');          $menu->add_entry('&raquo;Navigate', 'Startpage', '?page=Home');
     $menu->add_entry('&raquo;Navigate', 'Subsystems', '?page=SubsystemSelect');  
100      $menu->add_entry('&raquo;Navigate', 'Organisms', '?page=OrganismSelect');      $menu->add_entry('&raquo;Navigate', 'Organisms', '?page=OrganismSelect');
101            $menu->add_entry('&raquo;Navigate', 'Subsystems', '?page=SubsystemSelect');
102            $menu->add_entry('&raquo;Navigate', 'Scenarios', '?page=Scenarios');
103            $menu->add_entry('&raquo;Navigate', 'FigFams', '?page=FigFamViewer');
104            $menu->add_entry('&raquo;Navigate', 'BLAST Search', '?page=BlastRun');
105            if (defined($FIG_Config::teacher_db)) {
106      $menu->add_category('&raquo;Teacher', '?page=Teach', undef, ['edit', 'problem_list'], 96);      $menu->add_category('&raquo;Teacher', '?page=Teach', undef, ['edit', 'problem_list'], 96);
107      $menu->add_category('&raquo;Admin', '?page=Admin', undef, ['edit', 'scope', '*'], 99);              $menu->add_entry('&raquo;Teacher', 'Class Performance', '?page=Teach');
108                $menu->add_entry('&raquo;Teacher', 'Class Management', '?page=ManageClass');
109                $menu->add_entry('&raquo;Teacher', 'Problem Sets', '?page=ManageProblemSets');
110                $menu->add_entry('&raquo;Teacher', 'Annotation Resolve', '?page=ClassAnnotationResolve');
111            }
112      $menu->add_category('&raquo;Help', 'http://www.theseed.org', 'help', undef, 98);      $menu->add_category('&raquo;Help', 'http://www.theseed.org', 'help', undef, 98);
113      $menu->add_entry('&raquo;Help', 'What is the SEED', 'http://www.theseed.org/wiki/Home_of_the_SEED');          $menu->add_entry('&raquo;Help', 'What is the SEED', 'http://www.theseed.org/wiki/index.php/Home_of_the_SEED');
114      $menu->add_entry('&raquo;Help', 'HowTo use the SEED Viewer', 'http://www.theseed.org/wiki/SEED_Viewer_Tutorial');          $menu->add_entry('&raquo;Help', 'HowTo use the SEED Viewer', 'http://www.theseed.org/wiki/index.php/SEED_Viewer_Tutorial');
115      $menu->add_entry('&raquo;Help', 'Submitting Data to SEED', 'http://www.theseed.org/wiki/RAST_Tutorial');          $menu->add_entry('&raquo;Help', 'Submitting Data to SEED', 'http://www.theseed.org/wiki/index.php/RAST_Tutorial');
116      $menu->add_entry('&raquo;Help', 'Contact', 'http://www.theseed.org/wiki/Contact');  
117            # check which contact info to show
118            if (defined($FIG_Config::server_type) && ($FIG_Config::server_type eq 'MG-RAST')) {
119                $menu->add_entry('&raquo;Help', 'Contact', 'mailto:mg-rast@mcs.anl.gov', undef, ['login']);
120            } elsif (defined($FIG_Config::server_type) && ($FIG_Config::server_type eq 'RAST')) {
121                $menu->add_entry('&raquo;Help', 'Contact', 'mailto:rast@mcs.anl.gov', undef, ['login']);
122            } else {
123                $menu->add_entry('&raquo;Help', 'Contact', 'mailto:info@theseed.org');
124            }
125      $menu->add_entry('&raquo;Help', 'Register', '?page=Register');      $menu->add_entry('&raquo;Help', 'Register', '?page=Register');
126            $menu->add_entry('&raquo;Help', 'I forgot my Password', '?page=RequestNewPassword');
127    
128      # initialize application      # initialize application
129      my $WebApp = WebApplication->new( { id => 'SeedViewer',      my $WebApp = WebApplication->new( { id => 'SeedViewer',
                                         dbmaster => $dbmaster,  
130                                          menu     => $menu,                                          menu     => $menu,
131                                          layout   => $layout,                                          layout   => $layout,
132                                          default  => 'Home',                                          default  => 'Home',
133                                                cgi => $cgi,
134                                        } );                                        } );
135    
136            my $prefix = "Seed Viewer - ";
137            $WebApp->page_title_prefix($prefix);
138            $WebApp->show_login_user_info(1);
139      # run application      # run application
140      $WebApp->run();      $WebApp->run();
141        }
142  }  }

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.34

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3