[Bio] / FigWebServices / construct.cgi Repository:
ViewVC logotype

Annotation of /FigWebServices/construct.cgi

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (view) (download)

1 : olson 1.1 use strict;
2 :    
3 :     use FIG;
4 :     my $fig = new FIG;
5 :    
6 :     use HTML;
7 :     use Data::Dumper;
8 :    
9 :     use CGI;
10 :     my $cgi = new CGI;
11 :    
12 :     use Construct qw(/.*/);
13 :    
14 :     if (0)
15 :     {
16 :     my $VAR1;
17 :     eval(join("",`cat /tmp/protein_parms`));
18 :     $cgi = $VAR1;
19 :     # print STDERR &Dumper($cgi);
20 :     }
21 :    
22 :     if (0)
23 :     {
24 :     print $cgi->header;
25 :     my @params = $cgi->param;
26 :     print "<pre>\n";
27 :     foreach $_ (@params)
28 :     {
29 :     print "$_\t:",join(",",$cgi->param($_)),":\n";
30 :     }
31 :    
32 :     if (0)
33 :     {
34 :     if (open(TMP,">/tmp/protein_parms"))
35 :     {
36 :     print TMP &Dumper($cgi);
37 :     close(TMP);
38 :     }
39 :     }
40 :     exit;
41 :     }
42 :    
43 :     my $html = [];
44 :    
45 :     unshift @$html, "<TITLE>subsys constructs</TITLE>\n";
46 :    
47 :     #
48 :     # Figure out what subsystem we're in.
49 :     #
50 :    
51 :     my $sub_name = $cgi->param('ssa');
52 :    
53 :     if (!defined($sub_name))
54 :     {
55 :     push(@$html, $cgi->p, "Subsystem name must be provided\n");
56 :     HTML::show_page($cgi, $html);
57 :     exit;
58 :     }
59 :    
60 :     my $sub = $fig->get_subsystem($sub_name);
61 :    
62 :     push(@$html, $cgi->h1($sub->get_name()));
63 :     push(@$html, $cgi->a({href => "Html/Constructs.html"},
64 :     "More information on constructs"),
65 :     $cgi->p);
66 :    
67 :     my (@val);
68 :    
69 :     if ($cgi->param('Update'))
70 :     {
71 :     push(@$html, "we've been updated!\n");
72 :    
73 :     @val = get_constructs_from_form($cgi);
74 :     my $verrs = [];
75 :     if (validate_constructs(\@val, $sub, $verrs))
76 :     {
77 :     my $constructs_file = "$sub->{dir}/constructs";
78 :     system("cp $constructs_file $constructs_file.bak");
79 :     write_constructs_file(\@val, $constructs_file);
80 :     }
81 :     else
82 :     {
83 :     push(@$html, $cgi->p,
84 :     "Validation failed");
85 :     push(@$html, "<ul>\n", "<li> ", join("<li>\n", @$verrs), "</ul>\n");
86 :     }
87 :    
88 :     # push(@$html, "<pre>\n", Dumper(\@val), "</pre>\n");
89 :     }
90 :     else
91 :     {
92 :     my $constructs_file = "$sub->{dir}/constructs";
93 :    
94 :     #
95 :     # Create empty file if it's not already there.
96 :     #
97 :    
98 :     if (! -f $constructs_file)
99 :     {
100 :     open(my $fh, ">$constructs_file");
101 :     close($fh);
102 :     }
103 :    
104 :     @val = parse_constructs_file($constructs_file, $sub);
105 :     }
106 :    
107 :     push(@$html, $cgi->start_form(-name => "construct_form",
108 :     -method => 'POST',
109 :     -action => 'construct.cgi'));
110 :    
111 :    
112 :     my $ctable = make_html(\@val, $cgi);
113 :     push(@$html, $ctable);
114 :    
115 :     push(@$html, $cgi->submit("Update"));
116 :    
117 :     push(@$html, $cgi->end_form);
118 :    
119 :     HTML::show_page($cgi, $html);
120 :    
121 :     #write_constructs_file(\@val, "/tmp/foo");
122 :    

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3