You are here

function guestbook_form_entry_form_submit in Guestbook 5

Same name and namespace in other branches
  1. 5.2 guestbook.module \guestbook_form_entry_form_submit()
  2. 6.2 guestbook.module \guestbook_form_entry_form_submit()
  3. 6 guestbook.module \guestbook_form_entry_form_submit()
  4. 7.2 guestbook.module \guestbook_form_entry_form_submit()

File

./guestbook.module, line 467

Code

function guestbook_form_entry_form_submit($form_id, $edit) {
  global $user;
  $uid = $edit['uid'];
  $message = $edit['message'];

  // Make sure this isn't a dupe.
  $result = db_query("SELECT message FROM {guestbook} WHERE recipient = %d ORDER BY id DESC LIMIT 1", $uid);
  $entry = db_fetch_array($result);
  if ($entry['message'] == $message) {
    return;
  }

  // No empty entries.
  if ($message == '') {
    return;
  }
  if (module_exists('spam')) {

    // Is this spam?
    $spamcheck = $edit['anonname'] . ' ' . $edit['anonemail'] . ' ' . $edit['anonwebsite'];
    if (spam_content_filter('guestbook', 1, $spamcheck, $message, '_guestbook_spam')) {
      return;
    }
  }

  // E-mail notification.
  $iSendEmail = '';
  $guestbook_mode = variable_get('guestbook_mode', GUESTBOOK_SITE_GUESTBOOK | GUESTBOOK_USER_GUESTBOOKS);
  if ($uid == 0 && $guestbook_mode & GUESTBOOK_SITE_GUESTBOOK) {
    $iSendEmail = variable_get('guestbook_send_email', '');
  }
  else {
    if ($guestbook_mode & GUESTBOOK_USER_GUESTBOOKS) {
      $guestbook_user = $uid != $user->uid ? user_load(array(
        'uid' => $uid,
        'status' => 1,
      )) : $user;
      if ($guestbook_user->uid && $guestbook_user->guestbook_status == 0 && $guestbook_user->guestbook_send_email) {
        $iSendEmail = $guestbook_user->mail;
      }
    }
  }
  $from = variable_get('site_mail', ini_get('sendmail_from'));
  if ($iSendEmail) {
    drupal_mail('guestbook_notification', $iSendEmail, 'New guestbook entry', $message, $from);
  }

  // Insert new message
  if (_guestbook_access('post', $uid) == 'allowed') {
    if ($user->uid == 0) {

      // Anonymous user.
      $entryid = db_next_id('{guestbook}_id');
      $result = db_query("INSERT INTO {guestbook} (id, anonname, anonemail, anonwebsite, author, recipient, message, created)\n        VALUES(%d, '%s', '%s', '%s', %d, %d, '%s', %d)", $entryid, $edit['anonname'], $edit['anonemail'], $edit['anonwebsite'], 0, $uid, $message, time());
    }
    else {

      // Authenticated user.
      $entryid = db_next_id('{guestbook}_id');
      $result = db_query("INSERT INTO {guestbook} (id, author, recipient, message, created)\n        VALUES(%d, %d, %d, '%s', %d)", $entryid, $user->uid, $uid, $message, time());
    }
  }
  return 'guestbook/' . $uid;
}