]> wagnertech.de Git - mfinanz.git/commitdiff
Neues Menu von Holger L.
authorStephan Köhler <s.koehler@linet-services.de>
Fri, 23 Sep 2005 14:05:08 +0000 (14:05 +0000)
committerStephan Köhler <s.koehler@linet-services.de>
Fri, 23 Sep 2005 14:05:08 +0000 (14:05 +0000)
-Wenn manuell eingespielt vorher makesymlinks und locales.pl ausführen!
-Auswahl über Programm->Benutzereinstellungen "Setup Menu" New/Old,
dann ab- und neuanmelden.
-Die Auswahl im der Adminmaske funktioniert noch nicht!

SL/Menu.pm
SL/User.pm
bin/mozilla/am.pl
bin/mozilla/login.pl
bin/mozilla/menunew.pl [new file with mode: 0644]
locale/de/all
locale/de/am
locale/de/locales.pl
makesymlinks

index b10fc67b41a2940e3dbc0e70a517c63b60f05987..0bdf945e4a888690a45dece9f0e684755849b06e 100644 (file)
@@ -67,8 +67,10 @@ sub menuitem {
   }
 
   my $level = $form->escape($item);
   }
 
   my $level = $form->escape($item);
-  my $str   =
+
+  my $str =
     qq|<a href=$module?path=$form->{path}&action=$action&level=$level&login=$form->{login}&password=$form->{password}|;
     qq|<a href=$module?path=$form->{path}&action=$action&level=$level&login=$form->{login}&password=$form->{password}|;
