Ejemplo n.º 1
0
 /**
  * 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);
 }
Ejemplo n.º 2
0
 /**
  * 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);
 }
Ejemplo n.º 4
0
 /**
  * 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;
 }