File "thread.php"
Full Path: /home/romayxjt/public_html/wp-content/plugins/vikbooking/admin/layouts/chat/threads/thread.php
File size: 3.5 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* @package VikBooking
* @subpackage com_vikbooking
* @author Alessio Gaggii - E4J srl
* @copyright Copyright (C) 2025 E4J srl. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
* @link https://vikwp.com
*/
defined('ABSPATH') or die('No script kiddies please!');
/**
* Display data attributes.
*
* @var VBOChatMessage $thread
* @var array $options
*/
extract($displayData);
/** @var VBOChatContext */
$context = $thread->getContext();
/** @var VBOChatUser[] */
$recipients = array_filter($context->getRecipients(), function($user) use ($thread) {
return $user->getID() == $thread->getSenderID();
});
/** @var VBOChatUser */
$user = array_shift($recipients) ?: new VBOChatUserNull($thread->getSenderID(), $thread->getSenderName());
// obtain contents of last message
$message = $thread->getMessage();
// stringify attachments
$attachments = implode(', ', array_map(function($a) {
return $a->getName();
}, $thread->getAttachments()));
// thread last update
$lastUpdate = $thread->getCreationDate();
$dateFormat = $options['dateformat'] ?? 'Y-m-d';
?>
<div
class="chat-thread"
data-context="<?php echo htmlspecialchars($context->getAlias()); ?>"
data-id="<?php echo (int) $context->getID(); ?>"
data-date="<?php echo htmlspecialchars($lastUpdate); ?>"
data-read="<?php echo (int) $thread->isRead(); ?>"
>
<div class="chat-thread-avatar">
<?php if ($url = $user->getAvatar()): ?>
<img src="<?php echo $url; ?>" decoding="async" loading="lazy" />
<?php else:
$names = preg_split("/\s+/", $user->getName() ?: $thread->getSenderName());
?>
<span><?php echo strtoupper(substr((string) array_shift($names), 0, 1) . substr((string) array_pop($names), 0, 1)) ?></span>
<?php endif; ?>
</div>
<div class="chat-thread-content">
<div class="chat-thread-head">
<div class="chat-thread-context">
<strong class="context-subject"><?php echo $context->getSubject(); ?></strong>
<span class="message-author">
<?php echo $user->getName() ?: $thread->getSenderName(); ?>
</span>
</div>
<div class="chat-thread-datetime">
<span class="last-update-time"><?php echo JHtml::fetch('date', $lastUpdate, $options['timeformat'] ?? 'H:i'); ?></span>
<span class="last-update-date">
<?php
$date = JHtml::fetch('date', $lastUpdate, $dateFormat);
if ($date === JHtml::fetch('date', 'now', $dateFormat)) {
echo JText::translate('VBTODAY');
} else if ($date === JHtml::fetch('date', '-1 day', $dateFormat)) {
echo JText::translate('VBOYESTERDAY');
} else {
echo $date;
}
?>
</span>
</div>
</div>
<div class="chat-thread-message-body" data-length="<?php echo strlen((string) $message); ?>">
<?php echo JHtml::fetch('vikbooking.shorten', $message, 80); ?>
</div>
<div class="chat-thread-message-attachments" data-length="<?php echo strlen($attachments); ?>">
<i class="fas fa-paperclip"></i> <span>
<?php echo JHtml::fetch('vikbooking.shorten', $attachments, 80); ?></span>
</div>
</div>
</div>