This commit was generated by cvs2svn to compensate for changes in r3921,
[freeside.git] / sql-ledger / bin / lynx / menu.pl
1 ######################################################################
2 # SQL-Ledger Accounting
3 # Copyright (c) 2000
4 #
5 #  Author: Dieter Simader
6 #   Email: dsimader@sql-ledger.org
7 #     Web: http://www.sql-ledger.org
8 #
9 #  Contributors: Christopher Browne <cbrowne@acm.org>
10 #
11 # This program is free software; you can redistribute it and/or modify
12 # it under the terms of the GNU General Public License as published by
13 # the Free Software Foundation; either version 2 of the License, or
14 # (at your option) any later version.
15 #
16 # This program is distributed in the hope that it will be useful,
17 # but WITHOUT ANY WARRANTY; without even the implied warranty of
18 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 # GNU General Public License for more details.
20 # You should have received a copy of the GNU General Public License
21 # along with this program; if not, write to the Free Software
22 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 #######################################################################
24 #
25 # menu for text based browsers (lynx)
26 #
27 #######################################################################
28
29 $menufile = "menu.ini";
30 use SL::Menu;
31
32
33 1;
34 # end of main
35
36
37
38 sub display {
39
40   $menu = new Menu "$menufile";
41   $menu = new Menu "custom_$menufile" if (-f "custom_$menufile");
42   $menu = new Menu "$form->{login}_$menufile" if (-f "$form->{login}_$menufile");
43   
44   @menuorder = $menu->access_control(\%myconfig);
45
46   $form->{title} = "SQL-Ledger $form->{version}";
47   
48   $form->header(1);
49
50   $offset = int (21 - $#menuorder)/2;
51
52   print "<pre>";
53   print "\n" x $offset;
54   print "</pre>";
55
56   print qq|<center><table>|;
57
58   map { print "<tr><td>".$menu->menuitem(\%myconfig, \%$form, $_).$locale->text($_).qq|</a></td></tr>|; } @menuorder;
59
60   print qq'
61 </table>
62
63 </body>
64 </html>
65 ';
66
67 }
68
69
70 sub section_menu {
71
72   $menu = new Menu "$menufile", $form->{level};
73   $menu = new Menu "custom_$menufile", $form->{level} if (-f "custom_$menufile");
74   $menu = new Menu "$form->{login}_$menufile", $form->{level} if (-f "$form->{login}_$menufile");
75
76   # build tiered menus
77   @menuorder = $menu->access_control(\%myconfig, $form->{level});
78
79   foreach $item (@menuorder) {
80     $a = $item;
81     $item =~ s/^$form->{level}--//;
82     push @neworder, $a unless ($item =~ /--/);
83   }
84   @menuorder = @neworder;
85  
86   $level = $form->{level};
87   $level =~ s/--/ /g;
88
89   $form->{title} = $locale->text($level);
90   
91   $form->header;
92
93   $offset = int (21 - $#menuorder)/2;
94   print "<pre>";
95   print "\n" x $offset;
96   print "</pre>";
97   
98   print qq|<center><table>|;
99
100   foreach $item (@menuorder) {
101     $label = $item;
102     $label =~ s/$form->{level}--//g;
103
104     # remove target
105     $menu->{$item}{target} = "";
106
107     print "<tr><td>".$menu->menuitem(\%myconfig, \%$form, $item, $form->{level}).$locale->text($label)."</a></td></tr>";
108   }
109   
110   print qq'</table>
111
112 </body>
113 </html>
114 ';
115
116 }
117
118
119 sub acc_menu {
120   
121   &section_menu;
122   
123 }
124
125
126 sub menubar {
127   $menu = new Menu "$menufile", "";
128   
129   # build menubar
130   @menuorder = $menu->access_control(\%myconfig, "");
131
132   @neworder = ();
133   map { push @neworder, $_ unless ($_ =~ /--/) } @menuorder;
134   @menuorder = @neworder;
135
136   print "<p>";
137   $form->{script} = "menu.pl";
138
139   print "| ";
140   foreach $item (@menuorder) {
141     $label = $item;
142
143     # remove target
144     $menu->{$item}{target} = "";
145
146     print $menu->menuitem(\%myconfig, \%$form, $item, "").$locale->text($label)."</a> | ";
147   }
148   
149 }
150
151