/** * Delete a commenter * * @param Newscoop\Entity\Comment\Commenter $p_commenter * @param array $p_values * @return void */ public function delete(Commenter $p_commenter, $p_values) { $em = $this->getEntityManager(); $q = $em->createQueryBuilder(); /** @todo have inverse cascade delete or somethig for this */ $q->select("cc")->from('Newscoop\\Entity\\Comment\\Commenter', 'cc')->where('cc.id = :id')->setParameter('id', $p_commenter->getId()); if (!empty($p_values['name'])) { $q->orWhere('cc.name = :name')->setParameter('name', $p_commenter->getName()); } if (!empty($p_values['ip'])) { $q->orWhere('cc.ip = :ip')->setParameter('ip', $p_commenter->getIp()); } if (!empty($p_values['email'])) { $q->orWhere('cc.email = :email')->setParameter('email', $p_commenter->getEmail()); } $commenters = $q->getQuery()->getResult(); foreach ($commenters as $commenter) { $qq = $em->createQueryBuilder(); $qq->delete()->from('Newscoop\\Entity\\Comment', 'c')->where('c.commenter = :commenter')->setParameter('commenter', $commenter->getId()); $qq->getQuery()->execute(); $em->remove($commenter); } }
/** * Method that save banned for a commenter * * @param Commenter $p_commenter */ public function saveBanned(Commenter $p_commenter, $p_forum, $p_values) { $unban = array(); $ban = array(); if ($p_values['name']) { $ban['name'] = $p_commenter->getName(); } else { $unban['name'] = $p_commenter->getName(); } if ($p_values['email']) { $ban['email'] = $p_commenter->getEmail(); } else { $unban['email'] = $p_commenter->getEmail(); } if ($p_values['ip']) { $ban['ip'] = $p_commenter->getIp(); } else { $unban['ip'] = $p_commenter->getIp(); } $this->ban($p_forum, $ban); $this->unban($p_forum, $unban); }
public function getEmail() { $this->__load(); return parent::getEmail(); }