ID, '_ttdvr_verification_id', true ); $recipient_name = get_post_meta( $post->ID, '_ttdvr_recipient_name', true ); $phone = get_post_meta( $post->ID, '_ttdvr_phone', true ); $email = get_post_meta( $post->ID, '_ttdvr_email', true ); $date_of_birth = get_post_meta( $post->ID, '_ttdvr_date_of_birth', true ); $address = get_post_meta( $post->ID, '_ttdvr_address', true ); $document_type = get_post_meta( $post->ID, '_ttdvr_document_type', true ); $document_type_other = get_post_meta( $post->ID, '_ttdvr_document_type_other', true ); $awarding_body = get_post_meta( $post->ID, '_ttdvr_awarding_body', true ); $course_subject = get_post_meta( $post->ID, '_ttdvr_course_subject', true ); $grade = get_post_meta( $post->ID, '_ttdvr_grade', true ); $performance = get_post_meta( $post->ID, '_ttdvr_performance', true ); $issued_date = get_post_meta( $post->ID, '_ttdvr_issued_date', true ); $effective_until_date = get_post_meta( $post->ID, '_ttdvr_effective_until_date', true ); $document_pdf_url = get_post_meta( $post->ID, '_ttdvr_document_pdf_url', true ); $course_details_remarks = get_post_meta( $post->ID, '_ttdvr_course_details_remarks', true ); $document_type_options = array( '' => esc_html__( 'Select Document Type', '24tt-document-verifier' ), 'Letter' => esc_html__( 'Letter', '24tt-document-verifier' ), 'Certificate of Merit' => esc_html__( 'Certificate of Merit', '24tt-document-verifier' ), 'Certificate of Completion' => esc_html__( 'Certificate of Completion', '24tt-document-verifier' ), 'Memorandum of Understanding' => esc_html__( 'Memorandum of Understanding', '24tt-document-verifier' ), 'Proposal' => esc_html__( 'Proposal', '24tt-document-verifier' ), 'Invoice' => esc_html__( 'Invoice', '24tt-document-verifier' ), 'Receipt' => esc_html__( 'Receipt', '24tt-document-verifier' ), 'Quotation' => esc_html__( 'Quotation', '24tt-document-verifier' ), 'Contract/Agreement' => esc_html__( 'Contract/Agreement', '24tt-document-verifier' ), 'Company Resolution' => esc_html__( 'Company Resolution', '24tt-document-verifier' ), 'Offer' => esc_html__( 'Offer', '24tt-document-verifier' ), 'Business Letter' => esc_html__( 'Business Letter', '24tt-document-verifier' ), 'Other' => esc_html__( 'Other (specify below)', '24tt-document-verifier' ), ); ?>


%

'_ttdvr_verification_id', 'ttdvr_recipient_name' => '_ttdvr_recipient_name', 'ttdvr_phone' => '_ttdvr_phone', 'ttdvr_email' => '_ttdvr_email', 'ttdvr_date_of_birth' => '_ttdvr_date_of_birth', 'ttdvr_address' => '_ttdvr_address', 'ttdvr_document_type' => '_ttdvr_document_type', 'ttdvr_document_type_other' => '_ttdvr_document_type_other', 'ttdvr_awarding_body' => '_ttdvr_awarding_body', 'ttdvr_course_subject' => '_ttdvr_course_subject', 'ttdvr_grade' => '_ttdvr_grade', 'ttdvr_performance' => '_ttdvr_performance', 'ttdvr_issued_date' => '_ttdvr_issued_date', 'ttdvr_effective_until_date' => '_ttdvr_effective_until_date', 'ttdvr_document_pdf_url' => '_ttdvr_document_pdf_url', 'ttdvr_course_details_remarks' => '_ttdvr_course_details_remarks', ); // 5. Sanitize and Save foreach ( $fields as $input_name => $meta_key ) { $posted_value = isset( $_POST[ $input_name ] ) ? wp_unslash( $_POST[ $input_name ] ) : ''; // --- THE NEW SHIELD: Catch the Verification ID before it saves --- if ( 'ttdvr_verification_id' === $input_name ) { $new_value = sanitize_text_field( $posted_value ); if ( ! empty( $new_value ) ) { // Check if this ID exists on any OTHER document $existing_post = $wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key = '_ttdvr_verification_id' AND meta_value = %s AND post_id != %d LIMIT 1", $new_value, $post_id ) ); // Neutralize the duplicate! if ( $existing_post ) { $new_value = $new_value . '-DUP-' . wp_rand( 1000, 9999 ); // Fire a warning transient to alert the admin on the next screen load set_transient( 'ttdvr_duplicate_id_warning', 'Security Alert: The Document ID you entered already existed! To protect system integrity, it was automatically changed to: ' . $new_value, 45 ); } } } // --- END NEW SHIELD --- // Standard sanitation for all other fields elseif ( 'ttdvr_email' === $input_name ) { $new_value = sanitize_email( $posted_value ); } elseif ( 'ttdvr_document_pdf_url' === $input_name ) { $new_value = esc_url_raw( $posted_value ); } elseif ( 'ttdvr_address' === $input_name || 'ttdvr_course_details_remarks' === $input_name ) { $new_value = sanitize_textarea_field( $posted_value ); } elseif ( 'ttdvr_performance' === $input_name ) { $new_value = absint( $posted_value ); if ( $new_value > 100 ) $new_value = 100; } else { $new_value = sanitize_text_field( $posted_value ); } update_post_meta( $post_id, $meta_key, $new_value ); } } }