Server IP : 192.64.112.168 / Your IP : 3.137.198.37 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/database/models/ |
Upload File : |
<?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(), ]; } }