Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision f559ec45

Von Holger Will vor etwa 17 Jahren hinzugefügt

  • ID f559ec45ea2fc09c361ef7e4a40a59b1f2133737
  • Vorgänger 79d30e2e
  • Nachfolger 83cc6a5b

XML basiertes Menue, siehe Bug #771

Unterschiede anzeigen:

SL/Menu.pm
164 164
  return $str;
165 165
}
166 166

  
167
sub menuitem_XML {
168
  $main::lxdebug->enter_sub();
169

  
170
  my ($self, $myconfig, $form, $item, $other) = @_;
171

  
172
  my $module = $form->{script};
173
  my $action = "section_menu";
174
  my $target = "";
175

  
176
  if ($self->{$item}{module}) {
177
    $module = $self->{$item}{module};
178
  }
179
  if ($self->{$item}{action}) {
180
    $action = $self->{$item}{action};
181
  }
182
  if ($self->{$item}{target}) {
183
    $target = $self->{$item}{target};
184
  }
185

  
186
  my $level = $form->escape($item);
187

  
188
  my $str = qq| link="$module?action=| . $form->escape($action) .
189
    qq|&level=| . $form->escape($level);
190
  map({ $str .= "&${_}=" . $form->escape($form->{$_}); } qw(login password));
191

  
192
  my @vars = qw(module action target href);
193

  
194
  if ($self->{$item}{href}) {
195
    $str  = qq| link=$self->{$item}{href}|;
196
    @vars = qw(module target href);
197
  }
198

  
199
  map { delete $self->{$item}{$_} } @vars;
200

  
201
  # add other params
202
  foreach my $key (keys %{ $self->{$item} }) {
203
    $str .= "&" . $form->escape($key, 1) . "=";
204
    ($value, $conf) = split(/=/, $self->{$item}{$key}, 2);
205
    $value = $myconfig->{$value} . "/$conf" if ($conf);
206
    $str .= $form->escape($value, 1);
207
  }
208

  
209
  $str .= '"';
210

  
211

  
212

  
213
  if ($other) {
214
    foreach my $key (keys(%{$other})) {
215
      $str .= qq| ${key}="| . $form->quote($other->{$key}) . qq|"|;
216
    }
217
  }
218

  
219

  
220
  $main::lxdebug->leave_sub();
221

  
222
  return $str;
223
}
224

  
167 225
sub menuitemNew {
168 226
  my ($self, $myconfig, $form, $item) = @_;
169 227

  
SL/User.pm
224 224
      my $menufile =
225 225
        $self->{"menustyle"} eq "v3" ? "menuv3.pl" :
226 226
        $self->{"menustyle"} eq "neu" ? "menunew.pl" :
227
        $self->{"menustyle"} eq "xml" ? "menuXML.pl" :
227 228
        "menu.pl";
228 229

  
229 230
      print($form->parse_html_template2("dbupgrade/footer",
......
1106 1107
    printer role sid signature stylesheet tel templates vclimit angebote
1107 1108
    bestellungen rechnungen anfragen lieferantenbestellungen einkaufsrechnungen
1108 1109
    taxnumber co_ustid duns menustyle template_format default_media
1109
    default_printer_id copies show_form_details);
1110
    default_printer_id copies show_form_details favorites);
1110 1111

  
1111 1112
  $main::lxdebug->leave_sub();
1112 1113

  
bin/mozilla/login.pl
156 156
  } elsif ($user->{menustyle} eq "neu") {
157 157
    $form->{callback} =
158 158
      "menunew.pl?login=$form->{login}&password=$form->{password}&action=display";
159
  } elsif ($user->{menustyle} eq "xml") {
160
    $form->{callback} =
161
      "menuXML.pl?login=$form->{login}&password=$form->{password}&action=display";
159 162
  } else {
160 163
    $form->{callback} =
161 164
      "menu.pl?login=$form->{login}&password=$form->{password}&action=display";
bin/mozilla/menuXML.pl
1
#=====================================================================
2
# LX-Office ERP
3
# Copyright (C) 2004
4
# Based on SQL-Ledger Version 2.1.9
5
# Web http://www.lx-office.org
6
#
7
######################################################################
8
# SQL-Ledger Accounting
9
# Copyright (c) 1998-2002
10
#
11
#  Author: Dieter Simader
12
#   Email: dsimader@sql-ledger.org
13
#     Web: http://www.sql-ledger.org
14
#
15
#  Contributors: Christopher Browne
16
#
17
# This program is free software; you can redistribute it and/or modify
18
# it under the terms of the GNU General Public License as published by
19
# the Free Software Foundation; either version 2 of the License, or
20
# (at your option) any later version.
21
#
22
# This program is distributed in the hope that it will be useful,
23
# but WITHOUT ANY WARRANTY; without even the implied warranty of
24
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25
# GNU General Public License for more details.
26
# You should have received a copy of the GNU General Public License
27
# along with this program; if not, write to the Free Software
28
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
29
#######################################################################
30
#
31
# three frame layout with refractured menu
32
#
33
# CHANGE LOG:
34
#   DS. 2002-03-25  Created
35
#  2004-12-14 - New Optik - Marco Welter <mawe@linux-studio.de>
36
#  2007-10-14 - XMLified  - Holger Will  <holger@treebuilder.de>
37
#######################################################################
38

  
39
$menufile = "menu.ini";
40
use SL::Menu;
41

  
42
use CGI::Carp qw(fatalsToBrowser);
43
use Encode;
44
1;
45

  
46
# end of main
47

  
48
sub display {
49
  print "Content-type: text/xml; charset=iso-8859-1\n\n";
50
  print qq|<?xml version="1.0" encoding="iso-8859-1"?>\n|;
51
  print qq|<?xml-stylesheet href="xslt/xulmenu.xsl" type="text/xsl"?>\n|;
52
  print qq|<!DOCTYPE doc [
53
<!ENTITY szlig "?">
54
]>|;
55
  print qq|<doc>|;
56
  print qq|<login>|;
57
  print $form->{login};
58
  print qq|</login>|;
59
  print qq|<password>|;
60
  print $form->{password};
61
  print qq|</password>|;
62
  print qq|<name>|;
63
  print %myconfig->{name};
64
  print qq|</name>|;
65
  print qq|<db>|;
66
  print %myconfig->{dbname};
67
  print qq|</db>|;
68
  print qq|<favorites>|;
69
  my $fav=%myconfig->{favorites};
70
  my @favorites = split(/;/, $fav);
71
  foreach (@favorites) {
72
    print qq|<link name="$_"/>|;
73
  }
74
  print qq|</favorites>|;
75
  print qq|<menu>|;
76
my $isoencodedmenu=&acc_menu($menu);
77
 print encode("iso-8859-1",$isoencodedmenu );
78

  
79
  print qq|</menu>|;
80
  print qq|</doc>|;
81
  
82
}
83

  
84

  
85
sub acc_menu {
86
  $locale = Locale->new($language, "menu");
87

  
88
  $mainlevel = $form->{level};
89
  $mainlevel =~ s/$mainlevel--//g;
90
  my $menu = new Menu "$menufile";
91

  
92
  $| = 1;
93

  
94
  return print_menu($menu);
95
}
96

  
97
sub print_menu {
98
  my ($menu, $parent, $depth) = @_;
99
  my $html;
100

  
101
  die if ($depth * 1 > 5);
102

  
103
  my @menuorder;
104

  
105
  @menuorder = $menu->access_control(\%myconfig, $parent);
106

  
107
  $parent .= "--" if ($parent);
108

  
109
  foreach my $item (@menuorder) {
110
    my $menu_item_id = $item;
111
    substr($item, 0, length($parent)) = "";
112
    next if (($item eq "") || ($item =~ /--/));
113

  
114
    my $menu_item = $menu->{"${parent}${item}"};
115
    my $menu_title = $locale->text($item);
116
    my $menu_text = $menu_title;
117

  
118
    my $target = "main_window";
119
    $target = $menu_item->{"target"} if ($menu_item->{"target"});
120

  
121
    if ($menu_item->{"submenu"} || !defined($menu_item->{"module"}) ||
122
        ($menu_item->{"module"} eq "menu.pl")) {
123

  
124
      my $h = print_menu($menu, "${parent}${item}", $depth * 1 + 1)."\n";
125
      if (!$parent) {
126
        $html .= qq|<item name='${menu_text}' id='${menu_item_id}'>${h}</item>\n|;
127
      } else {
128
        $html .= qq|<item name='${menu_text}' id='${menu_item_id}'>${h}</item>\n|;
129
      }
130
    } else {
131
      $html .= qq|<item |;
132
      $html .= $menu->menuitem_XML(\%myconfig, $form, "${parent}$item",
133
                                  { "title" => $menu_title,
134
                                    "target" => $target });
135
      $html .= qq| name="${menu_text}" id='${menu_item_id}'/>\n|;
136
    }
137
  }
138

  
139
  return $html;
140
}
locale/de/menuXML
1
$self->{texts} = {
2
};
3

  
4
$self->{subs} = {
5
  'acc_menu'                    => 'acc_menu',
6
  'clock_line'                  => 'clock_line',
7
  'display'                     => 'display',
8
  'print_menu'                  => 'print_menu',
9
};
10

  
11
1;
menuXML.pl
1
am.pl
templates/webpages/am/config_de.html
106 106
      <label for="menustyle_neu">Oben (mit Javascript)</label>
107 107
      <input name="menustyle" id="menustyle_old" type="radio" class="radio" value="old" [% IF menustyle_old %]checked[% END %]>&nbsp;
108 108
      <label for="menustyle_old">Alt (seitlich)</label>
109
      <input name="menustyle" id="menustyle_xml" type="radio" class="radio" value="xml" [% IF menustyle_xml %]checked[% END %]>&nbsp;
110
      <label for="menustyle_xml">XML (XUL,...)</label>
109 111
     </td>
110 112
    </tr>
111 113

  
114
    <tr valign="top">
115
     <th align="right">Favoriten</th>
116
     <td><textarea name="favorites" rows="4" cols="50">[% HTML.escape(myconfig_favorites) %]</textarea></td>
117
    </tr>
118

  
112 119
    <tr>
113 120
     <th align="right">Formulardetails (zweite Positionszeile)</th>
114 121
     <td>
xslt/style1.css
1
treechildren::-moz-tree-row(hover){background-color:#eef !important;}
2
tree{-moz-appearance: none !important;border:0px solid black !important;padding-top:2px;background: white}
3
treechildren::-moz-tree-column{background: white}
4

  
5
toolbar{-moz-appearance: none !important;background:lavender !important;border-bottom:1px solid black;border-top:1px solid black;}
6
menubar{-moz-appearance: none !important;background:darkblue !important;border:0px}
7
splitter{-moz-appearance: none !important;background:lavender !important;border:0px solid black !important}
8
iframe{border-left:1px solid black !important}
9
#sidebar{background:grey;max-width:450px;width:150px;font-family:arial;font-size:12px;margin:0px;border-right:1px solid black}
10
menubar menu{-moz-appearance: none !important;color:white !important;}
11
menubar menu:hover{-moz-appearance: none;background:lightblue !important}
12
menu menu{-moz-appearance: none !important;color:black !important;}
13
menu menu:hover{-moz-appearance: none;background:lightgrey !important}
14
toolbarbutton{padding:5px !important;margin:2px !important}
xslt/xulmenu.xsl
1
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
2
    xmlns:html="http://www.w3.org/1999/xhtml" 
3
    xmlns:svg="http://www.w3.org/2000/svg"
4
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
5

  
6
<xsl:template match="/">
7
  <xsl:apply-templates/>
8
</xsl:template>
9

  
10
<!-- main document structure -->
11
<!-- ******************************************************************* -->
12
<xsl:template match="doc">
13
<xsl:processing-instruction
14
name="xml-stylesheet">href="xslt/style1.css" type="text/css"</xsl:processing-instruction>
15
  <window>
16
    <html:title>
17
      LX-Office Version <xsl:value-of select='/doc/version'/> 
18
      - <xsl:value-of select='/doc/name'/> 
19
      - <xsl:value-of select='/doc/db'/>
20
    </html:title>
21
   <!-- <xsl:call-template name="style"/>-->
22
    <xsl:call-template name="script"/>
23
    <toolbox>
24
      <xsl:apply-templates select="menu"/>
25
      <xsl:apply-templates select="favorites"/>
26
    </toolbox>
27
    <hbox flex="1">
28
      <vbox id="sidebar" style="overflow:hidden">
29

  
30
        <xsl:apply-templates mode="tree"/>
31

  
32
        <xsl:call-template name="ArtikelSuche"/>
33
        <!--<iframe src="xslt/trans.xml" flex="1" id="uhr"/>-->
34
      </vbox>
35
      <splitter/>
36
          <html:iframe id="main_window" src="{/*//item[@id='Programm--Version']/@link}" flex="1" style="border:0px"/>
37
    </hbox>
38
  </window>
39
</xsl:template>
40
<!-- ******************************************************************* -->
41

  
42

  
43
<!-- the top menu -->
44
<!-- ******************************************************************* -->
45
<xsl:template match="menu">
46
<!--<div style="background:grey">-->
47
  <menubar id="sample-menubar">
48
    <xsl:apply-templates/>
49
  </menubar>
50
<!--</div>-->
51
</xsl:template>
52
<!-- ******************************************************************* -->
53

  
54

  
55
<!-- favorites toolbar -->
56
<!-- ******************************************************************* -->
57
<xsl:template match="favorites">
58
  <toolbar id="favoriten" >
59
    <xsl:call-template name="specialbuttons"/>
60
    <toolbarseparator/>
61
    <xsl:for-each select="link">
62
      <xsl:variable name="name" select="@name"/>
63
      <xsl:choose>
64
        <xsl:when test="/*//item[@id=$name]/item">
65
          <toolbarbutton type="menu" label="{$name}" tooltiptext="A simple popup" link="{/*//item[@id=$name]/@link}" oncommand="openLink(event)">
66
            <image src="image/icons/24x24/{/*//item[@id=$name]/@id}.png" width="24" height="24" />
67
            <menupopup id="file-popup">
68
              <xsl:apply-templates select="/*//item[@id=$name]/*"/>
69
            </menupopup>
70
          </toolbarbutton>
71
        </xsl:when>
72
        <xsl:otherwise>
73
          <toolbarbutton label="{$name}" tooltiptext="A simple popup" link="{/*//item[@id=$name]/@link}" oncommand="openLink(event)" lxid="{/*//item[@id=$name]/@id}">
74
            <image src="image/icons/24x24/{/*//item[@id=$name]/@id}.png" width="24" height="24" />
75
          </toolbarbutton>
76
        </xsl:otherwise>
77
      </xsl:choose>
78
    </xsl:for-each>
79
    <toolbarspring flex="1"/>
80
    <xsl:call-template name="searchbox"/>
81

  
82
  </toolbar>
83
</xsl:template>
84
<!-- ******************************************************************* -->
85

  
86

  
87
<!-- template for the top menu items
88
*********************************************************************************  -->
89
<xsl:template match="item">
90
  <xsl:choose>
91
    <xsl:when test="item">
92
        <menu id="{@name}_menu" label="{@name}" class="menu-iconic" image="image/icons/16x16/{@id}.png">
93
          <menupopup id="file-popup">
94
    <xsl:apply-templates/>
95
          </menupopup>
96
        </menu>
97
    </xsl:when>
98
    <xsl:otherwise>
99
    <menuitem target="{@target}" link="{@link}" label="{@name}" oncommand="openLink(event)" class="menuitem-iconic" image="image/icons/16x16/{@id}.png" lxid="{@id}" onclick="openLinkNewTab(event)"/>
100
    </xsl:otherwise>
101
  </xsl:choose>
102
</xsl:template>
103
<!-- ***************************************************************************  -->
104

  
105

  
106
<!-- templates for the treeview 
107
**********************************************************************************   -->
108
<xsl:template match="menu" mode="tree">
109
<toolbar>
110
<label value="Hauptmenue"/>
111
</toolbar>
112
  <tree flex="1" onselect="openTreeLink(event)" style="margin:0px;" hidecolumnpicker="true">
113
    <treecols>
114
        <treecol hideheader="true" id="menuepunkt"  primary="true" flex="1" />
115
    </treecols>
116
    <treechildren>
117
      <xsl:apply-templates mode="tree"/>
118
    </treechildren>
119
  </tree>
120
</xsl:template>
121

  
122
<xsl:template match="item" mode="tree">
123
  <xsl:choose>
124
    <xsl:when test="item">
125
        <treeitem container="true" open="false">
126
          <treerow>
127
            <treecell label="{@name}" src="image/icons/16x16/{@id}.png"/>
128
          </treerow>
129
          <treechildren>
130
            <xsl:apply-templates mode="tree"/>
131
          </treechildren>
132
        </treeitem>
133
    </xsl:when>
134
    <xsl:otherwise>
135
    <treeitem link="{@link}">
136
      <treerow>
137
        <treecell label="{@name}" src="image/icons/16x16/{@id}.png"/>
138
      </treerow>
139
    </treeitem>
140
    </xsl:otherwise>
141
  </xsl:choose>
142
</xsl:template>
143
<!-- ***************************************************************************  -->
144

  
145

  
146
<!-- template f?r die uhr
147
********************************************************************************  -->
148
<xsl:template name="uhr">
149

  
150
</xsl:template>
151
<!-- ***************************************************************************  -->
152

  
153

  
154
<!-- scripts 
155
********************************************************************************  -->
156
<xsl:template name="script">
157
  <html:script type="text/ecmascript">
158
  
159
  function openLink(event)
160
    {
161
    var path=event.target.getAttribute("link")
162
    if(event.target.getAttribute("target")=="_top")
163
      {
164
        window.location=path
165
      }
166
      else
167
      {
168
        var bf=document.getElementsByTagName("iframe").item(0)
169
        bf.setAttribute("src",path)
170
      }
171
    }
172
    
173
  function openLinkNewTab(event)
174
    {
175
    if(event.button!=1) return
176
    var path=event.target.getAttribute("link")
177
    if(event.target.getAttribute("target")=="_top")
178
      {
179
        window.location=path
180
      }
181
      else
182
      {
183
window.open(path,"_new","")
184
 
185
      }
186
    }
187
    
188
    
189
  function openLinkNewWindow(event)
190
    {
191
      var path=event.target.getAttribute("link")
192
      window.open(path,"_new","")
193
    }
194
  
195
  function openTreeLink(event)
196
    {
197
      var tree=event.target
198
      var selIndex=tree.currentIndex
199
      var item=tree.view.getItemAtIndex(selIndex)
200
      var link=item.getAttribute("link")
201
      if(link) document.getElementById("main_window").setAttribute("src",link)
202
    }  
203
  
204
  function updateClock()
205
    {
206
      var d= new Date()
207
      var sec=d.getSeconds() 
208
      var min=d.getMinutes() 
209
      var std=(d.getHours() % 12 ) + min/60
210
      document.getElementById("std").setAttribute("transform","rotate("+std*30+",20,20)")
211
      document.getElementById("min").setAttribute("transform","rotate("+min*6+",20,20)")
212
      document.getElementById("sec").setAttribute("transform","rotate("+sec*6+",20,20)")
213
    }
214
  
215
  function PrintW()
216
    {
217
      document.getElementById("main_window").contentWindow.print()
218
    }
219
  
220
  function doSearch(){
221
  var t=document.getElementById("searchboxtext").value
222
  document.getElementById("desc").value=t
223
  document.getElementById("sb").click()
224
  
225
  }
226
  function checkEnter(event){
227
  if(event.keyCode==13) doSearch()
228
  }
229
  //setInterval("updateClock()",1000)
230
  
231
  </html:script>
232
</xsl:template>
233
<!-- ***************************************************************************  -->
234

  
235
<!-- special buttons ( logout , print, open new window )
236
****************************************************************************  -->
237
<xsl:template name="specialbuttons">
238
  <toolbarbutton image="image/icons/24x24/Batch Printing.png" tooltiptext="hallo" oncommand="PrintW(event)"/>
239
  <toolbarbutton image="image/icons/24x24/Neues Fenster.png" tooltip="Neues Fenster" link="menuXML.pl?action=display&amp;login={/doc/login}&amp;password={/doc/password}" target="_top" oncommand="openLinkNewWindow(event)"/>
240
  <toolbarbutton label="Logout" link="{/*//item[@id='Programm--Logout']/@link}" target="_top" oncommand="openLink(event)">
241
    <image src="image/icons/24x24/Programm--Logout.png" width="24" height="24" />
242
  </toolbarbutton>
243
</xsl:template>
244
<!-- ***************************************************************************  -->
245

  
246

  
247
<!-- searchbox
248
****************************************************************************  -->
249
<xsl:template name="searchbox">
250
<vbox style="padding-top:5px">
251
  <hbox>
252

  
253
    <textbox height="22px" style="font-size:12px;margin-right:0px" width="200px" id="searchboxtext" onkeypress="checkEnter(event)"/>
254
<toolbarbutton type="toolbar" width="20" height="20" style="padding:5px !important"
255
image="xslt/images/16x16/CRM--Schnellsuche.png" flex="0" oncommand="doSearch()"/>
256
</hbox>
257

  
258
</vbox>
259
</xsl:template>
260
<!-- ***************************************************************************  -->
261

  
262

  
263
<!-- hidden form for article search
264
****************************************************************************  -->
265
<xsl:template name="ArtikelSuche">
266
  <form id="aform" method="post" action="ic.pl" xmlns="http://www.w3.org/1999/xhtml" target="main_window" style="font-family:arial;font-size:12px;display:none">
267
  <input name="partnumber" size="20"/>
268
  <input name="description" flex="1" id="desc"/>
269
  <input name="partsgroup" size="20"/>
270
  <input name="make" size="20"/>
271
  <input class="submit" type="submit" name="action" value="Weiter" id="sb"/>
272
  <div style="display:none" >    
273
  <input class="submit" type="submit" name="action" value="Top 100"/> 
274
    <input type="hidden" name="serialnumber" size="20"/>  
275
    <input type="hidden" name="ean" size="20"/>     
276
    <input type="hidden" name="searchitems" value="part"/>
277
    <input type="hidden" name="title" value="Waren"/>
278
    <input type="hidden" name="revers" value="0"/>
279
    <input type="hidden" name="lastsort" value=""/>
280
    <input type="hidden" name="model" size="20"/>
281
    <input type="hidden" name="drawing" size="20"/>
282
    <input type="hidden" name="microfiche" size="20"/>
283
    <input  name="itemstatus" class="radio" type="radio" value="active" checked="true"/>
284
    <input name="itemstatus" class="radio" type="radio" value="onhand"/>
285
    <input  name="itemstatus" class="radio" type="radio" value="short"/>
286
    <input  name="itemstatus" class="radio" type="radio" value="obsolete"/>
287
    <input  name="itemstatus" class="radio" type="radio" value="orphaned"/>
288
    <input  name="bought" class="checkbox" type="checkbox" value="1"/>
289
    <input  name="sold" class="checkbox" type="checkbox" value="1"/>
290
    <input  name="onorder" class="checkbox" type="checkbox" value="1"/>
291
    <input  name="ordered" class="checkbox" type="checkbox" value="1"/>
292
    <input  name="rfq" class="checkbox" type="checkbox" value="1"/>Anfrage
293
    <input  name="quoted" class="checkbox" type="checkbox" value="1"/>Angeboten  
294
    <input type="hidden" name="transdatefrom" id="transdatefrom" size="11" title="dd.mm.yy"/>
295
    <input  type="button" name="transdatefrom" id="trigger1" value="?"/> 
296
    <input name="transdateto" id="transdateto" size="11" title="dd.mm.yy"/>
297
    <input type="button" name="transdateto" id="trigger2" value="?"/>
298
    <input name="l_partnumber" class="checkbox" type="checkbox" value="Y" checked="true"/>Artikelnummer
299
    <input name="l_description" class="checkbox" type="checkbox" value="Y" checked="true"/>Artikelbeschreibung
300
    <input name="l_serialnumber" class="checkbox" type="checkbox" value="Y"/>Seriennummer
301
    <input name="l_unit" class="checkbox" type="checkbox" value="Y" checked="true"/>Ma?einheit
302
    <input name="l_listprice" class="checkbox" type="checkbox" value="Y"/>Listenpreis
303
    <input name="l_sellprice" class="checkbox" type="checkbox" value="Y" checked="true"/>Verkaufspreis
304
    <input name="l_lastcost" class="checkbox" type="checkbox" value="Y" checked="true"/>Einkaufspreis
305
    <input name="l_linetotal" class="checkbox" type="checkbox" value="Y" checked="true"/>Zeilensumme
306
    <input name="l_priceupdate" class="checkbox" type="checkbox" value="Y"/>Erneuert am
307
    <input name="l_bin" class="checkbox" type="checkbox" value="Y"/>Lagerplatz
308
    <input name="l_rop" class="checkbox" type="checkbox" value="Y"/>Mindestlagerbestand
309
    <input name="l_weight" class="checkbox" type="checkbox" value="Y"/>Gewicht
310
    <input name="l_image" class="checkbox" type="checkbox" value="Y"/>Grafik
311
    <input name="l_drawing" class="checkbox" type="checkbox" value="Y"/>Zeichnung
312
    <input name="l_microfiche" class="checkbox" type="checkbox" value="Y"/>Mikrofilm
313
    <input name="l_partsgroup" class="checkbox" type="checkbox" value="Y"/>Warengruppe
314
    <input name="l_subtotal" class="checkbox" type="checkbox" value="Y"/>Zwischensumme
315
    <input name="l_soldtotal" class="checkbox" type="checkbox" value="Y"/>Verkaufte Anzahl
316
    <input name="l_deliverydate" class="checkbox" type="checkbox" value="Y"/>Lieferdatum
317
    <input type="hidden" name="nextsub" value="generate_report"/>
318
    <input type="hidden" name="login" value="{/doc/login}"/>
319
    <input type="hidden" name="password" value="{/doc/password}"/>
320
    <input type="hidden" name="revers" value="0"/>
321
    <input type="hidden" name="lastsort" value=""/>
322
    <input type="hidden" name="sort" value="description"/>
323
    <input type="hidden" name="ndxs_counter" value="0"/>
324
  </div>
325
  </form>
326
</xsl:template>
327
<!-- ***************************************************************************  -->
328
</xsl:stylesheet>

Auch abrufbar als: Unified diff