Hi,
unten das Script welches meine HTML Box füllt - die Breite ist da doch in 100% definiert, oder schaue ich an der falschen Stelle? Muss gestehen, dass ich das Script damals zusammenkopiert habe - bin in HTML absolut nicht fit, vielleicht findet ja jemand den Fehler.
<?
$max_elements = 30; // max elements in table
$message = GetValue(44538); // Wert aus der Variable auslesen
$sender = GetValueString(56712); // Name des Senders
$list_id = 46113; // String Variable mit Profil ~HTMLBox
// CSS Helper for tables http://divtable.com/table-styler/
$css = 'body {color:white; font-size:100%;}
table.liste { width: 100%; border-collapse: true; border: 0px; }
table.liste td { border: 1px solid white; }
table.liste th { border: 1px solid white; }'; // configuration of the table layout
$HTML = SetHTMLList($list_id, $sender, $message, $max_elements, $css);
//var_dump($HTML);
function SetHTMLList($list_id, $sender, $message, $max_elements, $css)
{
$table_info = GetTable($list_id);
$table_header = $table_info["table_header"];
$table_rows = $table_info["table_rows"];
$HTML = WriteTable($list_id, $table_header, $table_rows, $sender, $message, $max_elements, $css);
return $HTML;
}
function WriteTable($list_id, $table_header, $table_rows, $sender, $message, $max_elements, $css)
{
$HTML_Head = '<html>
<head>
<title>HTML Table</title>
</head>
<style type="text/css">'
.$css.
'</style>
<body>';
$HTML_Footer = '</body>
</html>';
$html_table_header ='<table border = "0" class="liste"><tr align="left">';
$html_table_header.='<th>'.$table_header[0].'</th>';
$html_table_header.='<th>'.$table_header[1].'</th>';
$html_table_header.='<th>'.$table_header[2].'</th>';
$html_table_header.='<th>'.$table_header[3].'</th></tr>';
$data = array($table_header[0] => date("d.m.Y"), $table_header[1] => date("H:i:s"), $table_header[2] => $sender, $table_header[3] => $message);
array_unshift ($table_rows, $data); // add new value to array
$table_rows = array_slice($table_rows, 0, $max_elements); // cut off old value
$html_table_rows = '';
foreach($table_rows as $key => $table_row)
{
$html_table_rows .= '<tr align="left"><td>'.$table_row[$table_header[0]].'</td>';
$html_table_rows .= '<td>'.$table_row[$table_header[1]].'</td>';
$html_table_rows .= '<td>'.$table_row[$table_header[2]].'</td>';
$html_table_rows .= '<td>'.$table_row[$table_header[3]].'</td></tr>';
}
$HTML_Table = $html_table_header.$html_table_rows;
$HTML = $HTML_Head.$HTML_Table.$HTML_Footer;
SetValue($list_id, $HTML);
return $HTML;
}
function GetTable($list_id)
{
$htmlContent = GetValue($list_id);
$DOM = new DOMDocument();
$domhtmlcontent = @$DOM->loadHTML($htmlContent);
if(empty($domhtmlcontent))
{
$aDataTableHeaderHTML = array("Datum", "Uhrzeit", "Sender", "Meldung");
$aDataTableDetailHTML = array();
}
else
{
$DOM->loadHTML($htmlContent);
$Header = $DOM->getElementsByTagName('th');
$Detail = $DOM->getElementsByTagName('td');
//#Get header name of the table
foreach($Header as $NodeHeader)
{
$aDataTableHeaderHTML[] = utf8_decode(trim($NodeHeader->textContent));
}
if(empty($aDataTableHeaderHTML))
{
$aDataTableHeaderHTML = array("Datum", "Uhrzeit", "Sender", "Meldung");
$aDataTableDetailHTML = array();
}
else
{
//#Get row data/detail table without header name as key
$i = 0;
$j = 0;
foreach($Detail as $sNodeDetail)
{
$aDataTableDetailHTML[$j][] = utf8_decode(trim($sNodeDetail->textContent));
$i = $i + 1;
$j = $i % count($aDataTableHeaderHTML) == 0 ? $j + 1 : $j;
}
//#Get row data/detail table with header name as key and outer array index as row number
for($i = 0; $i < count($aDataTableDetailHTML); $i++)
{
for($j = 0; $j < count($aDataTableHeaderHTML); $j++)
{
$aTempData[$i][$aDataTableHeaderHTML[$j]] = $aDataTableDetailHTML[$i][$j];
}
}
$aDataTableDetailHTML = $aTempData; unset($aTempData);
}
}
$table_header = $aDataTableHeaderHTML;
$table_rows = $aDataTableDetailHTML;
return array("table_header" => $table_header, "table_rows" => $table_rows);
}
?>
Gruß
EDIT: Wenn ich mit dem Width Wert spiele (gleiches gilt übrigens für die Schriftgröße), dann ändern sehe ich die Änderung in der HTML Box im Webfront, in IPSView ändert sich jedoch nichts, ist das ein Bug?