/** * 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 L’Oréal: Paars haar | Klacht.nl KLACHT.nl

Klacht: Paars haar

NinaBenning op 12 augustus 2015 over L’Oréal in de categorie Verzorgingsprodukten

Nieuwe klacht
In behandeling
Klacht opgelost
Klacht afgesloten
L’Oréal has resolved this complaint
Klacht opgelost op 14 augustus 2015
Reactie van het bedrijf:

Telefonisch contact gehad, Nina gaat met de Casting Creme Gloss herkleuren.

Bedrijf L’Oréal
Status Opgelost
Datum 12 augustus 2015

Een consument kocht een pakje crème haarverf van L'Oréal met de aanduiding licht caramel bruin, in de hoop zijn geblondeerde haar een bruinere tint te geven. Na het uitwassen van de verf bleek zijn haar echter donker paars te zijn. Deze klacht is inmiddels opgelost.

Mijn Klacht:

Ik had een pakje crème close haarverf van L’Oréal gekocht. Op het pakje stond licht caramel bruin. Ik had zelf geblondeerd haar en wou het gewoon weer een bruinere tint maken. Toen ik de haarverf er uit waste was mijn haar donker paars.

Gewenste Oplossing:

Als mijn haar gewoon weer bruin is

Bericht van Robin van Klacht.nl

11 jaren geleden - Ik heb een email gestuurd naar L’Oréal over deze klacht.

Bericht van Robin van Klacht.nl

11 jaren geleden - Deze klacht is zojuist door L’Oréal in behandeling genomen

Bericht van Robin van Klacht.nl

11 jaren geleden - We hebben bericht ontvangen dat L’Oréal een oplossing geplaatst heeft bij deze klacht

L’Oréal

Heeft op 14 augustus 2015 om 13:34 geantwoord

Geboden Oplossing:

Telefonisch contact gehad, Nina gaat met de Casting Creme Gloss herkleuren.

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