Files
doitinpoland.com/wp-content/plugins/sitepress-multilingual-cms/classes/translation-feedback/model/message/wpml-tf-message.php
2023-09-12 21:41:04 +02:00

100 lines
2.0 KiB
PHP

<?php
/**
* Class WPML_TF_Message
*
* @author OnTheGoSystems
*/
class WPML_TF_Message implements IWPML_TF_Data_Object {
/** @var int $id */
private $id;
/** @var int $feedback_id */
private $feedback_id;
/** @var string $date_created */
private $date_created;
/** @var string $content */
private $content;
/** @var string $author_id */
private $author_id;
/**
* WPML_Translation_Feedback constructor.
*
* @param array $data
*/
public function __construct( $data = array() ) {
$this->id = array_key_exists( 'id', $data ) ? (int) $data['id'] : null;
$this->feedback_id = array_key_exists( 'feedback_id', $data ) ? (int) $data['feedback_id'] : null;
$this->date_created = array_key_exists( 'date_created', $data )
? sanitize_text_field( $data['date_created'] ) : null;
$this->content = array_key_exists( 'content', $data )
? sanitize_text_field( $data['content'] ) : null;
$this->author_id = array_key_exists( 'author_id', $data )
? (int) $data['author_id'] : null;
}
/**
* @return int|mixed|null
*/
public function get_id() {
return $this->id;
}
/**
* @return int|null
*/
public function get_feedback_id() {
return $this->feedback_id;
}
/**
* @param \WPML_TF_Message $message
*/
public function add_message( WPML_TF_Message $message ) {
return;
}
/**
* @return mixed|null|string
*/
public function get_date_created() {
return $this->date_created;
}
/**
* @return mixed|null|string
*/
public function get_content() {
return $this->content;
}
/**
* @return int|null
*/
public function get_author_id() {
return $this->author_id;
}
/** @return string */
public function get_author_display_label() {
$label = __( 'Translator', 'sitepress' );
if ( user_can( $this->get_author_id(), 'manage_options' ) ) {
$label = __( 'Admin', 'sitepress' );
}
return $label;
}
/** @return bool */
public function author_is_current_user() {
$current_user = wp_get_current_user();
return $current_user->ID === $this->author_id;
}
}