* Fix moderators field in Forum

This commit is contained in:
Visman 2018-09-15 15:18:31 +07:00
parent d30e918a1d
commit 1542fd7414
2 changed files with 23 additions and 5 deletions

View file

@ -171,7 +171,11 @@ class Model extends DataModel
*/
public function modDelete(...$users)
{
$moderators = $this->moderators;
if (empty($this->a['moderators'])) {
return;
}
$moderators = $this->a['moderators'];
foreach ($users as $user) {
if (! $user instanceof User) {
@ -180,9 +184,7 @@ class Model extends DataModel
unset($moderators[$user->id]);
}
if ($moderators !== $this->moderators) {
$this->moderators = $moderators;
}
$this->moderators = $moderators;
}
/**
@ -304,4 +306,19 @@ class Model extends DataModel
return empty($this->idsList) ? [] : $this->c->topics->view($this);
}
/**
* Возвращает значения свойств в массиве
*
* @return array
*/
public function getAttrs()
{
$data = parent::getAttrs();
$data['moderators'] = empty($data['moderators']) ? null : \json_encode($data['moderators']);
return $data;
}
}

View file

@ -70,7 +70,8 @@ class Refresh extends Action
*/
protected function formatModers($str)
{
return empty($str) ? null : \array_flip(\unserialize($str));
$moderators = \json_decode($str, true);
return $moderators ?: null;
}
/**