public function beforeSave() { $vote =& $this->object; if (!$this->modx->getCount('modResource', array("id" => $vote->target_id, "published" => 1, "deleted" => 0, "template" => 27))) { return "Такие рейтинги принимаются только на заведения"; } $ok = parent::beforeSave(); if ($ok !== true) { return $ok; } print_r($vote->toArray()); print_r($vote->Thread->toArray()); return 'Debug'; }
public function beforeSave() { $ok = parent::beforeSave(); if ($ok !== true) { return $ok; } $vote =& $this->object; /* Получаем коммент, его топик и проверяем права на топик. Если прав на топик нет, то и рейтинг давать на комментарий тоже нельзя. */ if (!($comment = $this->modx->getObject($vote->target_class, $vote->target_id))) { return "Не был получен объект комментария"; } // else if (!($topic = $this->modx->getObject($comment->Thread->target_class, $comment->Thread->target_id)) or !$topic->checkPolicy('view', null, $this->modx->user)) { return "Нет доступа к топику комментария"; } // else if ($comment->createdby == $vote->user_id) { return "Нельзя голосовать за свои комментарии"; } return !$this->hasErrors(); }