HEX
Server: LiteSpeed
System: Linux s166.bitcommand.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: h340499 (1922)
PHP: 8.2.16
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/h340499/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/Log/Entry.php
<?php

namespace WPML\TM\ATE\Log;

class Entry {

	/**
	 * @var int $timestamp The log's creation timestamp.
	 */
	public $timestamp = 0;

	/**
	 * @see EventsTypes
	 *
	 * @var int $eventType The event code that triggered the log.
	 */
	public $eventType = 0;

	/**
	 * @var string $description The details of the log (e.g. exception message).
	 */
	public $description = '';

	/**
	 * @var int $wpmlJobId [Optional] The WPML Job ID (when applies).
	 */
	public $wpmlJobId = 0;

	/**
	 * @var int $ateJobId [Optional] The ATE Job ID (when applies).
	 */
	public $ateJobId = 0;

	/**
	 * @var array $extraData [Optional] Complementary serialized data (e.g. API request/response data).
	 */
	public $extraData = [];

	/**
	 * @param array $item
	 *
	 * @return Entry
	 */
	public function __construct( array $item = null ) {
		if ( $item ) {
			$this->timestamp   = (int) $item['timestamp'];
			$this->eventType   = (int) ( isset( $item['eventType'] ) ? $item['eventType'] : $item['event'] );
			$this->description = $item['description'];
			$this->wpmlJobId   = (int) $item['wpmlJobId'];
			$this->ateJobId    = (int) $item['ateJobId'];
			$this->extraData   = (array) $item['extraData'];
		}
	}

	public static function createForType($eventType, $extraData) {
		$entry = new self();
		$entry->eventType = $eventType;
		$entry->extraData = $extraData;

		return $entry;
	}

	public static function retryJob( $wpmlJobId, $extraData ) {
		$entry = self::createForType(EventsTypes::JOB_RETRY, $extraData);
		$entry->wpmlJobId = $wpmlJobId;

		return $entry;
	}

	/**
	 * @return string
	 */
	public function getFormattedDate() {
		return date_i18n( 'Y/m/d g:i:s A', $this->timestamp );
	}

	/**
	 * @return string
	 */
	public function getExtraDataToString() {
		return json_encode( $this->extraData );
	}
}