Files
roi-theme/wp-content/plugins/thrive-ultimatum/thrive-dashboard/inc/notification-inbox/includes/init/class-ni-message.php
root a22573bf0b Commit inicial - WordPress Análisis de Precios Unitarios
- WordPress core y plugins
- Tema Twenty Twenty-Four configurado
- Plugin allow-unfiltered-html.php simplificado
- .gitignore configurado para excluir wp-config.php y uploads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 21:04:30 -06:00

148 lines
2.1 KiB
PHP
Executable File

<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-dashboard
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
/**
* Class TD_Inbox_Message
*
* Build the Message object, required for push_notification
*/
class TD_Inbox_Message {
/**
* Type of the message [used on displaying in API Connections]
*/
const TYPE_API = 'api_connections';
/**
* Message inbox type [used on displaying in Dash Inbox]
*/
const TYPE_INBOX = 'inbox';
/**
* @var string
*/
private $id;
/**
* @var string
*/
private $title;
/**
* @var string
*/
private $info;
/**
* @var int
*/
private $read = 0;
/**
* @var string
*/
private $date;
/**
* @var null
*/
private $slug = null;
/**
* @var null
*/
private $type = null;
/**
* TD_Inbox_Message constructor.
*
* @param $data
*
* @throws Exception
*/
public function __construct( $data ) {
if ( ! is_array( $data ) ) {
throw new Exception( __METHOD__ . __( ' message must be array ', 'thrive-dash' ) );
}
if ( empty( $data['title'] ) ) {
throw new Exception( __METHOD__ . __( ' title can not be empty.. ', 'thrive-dash' ) );
}
$this->_set( $data );
}
/**
* Returns objects properties as array
*
* @return array
*/
public function to_array() {
return (array) $this->_get_data();
}
/**
* Returns objects properties as json
*
* @return false|mixed|string|void
*/
public function to_json() {
return json_encode( $this->_get_data() );
}
/**
* @param $property
*
* @return bool
*/
public function get_property( $property ) {
if ( ! isset( $this->{$property} ) ) {
return false;
}
return $this->{$property};
}
/**
* Returns all object accessible non-static properties in this scope
*
* @return array
*/
private function _get_data() {
return get_object_vars( $this );
}
/**
* @param $data
*/
private function _set( $data ) {
foreach ( $data as $key => $value ) {
if ( property_exists( $this, $key ) ) {
$this->{$key} = $value;
}
}
if ( $this->title ) {
$this->id = md5( $this->title );
}
$this->date = date( 'jS F Y' );
$this->read = 0;
}
}