HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: /home/mirz4654/www/wp-content/plugins/elementor-pro/modules/notes/database/models/document.php
<?php

namespace ElementorPro\Modules\Notes\Database\Models;

use ElementorPro\Plugin;
use ElementorPro\Core\Database\Model_Base;
use ElementorPro\Core\Database\Join_Clause;
use ElementorPro\Core\Database\Query_Builder;
use Elementor\Core\Base\Document as OriginalDocument;

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

class Document extends Model_Base {
	/**
	 * The document id (post_id)
	 *
	 * @var integer
	 */
	public $ID;

	/**
	 * The type of the document (post meta key = '_elementor_template_type')
	 *
	 * @var string
	 */
	public $type;

	/**
	 * Casts array.
	 *
	 * @var array
	 */
	protected static $casts = [
		'ID' => self::TYPE_INTEGER,
	];

	/**
	 * Override the default Query Builder.
	 *
	 * @param \wpdb|null $connection
	 *
	 * @return Query_Builder
	 */
	public static function query( \wpdb $connection = null ) {
		// PHPCS has an error without any reason, the method 'query' is not related to the `wpdb` object.
		return parent::query( $connection ) // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
			->select( [
				'ID',
				'type' => 'postmeta.meta_value',
			] )
			->left_join( function ( Join_Clause $j ) {
				return $j->table( 'postmeta' )
					->on_column( 'posts.ID', '=', 'postmeta.post_id' )
					->on( 'postmeta.meta_key', '=', OriginalDocument::TYPE_META_KEY );
			} );
	}

	/**
	 * Get the posts table name.
	 *
	 * @return string
	 */
	public static function get_table() {
		return 'posts';
	}

	/**
	 * Get the label of a document.
	 *
	 * @return string|null
	 */
	public function get_type_title() {
		if ( ! $this->type ) {
			return null;
		}

		$type_classname = Plugin::elementor()->documents->get_document_type( $this->type );

		return $type_classname ? $type_classname::get_title() : null;
	}

	/**
	 * Return a JSON serialized representation of the User.
	 *
	 * @return array
	 */
	#[\ReturnTypeWillChange]
	public function jsonSerialize() {
		return [
			'id' => $this->ID,
			'type' => $this->type,
			'type_title' => $this->get_type_title(),
		];
	}
}