/** * Admin page for AI-generated text held back over a person's name (#190). * * Separate from the PII file screen because the modality is different — that one * moderates attachments, this one moderates text we generated ourselves — but the * principle is the same: withhold, show a human what was found, let them decide. */ add_action('admin_menu', function () { add_submenu_page( 'gd-complaints-system/gd-complaints-system.php', 'AI-tekst met persoonsnaam', 'AI-tekst met persoonsnaam', 'manage_options', 'klacht-ai-name-review', 'klacht_ai_name_review_page' ); }); function klacht_ai_name_review_page() { global $wpdb; if (!current_user_can('manage_options')) { wp_die('Unauthorized'); } $fields = klacht_ai_reviewable_fields(); // Single actions if (isset($_GET['ai_action'], $_GET['pid'], $_GET['field'])) { $pid = (int)$_GET['pid']; $field = sanitize_text_field($_GET['field']); if (isset($fields[$field]) && wp_verify_nonce($_GET['_wpnonce'] ?? '', 'ai_name_' . $pid . '_' . $field)) { $pending = get_post_meta($pid, $field . '_pending', true); if ($_GET['ai_action'] === 'publish' && $pending !== '') { update_post_meta($pid, $field, $pending); delete_post_meta($pid, $field . '_pending'); delete_post_meta($pid, $field . '_name_review'); echo '

' . esc_html($fields[$field]) . ' van #' . $pid . ' gepubliceerd.

'; } elseif ($_GET['ai_action'] === 'discard') { delete_post_meta($pid, $field . '_pending'); delete_post_meta($pid, $field . '_name_review'); echo '

Concept van #' . $pid . ' verwijderd. De tekst wordt opnieuw gegenereerd wanneer de pagina daarom vraagt.

'; } } } echo '

AI-tekst met persoonsnaam

'; echo '
Deze teksten zijn niet gepubliceerd. ' . 'De detectie meldt kandidaten, geen zekerheid: een bedrijfsnaam die op een persoon lijkt of de eigen naam van de melder komt hier ook terecht. ' . 'Publiceren zet de tekst alsnog live; Verwerpen gooit het concept weg.
'; $rows = []; foreach ($fields as $key => $label) { $found = $wpdb->get_results($wpdb->prepare( "SELECT post_id, meta_value FROM {$wpdb->postmeta} WHERE meta_key = %s ORDER BY post_id DESC LIMIT 200", $key . '_name_review' )); foreach ((array)$found as $row) { $rows[] = [ 'post_id' => (int)$row->post_id, 'field' => $key, 'label' => $label, 'names' => json_decode($row->meta_value, true), ]; } } if (!$rows) { echo '

Niets in afwachting van beoordeling.

'; return; } echo '' . '' . ''; foreach ($rows as $row) { $nonce = wp_create_nonce('ai_name_' . $row['post_id'] . '_' . $row['field']); $base = ['page' => 'klacht-ai-name-review', 'pid' => $row['post_id'], 'field' => $row['field'], '_wpnonce' => $nonce]; $pending = (string)get_post_meta($row['post_id'], $row['field'] . '_pending', true); echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } echo '
KlachtTekstGevonden namenConceptActies
#' . (int)$row['post_id'] . '' . esc_html($row['label']) . '' . esc_html(implode(', ', (array)$row['names'])) . '
' . nl2br(esc_html(mb_substr($pending, 0, 1200))) . '
' . 'Publiceren ' . 'Verwerpen' . '
'; } Klacht over Action: Kapotte tas | Klacht.nl KLACHT.nl

Klacht: Kapotte tas

Berfinermis op 13 september 2013 over Action in de categorie Huishoudelijke winkels

Nieuwe klacht
In behandeling
Klacht opgelost
Klacht afgesloten
🔄 In behandeling
Bedrijf Action
Status In behandeling
Datum 13 september 2013

Een klant heeft een tas gekocht bij Action, maar ontdekte kort na de aankoop dat de tas beschadigd was. Bij terugkomst in de winkel kreeg de klant te horen dat er geen actie kon worden ondernomen zonder het aankoopbewijs, dat verloren was gegaan.

Mijn Klacht:

Ik ben vandaag met mijn zoon langs de action geweest en heb een tas gekocht voor mijzelf. De tas uit de nieuwe folder. Ik kon niet kiezen uit twee kleuren dus heb ik niet gelet of de tas wel in goede staat was. Omdat mijn zoon zich niet lekker voelde heb ik gelijk de winkel verlaten, om hem bij het dichtsbijzinde kfc even naar het toilet te brengen. Door mijn haast ben ik het bonnetje dat ik in mijn hand gedrukt kreeg, ergens tussen deze twee winkels verloren. Toen ik mijn oude tas wou vervangen door mijn nieuwe (die ik nog geen 20 minuten geleden gekocht had) zag ik tot mijn verbazing dat het gedeelte waar de handvat aan vast zat was gescheurd. Ik ben gelijk terug gegaan naar de action en heb het uitgelegd. Zij vertelden mij dat ze er niks aan konden doen zolang ik geen bon had. Ik vindt dit verre van normaal. Ik kreeg temaken met dezelfde cassiére die mij geholpen had, er was nog geen half uur voorbij dus dat was genoeg bewijs om tr weten waar ik het had gekocht. Alle winkels hebben een bongeschiedenis en de contactpersoon die ik te spreken kreeg via de telefoon zei dat ze dat niet konden uitschrijven voor me “wegens huisregels”. Ik ben heel erg gefrustreerd en weet zeker dat ik daar niet meer kom, nadat dit is opgelost!!

Gewenste Oplossing:

Geld terug / nieuwe tas

Bericht van Robin van Klacht.nl

12 jaren geleden - Deze klacht is zojuist door Action in behandeling genomen

Bericht van Action

12 jaren geleden - We hebben de klant rechtstreeks beantwoord. Klantenservice Action

Alle klachten die gemeld zijn door
💡

Tip van onze consumentenexpert

Als consument in Nederland heeft u sterke rechten. Bij klachten kunt u de interne klachtenprocedure doorlopen, naar de Geschillencommissie of het Kifid stappen, of advies vragen bij ConsuWijzer.

Bron: ConsuWijzer / ACM