<?php
/* +----------------------------------------------------------------------+
| Netautor Professional Application Server |
+----------------------------------------------------------------------+
| Copyright (C) 1998-2005 digiconcept GmbH. <www.digiconcept.net> |
+----------------------------------------------------------------------+
| This file is subject to license, that is bundled with this package |
| in the file LICENSE.TXT, and is available at through the |
| world-wide-web at http://www.netautor.com/license/ |
| |
| If you did not receive a copy of the license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| hide@address.com so we can mail you a copy. |
+----------------------------------------------------------------------+
| Authors: Stefan Rottensteiner <hide@address.com> |
| Marek Kadziela <hide@address.com> |
| Gregor Wollner |
| Christian Unger |
| Helli Kleinhans |
+----------------------------------------------------------------------+*/
/**
* @version $Revision: 1.28 $
*/
require_once('../../include/init.inc');
if(!$USER->check_feature('Admin') && !$USER->check_feature('ac_schema'))
{
$USER->login_call();
}
$LOCALE->textdomain('schema');
includeNaPro('mdb,array,form,string');
/************************************************************
* table_manager_action start *
************************************************************/
$erg = array();
function show_recursive_overview($options,&$elements,$area_id='',$level=0)
{
$result = '';
global $sql_world;
$GLOBALS['temp_count'] = '';
$language = $GLOBALS['language'];
if (empty($area_id)) $area_id = $elements['me_id'][ $elements['me_base'] ];
if (empty($elements['me_me_id'][$area_id])) return '';
$counter = 1;
$max_counter = count($elements['me_me_id'][$area_id]);
$elemente = $elements['me_me_id'][$area_id];
//$element_namen = array();
$element_typen = array();
$element_remark = array();
foreach($elemente as $index => $element_name)
{
//$element_namen[ $elements['me_id'][$element_name] ] = $element_name;
$element_typen[] = strtolower($GLOBALS['LOCALE']->gettext('set_'.strtolower($elements['me_content'][$element_name])));
$element_remark[] = strtolower($elements['me_remark'][ $elements['me_id'][$element_name] ]);
}
switch($options['sort_fields'])
{
case 'name':
if(!empty($options['sort_dir']) && strtolower($options['sort_dir']) == 'desc')
{
arsort($elemente);
}
else
{
asort($elemente);
}
break;
case 'type':
if(!empty($options['sort_dir']) && strtolower($options['sort_dir']) == 'desc')
{
array_multisort($element_typen,SORT_STRING,SORT_DESC,$elemente);
}
else
{
array_multisort($element_typen,SORT_STRING,SORT_ASC,$elemente);
}
break;
case 'remark':
if(!empty($options['sort_dir']) && strtolower($options['sort_dir']) == 'desc')
{
array_multisort($element_remark,SORT_STRING,SORT_DESC,$elemente);
}
else
{
array_multisort($element_remark,SORT_STRING,SORT_ASC,$elemente);
}
break;
}
$mdoc_counter = array();
foreach($elemente as $index => $element_name)
{
@set_time_limit(30);
$element_id = $elements['me_id'][$element_name];
// Indexes finden
$element_idx = '';
foreach($GLOBALS['table']['index'] as $idx => $val)
{
if(stristr($val['columns'],'na_'.$element_id)) $element_idx = 'yes';
}
// In welchem Bereich ist das Element ?
$is_in_area = 0;
foreach($elements['me_me_id'] as $temp => $area_elements)
{
$area_elements = array_flip($area_elements);
if (isset($area_elements[$element_name])) $is_in_area = $temp;
}
// SQL-Tabelle ausrechnen
$sql_table = 'na_'.$elements[0];
$sql_table_name = 'na_'.$elements[0];
if (!empty($elements['me_multiple'][$element_name]) || empty($elements['me_content'][$element_name]))
{
if(!empty($options['show_sql_dots']) || !empty($options['show_counts'])) $sql_table_name = '....';
$sql_table.='_'.$element_id;
$sql_table_name.='_'.$element_id;
}
elseif ($is_in_area != $elements['me_id'][$elements['me_base']])
{
if(!empty($options['show_sql_dots']) || !empty($options['show_counts'])) $sql_table_name = '....';
$sql_table.='_'.$is_in_area;
$sql_table_name.='_'.$is_in_area;
}
if (!empty($options['show_counts']))
{
$temp_erg = array();
$temp_erg = $sql_world->select('SELECT count(mdoc_id) FROM '.$sql_table,0,1,0);
$mdoc_counter[$sql_table][0] = (isset($temp_erg[0][0]) ? $temp_erg[0][0] : 'na');
$temp_erg = array();
$temp_erg = $sql_world->select('SELECT count(distinct mdoc_id) FROM '.$sql_table,0,1,0);
$mdoc_counter[$sql_table][1] = (isset($temp_erg[0][0]) ? $temp_erg[0][0] : 'na');
$temp_erg = array();
$temp_erg = $sql_world->select('SELECT count(mdoc_id) FROM '.$sql_table.' WHERE na_'.$element_id.' is not null AND na_'.$element_id.' != ""',0,1,0);
$mdoc_counter[$sql_table][2] = (isset($temp_erg[0][0]) ? $temp_erg[0][0] : '0');
$temp_erg = array();
$temp_erg = $sql_world->select('SELECT count(distinct mdoc_id) FROM '.$sql_table.' WHERE na_'.$element_id.' is not null AND na_'.$element_id.' != ""',0,1,0);
$mdoc_counter[$sql_table][3] = (isset($temp_erg[0][0]) ? $temp_erg[0][0] : '0');
list($count_all,$count_distinct,$count_nonempty,$count_nonempty_doc)=$mdoc_counter[$sql_table];
if(empty($GLOBALS['temp_count'])) $GLOBALS['temp_count'] = $count_distinct;
$count_vars = array($count_distinct,$count_all,$count_nonempty,$count_nonempty_doc);
$count_nonempty_string = '<span class="'.(empty($count_nonempty) ? 'textgreen' : 'textred').'" '.(!empty($options['show_counts']) ? "title='".$GLOBALS['LOCALE']->gettext('count_title',$count_vars)."'" : "").'>'.(strtolower($elements['me_content'][$element_name])=='' ? '....' : $count_nonempty.' | '.$count_nonempty_doc).' | </span>';
}
if ($element_name != $elements['me_base'])
{
if(!empty($options['show_name']) && strtolower($options['show_name']) == 'remark')
{
$temp_name = (str_repeat('..',$level*2)).$elements['me_remark'][ $elements['me_id'][$element_name] ];
$temp_title = (str_repeat('..',$level*2)).$element_name;
}
else
{
$temp_name = (str_repeat('..',$level*2)).$element_name;
$temp_title = (str_repeat('..',$level*2)).$elements['me_remark'][ $elements['me_id'][$element_name] ];
}
$result.= " <tr class='bglist'>
<td align='left' valign='top' class='text'>
<a href='index.php?todo=click_db_item&me_id={$elements['me_id'][$element_name]}' class='link' title='{$temp_title}'>{$temp_name} </a><br>
</td>
<td align='left' valign='top' class='text'>
".(str_repeat('..',$level*2)).$GLOBALS['LOCALE']->gettext('set_'.strtolower($elements['me_content'][$element_name]))."<br>
</td>
<td align='center' valign='top' class='text'>
".(empty($elements['me_mandatory'][$element_name]) ? $GLOBALS['LOCALE']->gettext('no') : '<span class="textred">'.$GLOBALS['LOCALE']->gettext('yes').'</span>')."<br>
</td>
<td align='center' valign='top' class='text'>
".(empty($elements['me_multiple'][$element_name]) ? $GLOBALS['LOCALE']->gettext('no') : '<span class="textred">'.$GLOBALS['LOCALE']->gettext('yes').'</span>')."<br>
</td>
<td align='center' valign='top' class='text'>
".(empty($element_idx) ? $GLOBALS['LOCALE']->gettext('no') : '<span class="textred">'.$GLOBALS['LOCALE']->gettext('yes').'</span>')."<br>
</td>
<td align='left' valign='top' class='text' title='{$sql_table}.na_{$element_id}'>
{$sql_table_name}.na_{$element_id}<br>
</td>
<td align='right' valign='top' class='text' nowrap ".(!empty($options['show_counts']) ? "title='".$GLOBALS['LOCALE']->gettext('count_title',$count_vars)."'" : "").">
".(!empty($options['show_counts']) ? $count_nonempty_string.$count_all.' | '.$count_distinct : ' ')."<br>
</td>
</tr>";
}
if(empty($elements['me_content'][$element_name])) $result.=show_recursive_overview($options,$elements,$element_id,$level+1);
$counter++;
}
return $result;
}
function show_doc_counts($sql_table)
{
global $sql_world;
$temp_erg = $sql_world->select('SELECT count(mdoc_id) FROM mdocs WHERE mdoc_mn_naid = '.$sql_table,0,1,0);
$mdoc_count = (isset($temp_erg[0][0]) ? $temp_erg[0][0] : '0');
if(!empty($GLOBALS['temp_count']) && $GLOBALS['temp_count'] != $mdoc_count)
{
$class1 = 'textred';
$class2 = 'textred';
$GLOBALS['message'].=$GLOBALS['LOCALE']->gettext('count_check_error');
}
else
{
$class1 = 'text';
$class2 = 'text';
}
$result="
<tr class='bglist'>
<td align='right' valign='top' class='".$class1."' colspan='6'>".$GLOBALS['LOCALE']->gettext('count_docs')."</td>
<td align='right' valign='top' class='".$class2."'>".$mdoc_count."</td>
</tr>
";
return $result;
}
function draw_recursiv(&$elements,$me_id=0,$area_id='',$level=0)
{
$result='';
if (empty($area_id)) $area_id = $elements['me_id'][ $elements['me_base'] ];
if (empty($elements['me_me_id'][$area_id])) return '';
foreach($elements['me_me_id'][$area_id] as $index => $field_name)
{
if (empty($area_id)) continue;
$field_id= $elements['me_id'][$field_name];
$opt_text = str_repeat(' ',$level*2).$field_name;
if ($elements['me_multiple'][$field_name]) $opt_text.=' (M)';
if ($field_id==$me_id) $selected='SELECTED'; else $selected='';
if (isset($elements['me_bereich'][$field_id])) // Kein Bereich
{
$result.='<option '.$selected.' value="mn_na_id='.$field_id.'">'.$opt_text.'</option>'."\n";
}
else // Bereich
{
$result.='<option value="me_id='.$field_id.'">'.$opt_text.'</option>'."\n";
$result.=draw_recursiv($elements,$me_id,$field_id,$level+2);
}
}
return $result;
}
function draw_db_struktur(&$SQL,$table_id=0)
{
$result = '';
$structure = ( empty($table_id) ? mdb_list_dbs($SQL,true) : mdb_get_db($SQL,$table_id,true) );
if (!empty($structure) && is_array($structure))
{
foreach($structure as $table_index => $table_data)
{
$result.='<option value='."'mn_naid=".$table_data['mn_naid']."'".'>'.strtoupper($table_data['mn_name']).'</option>';
if (empty($table_data['me_elements']))
{
$result.='<option value=""> -- Keine Elemente --</option>';
// Noch keine Elemente in der Tabelle
}
else
{
$sub_result = trim(draw_recursiv($table_data['me_elements'],0,'',1));
if (!empty($sub_result)) $result.= $sub_result;
}
if (count($structure) > 1) $result.='<option value="">'.(str_repeat('-',30)).'</option>';
}
}
else
{
}
echo($result);
}
// --- enhance language 4 mask
/************************************************************
* dbmanager_action start *
************************************************************/
//error_reporting(255);
if(!empty($todo)) include('db_action.php');
/************************************************************
* dbmanager_action end *
************************************************************/
//wenn im auswahlfeld für die übersicht ein schema ausgewält wurde dann
//die feld-info aus der datenbank holen
if(!empty($me_mn_naid_1))
{
$table_def = mdb_get_db($sql_world,$me_mn_naid_1,true);
$table = array();
$table_result = $sql_world->get_table_def('na_'.$me_mn_naid_1,$table);
}
$field_type = array('char','bit','num','real','date','time','datetime','text','select','media','area');
$field_type_prop = array(
'char' => 'yes',
'bit' => 'yes',
'num' => 'yes',
'real' => 'no',
'date' => 'no',
'time' => 'no',
'datetime' => 'no',
'text' => 'yes',
'select' => 'yes',
'media' => 'no',
'area' => 'no'
);
if (!empty($send_x) && $send_x=='save')
{
$NewSettings= array();
switch ($dtd_type)
{
case 'select':
$Settings['werte'] = explode('|',$Settings['werte']);
$Settings['indexes'] = explode('|',$Settings['indexes']);
foreach ($Settings['werte'] as $index => $val)
{
$idx = $Settings['indexes'][ $index ];
if( $idx.$val != '') $NewSettings['sel_values'][trim($idx)]=trim($val);
}
break;
default:
if (empty($Settings['format']))
{
$Settings['format']='.*';
}
else
{
$translator= array ('0'=>'[0-9]{1}', // muss Ziffer sein
'9'=>'[0-9]{0,1}', // kann Ziffer sein
'*'=>'.*', // Beliebig viele Zeichen
'§'=>'.{1}', // Muß ein beliebiges Zeichen sein
'?'=>'[a-zA-ZäöüßÜÖA]{0,1}', // Kann a-Z sein
'A'=>'[a-zA-ZäöüßÜÖA]{1}', // Muß a-Z sein
'['=>'/[', ']'=>'/]',
'-'=>'[/-]',
'('=>'/(', ')'=>'/)',
'/'=>'//', '^'=>'/^', '.'=>'/.'
);
$newFormat = '';
for ($i=0;$i<strlen($Settings['format']);$i++)
{
$c = substr($Settings['format'],$i,1);
if ($c=='\\')
{
$i++;
$newFormat.=substr($Settings['format'],$i,1);
continue;
}
$newFormat.=(isset($translator[$c])?$translator[$c]:$c);
}
$Settings['format']=trim($newFormat);
}
$NewSettings = $Settings;
break;
}
/* Nach der Settings-Übernahme wieder in die Element-Editiermaske springen */
$mv_values = serialize($NewSettings);
$msk ='dbmanager';
}
if(!empty($mv_values) && strlen($mv_values)>1)
{
$Settings = unserialize($mv_values);
}
/************************************************************
* functions for dtd_settings end *
************************************************************/
//werte für die maske vorbereiten und initialisieren
if(empty($me_unique) ) $me_unique ='';
if(empty($me_multiple) ) $me_multiple ='';
if(empty($me_mandatory) ) $me_mandatory ='';
if(empty($me_index) ) $me_index ='';
if(empty($me_content) ) $me_content ='char';
if(empty($me_name) ) $me_name ='';
if(empty($me_mn_naid) ) $me_mn_naid ='';
if(empty($me_remark) ) $me_remark ='';
if(empty($mv_values) ) $mv_values ='';
if(empty($message) ) $message ='';
if(empty($mn_naid) ) $mn_naid ='';
if(empty($options)) $options=array( 'sort_fields'=>'', 'sort_dir'=>'', 'show_name'=>'name','show_sql_dots'=>'','show_counts'=>'' );
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>/digiconcept/netautor/shema manager</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<meta name="robots" content="nofollow">
<link rel="stylesheet" type="text/css" href="../../include/netautor.css">
</head>
<body class="blue">
<a name="top"></a>
<table width="520" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="457" align="left" valign="center" class="text">
<img src="../../grafik/pixel.gif" width="457" height="4"><br>
<img src="../../grafik/pixel.gif" width="4" height="1"><a class="text"
href="#funz"
onclick="javascript:parent.document.getElementById('f_editor').rows='10,0,24,*,24';top.scrollFrames('layoutsearch');"><?php echo( $LOCALE->gettext('database') ); ?></a><br>
</td>
<td width="63" align="left" valign="top">
<img src="../../grafik/updown.gif" width="63" height="21" border="0" usemap="#updown"><br>
<map name="updown">
<area shape="circle" coords="12,9,9" href="#" onClick="javascript:parent.document.getElementById('f_editor').rows='10,0,24,*,24';top.scrollFrames('layoutsearch');">
<area shape="circle" coords="50,9,9" href="#" onClick="javascript:parent.document.getElementById('f_editor').rows='*,0,24,24,24';top.scrollFrames('layoutsearch');">
</map>
</td>
</tr>
</table>
<table width="975" border="0" cellspacing="0" cellpadding="0">
<tr>
<form name="database" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="msk" value="<?php if(!empty($msk)) echo $msk; ?>">
<input type="hidden" name="edit" value="">
<input type="hidden" name="check_content" value="<?php if(!empty($check_content)) echo $check_content; ?>">
<td width="755" align="left" valign="top">
<table width="755" border="0" cellspacing="0" cellpadding="4">
<tr>
<td width="747" colspan="6" align="left" valign="top" class="head">
<script language="JavaScript"><!--
myForm = document.forms[0];
function showCount()
{
if(myForm.elements['options[show_counts]'].value=='')
{
myForm.elements['options[show_counts]'].value = 'yes';
}
else
{
myForm.elements['options[show_counts]'].value = '';
}
myForm.submit();
}
function sortFields(col)
{
sort_dir_old = '<? echo(empty($options['sort_dir']) ? '' : $options['sort_dir']); ?>';
sort_fields_old = '<? echo(empty($options['sort_fields']) ? '' : $options['sort_fields']); ?>';
if(sort_dir_old == '' || sort_dir_old == 'desc' || sort_fields_old != col)
{
document.forms[0].elements['options[sort_dir]'].value = 'asc';
}
else
{
document.forms[0].elements['options[sort_dir]'].value = 'desc';
}
if(col == 'name' || col == 'remark')
{
document.forms[0].elements['options[show_name]'].value = col;
}
document.forms[0].elements['options[sort_fields]'].value = col;
setTimeout('document.forms[0].submit()',200);
}
function showSQLdots(par)
{
document.forms[0].elements['options[show_sql_dots]'].value = par;
setTimeout('document.forms[0].submit()',200);
}
// --></script>
<?php echo( $LOCALE->gettext('list_title') ); ?>
<select name="me_mn_naid_1" class="select202" onChange="this.form.submit()">
<option></option>
<?php echo(db_selection('mnames','order by mn_name','mn_naid','mn_name',$me_mn_naid_1,'false','','','')); ?>
</select><br>
<img src="../../grafik/pixel.gif" width="747" height="12"><br>
<br>
<?
if(!empty($options['show_name']) && strtolower($options['show_name']) == 'remark')
{
$class1 = 'link';
$class2 = 'textwhite';
}
else
{
$class1 = 'textwhite';
$class2 = 'link';
}
?>
<table width="747" border="0" cellspacing="1" cellpadding="2" align="center">
<tr>
<td valign="middle" class='textwhite' width="150" nowrap>
<a href="#"
class="<? echo($class1); ?>"
onClick="sortFields('name');"
title="<?php echo( $LOCALE->gettext('list_sort_name') ); ?>"><?php echo( $LOCALE->gettext('list_name') ); ?></a> /
<a href="#"
class="<? echo($class2); ?>"
onClick="sortFields('remark');"
title="<?php echo( $LOCALE->gettext('list_sort_remark') ); ?>"><?php echo( $LOCALE->gettext('list_remark') ); ?></a><br>
</td>
<td valign="middle" class='textwhite' width="60" nowrap>
<a href="#"
class="textwhite"
onClick="sortFields('type');"
title="<?php echo( $LOCALE->gettext('list_sort_type') ); ?>"><?php echo( $LOCALE->gettext('list_content_type') ); ?></a><br>
</td>
<td align="center" valign="middle" class='textwhite' width="60" nowrap><?php echo( $LOCALE->gettext('list_duty') ); ?><br></td>
<td align="center" valign="middle" class='textwhite' width="60" nowrap><?php echo( $LOCALE->gettext('list_multi') ); ?><br></td>
<td align="center" valign="middle" class='textwhite' width="60" nowrap><?php echo( $LOCALE->gettext('list_index') ); ?><br></td>
<td valign="middle" class='textwhite' width="210" nowrap>
<a href="#"
class="textwhite"
onClick="showSQLdots('<? echo(empty($options['show_sql_dots']) ? 'yes' : ''); ?>');"
title="<?php echo( $LOCALE->gettext(empty($options['show_sql_dots']) ? 'list_sql_dots' : 'list_sql_dots_full') ); ?>"
><?php echo(empty($options['show_sql_dots']) ? $LOCALE->gettext('list_sql') : '....'.$LOCALE->gettext('list_sql')); ?></a>
</td>
<td align="right" valign="middle" class='textwhite' width="60" nowrap>
<a href="#"
class="textwhite"
onClick="showCount();"
title="<?php echo(empty($options['show_counts']) ? $LOCALE->gettext('list_show_count') : $LOCALE->gettext('list_hide_count')); ?>"><?php echo($LOCALE->gettext('list_count')); ?></a>
</td>
</tr>
<?php
if(!empty($options) && !empty($table_def['me_elements']))
{
echo (show_recursive_overview($options,$table_def['me_elements']));
}
if(!empty($options['show_counts']) && $options['show_counts'] == 'yes' && !empty($table_def['me_elements'][0]))
{
echo(show_doc_counts($table_def['me_elements'][0]));
}
?>
</table>
</td>
</tr>
<tr>
<td width="42" ><img src="../../grafik/pixel.gif" width="42" height="1"><br></td>
<td width="152" ><img src="../../grafik/pixel.gif" width="152" height="1"><br></td>
<td width="72" ><img src="../../grafik/pixel.gif" width="72" height="1"><br></td>
<td width="152" ><img src="../../grafik/pixel.gif" width="152" height="1"><br></td>
<td width="92" ><img src="../../grafik/pixel.gif" width="92" height="1"><br></td>
<td width="197" ><img src="../../grafik/pixel.gif" width="197" height="1"><br></td>
</tr>
</table>
</td>
<td width="10"></td>
<td width="210" align="left" valign="top">
<table width="210" border="0" cellspacing="0" cellpadding="4">
<input type="hidden" name="todo" value="">
<input type="hidden" name="me_id" value="<?php echo($me_id); ?>" >
<input type="hidden" name="mv_values" value='<?php echo($mv_values); ?>' >
<input type="hidden" name="options[show_counts]" value="<? echo($options['show_counts'] ); ?>">
<input type="hidden" name="options[sort_fields]" value="<? echo($options['sort_fields'] ); ?>">
<input type="hidden" name="options[sort_dir]" value="<? echo($options['sort_dir'] ); ?>">
<input type="hidden" name="options[show_name]" value="<? echo($options['show_name'] ); ?>">
<input type="hidden" name="options[show_sql_dots]" value="<? echo($options['show_sql_dots']); ?>">
<?
if(!empty($msk) && $msk != 'dbmanager')
{ ?>
<!-- werte merken falls in eine andere maske gewechselt wird -->
<input type="hidden" name="me_mn_naid" value="<?php echo($me_mn_naid); ?>" >
<input type="hidden" name="me_me_id" value="<?php echo($me_me_id); ?>" >
<input type="hidden" name="me_name" value="<?php echo($me_name); ?>" >
<input type="hidden" name="me_remark" value="<?php echo($me_remark); ?>" >
<input type="hidden" name="me_content" value="<?php echo($me_content); ?>" >
<input type="hidden" name="me_multiple" value="<?php echo($me_multiple); ?>" >
<input type="hidden" name="me_mandatory" value="<?php echo($me_mandatory); ?>" >
<input type="hidden" name="me_index" value="<?php echo($me_index); ?>" >
<input type="hidden" name="me_unique" value="<?php echo($me_unique); ?>" >
<? } ?>
<tr>
<td width="202" align="left" valign="top" class="text">
<table width="202" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" valign="top" class="head">
<?php echo( $LOCALE->gettext('manager_title') ); ?><br>
</td>
<td align="right" valign="top" class="head">
<!--<a href="#" class="link" onClick="javascript:document.forms[0].elements['msk'].value='context';document.forms[0].submit();">» <?php echo( $LOCALE->gettext('indexes') ); ?></a>--> <br>
</td>
</tr>
</table>
<img src="../../grafik/pixel.gif" width="202" height="12"><br>
<?php
if(empty($msk)) $msk = 'dbmanager';
include($msk.'.msk');
?>
</td>
</tr>
</form>
</table>
</td>
</tr>
<tr>
<td width="755"><img src="../../grafik/pixel.gif" width="755" height="1"><br></td>
<td width="10"><img src="../../grafik/pixel.gif" width="10" height="1"><br></td>
<td width="210"><img src="../../grafik/pixel.gif" width="210" height="1"><br></td>
</tr>
</table>
<br>
</form>
</body>
</html>