| Current Path : /var/www/html/libraries/kunena/src/Tables/ |
| Current File : /var/www/html/libraries/kunena/src/Tables/KunenaUserCategories.php |
<?php
/**
* Kunena Component
*
* @package Kunena.Framework
* @subpackage Tables
*
* @copyright Copyright (C) 2008 - @currentyear@ Kunena Team. All rights reserved.
* @license https://www.gnu.org/copyleft/gpl.html GNU/GPL
* @link https://www.kunena.org
**/
namespace Kunena\Forum\Libraries\Tables;
\defined('_JEXEC') or die();
use Exception;
use Joomla\CMS\Language\Text;
use Joomla\Database\DatabaseDriver;
use Kunena\Forum\Libraries\Forum\Category\KunenaCategoryHelper;
use Kunena\Forum\Libraries\User\KunenaUserHelper;
use RuntimeException;
/**
* Kunena User Categories Table
* Provides access to the #__kunena_user_categories table
*
* @since Kunena 6.0
*/
class KunenaUserCategories extends KunenaTable
{
/**
* @var null
* @since Kunena 6.0
*/
public $user_id = null;
/**
* @var null
* @since Kunena 6.0
*/
public $category_id = null;
/**
* @var null
* @since Kunena 6.0
*/
public $role = null;
/**
* @var null
* @since Kunena 6.0
*/
public $allreadtime = null;
/**
* @var null
* @since Kunena 6.0
*/
public $subscribed = null;
/**
* @var null
* @since Kunena 6.0
*/
public $params = null;
/**
* @param DatabaseDriver $db Database driver
*
* @since Kunena 6.0
*/
public function __construct(DatabaseDriver $db)
{
parent::__construct('#__kunena_user_categories', ['user_id', 'category_id'], $db);
}
/**
* @return boolean
*
* @since Kunena 6.0
*
* @throws Exception
*/
public function check(): bool
{
$user = KunenaUserHelper::get($this->user_id);
if (!$user->exists()) {
throw new RuntimeException(Text::sprintf('COM_KUNENA_LIB_TABLE_USERCATEGORIES_ERROR_USER_INVALID', (int) $user->userid));
}
$category = KunenaCategoryHelper::get($this->category_id);
if ($this->category_id && !$category->exists()) {
throw new RuntimeException(Text::sprintf('COM_KUNENA_LIB_TABLE_USERCATEGORIES_ERROR_CATEGORY_INVALID', (int) $category->id));
}
return true;
}
}