/** * Returns the number of related UserReport objects. * * @param Criteria $criteria * @param boolean $distinct * @param ConnectionInterface $con * @return int Count of related UserReport objects. * @throws PropelException */ public function countUserReportsRelatedByIdUserReported(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) { $partial = $this->collUserReportsRelatedByIdUserReportedPartial && !$this->isNew(); if (null === $this->collUserReportsRelatedByIdUserReported || null !== $criteria || $partial) { if ($this->isNew() && null === $this->collUserReportsRelatedByIdUserReported) { return 0; } if ($partial && !$criteria) { return count($this->getUserReportsRelatedByIdUserReported()); } $query = ChildUserReportQuery::create(null, $criteria); if ($distinct) { $query->distinct(); } return $query->filterByUserReported($this)->count($con); } return count($this->collUserReportsRelatedByIdUserReported); }
public function banUser($id) { if (!$this->isAdmin()) { $this->addPopup('danger', 'Pro zakázání přístupu nemáte dostatečná práva.'); redirectTo('/administrace/nahlaseni-uzivatele'); } $user = UserQuery::create()->findPk($id); if ($user == NULL) { $this->addPopup('danger', 'Uživatel se zadaným identifikačním číslem se v databázi nenachází.'); redirectTo('/administrace/nahlaseni-uzivatele'); } $ban = new Ban(); $ban->setReason($_POST["reason"]); $ban->setIdUser($id); $end_date = new DateTime(); $end_date->setTimestamp($end_date->format('U') + $_POST["length"]); $ban->setEndingDate($end_date->format('U')); $ban->setBannedBy($_SESSION["user"]->getId()); $ban->save(); $reports = UserReportQuery::create()->filterByIdUserReported($id)->find(); foreach ($reports as $r) { $r->delete(); } $this->addPopup('success', 'Uživateli ' . $user->getUsername() . ' byl úspěšně zakázán přístup.'); redirectTo('/administrace/nahlaseni-uzivatele'); }