# Letzte Aenderung: 17.12.2011
#
# Copyright (C) 2002-2012 Patrick Canterino
#
# Diese Datei kann unter den Bedingungen der "Artistic License 2.0"
# weitergegeben und / oder veraendert werden.
# Siehe:
# http://www.opensource.org/licenses/artistic-license-2.0
#
# formdata()
#
# Formulardaten bei deaktiviertem register_globals auslesen
#
# Parameter:   Name des Formularfeldes
#
# Rueckgabe:   Inhalt des Formularfeldes (String oder Array)
#
# Bemerkungen: - Wenn der HTTP-Zugriff nicht POST oder GET ist,
#                wird nichts zurueckgegeben.
#              - Codierende Backslashes werden automatisch entfernt
function formdata($param) {
    switch($_SERVER['REQUEST_METHOD']) {
        case 'GET':
            if(isset($_GET[$param])) {
                $value = $_GET[$param];
                break;
            }
            else return null;
        case 'POST':
            if(isset($_POST[$param])) {
                $value = $_POST[$param];
                break;
            }
            else return null;
        default:
            return null;
    }
    if(get_magic_quotes_gpc()) {
        if(is_array($value)) return array_map('stripslashes',$value);
        else return stripslashes($value);
    }
    else return $value;
}
# plain()
#
# Text fuer HTML-Ausgabe vorbereiten (Entities,
# Zeilenumbrueche, Leerzeichen)
#
# Parameter: 1. Text
#            2. Zeilenumbruchskennung (Standard = 
)
#
# Rueckgabe: Bearbeiteter Text (String)
function plain($text,$linebreak='
') {
    $htmltext = htmlspecialchars($text);
    $htmltext = preg_replace("/\015\012|\012|\015/",$linebreak,$htmltext);
    for($x=0;$xread_file($tpl_fatal);
    if(sizeof($vars) > 0) {
        while(list($var,$content) = each($vars)) {
            $errmsg = str_replace('{'.$var.'}',htmlspecialchars($content),$errmsg);
        }
    }
    $tpl->set_var('ERROR',$errmsg);
    $tpl->parse();
    print $tpl->get_template();
    exit;
}
# show_user_error()
#
# Fehlermeldung anzeigen (Benutzer kann den Fehler
# aber noch korrigieren)
#
# Parameter: Fehlermeldung
function show_user_error($errmsg) {
    global $captcha_enable, $email, $name, $subject, $text, $user_fields, $tpl_user_error;
    $tpl = new Template;
    $tpl->read_file($tpl_user_error);
    $tpl->parse_if_block('CAPTCHA',$captcha_enable);
    $tpl->set_var('EMAIL',  htmlspecialchars($email));
    $tpl->set_var('ERROR',  $errmsg);
    $tpl->set_var('NAME',   htmlspecialchars($name));
    $tpl->set_var('SUBJECT',htmlspecialchars($subject));
    $tpl->set_var('TEXT',   htmlspecialchars($text));
    reset($user_fields);
    while(list($user_field,$user_field_data) = each($user_fields)) {
        if(isset($user_field_data['tpl_var']) && $user_field_data['tpl_var'] != '') {
            $tpl_var = $user_field_data['tpl_var'];
        }
        else {
            $tpl_var = 'USER_'.$user_field;
        }
        $tpl->set_var($tpl_var,htmlspecialchars(formdata($user_field)));
    }
    $tpl->parse();
    print $tpl->get_template();
    exit;
}
#
### Ende ###
?>