LLMS_Privacy_Exporters::maybe_add_export_files( string $archive_pathname, string $archive_url, string $html_report_pathname, int $request_id )
Add files to the zip file for a data export request.
Description Description
Adds certificate files into the /certificates/
directory within the archive.
Parameters Parameters
- $archive_pathname
-
(string) (Required) Full path to the zip archive.
- $archive_url
-
(string) (Required) Full URI to the zip archive.
- $html_report_pathname
-
(string) (Required) Full path to the .html file within the archive.
- $request_id
-
(int) (Required) WP Post ID of the export request.
Return Return
(void)
Source Source
File: includes/privacy/class-llms-privacy-exporters.php
public static function maybe_add_export_files( $archive_pathname, $archive_url, $html_report_pathname, $request_id ) { if ( ! class_exists( 'ZipArchive' ) ) { return; } $request = wp_get_user_request( $request_id ); $student = self::get_student_by_email( $request->email ); if ( ! $student ) { return; } $certs = self::get_student_certificates( $student ); if ( ! $certs ) { return; } $zip = new ZipArchive(); $delete = array(); if ( true === $zip->open( $archive_pathname ) ) { foreach ( $certs as $cert ) { $filepath = llms()->certificates()->get_export( $cert->get( 'id' ), true ); $delete[ $cert->certificate_id ] = $filepath; if ( is_wp_error( $filepath ) ) { continue; } $zip->addFile( $filepath, '/certificates/' . basename( $filepath ) ); } } $zip->close(); // cleanup all files foreach ( $delete as $id => $path ) { wp_delete_file( $path ); delete_post_meta( $id, '_llms_export_filepath' ); } }
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
6.0.0 | Replaced the use of the deprecated wp_get_user_request_data() function with wp_get_user_request() . |
3.18.0 | Introduced. |