Esempio n. 1
0
 // muss natuerlich der Code ueberprueft werden
 if ($getMode === 4 && !$gValidLogin && $gPreferences['enable_guestbook_captcha'] == 1) {
     if (!isset($_SESSION['captchacode']) || admStrToUpper($_SESSION['captchacode']) != admStrToUpper($_POST['captcha'])) {
         if ($gPreferences['captcha_type'] === 'pic') {
             $gMessage->show($gL10n->get('SYS_CAPTCHA_CODE_INVALID'));
         } elseif ($gPreferences['captcha_type'] === 'calc') {
             $gMessage->show($gL10n->get('SYS_CAPTCHA_CALC_CODE_INVALID'));
         }
     }
 }
 // make html in description secure
 $_POST['gbc_text'] = admFuncVariableIsValid($_POST, 'gbc_text', 'html');
 // POST Variablen in das Gaestebuchkommentarobjekt schreiben
 foreach ($_POST as $key => $value) {
     if (strpos($key, 'gbc_') === 0) {
         if (!$guestbook_comment->setValue($key, $value)) {
             // Daten wurden nicht uebernommen, Hinweis ausgeben
             if ($key === 'gbc_email') {
                 $gMessage->show($gL10n->get('SYS_EMAIL_INVALID', $gL10n->get('SYS_EMAIL')));
             }
         }
     }
 }
 if ($getMode === 4) {
     $guestbook_comment->setValue('gbc_gbo_id', $getGboId);
 }
 if (strlen($guestbook_comment->getValue('gbc_name')) > 0 && strlen($guestbook_comment->getValue('gbc_text')) > 0) {
     // Gaestebuchkommentar speichern
     if ($gValidLogin) {
         if (strlen($guestbook_comment->getValue('gbc_name')) === 0) {
             // Falls der User eingeloggt ist, wird die aktuelle UserId und der korrekte Name mitabgespeichert...
    $guestbook_comment->readDataById($getGbcId);
    // Pruefung, ob der Eintrag zur aktuellen Organisation gehoert
    if ($guestbook_comment->getValue('gbo_org_id') != $gCurrentOrganization->getValue('org_id')) {
        $gMessage->show($gL10n->get('SYS_NO_RIGHTS'));
    }
}
if (isset($_SESSION['guestbook_comment_request'])) {
    // durch fehlerhafte Eingabe ist der User zu diesem Formular zurueckgekehrt
    // nun die vorher eingegebenen Inhalte ins Objekt schreiben
    $guestbook_comment->setArray($_SESSION['guestbook_comment_request']);
    unset($_SESSION['guestbook_comment_request']);
}
// Wenn der User eingeloggt ist und keine cid uebergeben wurde
// koennen zumindest Name und Emailadresse vorbelegt werden...
if ($getGbcId === 0 && $gValidLogin) {
    $guestbook_comment->setValue('gbc_name', $gCurrentUser->getValue('FIRST_NAME') . ' ' . $gCurrentUser->getValue('LAST_NAME'));
    $guestbook_comment->setValue('gbc_email', $gCurrentUser->getValue('EMAIL'));
}
if (!$gValidLogin && $gPreferences['flooding_protection_time'] != 0) {
    // Falls er nicht eingeloggt ist, wird vor dem Ausfuellen des Formulars noch geprueft ob der
    // User innerhalb einer festgelegten Zeitspanne unter seiner IP-Adresse schon einmal
    // einen GB-Eintrag erzeugt hat...
    $ipAddress = $_SERVER['REMOTE_ADDR'];
    $sql = 'SELECT COUNT(*)
              FROM ' . TBL_GUESTBOOK_COMMENTS . '
             WHERE unix_timestamp(gbc_timestamp_create) > unix_timestamp()-' . $gPreferences['flooding_protection_time'] . '
               AND gbc_ip_address = \'' . $guestbook_comment->getValue('gbc_ip_address') . '\'';
    $statement = $gDb->query($sql);
    $row = $statement->fetch();
    if ($row[0] > 0) {
        // Wenn dies der Fall ist, gibt es natuerlich keinen Gaestebucheintrag...