%PDF- %PDF-
Direktori : /var/www/pn/wp-content/plugins/elementor/core/app/modules/import-export/ |
Current File : //var/www/pn/wp-content/plugins/elementor/core/app/modules/import-export/export.php |
<?php namespace Elementor\Core\App\Modules\ImportExport; use Elementor\Core\App\Modules\ImportExport\Directories\Root; use Elementor\Plugin; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } class Export extends Iterator { /** * @var \ZipArchive */ private $zip_archive; private $archive_file_name; final public function run() { ob_start(); $this->init_zip_archive(); $root_directory = new Root( $this ); $manifest_data = $root_directory->run_export(); /** * Manifest data from exported kit. * * Filters the manifest data of any exported kit. * * @param array $manifest_data Manifest data. * @param Export $this The export instance. */ $manifest_data = apply_filters( 'elementor/kit/export/manifest-data', $manifest_data, $this ); $this->set_current_archive_path( '' ); $this->add_json_file( 'manifest', $manifest_data ); $this->zip_archive->close(); return [ 'manifest' => $manifest_data, 'file_name' => $this->archive_file_name, ]; } public function add_json_file( $name, $content, $json_flags = null ) { $this->add_file( $name . '.json', wp_json_encode( $content, $json_flags ) ); } public function add_file( $file_name, $content ) { $this->zip_archive->addFromString( $this->get_archive_file_path( $file_name ), $content ); } private function init_zip_archive() { $zip_archive = new \ZipArchive(); $this->temp_dir = Plugin::$instance->uploads_manager->create_unique_dir(); $this->archive_file_name = $this->temp_dir . 'kit.zip'; $zip_archive->open( $this->archive_file_name, \ZipArchive::CREATE | \ZipArchive::OVERWRITE ); $this->zip_archive = $zip_archive; } }