contacts_db->get_contact_id_by_email($email); if ($id <= 0) { return ''; } $kontakt = (array) $es->contacts_db->get_by_id($id); $geaendert = false; if ($wirkung !== 'beschwerde' && (string) ($kontakt['bounce_status'] ?? '0') !== '2') { $geaendert = (bool) $wpdb->update(IG_CONTACTS_TABLE, ['bounce_status' => '2', 'updated_at' => gmdate('Y-m-d H:i:s')], ['id' => $id]); // phpcs:ignore WordPress.DB.DirectDatabaseQuery } // edit_subscriber_status liefert die Zahl geaenderter Listenzeilen (is_status_update_required nutzt MySQL-"&&") $geaendert = (int) $es->lists_contacts_db->edit_subscriber_status([$id], 'unsubscribed') > 0 || $geaendert; if ((int) ($kontakt['unsubscribed'] ?? 0) !== 1) { $geaendert = $es->contacts_db->edit_contact_global_status([$id], 1) > 0 || $geaendert; } if (!$geaendert) { return 'unchanged'; } return $wirkung === 'beschwerde' ? 'unsubscribed' : 'bounced'; } }