403Webshell
Server IP : 43.141.49.119  /  Your IP : 113.219.202.141
Web Server : Apache
System : Linux VM-8-5-opencloudos 6.6.34-9.oc9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jun 19 19:35:45 CST 2024 x86_64
User : www ( 1000)
PHP Version : 8.1.27
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /www/wwwroot/www.ucppt.com/wp-content/plugins/simple-csv-exporter/src/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/wwwroot/www.ucppt.com/wp-content/plugins/simple-csv-exporter/src/Exporter.php
<?php

namespace HAMWORKS\WP\Simple_CSV_Exporter;

/**
 * Class Exporter
 *
 * @package HAMWORKS\WP\Simple_CSV_Exporter
 */
class Exporter {
	/**
	 * @var Nonce
	 */
	private Nonce $nonce;

	/**
	 * @var Data_Builder
	 */
	private Data_Builder $data_builder;

	/**
	 * @var CSV_Writer
	 */
	private CSV_Writer $csv_writer;

	/**
	 * Exporter
	 *
	 * @param Nonce $nonce
	 * @param Data_Builder $data_builder
	 * @param CSV_Writer $csv_writer
	 */
	public function __construct( Nonce $nonce, Data_Builder $data_builder, CSV_Writer $csv_writer ) {
		$this->nonce        = $nonce;
		$this->data_builder = $data_builder;
		$this->csv_writer   = $csv_writer;

		$this->process_request();
	}

	private function process_request() {
		if ( ! $this->nonce->verify() ) {
			return;
		}

		if ( ! current_user_can( 'export' ) ) {
			wp_die( esc_html__( 'Sorry, you are not allowed to export the content of this site.', 'default' ) );
		}

		if ( $this->data_builder ) {
			$this->do_export();
		} else {
			wp_die( 'No data!' );
		}
	}

	private function do_export() {
		$this->send_headers( $this->data_builder->get_name() . '.csv' );
		$this->csv_writer->set_rows( $this->data_builder );
		$this->csv_writer->set_file_name( 'php://output' );

		try {
			$this->csv_writer->render();
		} catch ( \Exception $e ) {
			wp_die( esc_html( $e->getMessage() ) );
		}

		exit();
	}

	/**
	 * Response headers.
	 *
	 * @param string $file_name
	 */
	private function send_headers( string $file_name ) {
		header( 'Content-Type: application/octet-stream' );
		header( "Content-Disposition: attachment; filename={$file_name}" );
		header( 'Content-Transfer-Encoding: binary' );
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit