| Current Path : /var/www/html/administrator/components/com_jchat/Table/ |
| Current File : /var/www/html/administrator/components/com_jchat/Table/MessagesTable.php |
<?php
namespace JExtstore\Component\JChat\Administrator\Table;
/**
*
* @package JCHAT::MESSAGES::administrator::components::com_jchat
* @subpackage tables
* @author Joomla! Extensions Store
* @copyright (C) 2024 - Joomla! Extensions Store
* @license GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html
*/
defined ( '_JEXEC' ) or die ( 'Restricted access' );
use Joomla\Database\DatabaseInterface;
use Joomla\Database\DatabaseDriver;
use Joomla\Event\DispatcherInterface;
use Joomla\CMS\Table\Table;
use JExtstore\Component\JChat\Administrator\Framework\Exception\Exceptions;
/**
* Messages table
*
* @package JCHAT::MESSAGES::administrator::components::com_jchat
* @subpackage tables
* @since 1.0
*/
class MessagesTable extends Table {
use Exceptions;
/**
* DatabaseInterface object.
* @protected DatabaseInterface Object
*/
protected $dbo;
/**
* @var int Primary key
*/
public $id = 0;
/**
* @var string
*/
public $from = '';
/**
* @var string
*/
public $to = '';
/**
* @var int
*/
public $fromuser = null;
/**
* @var int
*/
public $touser = null;
/**
* @var string
*/
public $message = '';
/**
* @var string
*/
public $sent = 0;
/**
* @var int
*/
public $read = 0;
/**
* @var string
*/
public $type = 'message';
/**
* @var int
*/
public $status = 0;
/**
* @var int
*/
public $clientdeleted = 0;
/**
* @var string
*/
public $actualfrom = '';
/**
* @var string
*/
public $actualto = '';
/**
* @var int
*/
public $sentroomid = null;
/**
* @var string
*/
public $ipaddress = null;
/**
* Delete Table override
* @override
*
* @see Table::delete()
*/
public function delete($pk = null) {
$messageDeleted = parent::delete($pk);
if($messageDeleted) {
// Delete reference table messages by foreign key
$query = method_exists ( $this->dbo, 'createQuery' ) ? $this->dbo->createQuery () : $this->dbo->getQuery ( true );
$query = $query->delete('#__jchat_public_readmessages');
$query->where('messageid = ' . (int)$pk);
// Check for a database error.
try {
$this->dbo->setQuery($query);
$this->dbo->execute();
} catch(\Exception $e) {
$messageDeleted = false;
}
}
return $messageDeleted;
}
/**
* Class constructor
* @param DatabaseDriver $db DatabaseDriver object.
* @param DispatcherInterface $dispatcher Event dispatcher for this table
*
* return Object&
*/
public function __construct(DatabaseInterface $db, ?DispatcherInterface $dispatcher = null) {
parent::__construct ( '#__jchat', 'id', $db, $dispatcher );
$this->dbo = $db;
}
}