<?php
global $PHP_SELF;

// dieses Skript benoetigt REGISTER_GLOBALS
foreach($_REQUEST as $key=>$val)
{
	$$key = $val;
}

/* Wandelt Zeichenkette in 7Bit-String um (fuer eMails) */
function quoted_printable_encode($str) {
	for($i=0;$i<strlen($str);$i++) {
		$char = $str[$i];
		$ascii = ord($char);
		if($ascii > 127 || $ascii == ord("=")) $new_str .= "=".strtoupper(dechex($ascii));
		else $new_str .= $char;
	}
	return $new_str;
}
function none($str) { return $str; };

$ENCODE=array();
$ENCODE["plain"] ="none";
$ENCODE["url"]   ="rawurlencode";
$ENCODE["query"] ="urlencode";
$ENCODE["email"] ="quoted_printable_encode";
$ENCODE["base64"]="base64_encode";
$ENCODE["md5"]   ="md5";
$DECODE=array();
$DECODE["plain"] ="none";
$DECODE["url"]   ="rawurldecode";
$DECODE["query"] ="urldecode";
$DECODE["email"] ="quoted_printable_decode";
$DECODE["base64"]="base64_decode";
$NAMES=array();
$NAMES["plain"] ="Plain Text";
$NAMES["url"]   ="Pfad in der URL";
$NAMES["query"] ="QueryString einer URL";
$NAMES["email"] ="eMail: Quoted-Printable";
$NAMES["base64"]="eMail: Base64";
$NAMES["md5"]   ="Hash: md5";

if($submit=="senden") {
	$orgstr = $string;
	if($DECODE[$type])
	{
		$string = $DECODE[$type]($string);
	}

	$body .= "<table border=\"0\" cellpadding=\"1\" cellspacing=\"1\">";
	$body .= "<tr bgcolor=\"#999999\">";
	$body .= "<td><b>Typ:</b></td>";
	$body .= "<td><b>String:</b></td>";
	$body .= "<td><b>Length:</b></td>";
	$body .= "</tr>";
	for(reset($ENCODE); list($typ,$function)=each($ENCODE);)
	{
		$encoded = $function($string);
		$body .= "<tr bgcolor=\"#cccccc\">";
		$body .= "<td valign=\"top\"><b>".$NAMES[$typ]."</b></td>";
		$body .= "<td><code>".nl2br(htmlentities($encoded))."</code></td>";
		$body .= "<td align=\"right\">".strlen($encoded)."</td></tr>";
	}
	$body .= "</table>";

	$body .= "<br><br>\n";
}
$body .= "<form method=post action=\"".$PHP_SELF."\">";

$body .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
$body .= "<tr>";
$body .= "<td><textarea cols=\"40\" rows=\"3\" name=\"string\" style=\"width:400px; height:100px;\">".$orgstr."</textarea></td>";
$body .= "<td>";
for(reset($DECODE); list($typ,$function)=each($DECODE);)
{
	$body .= "<input type=\"radio\" name=\"type\" value=\"".$typ."\"".($type==$typ?" checked":"")." class=\"checkbox\">".$NAMES[$typ]."<br>";
}
$body .= "</td></tr>";
$body .= "</table>";

$body .= "<br><br>";

////////// TIMESTAMP
$DATE = array("d","m","Y","H","i","s");
$body .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">";
// timestamp1
if(!$timestamp) $timestamp=time();
$body .= "<tr>";
$body .= "<td>UNIX-Timestamp:</td><td><input name=\"timestamp\" value=\"".$timestamp."\" style=\"width:100px\"></td>";
$body .= "<td>".$timestamp." = ".date("d.m.Y H:i:s",$timestamp)."</td>";
$body .= "</tr>";
// timestamp2
if($d_Y && $d_m && $d_d) $timestamp2 = mktime($d_H,$d_i,$d_s,$d_m,$d_d,$d_Y);
else $timestamp2 = time();
for($i=0;$i<count($DATE);$i++)
{
	${"d_".$DATE[$i]} = date($DATE[$i], $timestamp2);
}
$body .= "<tr>";
$body .= "<td>Datum (dd.mm.yyyy hh:mm:ss):</td>";
$body .= "<td>";
for($i=0;$i<count($DATE);$i++)
{
	$body .= "<input name=\"d_".$DATE[$i]."\" value=\"".${"d_".$DATE[$i]}."\" style=\"text-align:center; width:30px\"> ";
}
$body .= "</td>";
$body .= "<td>$d_d.$d_m.$d_Y $d_H:$d_i:$d_s = ".$timestamp2."</td>";
$body .= "</tr>";
$body .= "</table>";

$body .= "<br><input type=\"submit\" name=\"submit\" value=\"senden\" class=\"std\">";
$body .= "</form>";


echo $body;
?>
