示例#1
0
文件: Redirect.php 项目: reliv/rcm
 /**
  * save
  *
  * @param RedirectEntity $redirect
  * @return void
  */
 public function save(\Rcm\Entity\Redirect $redirect)
 {
     /** @var \Rcm\Entity\Redirect $result */
     $result = $this->findOneBy(['requestUrl' => $redirect->getRequestUrl(), 'redirectUrl' => $redirect->getRedirectUrl(), 'siteId' => $redirect->getSiteId()]);
     if (!empty($result) && $result->getRedirectId() !== $redirect->getRedirectId()) {
         throw new RedirectException('Duplicate redirects not allowed');
     }
     if ($redirect->getSiteId() !== null) {
         $siteRepo = $this->getEntityManager()->getRepository('Rcm\\Entity\\Site');
         $site = $siteRepo->find($redirect->getSiteId());
         if (empty($site)) {
             throw new RedirectException('Valid site required');
         }
         $redirect->setSite($site);
     }
     $this->getEntityManager()->persist($redirect);
     $this->getEntityManager()->flush($redirect);
 }
示例#2
0
 public function testToArray()
 {
     $unit = new Redirect();
     $site = new Site();
     $domain = new Domain();
     $site->setSiteId(28);
     $domain->setDomainName('test.com');
     $site->setDomain($domain);
     $unit->setSite($site);
     $result = $unit->toArray();
     $this->assertEquals('test.com', $result['domain']);
     $this->assertEquals(28, $result['siteId']);
 }