. */ namespace SP\Mgmt\Users; defined('APP_ROOT') || die(); use SP\DataModel\UserData; use SP\DataModel\UserPreferencesData; use SP\Mgmt\ItemInterface; use SP\Mgmt\ItemTrait; use SP\Storage\DbWrapper; use SP\Storage\QueryData; use SP\Util\Util; /** * Class UsersPreferences para la gestion de las preferencias de usuarios * * @package SP * @property UserPreferencesData $itemData */ class UserPreferences extends UserPreferencesBase implements ItemInterface { use ItemTrait; /** * @return mixed */ public function add() { // TODO: Implement add() method. } /** * @param $id int * @return mixed */ public function delete($id) { // TODO: Implement delete() method. } /** * @return $this * @throws \SP\Core\Exceptions\SPException */ public function update() { $query = /** @lang SQL */ 'UPDATE usrData SET user_preferences = ? WHERE user_id = ? LIMIT 1'; $Data = new QueryData(); $Data->setQuery($query); $Data->addParam(serialize($this->itemData)); $Data->addParam($this->itemData->getUserId()); $Data->setOnErrorMessage(__('Error al actualizar preferencias', false)); DbWrapper::getQuery($Data); return $this; } /** * @param $id int * @return UserPreferencesData * @throws \Psr\Container\ContainerExceptionInterface * @throws \Psr\Container\NotFoundExceptionInterface */ public function getById($id) { $query = /** @lang SQL */ 'SELECT id, preferences FROM User WHERE id = ? LIMIT 1'; $Data = new QueryData(); $Data->setMapClassName(UserData::class); $Data->setQuery($query); $Data->addParam($id); /** @var UserData $queryRes */ $queryRes = DbWrapper::getResults($Data); if ($queryRes === false || $queryRes->getPreferences() === null || $queryRes->getPreferences() === '' ) { return $this->getItemData(); } return Util::unserialize($this->getDataModel(), $queryRes->getPreferences(), 'SP\UserPreferences'); } /** * @return mixed */ public function getAll() { // TODO: Implement getAll() method. } /** * @param $id int * @return mixed */ public function checkInUse($id) { // TODO: Implement checkInUse() method. } /** * @return bool */ public function checkDuplicatedOnUpdate() { // TODO: Implement checkDuplicatedOnUpdate() method. } /** * @return bool */ public function checkDuplicatedOnAdd() { // TODO: Implement checkDuplicatedOnAdd() method. } /** * Devolver los elementos con los ids especificados * * @param array $ids * @return mixed */ public function getByIdBatch(array $ids) { // TODO: Implement getByIdBatch() method. } }