| Current Path : /var/www/html/components/com_jchat/Model/ |
| Current File : /var/www/html/components/com_jchat/Model/FormModel.php |
<?php
namespace JExtstore\Component\JChat\Site\Model;
/**
* @package JCHAT::FORM::components::com_jchat
* @subpackage models
* @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\CMS\MVC\Factory\MVCFactoryInterface;
use JExtstore\Component\JChat\Administrator\Framework\Model as JChatModel;
use JExtstore\Component\JChat\Administrator\Framework\Helpers\Users as JChatHelpersUsers;
/**
* Group users chat model
*
* @package JCHAT::FORM::components::com_jchat
* @subpackage models
* @since 1.0
*/
class FormModel extends JChatModel {
/**
* Private view params
*
* @access private
* @var object
*/
private $cparams;
/**
* Main get data method
*
* @access public
* @return Object[]
*/
public function getData(): array {
$return = [];
$data = new \stdClass();
// Get current guest user name
$data->guestName = JChatHelpersUsers::generateRandomGuestNameSuffix(session_id(), $this->cparams);
// Get meeting details
if($meetingHash = $this->getState('meeting_hash')) {
$meetingQuery = "SELECT" .
"\n " . $this->dbInstance->quoteName('hash') . "," .
"\n " . $this->dbInstance->quoteName('name') . "," .
"\n " . $this->dbInstance->quoteName('description') . "," .
"\n " . $this->dbInstance->quoteName('participants') . "," .
"\n " . $this->dbInstance->quoteName('start_datetime') . "," .
"\n " . $this->dbInstance->quoteName('end_datetime') .
"\n FROM " . $this->dbInstance->quoteName('#__jchat_meetings') .
"\n WHERE" .
"\n " . $this->dbInstance->quoteName('hash') . " = " . $this->dbInstance->quote($meetingHash) .
"\n AND " . $this->dbInstance->quoteName('published') . " = 1";
$data->meetingObject = $this->dbInstance->setQuery($meetingQuery)->loadObject();
}
$return[] = $data;
return $return;
}
/**
* Class constructor
* @access public
* @param Object& $wpdb
* @param Object& $userObject
* @return Object &
*/
public function __construct($config = array(), ?MVCFactoryInterface $factory = null) {
// Parent model construct
parent::__construct( $config, $factory );
// Component config
$this->cparams = $this->getComponentParams();
$this->setState('cparams', $this->cparams);
}
}