function create(Request $request, Application $app) { $siteRepository = new SiteRepository(); $form = $app['form.factory']->create(new CreateForm()); if ('POST' == $request->getMethod()) { $form->bind($request); $data = $form->getData(); $site = $siteRepository->loadBySlug($data['slug']); if ($site) { $form->addError(new FormError('That address is already taken')); } if ($form->isValid()) { $site = new SiteModel(); $site->setSlug($data['slug']); $site->setTitle($data['title']); if ($data['read'] == 'public') { $site->setIsListedInIndex(true); $site->setIsWebRobotsAllowed(true); } else { $site->setIsListedInIndex(false); $site->setIsWebRobotsAllowed(false); } if ($data['write'] == 'public') { $isAllUsersEditors = true; } else { $isAllUsersEditors = false; } $site->setPromptEmailsDaysInAdvance($app['config']->newSitePromptEmailsDaysInAdvance); $countryRepository = new CountryRepository(); $siteQuotaRepository = new SiteQuotaRepository(); $siteRepository->create($site, $app['currentUser'], array($countryRepository->loadByTwoCharCode("GB")), $siteQuotaRepository->loadByCode($app['config']->newSiteHasQuotaCode), $isAllUsersEditors); if ($app['config']->hasSSL) { return $app->redirect("https://" . $site->getSlug() . "." . $app['config']->webSiteDomainSSL); } else { return $app->redirect("http://" . $site->getSlug() . "." . $app['config']->webSiteDomain); } } } $sites = array(); $repo = new SiteRepository(); if (isset($_COOKIE['sitesSeen'])) { foreach (explode(",", $_COOKIE['sitesSeen']) as $siteID) { if (intval($siteID) > 0) { $site = $repo->loadById($siteID); if ($site && !$site->getIsClosedBySysAdmin() && $site->getSlug() != $app['config']->siteSlugDemoSite) { $sites[$site->getId()] = $site; } } } } $srb = new SiteRepositoryBuilder(); $srb->setIsOpenBySysAdminsOnly(true); $srb->setUserInterestedIn($app['currentUser']); foreach ($srb->fetchAll() as $site) { $sites[$site->getId()] = $site; } return $app['twig']->render('index/index/create.html.twig', array('form' => $form->createView(), 'sites' => $sites)); }
protected function build($code, Request $request, Application $app) { $this->parameters = array(); $sqr = new SiteQuotaRepository(); $this->parameters['sitequota'] = $sqr->loadByCode($code); if (!$this->parameters['sitequota']) { $app->abort(404); } }
function index(Request $request, Application $app) { $form = $app['form.factory']->create(new NewSiteForm()); if ('POST' == $request->getMethod()) { $form->bind($request); $data = $form->getData(); $siteRepository = new SiteRepository(); $site = $siteRepository->loadBySlug($data['slug']); if ($site) { $form->addError(new FormError('That address is already taken')); } if ($form->isValid()) { $userRepo = new UserAccountRepository(); $user = $userRepo->loadByEmail($data['email']); if ($user) { $data = $form->getData(); $site = new SiteModel(); $site->setSlug($data['slug']); $site->setTitle($data['title']); if ($data['read'] == 'public') { $site->setIsListedInIndex(true); $site->setIsWebRobotsAllowed(true); } else { $site->setIsListedInIndex(false); $site->setIsWebRobotsAllowed(false); } if ($data['write'] == 'public') { $site->setIsAllUsersEditors(true); $site->setIsRequestAccessAllowed(false); } else { $site->setIsAllUsersEditors(false); $site->setIsRequestAccessAllowed(true); } $site->setIsFeatureCuratedList($app['config']->newSiteHasFeatureCuratedList); $site->setIsFeatureImporter($app['config']->newSiteHasFeatureImporter); $site->setIsFeatureMap($app['config']->newSiteHasFeatureMap); $site->setIsFeatureVirtualEvents($app['config']->newSiteHasFeatureVirtualEvents); $site->setIsFeaturePhysicalEvents($app['config']->newSiteHasFeaturePhysicalEvents); $site->setIsFeatureGroup($app['config']->newSiteHasFeatureGroup); $site->setPromptEmailsDaysInAdvance($app['config']->newSitePromptEmailsDaysInAdvance); $site->setIsFeatureTag($app['config']->newSiteHasFeatureTag); $countryRepository = new CountryRepository(); $siteQuotaRepository = new SiteQuotaRepository(); $siteRepository->create($site, $user, array($countryRepository->loadByTwoCharCode("GB")), $siteQuotaRepository->loadByCode($app['config']->newSiteHasQuotaCode)); return $app->redirect("/sysadmin/site/" . $site->getId()); } else { $app['flashmessages']->addError('Existing user not found!'); } } } return $app['twig']->render('sysadmin/sitenew/index.html.twig', array('form' => $form->createView())); }
function show($id, Request $request, Application $app) { $this->build($id, $request, $app); $siteQuotaRepository = new SiteQuotaRepository(); $userRepository = new UserAccountRepository(); $form = $app['form.factory']->create(new ActionForm()); if ('POST' == $request->getMethod()) { $form->bind($request); if ($form->isValid()) { $data = $form->getData(); $action = new ActionParser($data['action']); $sr = new SiteRepository(); if ($action->getCommand() == 'close') { $this->parameters['site']->setIsClosedBySysAdmin(true); $this->parameters['site']->setClosedBySysAdminreason($action->getParam(0)); $sr->edit($this->parameters['site'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId()); } else { if ($action->getCommand() == 'open') { $this->parameters['site']->setIsClosedBySysAdmin(false); $this->parameters['site']->setClosedBySysAdminreason(null); $sr->edit($this->parameters['site'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId()); } else { if ($action->getCommand() == 'webrobots') { $this->parameters['site']->setIsWebRobotsAllowed($action->getParamBoolean(0)); $sr->edit($this->parameters['site'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId()); } else { if ($action->getCommand() == 'featuremap') { $this->parameters['site']->setIsFeatureMap($action->getParamBoolean(0)); $sr->edit($this->parameters['site'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId()); } else { if ($action->getCommand() == 'featuregroup') { $this->parameters['site']->setIsFeatureGroup($action->getParamBoolean(0)); $sr->edit($this->parameters['site'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId()); } else { if ($action->getCommand() == 'featureimporter') { $this->parameters['site']->setIsFeatureImporter($action->getParamBoolean(0)); $sr->edit($this->parameters['site'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId()); } else { if ($action->getCommand() == 'featurecuratedlist') { $this->parameters['site']->setIsFeatureCuratedList($action->getParamBoolean(0)); $sr->edit($this->parameters['site'], $app['currentUser']); return $app->redirect('/site/' . $this->parameters['site']->getId()); } else { if ($action->getCommand() == 'featurephysicalevents') { $this->parameters['site']->setIsFeaturePhysicalEvents($action->getParamBoolean(0)); $sr->edit($this->parameters['site'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId()); } else { if ($action->getCommand() == 'featurevirtualevents') { $this->parameters['site']->setIsFeatureVirtualEvents($action->getParamBoolean(0)); $sr->edit($this->parameters['site'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId()); } else { if ($action->getCommand() == 'listedinindex') { $this->parameters['site']->setIsListedInIndex($action->getParamBoolean(0)); $sr->edit($this->parameters['site'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId()); } else { if ($action->getCommand() == 'quota') { $sitequota = $siteQuotaRepository->loadByCode($action->getParam(0)); if ($sitequota) { $this->parameters['site']->setSiteQuotaId($sitequota->getId()); $sr->editQuota($this->parameters['site'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId()); } } else { if ($action->getCommand() == 'newslug') { $newslug = $action->getParam(0); if (ctype_alnum($newslug) && strlen($newslug) > 1) { $this->parameters['site']->setSlug($newslug); $sr->editSlug($this->parameters['site'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId()); } } } } } } } } } } } } } } } $this->parameters['form'] = $form->createView(); $this->parameters['sitequota'] = $this->parameters['site']->getSiteQuotaId() ? $siteQuotaRepository->loadById($this->parameters['site']->getSiteQuotaId()) : null; return $app['twig']->render('sysadmin/site/show.html.twig', $this->parameters); }
$email = $argv[2]; if (!$slug || !$email) { die("Slug and Email?\n\n"); } if (!SiteModel::isSlugValid($slug, $CONFIG)) { die("Slug is not valid!\n\n"); } print "Slug: " . $slug . "\n"; print "Email: " . $email . "\n"; sleep(10); print "Starting ...\n"; $userRepository = new UserAccountRepository(); $user = $userRepository->loadByUserNameOrEmail($email); if (!$user) { die("Can't load user!\n\n"); } $site = new SiteModel(); $site->setSlug($slug); $site->setTitle($slug); $site->setIsListedInIndex(true); $site->setIsWebRobotsAllowed(true); $site->setPromptEmailsDaysInAdvance($CONFIG->newSitePromptEmailsDaysInAdvance); $siteRepository = new SiteRepository(); $countryRepository = new CountryRepository(); $siteQuotaRepository = new SiteQuotaRepository(); $gb = $countryRepository->loadByTwoCharCode("GB"); if (!$gb) { die("Can't load Country GB - have you loaded static data?\n\n"); } $siteRepository->create($site, $user, array($gb), $siteQuotaRepository->loadByCode($CONFIG->newSiteHasQuotaCode), false);