working message catalogs (not used for enough yet)
[freeside.git] / httemplate / edit / msgcat.cgi
1 <!-- mason kludge -->
2 <%
3
4 print header("Message catalog", menubar(
5 #  'Main Menu' => $p,
6 )), '<BR>';
7
8 print qq!<FONT SIZE="+1" COLOR="#ff0000">Error: !. $cgi->param('error')
9   if $cgi->param('error');
10
11 my $widget = new HTML::Widgets::SelectLayers(
12   'selected_layer' => 'en_US',
13   'options'        => { 'en_US'=>'en_US' },
14   'form_action'    => 'process/msgcat.cgi',
15   'layer_callback' => sub {
16     my $layer = shift;
17     my $html = qq!<INPUT TYPE="hidden" NAME="locale" VALUE="$layer">!.
18                "<BR>Messages for locale $layer<BR>". table().
19                "<TR><TH COLSPAN=2>Code</TH>".
20                "<TH>Message</TH>";
21     $html .= "<TH>en_US Message</TH>" unless $layer eq 'en_US';
22     $html .= '</TR>';
23
24     #foreach my $msgcat ( sort { $a->msgcode cmp $b->msgcode }
25     #                       qsearch('msgcat', { 'locale' => $layer } ) ) {
26     foreach my $msgcat ( qsearch('msgcat', { 'locale' => $layer } ) ) {
27       $html .=
28         '<TR><TD>'. $msgcat->msgnum. '</TD><TD>'. $msgcat->msgcode. '</TD>'.
29         '<TD><INPUT TYPE="text" SIZE=32 '.
30         qq! NAME="!. $msgcat->msgnum. '" '.
31         qq!VALUE="!. $msgcat->msg. qq!"></TD>!;
32       unless ( $layer eq 'en_US' ) {
33         my $en_msgcat = qsearchs('msgcat', {
34           'locale'  => 'en_US',
35           'msgcode' => $msgcat->msgcode,
36         } );
37         $html .= '<TD>'. $en_msgcat->msg. '</TD>';
38       }
39       $html .= '</TR>';
40     }
41
42     $html .= '</TABLE><BR><INPUT TYPE="submit" VALUE="Apply changes">';
43
44     $html;
45   },
46
47 );
48
49 print $widget->html;
50
51 print <<END;
52     </TABLE>
53   </BODY>
54 </HTML>
55 END
56
57 %>