diff options
Diffstat (limited to 'sql-ledger/bin/lynx/menu.pl')
-rw-r--r-- | sql-ledger/bin/lynx/menu.pl | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/sql-ledger/bin/lynx/menu.pl b/sql-ledger/bin/lynx/menu.pl new file mode 100644 index 000000000..16abe975e --- /dev/null +++ b/sql-ledger/bin/lynx/menu.pl @@ -0,0 +1,151 @@ +###################################################################### +# SQL-Ledger Accounting +# Copyright (c) 2000 +# +# Author: Dieter Simader +# Email: dsimader@sql-ledger.org +# Web: http://www.sql-ledger.org +# +# Contributors: Christopher Browne <cbrowne@acm.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +####################################################################### +# +# menu for text based browsers (lynx) +# +####################################################################### + +$menufile = "menu.ini"; +use SL::Menu; + + +1; +# end of main + + + +sub display { + + $menu = new Menu "$menufile"; + $menu = new Menu "custom_$menufile" if (-f "custom_$menufile"); + $menu = new Menu "$form->{login}_$menufile" if (-f "$form->{login}_$menufile"); + + @menuorder = $menu->access_control(\%myconfig); + + $form->{title} = "SQL-Ledger $form->{version}"; + + $form->header(1); + + $offset = int (21 - $#menuorder)/2; + + print "<pre>"; + print "\n" x $offset; + print "</pre>"; + + print qq|<center><table>|; + + map { print "<tr><td>".$menu->menuitem(\%myconfig, \%$form, $_).$locale->text($_).qq|</a></td></tr>|; } @menuorder; + + print qq' +</table> + +</body> +</html> +'; + +} + + +sub section_menu { + + $menu = new Menu "$menufile", $form->{level}; + $menu = new Menu "custom_$menufile", $form->{level} if (-f "custom_$menufile"); + $menu = new Menu "$form->{login}_$menufile", $form->{level} if (-f "$form->{login}_$menufile"); + + # build tiered menus + @menuorder = $menu->access_control(\%myconfig, $form->{level}); + + foreach $item (@menuorder) { + $a = $item; + $item =~ s/^$form->{level}--//; + push @neworder, $a unless ($item =~ /--/); + } + @menuorder = @neworder; + + $level = $form->{level}; + $level =~ s/--/ /g; + + $form->{title} = $locale->text($level); + + $form->header; + + $offset = int (21 - $#menuorder)/2; + print "<pre>"; + print "\n" x $offset; + print "</pre>"; + + print qq|<center><table>|; + + foreach $item (@menuorder) { + $label = $item; + $label =~ s/$form->{level}--//g; + + # remove target + $menu->{$item}{target} = ""; + + print "<tr><td>".$menu->menuitem(\%myconfig, \%$form, $item, $form->{level}).$locale->text($label)."</a></td></tr>"; + } + + print qq'</table> + +</body> +</html> +'; + +} + + +sub acc_menu { + + §ion_menu; + +} + + +sub menubar { + $menu = new Menu "$menufile", ""; + + # build menubar + @menuorder = $menu->access_control(\%myconfig, ""); + + @neworder = (); + map { push @neworder, $_ unless ($_ =~ /--/) } @menuorder; + @menuorder = @neworder; + + print "<p>"; + $form->{script} = "menu.pl"; + + print "| "; + foreach $item (@menuorder) { + $label = $item; + + # remove target + $menu->{$item}{target} = ""; + + print $menu->menuitem(\%myconfig, \%$form, $item, "").$locale->text($label)."</a> | "; + } + +} + + |