+
   my @vars = qw(module action target href);
 
   if ($self->{$item}{href}) {
   my @vars = qw(module action target href);
 
   if ($self->{$item}{href}) {
@@ -97,6 +99,44 @@ sub menuitem {
   return $str;
 }
 
   return $str;
 }
 
+sub menuitemNew {
+  my ($self, $myconfig, $form, $item) = @_;
+
+  my $module = $form->{script};
+  my $action = "section_menu";
+
+  #if ($self->{$item}{module}) {
+  $module = $self->{$item}{module};
+
+  #}
+  if ($self->{$item}{action}) {
+    $action = $self->{$item}{action};
+  }
+
+  my $level = $form->escape($item);
+  my $str   =
+    qq|$module?path=$form->{path}&action=$action&level=$level&login=$form->{login}&password=$form->{password}|;
+  my @vars = qw(module action target href);
+
+  if ($self->{$item}{href}) {
+    $str  = qq|$self->{$item}{href}|;
+    @vars = qw(module target href);
+  }
+
+  map { delete $self->{$item}{$_} } @vars;
+
+  # add other params
+  foreach my $key (keys %{ $self->{$item} }) {
+    $str .= "&" . $form->escape($key, 1) . "=";
+    ($value, $conf) = split /=/, $self->{$item}{$key}, 2;
+    $value = $myconfig->{$value} . "/$conf" if ($conf);
+    $str .= $form->escape($value, 1);
+  }
+
+  $str .= " ";
+
+}
+
 sub access_control {
   $main::lxdebug->enter_sub();
 
 sub access_control {
   $main::lxdebug->enter_sub();
 
index a034e033ff44a95a7cb58125263aa79bcaaac1b1..9fa0035c65678a89b6aeac48a1b69c62a4d2f2a2 100644 (file)
@@ -841,7 +841,7 @@ sub config_vars {
     currency dateformat dbconnect dbdriver dbhost dbport dboptions
     dbname dbuser dbpasswd email fax name numberformat password
     printer role sid signature stylesheet tel templates vclimit angebote bestellungen rechnungen
     currency dateformat dbconnect dbdriver dbhost dbport dboptions
     dbname dbuser dbpasswd email fax name numberformat password
     printer role sid signature stylesheet tel templates vclimit angebote bestellungen rechnungen
-    anfragen lieferantenbestellungen einkaufsrechnungen steuernummer ustid duns);
+    anfragen lieferantenbestellungen einkaufsrechnungen steuernummer ustid duns menustyle);
 
   $main::lxdebug->leave_sub();
 
 
   $main::lxdebug->leave_sub();
 
index ced3b081494271f6224489b1e3fedc19ea9aeb13..d75766a3fcb1da47b2f4ebe319ab90f4aefc6b7b 100644 (file)
@@ -282,27 +282,21 @@ sub account_header {
            <table>
              <tr valign=top>
                <td><input name=category type=radio class=radio value=A $checked{A_}>&nbsp;|
            <table>
              <tr valign=top>
                <td><input name=category type=radio class=radio value=A $checked{A_}>&nbsp;|
-    . $locale->text('Asset')
-    . qq|\n<br>
+    . $locale->text('Asset') . qq|\n<br>
                <input name=category type=radio class=radio value=L $checked{L_}>&nbsp;|
                <input name=category type=radio class=radio value=L $checked{L_}>&nbsp;|
-    . $locale->text('Liability')
-    . qq|\n<br>
+    . $locale->text('Liability') . qq|\n<br>
                <input name=category type=radio class=radio value=Q $checked{Q_}>&nbsp;|
                <input name=category type=radio class=radio value=Q $checked{Q_}>&nbsp;|
-    . $locale->text('Equity')
-    . qq|\n<br>
+    . $locale->text('Equity') . qq|\n<br>
                <input name=category type=radio class=radio value=I $checked{I_}>&nbsp;|
                <input name=category type=radio class=radio value=I $checked{I_}>&nbsp;|
-    . $locale->text('Revenue')
-    . qq|\n<br>
+    . $locale->text('Revenue') . qq|\n<br>
                <input name=category type=radio class=radio value=E $checked{E_}>&nbsp;|
                <input name=category type=radio class=radio value=E $checked{E_}>&nbsp;|
-    . $locale->text('Expense')
-    . qq|</td>
+    . $locale->text('Expense') . qq|</td>
                <td width=50>&nbsp;</td>
                <td>
                <input name=charttype type=radio class=radio value="H" $checked{H}>&nbsp;|
     . $locale->text('Heading') . qq|<br>
                <input name=charttype type=radio class=radio value="A" $checked{A}>&nbsp;|
                <td width=50>&nbsp;</td>
                <td>
                <input name=charttype type=radio class=radio value="H" $checked{H}>&nbsp;|
     . $locale->text('Heading') . qq|<br>
                <input name=charttype type=radio class=radio value="A" $checked{A}>&nbsp;|
-    . $locale->text('Account')
-    . qq|</td>
+    . $locale->text('Account') . qq|</td>
              </tr>
            </table>
          </td>
              </tr>
            </table>
          </td>
@@ -316,8 +310,7 @@ sub account_header {
            <table>
              <tr>
                <th align=left>|
            <table>
              <tr>
                <th align=left>|
-      . $locale->text('Is this a summary account to record')
-      . qq|</th>
+      . $locale->text('Is this a summary account to record') . qq|</th>
                <td>
                <input name=AR type=checkbox class=checkbox value=AR $form->{AR}>&nbsp;|
       . $locale->text('AR')
                <td>
                <input name=AR type=checkbox class=checkbox value=AR $form->{AR}>&nbsp;|
       . $locale->text('AR')
@@ -345,41 +338,33 @@ sub account_header {
              <tr>
                <td>
                <input name=AR_amount type=checkbox class=checkbox value=AR_amount $form->{AR_amount}>&nbsp;|
              <tr>
                <td>
                <input name=AR_amount type=checkbox class=checkbox value=AR_amount $form->{AR_amount}>&nbsp;|
-      . $locale->text('Revenue')
-      . qq|\n<br>
+      . $locale->text('Revenue') . qq|\n<br>
                <input name=AR_paid type=checkbox class=checkbox value=AR_paid $form->{AR_paid}>&nbsp;|
                <input name=AR_paid type=checkbox class=checkbox value=AR_paid $form->{AR_paid}>&nbsp;|
-      . $locale->text('Receipt')
-      . qq|\n<br>
+      . $locale->text('Receipt') . qq|\n<br>
                <input name=AR_tax type=checkbox class=checkbox value=AR_tax $form->{AR_tax}>&nbsp;|
       . $locale->text('Tax') . qq|
                </td>
                <td>
                <input name=AP_amount type=checkbox class=checkbox value=AP_amount $form->{AP_amount}>&nbsp;|
                <input name=AR_tax type=checkbox class=checkbox value=AR_tax $form->{AR_tax}>&nbsp;|
       . $locale->text('Tax') . qq|
                </td>
                <td>
                <input name=AP_amount type=checkbox class=checkbox value=AP_amount $form->{AP_amount}>&nbsp;|
-      . $locale->text('Expense/Asset')
-      . qq|\n<br>
+      . $locale->text('Expense/Asset') . qq|\n<br>
                <input name=AP_paid type=checkbox class=checkbox value=AP_paid $form->{AP_paid}>&nbsp;|
                <input name=AP_paid type=checkbox class=checkbox value=AP_paid $form->{AP_paid}>&nbsp;|
-      . $locale->text('Payment')
-      . qq|\n<br>
+      . $locale->text('Payment') . qq|\n<br>
                <input name=AP_tax type=checkbox class=checkbox value=AP_tax $form->{AP_tax}>&nbsp;|
       . $locale->text('Tax') . qq|
                </td>
                <td>
                <input name=IC_sale type=checkbox class=checkbox value=IC_sale $form->{IC_sale}>&nbsp;|
                <input name=AP_tax type=checkbox class=checkbox value=AP_tax $form->{AP_tax}>&nbsp;|
       . $locale->text('Tax') . qq|
                </td>
                <td>
                <input name=IC_sale type=checkbox class=checkbox value=IC_sale $form->{IC_sale}>&nbsp;|
-      . $locale->text('Revenue')
-      . qq|\n<br>
+      . $locale->text('Revenue') . qq|\n<br>
                <input name=IC_cogs type=checkbox class=checkbox value=IC_cogs $form->{IC_cogs}>&nbsp;|
                <input name=IC_cogs type=checkbox class=checkbox value=IC_cogs $form->{IC_cogs}>&nbsp;|
-      . $locale->text('COGS')
-      . qq|\n<br>
+      . $locale->text('COGS') . qq|\n<br>
                <input name=IC_taxpart type=checkbox class=checkbox value=IC_taxpart $form->{IC_taxpart}>&nbsp;|
       . $locale->text('Tax') . qq|
                </td>
                <td>
                <input name=IC_income type=checkbox class=checkbox value=IC_income $form->{IC_income}>&nbsp;|
                <input name=IC_taxpart type=checkbox class=checkbox value=IC_taxpart $form->{IC_taxpart}>&nbsp;|
       . $locale->text('Tax') . qq|
                </td>
                <td>
                <input name=IC_income type=checkbox class=checkbox value=IC_income $form->{IC_income}>&nbsp;|
-      . $locale->text('Revenue')
-      . qq|\n<br>
+      . $locale->text('Revenue') . qq|\n<br>
                <input name=IC_expense type=checkbox class=checkbox value=IC_expense $form->{IC_expense}>&nbsp;|
                <input name=IC_expense type=checkbox class=checkbox value=IC_expense $form->{IC_expense}>&nbsp;|
-      . $locale->text('Expense')
-      . qq|\n<br>
+      . $locale->text('Expense') . qq|\n<br>
                <input name=IC_taxservice type=checkbox class=checkbox value=IC_taxservice $form->{IC_taxservice}>&nbsp;|
       . $locale->text('Tax') . qq|
                </td>
                <input name=IC_taxservice type=checkbox class=checkbox value=IC_taxservice $form->{IC_taxservice}>&nbsp;|
       . $locale->text('Tax') . qq|
                </td>
@@ -1419,8 +1404,7 @@ sub sic_header {
   <tr>
     <td></td>
     <th align=left><input name=sictype type=checkbox style=checkbox value="H" $checked> |
   <tr>
     <td></td>
     <th align=left><input name=sictype type=checkbox style=checkbox value="H" $checked> |
-    . $locale->text('Heading')
-    . qq|</th>
+    . $locale->text('Heading') . qq|</th>
   <tr>
   <tr>
     <th align=right>| . $locale->text('Description') . qq|</th>
   <tr>
   <tr>
     <th align=right>| . $locale->text('Description') . qq|</th>
@@ -1605,7 +1589,8 @@ sub config {
   %countrycodes = User->country_codes;
   $countrycodes = '';
   foreach $key (sort { $countrycodes{$a} cmp $countrycodes{$b} }
   %countrycodes = User->country_codes;
   $countrycodes = '';
   foreach $key (sort { $countrycodes{$a} cmp $countrycodes{$b} }
-                keys %countrycodes) {
+                keys %countrycodes
+    ) {
     $countrycodes .=
       ($myconfig{countrycode} eq $key)
       ? "<option selected value=$key>$countrycodes{$key}\n"
     $countrycodes .=
       ($myconfig{countrycode} eq $key)
       ? "<option selected value=$key>$countrycodes{$key}\n"
@@ -1639,6 +1624,9 @@ sub config {
 
   $form->header;
 
 
   $form->header;
 
+  if ($myconfig{menustyle} eq "old") { $oldS = "checked"; }
+  else { $newS = "checked"; }
+
   print qq|
 <body>
 
   print qq|
 <body>
 
@@ -1709,6 +1697,11 @@ sub config {
          <th align=right>| . $locale->text('Stylesheet') . qq|</th>
          <td><select name=usestylesheet>$selectstylesheet</select></td>
        </tr>
          <th align=right>| . $locale->text('Stylesheet') . qq|</th>
          <td><select name=usestylesheet>$selectstylesheet</select></td>
        </tr>
+       <tr>
+         <th align=right>| . $locale->text('Setup Menu') . qq|</th>
+         <td><input name=menustyle type=radio class=radio value=neu $newS>&nbsp;New
+                 <input name=menustyle type=radio class=radio value=old $oldS>&nbsp;Old</td>
+       </tr>   
        <input name=printer type=hidden value="$myconfig{printer}">
        <tr class=listheading>
          <th colspan=2>&nbsp;</th>
        <input name=printer type=hidden value="$myconfig{printer}">
        <tr class=listheading>
          <th colspan=2>&nbsp;</th>
@@ -1731,8 +1724,7 @@ sub config {
        </tr>
        <tr class=listheading>
          <th colspan=2>|
        </tr>
        <tr class=listheading>
          <th colspan=2>|
-    . $locale->text('Last Numbers & Default Accounts')
-    . qq|</th>
+    . $locale->text('Last Numbers & Default Accounts') . qq|</th>
        </tr>
        <tr>
          <td colspan=2>
        </tr>
        <tr>
          <td colspan=2>
@@ -1759,7 +1751,9 @@ sub config {
              </tr>
              <tr>
                <td colspan=2>|
              </tr>
              <tr>
                <td colspan=2>|
-    . $locale->text('Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies')
+    . $locale->text(
+    'Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies'
+    )
     . qq|<br><input name=curr size=40 value="$form->{defaults}{curr}"></td>
              </tr>
             </table>
     . qq|<br><input name=curr size=40 value="$form->{defaults}{curr}"></td>
              </tr>
             </table>
@@ -1772,38 +1766,31 @@ sub config {
                <th align=right nowrap>| . $locale->text('Last Invoice Number') . qq|</th>
                <td><input name=invnumber size=10 value=$form->{defaults}{invnumber}></td>
                 <th align=right nowrap>|
                <th align=right nowrap>| . $locale->text('Last Invoice Number') . qq|</th>
                <td><input name=invnumber size=10 value=$form->{defaults}{invnumber}></td>
                 <th align=right nowrap>|
-    . $locale->text('Last Customer Number')
-    . qq|</th>
+    . $locale->text('Last Customer Number') . qq|</th>
                <td><input name=customernumber size=10 value=$form->{defaults}{customernumber}></td>
              </tr>
              <tr>
                <th align=right nowrap>|
                <td><input name=customernumber size=10 value=$form->{defaults}{customernumber}></td>
              </tr>
              <tr>
                <th align=right nowrap>|
-    . $locale->text('Last Sales Order Number')
-    . qq|</th>
+    . $locale->text('Last Sales Order Number') . qq|</th>
                <td><input name=sonumber size=10 value=$form->{defaults}{sonumber}></td>
                 <th align=right nowrap>|
                <td><input name=sonumber size=10 value=$form->{defaults}{sonumber}></td>
                 <th align=right nowrap>|
-    . $locale->text('Last Vendor Number')
-    . qq|</th>
+    . $locale->text('Last Vendor Number') . qq|</th>
                <td><input name=vendornumber size=10 value=$form->{defaults}{vendornumber}></td>
              </tr>
              <tr>
                <th align=right nowrap>|
                <td><input name=vendornumber size=10 value=$form->{defaults}{vendornumber}></td>
              </tr>
              <tr>
                <th align=right nowrap>|
-    . $locale->text('Last Purchase Order Number')
-    . qq|</th>
+    . $locale->text('Last Purchase Order Number') . qq|</th>
                <td><input name=ponumber size=10 value=$form->{defaults}{ponumber}></td>
                 <th align=right nowrap>|
                <td><input name=ponumber size=10 value=$form->{defaults}{ponumber}></td>
                 <th align=right nowrap>|
-    . $locale->text('Last Article Number')
-    . qq|</th>
+    . $locale->text('Last Article Number') . qq|</th>
                <td><input name=articlenumber size=10 value=$form->{defaults}{articlenumber}></td>
              </tr>
              <tr>
                <th align=right nowrap>|
                <td><input name=articlenumber size=10 value=$form->{defaults}{articlenumber}></td>
              </tr>
              <tr>
                <th align=right nowrap>|
-    . $locale->text('Last Sales Quotation Number')
-    . qq|</th>
+    . $locale->text('Last Sales Quotation Number') . qq|</th>
                <td><input name=sqnumber size=10 value=$form->{defaults}{sqnumber}></td>
                 <th align=right nowrap>|
                <td><input name=sqnumber size=10 value=$form->{defaults}{sqnumber}></td>
                 <th align=right nowrap>|
-    . $locale->text('Last Service Number')
-    . qq|</th>
+    . $locale->text('Last Service Number') . qq|</th>
                <td><input name=servicenumber size=10 value=$form->{defaults}{servicenumber}></td>
              </tr>
              <tr>
                <td><input name=servicenumber size=10 value=$form->{defaults}{servicenumber}></td>
              </tr>
              <tr>
@@ -1944,8 +1931,7 @@ sub audit_control {
       <table>
        <tr>
          <td>|
       <table>
        <tr>
          <td>|
-    . $locale->text('Enforce transaction reversal for all dates')
-    . qq|</th>
+    . $locale->text('Enforce transaction reversal for all dates') . qq|</th>
          <td><input name=revtrans class=radio type=radio value="1" $checked{Y}> |
     . $locale->text('Yes')
     . qq| <input name=revtrans class=radio type=radio value="0" $checked{N}> |
          <td><input name=revtrans class=radio type=radio value="1" $checked{Y}> |
     . $locale->text('Yes')
     . qq| <input name=revtrans class=radio type=radio value="0" $checked{N}> |
index cea155976c98b9ebda3d1ab9e62d654745e909b7..e88872113808af90cbf6a61d87065bbbb69b9ad2 100644 (file)
@@ -84,8 +84,7 @@ sub login_screen {
   <tr>
     <td class=login align=center><a href="http://www.lx-office.org" target=_top><img src="image/lx-office-erp.png" border=0></a>
 <h1 class=login align=center>|
   <tr>
     <td class=login align=center><a href="http://www.lx-office.org" target=_top><img src="image/lx-office-erp.png" border=0></a>
 <h1 class=login align=center>|
-    . $locale->text('Version')
-    . qq| $form->{version}
+    . $locale->text('Version') . qq| $form->{version}
 </h1>
 
 <p>
 </h1>
 
 <p>
@@ -153,8 +152,13 @@ sub login {
   }
 
   # made it this far, execute the menu
   }
 
   # made it this far, execute the menu
-  $form->{callback} =
-    "menu.pl?login=$form->{login}&password=$form->{password}&path=$form->{path}&action=display";
+  if ($user->{menustyle} eq "neu") {
+    $form->{callback} =
+      "menunew.pl?login=$form->{login}&password=$form->{password}&path=$form->{path}&action=display";
+  } else {
+    $form->{callback} =
+      "menu.pl?login=$form->{login}&password=$form->{password}&path=$form->{path}&action=display";
+  }
 
   $form->redirect;
 
 
   $form->redirect;
 
diff --git a/bin/mozilla/menunew.pl b/bin/mozilla/menunew.pl
new file mode 100644 (file)
index 0000000..9f7d53c
--- /dev/null
@@ -0,0 +1,436 @@
+#=====================================================================
+# LX-Office ERP
+# Copyright (C) 2004
+# Based on SQL-Ledger Version 2.1.9
+# Web http://www.lx-office.org
+#
+######################################################################
+# SQL-Ledger Accounting
+# Copyright (c) 1998-2002
+#
+#  Author: Dieter Simader
+#   Email: dsimader@sql-ledger.org
+#     Web: http://www.sql-ledger.org
+#
+#  Contributors: Christopher Browne
+#
+# 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.
+#######################################################################
+#
+# thre frame layout with refractured menu
+#
+# CHANGE LOG:
+#   DS. 2002-03-25  Created
+#  2004-12-14 - New Optik - Marco Welter <mawe@linux-studio.de>
+#######################################################################
+
+$menufile = "menu.ini";
+use SL::Menu;
+use CGI::Carp qw(fatalsToBrowser);
+
+1;
+
+# end of main
+
+sub display {
+
+  $form->header;
+
+  &clock_line;
+
+  &acc_menu;
+
+  print qq|
+<iframe src="login.pl?login=$form->{login}&password=$form->{password}&action=company_logo&path=$form->{path}" width="100%" height="93%" name="main_window" style="position: absolute; border:0px;">
+<p>Ihr Browser kann leider keine eingebetteten Frames anzeigen.
+</p>
+</iframe>
+</body>
+</html>
+
+|;
+
+}
+
+sub clock_line {
+
+  $login = "["
+    . $form->{login}
+    . " - <a href=\"login.pl?path="
+    . $form->{"path"}
+    . "&password="
+    . $form->{"password"}
+    . "&action=logout\" target=\"_top\">"
+    . $locale->text('Logout')
+    . "</a>] ";
+  my ($Sekunden, $Minuten,   $Stunden,   $Monatstag, $Monat,
+      $Jahr,     $Wochentag, $Jahrestag, $Sommerzeit)
+    = localtime(time);
+  my $CTIME_String = localtime(time);
+  $Monat     += 1;
+  $Jahrestag += 1;
+  $Monat     = $Monat < 10     ? $Monat     = "0" . $Monat     : $Monat;
+  $Monatstag = $Monatstag < 10 ? $Monatstag = "0" . $Monatstag : $Monatstag;
+  $Jahr += 1900;
+  my @Wochentage = ("Sonntag",    "Montag",  "Dienstag", "Mittwoch",
+                    "Donnerstag", "Freitag", "Samstag");
+  my @Monatsnamen = ("",       "Januar",    "Februar", "M&auml;rz",
+                     "April",  "Mai",       "Juni",    "Juli",
+                     "August", "September", "Oktober", "November",
+                     "Dezember");
+  $datum =
+      $Wochentage[$Wochentag] . ", der "
+    . $Monatstag . "."
+    . $Monat . "."
+    . $Jahr . " - ";
+
+  #$zeit="<div id='Uhr'>".$Stunden.":".$Minuten.":".$Sekunden."</div>";
+  $zeit = "<div id='Uhr'>" . $Stunden . ":" . $Minuten . "</div>";
+  print qq|
+<script type="text/javascript">
+<!--
+var clockid=new Array()
+var clockidoutside=new Array()
+var i_clock=-1
+var thistime= new Date()
+var hours= | . $Stunden . qq|;
+var minutes= | . $Minuten . qq|;
+var seconds= | . $Sekunden . qq|;
+if (eval(hours) <10) {hours="0"+hours}
+if (eval(minutes) < 10) {minutes="0"+minutes}
+if (seconds < 10) {seconds="0"+seconds}
+//var thistime = hours+":"+minutes+":"+seconds
+var thistime = hours+":"+minutes
+
+function writeclock() {
+       i_clock++
+       if (document.all \|\| document.getElementById \|\| document.layers) {
+               clockid[i_clock]="clock"+i_clock
+               document.write("<font family=arial size=2><span id='"+clockid[i_clock]+"' style='position:relative'>"+thistime+"</span></font>")
+       }
+}
+
+function clockon() {
+       thistime= new Date()
+       hours=thistime.getHours()
+       minutes=thistime.getMinutes()
+       seconds=thistime.getSeconds()
+       if (eval(hours) <10) {hours="0"+hours}
+       if (eval(minutes) < 10) {minutes="0"+minutes}
+       if (seconds < 10) {seconds="0"+seconds}
+       //thistime = hours+":"+minutes+":"+seconds
+       thistime = hours+":"+minutes
+
+       if (document.all) {
+               for (i=0;i<=clockid.length-1;i++) {
+                       var thisclock=eval(clockid[i])
+                       thisclock.innerHTML=thistime
+               }
+       }
+
+       if (document.getElementById) {
+               for (i=0;i<=clockid.length-1;i++) {
+                       document.getElementById(clockid[i]).innerHTML=thistime
+               }
+       }
+       var timer=setTimeout("clockon()",60000)
+}
+//window.onload=clockon
+//-->
+</script>
+<table border="0" width="100%" background="image/bg_titel.gif" cellpadding="0" cellspacing="0">
+       <tr>
+               <td align="right" style="vertical-align:middle; color:white; font-family:verdana,arial,sans-serif; font-size: 12px;" nowrap>|
+    . $login
+    . $datum
+    . qq| <script>writeclock()</script>&nbsp;
+               </td>
+       </tr>
+</table>
+|;
+}
+
+sub acc_menu {
+  $mainlevel = $form->{level};
+  $mainlevel =~ s/$mainlevel--//g;
+  my $menu = new Menu "$menufile";
+  $menu = new Menu "custom_$menufile" if (-f "custom_$menufile");
+  $menu = new Menu "$form->{login}_$menufile"
+    if (-f "$form->{login}_$menufile");
+
+  $| = 1;
+
+  print qq|
+<script type="text/javascript">
+<!--
+var isDOM = (document.getElementById ? true : false); 
+var isIE4 = ((document.all && !isDOM) ? true : false);
+var isNS4 = (document.layers ? true : false);
+function getRef(id) {
+       if (isDOM) return document.getElementById(id);
+       if (isIE4) return document.all[id];
+       if (isNS4) return document.layers[id];
+}
+function getSty(id) {
+       return (isNS4 ? getRef(id) : getRef(id).style);
+} 
+var popTimer = 0;
+var litNow = new Array();
+function popOver(menuNum, itemNum) {
+       clearTimeout(popTimer);
+       hideAllBut(menuNum);
+       litNow = getTree(menuNum, itemNum);
+       changeCol(litNow, true);
+       targetNum = menu[menuNum][itemNum].target;
+       if (targetNum > 0) {
+               thisX = parseInt(menu[menuNum][0].ref.left) + parseInt(menu[menuNum][itemNum].ref.left);
+               thisY = parseInt(menu[menuNum][0].ref.top) + parseInt(menu[menuNum][itemNum].ref.top);
+               with (menu[targetNum][0].ref) {
+                       left = parseInt(thisX + menu[targetNum][0].x);
+                       top = parseInt(thisY + menu[targetNum][0].y);
+                       visibility = 'visible';
+               }
+       }
+}
+function popOut(menuNum, itemNum) {
+       if ((menuNum == 0) && !menu[menuNum][itemNum].target)
+               hideAllBut(0)
+       else
+               popTimer = setTimeout('hideAllBut(0)', 500);
+}
+function getTree(menuNum, itemNum) {
+       itemArray = new Array(menu.length);
+       while(1) {
+               itemArray[menuNum] = itemNum;
+               if (menuNum == 0) return itemArray;
+               itemNum = menu[menuNum][0].parentItem;
+               menuNum = menu[menuNum][0].parentMenu;
+       }
+}
+function changeCol(changeArray, isOver) {
+       for (menuCount = 0; menuCount < changeArray.length; menuCount++) {
+               if (changeArray[menuCount]) {
+                       newCol = isOver ? menu[menuCount][0].overCol : menu[menuCount][0].backCol;
+                       with (menu[menuCount][changeArray[menuCount]].ref) {
+                               if (isNS4) bgColor = newCol;
+                               else backgroundColor = newCol;
+                       }
+               }
+       }
+}
+function hideAllBut(menuNum) {
+       var keepMenus = getTree(menuNum, 1);
+       for (count = 0; count < menu.length; count++)
+               if (!keepMenus[count])
+                       menu[count][0].ref.visibility = 'hidden';
+       changeCol(litNow, false);
+}
+function Menu(isVert, popInd, x, y, width, overCol, backCol, borderClass, textClass) {
+       this.isVert = isVert;
+       this.popInd = popInd
+       this.x = x;
+       this.y = y;
+       this.width = width;
+       this.overCol = overCol;
+       this.backCol = backCol;
+       this.borderClass = borderClass;
+       this.textClass = textClass;
+       this.parentMenu = null;
+       this.parentItem = null;
+       this.ref = null;
+}
+function Item(text, href, frame, length, spacing, target) {
+       this.text = text;
+       this.href = href;
+       this.frame = frame;
+       this.length = length;
+       this.spacing = spacing;
+       this.target = target;
+       this.ref = null;
+}
+function writeMenus() {
+       if (!isDOM && !isIE4 && !isNS4) return;
+       for (currMenu = 0; currMenu < menu.length; currMenu++) with (menu[currMenu][0]) {
+               var str = '', itemX = 0, itemY = 0;
+               for (currItem = 1; currItem < menu[currMenu].length; currItem++) with (menu[currMenu][currItem]) {
+                       var itemID = 'menu' + currMenu + 'item' + currItem;
+                       var w = (isVert ? width : length);
+                       var h = (isVert ? length : width);
+                       if (isDOM \|\| isIE4) {
+                               str += '<div id="' + itemID + '" style="position: absolute; left: ' + itemX + '; top: ' + itemY + '; width: ' + w + '; height: ' + h + '; visibility: inherit; ';
+                               if (backCol) str += 'background: ' + backCol + '; ';
+                               str += '" ';
+                       }
+                       if (isNS4) {
+                               str += '<layer id="' + itemID + '" left="' + itemX + '" top="' + itemY + '" width="' +  w + '" height="' + h + '" visibility="inherit" ';
+                               if (backCol) str += 'bgcolor="' + backCol + '" ';
+                       }
+                       if (borderClass) str += 'class="' + borderClass + '" ';
+                       str += 'onMouseOver="popOver(' + currMenu + ',' + currItem + ')" onMouseOut="popOut(' + currMenu + ',' + currItem + ')">';
+                       str += '<table width="' + (w - 8) + '" border="0" cellspacing="0" cellpadding="' + (!isNS4 && borderClass ? 3 : 0) + '"><tr><td align="left" height="' + (h - 7) + '">' + '<a class="' + textClass + '" href="' + href + '"' + (frame ? ' target="' + frame + '">' : '>') + text + '</a></td>';
+                       if (target > 0) {
+                               menu[target][0].parentMenu = currMenu;
+                               menu[target][0].parentItem = currItem;
+                               if (popInd) str += '<td class="' + textClass + '" align="right">' + popInd + '</td>';
+                       }
+                       str += '</tr></table>' + (isNS4 ? '</layer>' : '</div>');
+                       if (isVert) itemY += length + spacing;
+                       else itemX += length + spacing;
+               }
+               if (isDOM) {
+                       var newDiv = document.createElement('div');
+                       document.getElementsByTagName('body').item(0).appendChild(newDiv);
+                       newDiv.innerHTML = str;
+                       ref = newDiv.style;
+                       ref.position = 'absolute';
+                       ref.visibility = 'hidden';
+               }
+               if (isIE4) {
+                       document.body.insertAdjacentHTML('beforeEnd', '<div id="menu' + currMenu + 'div" ' + 'style="position: absolute; visibility: hidden">' + str + '</div>');
+                       ref = getSty('menu' + currMenu + 'div');
+               }
+               if (isNS4) {
+                       ref = new Layer(0);
+                       ref.document.write(str);
+                       ref.document.close();
+               }
+               for (currItem = 1; currItem < menu[currMenu].length; currItem++) {
+                       itemName = 'menu' + currMenu + 'item' + currItem;
+                       if (isDOM \|\| isIE4) menu[currMenu][currItem].ref = getSty(itemName);
+                       if (isNS4) menu[currMenu][currItem].ref = ref.document[itemName];
+               }
+       }
+       with(menu[0][0]) {
+               ref.left = x;
+               ref.top = y;
+               ref.visibility = 'visible';
+   }
+}
+var menu = new Array();
+var defOver = '#AAAAFF', defBack = '#8888DD';
+var defLength = 22;
+menu[0] = new Array();
+menu[0][0] = new Menu(false, '', 5, 18, 19, '#AAAAFF', '#AAAAFF', '', 'itemText');
+
+|;
+
+  #
+  &section_menu($menu);
+
+  print qq|
+var popOldWidth = window.innerWidth;
+nsResizeHandler = new Function('if (popOldWidth != window.innerWidth) location.reload()');
+if (isNS4) document.captureEvents(Event.CLICK);
+document.onclick = clickHandle;
+function clickHandle(evt) {
+       if (isNS4) document.routeEvent(evt);
+       hideAllBut(0);
+}
+function moveRoot() {
+       with(menu[0][0].ref) left = ((parseInt(left) < 100) ? 100 : 5);
+}
+//  End -->
+</script>
+<style>
+<!--
+
+.itemBorder { border: 1px solid black }
+.itemText { text-decoration: none; color: #FFFFFF; font: 12px Arial, Helvetica }
+
+-->
+</style>
+
+<!--body bgcolor="#AAAAff" text="#ffffff" link="#ffffff" vlink="#ffffff" alink="#ffffff" topmargin="0" leftmargin="0"  marginwidth="0" marginheight="0"-->
+<BODY scrolling="no" topmargin="0" leftmargin="0"  marginwidth="0" marginheight="0" style="margin: 0" onLoad="writeMenus(); clockon();" onResize="if (isNS4) nsResizeHandler()">
+<!--BODY marginwidth="0" marginheight="0" style="margin: 0" onLoad="writeMenus()" onResize="if (isNS4) nsResizeHandler()"-->
+
+
+<table bgcolor="#AAAAFF" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr><td height="21"><font size="1"> </font></td></tr></table>
+
+|;
+
+  print qq|
+  
+|;
+
+}
+
+sub section_menu {
+  my ($menu, $level) = @_;
+
+  # build tiered menus
+  my @menuorder = $menu->access_control(\%myconfig, $level);
+  $main = 0;
+
+  #$pm=0;
+  while (@menuorder) {
+    $item  = shift @menuorder;
+    $label = $item;
+    $ml    = $item;
+    $label =~ s/$level--//g;
+    $ml    =~ s/--.*//;
+    $label = $locale->text($label);
+    $label =~ s/ /&nbsp;/g;
+    $menu->{$item}{target} = "main_window" unless $menu->{$item}{target};
+
+    if ($menu->{$item}{submenu}) {
+      $menu->{$item}{$item} = !$form->{$item};
+
+      # Untermenü
+      if ($mlz{"s$ml"} > 1) { $z = $mlz{"s$ml"}++; $sm = 1; }
+      else { $z = $sm; $mlz{"s$ml"}++; }
+      print
+        qq|menu[$mlz{$ml}][$z] = new Item('$label', '#', '', defLength, 0, |
+        . ++$pm
+        . qq|);\n|;
+      $sm = 1;
+      print qq|menu[$pm] = new Array();\n|;
+      print
+        qq|menu[$pm][0] = new Menu(true, '', 85, 0, 140, defOver, defBack, 'itemBorder', 'itemText');\n|;
+      map { shift @menuorder } grep /^$item/, @menuorder;
+      &section_menu($menu, $item);
+      map { shift @menuorder } grep /^$item/, @menuorder;
+    } else {
+      if ($menu->{$item}{module}) {
+
+        #Untermenüpunkte
+        $target = $menu->{$item}{target};
+        $uri    = $menu->menuitemNew(\%myconfig, \%$form, $item, $level);
+
+        #print qq|<tr><td class="hover" height="13" >$spacer<img src="image/unterpunkt.png"  style="vertical-align:text-top">|.$menu->menuitem(\%myconfig, \%$form, $item, $level).qq|$label</a></td></tr>\n|;
+        print
+          qq|menu[$pm][$sm] = new Item('$label', '$uri', '$target', defLength, 0, 0);\n|;
+        $sm++;
+      } else {    # Hauptmenu
+        my $ml_ = $form->escape($ml);
+        $mm++;
+        $pm++;
+        %mlz   = ($ml, $pm, "s$ml", 1);
+        $sm    = 1;
+        $breit = 20 + length($label) * 5;
+        print
+          qq|menu[0][$mm] = new Item('  $label', '#', '', $breit, 10, $pm);    \n|;
+        print qq|menu[$pm] = new Array();\n|;
+        print
+          qq|menu[$pm][0] = new Menu(true, '>', 0, 22, 160, defOver, defBack, 'itemBorder', 'itemText');\n|;
+
+        #print qq|<tr><td class="bg" height="22" align="left" valign="middle" ><img src="image/$item.png" style="vertical-align:middle">&nbsp;<a href="menu.pl?path=bin/mozilla&action=acc_menu&level=$ml_&login=$form->{login}&password=$form->{password}" class="nohover">$label</a>&nbsp;&nbsp;&nbsp;&nbsp;</td></tr>\n|;
+        &section_menu($menu, $item);
+
+        #print qq|<br>\n|;
+      }
+    }
+  }
+}
index 756192e0e8c5e1428cfe9e55f19edfa58169ac45..c3b25cc21eb5464b7a038110498ae1d46e7290bb 100644 (file)
@@ -297,7 +297,6 @@ $self{texts} = {
   'Edit Warehouse'              => 'Lager bearbeiten',
   'Employee'                    => 'Bearbeiter',
   'Enforce transaction reversal for all dates' => 'Gegenbuchungen für jeden Zeitraum aktualisieren',
   'Edit Warehouse'              => 'Lager bearbeiten',
   'Employee'                    => 'Bearbeiter',
   'Enforce transaction reversal for all dates' => 'Gegenbuchungen für jeden Zeitraum aktualisieren',
-  'Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies' => 'Durch Doppelpunkte getrennte Währungskürzel mit maximal 3 Buchstaben aufführen; Ihre eigene LandesWährung zuerst (z.B. EUR:USD:CAD)',
   'Equity'                      => 'Passiva',
   'Exch'                        => 'Wechselkurs.',
   'Exchangerate'                => 'Wechselkurs',
   'Equity'                      => 'Passiva',
   'Exch'                        => 'Wechselkurs.',
   'Exchangerate'                => 'Wechselkurs',
@@ -634,6 +633,7 @@ $self{texts} = {
   'Service Items'               => 'Dienstleistungen',
   'Service Number missing!'     => 'Dienstleistungsnummer fehlt!',
   'Services'                    => 'Dienstleistungen',
   'Service Items'               => 'Dienstleistungen',
   'Service Number missing!'     => 'Dienstleistungsnummer fehlt!',
   'Services'                    => 'Dienstleistungen',
+  'Setup Menu'                  => '',
   'Setup Templates'             => 'Vorlagen auswählen',
   'Ship'                        => 'Lagerausgang',
   'Ship Merchandise'            => 'Waren versenden',
   'Setup Templates'             => 'Vorlagen auswählen',
   'Ship'                        => 'Lagerausgang',
   'Ship Merchandise'            => 'Waren versenden',
index 82d698b971f111bf9bec7f1aea51c1a2dbbb71fa..0af03053a7e595ea1c56f87e5af355e55ca9087b 100644 (file)
@@ -64,7 +64,6 @@ $self{texts} = {
   'Edit Template'               => 'Vorlage bearbeiten',
   'Edit Warehouse'              => 'Lager bearbeiten',
   'Enforce transaction reversal for all dates' => 'Gegenbuchungen für jeden Zeitraum aktualisieren',
   'Edit Template'               => 'Vorlage bearbeiten',
   'Edit Warehouse'              => 'Lager bearbeiten',
   'Enforce transaction reversal for all dates' => 'Gegenbuchungen für jeden Zeitraum aktualisieren',
-  'Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies' => 'Durch Doppelpunkte getrennte Währungskürzel mit maximal 3 Buchstaben aufführen; Ihre eigene LandesWährung zuerst (z.B. EUR:USD:CAD)',
   'Equity'                      => 'Passiva',
   'Expense'                     => 'Aufwandskonto',
   'Expense Account'             => 'Aufwandskonto',
   'Equity'                      => 'Passiva',
   'Expense'                     => 'Aufwandskonto',
   'Expense Account'             => 'Aufwandskonto',
@@ -117,6 +116,7 @@ $self{texts} = {
   'Salesman'                    => 'Vertreter',
   'Save'                        => 'Speichern',
   'Service Items'               => 'Dienstleistungen',
   'Salesman'                    => 'Vertreter',
   'Save'                        => 'Speichern',
   'Service Items'               => 'Dienstleistungen',
+  'Setup Menu'                  => 'Setup Menu',
   'Signature'                   => 'Unterschrift',
   'Standard Industrial Codes'   => 'SIC',
   'Steuersatz'                  => 'Steuersatz',
   'Signature'                   => 'Unterschrift',
   'Standard Industrial Codes'   => 'SIC',
   'Steuersatz'                  => 'Steuersatz',
index 8981e5aeb0272175dce3d69d250794430361808f..0d251c03dacd9819bb9eb6b6c514227c3b7b9881 100755 (executable)
@@ -62,7 +62,13 @@ foreach $file (@progfiles) {
       &scanmenu("$basedir/$item");
     }
   }
       &scanmenu("$basedir/$item");
     }
   }
-  
+
+  if ($file eq 'menunew.pl') {
+    foreach $item (@menufiles) {
+      &scanmenu("$basedir/$item");
+    }
+  }
+
   $file =~ s/\.pl//;
 
 
   $file =~ s/\.pl//;
 
 
index 39ebcd6daeab6ab28af99fa68fa7b6855527c062..7046180225f65f3ed98d6086af2b8b426df1e5fc 100755 (executable)
@@ -3,7 +3,7 @@
 # Erstellt die benotigten Symlinks
 
 ln -vsf login.pl admin.pl
 # Erstellt die benotigten Symlinks
 
 ln -vsf login.pl admin.pl
-for i in ap ar bp ca cp ct gl ic ir is menu oe pe rc rp datev licenses fa ustva; do
+for i in ap ar bp ca cp ct gl ic ir is menu oe pe rc rp datev licenses fa ustva menunew; do
   ln -vsf am.pl $i.pl
 done
 
   ln -vsf am.pl $i.pl
 done