/** * installFilesystem * * Install's * * @param SiteInterface $site */ public function installFilesystem(SiteInterface $site) { if (!$site->getId()) { $this->getSiteManager()->save($site); } if ($site->getAliasOf()) { return $this->installFilesystem($site->getAliasOf()); } $baseDir = new \SplFileInfo($this->getKernel()->getRootDir() . '/../'); $skelDir = $baseDir->getRealPath() . '/skeleton/site'; $skelWebDir = $baseDir->getRealPath() . '/skeleton/site/web'; $vhostDir = $baseDir->getRealPath() . '/vhosts'; $templateDir = $baseDir->getRealPath() . '/templates'; $siteDir = $vhostDir . '/' . preg_replace('/^www\\./', '', $site->getDomain()); $siteWebDir = $siteDir . '/web'; $siteTemplateDir = $siteDir . '/templates'; $site->setRootDir($siteDir)->setWebDir($siteWebDir)->setTemplateDir($siteTemplateDir); if (!file_exists($siteDir)) { $process = new Process(sprintf('cp -r %s %s', $skelDir, $siteDir)); $process->run(); if (!$process->isSuccessful()) { throw new \RuntimeException($process->getErrorOutput()); } } file_put_contents($siteWebDir . '/config.php', str_replace(array('[id]', '[domain]'), array($site->getId(), $site->getDomain()), file_get_contents($skelWebDir . '/config.php'))); $this->getSiteManager()->save($site); }
/** * update * * @param SiteInterface $site * @return mixed */ public function update(SiteInterface $site) { if (!$site->getId()) { return $this->save($site); } $this->getEntityManager()->persist($site); $this->getEntityManager()->flush(); $this->getEventDispatcher()->dispatch(SiteEvent::SITE_UPDATE, new SiteEvent($site)); }
public function findAllBySiteForJson(SiteInterface $site) { $query = $this->createQueryBuilder('m')->select('m')->where('m.site = :site')->setParameter('site', $site->getId()); return $query->getQuery()->getResult(Query::HYDRATE_ARRAY); }
/** * getGalleryQuery * * @param SiteInterface $site * @return QueryBuilder */ public function getGalleryQuery(SiteInterface $site) { $qb = $this->getEntityManager()->getRepository('SplicedCmsBundle:GalleryItem')->createQueryBuilder('g')->select('g, s')->leftJoin('g.site', 's')->where('g.site = :site')->setParameter('site', $site->getId()); return $qb; }