本文整理匯總了PHP中Repositories\SiteRepository::create方法的典型用法代碼示例。如果您正苦於以下問題:PHP SiteRepository::create方法的具體用法?PHP SiteRepository::create怎麽用?PHP SiteRepository::create使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Repositories\SiteRepository
的用法示例。
在下文中一共展示了SiteRepository::create方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: UserAccountModel
/**
*
*/
function test1()
{
$feature = new \sitefeatures\EditCommentsFeature();
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$siteFeatureRepo = new SiteFeatureRepository($this->app);
// Test Get Default Option
$this->app['timesource']->mock(2015, 1, 1, 1, 1, 1);
$data = $siteFeatureRepo->getForSiteAsTree($site);
$this->assertEquals(false, $data[$feature->getExtensionId()][$feature->getFeatureId()]->isOn());
// Test Set True
$this->app['timesource']->mock(2015, 1, 1, 1, 1, 2);
$siteFeatureRepo->setFeature($site, $feature, true, $user);
$data = $siteFeatureRepo->getForSiteAsTree($site);
$this->assertEquals(true, $data[$feature->getExtensionId()][$feature->getFeatureId()]->isOn());
// Test Set False
$this->app['timesource']->mock(2015, 1, 1, 1, 1, 3);
$siteFeatureRepo->setFeature($site, $feature, false, $user);
$data = $siteFeatureRepo->getForSiteAsTree($site);
$this->assertEquals(false, $data[$feature->getExtensionId()][$feature->getFeatureId()]->isOn());
// Test Set False whilst already false
$this->app['timesource']->mock(2015, 1, 1, 1, 1, 4);
$siteFeatureRepo->setFeature($site, $feature, false, $user);
$data = $siteFeatureRepo->getForSiteAsTree($site);
$this->assertEquals(false, $data[$feature->getExtensionId()][$feature->getFeatureId()]->isOn());
}
示例2: UserAccountModel
function test1()
{
TimeSource::mock(2014, 5, 1, 7, 0, 0);
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$group = new GroupModel();
$group->setTitle("test");
$group->setDescription("test test");
$group->setUrl("http://www.group.com");
$groupRepo = new GroupRepository();
$groupRepo->create($group, $site, $user);
$event = new EventModel();
$event->setSummary("test");
$event->setDescription("test test");
$event->setStartAt(getUTCDateTime(2014, 5, 10, 19, 0, 0));
$event->setEndAt(getUTCDateTime(2014, 5, 10, 21, 0, 0));
$event->setUrl("http://www.info.com");
$event->setTicketUrl("http://www.tickets.com");
$eventDupe = new EventModel();
$eventDupe->setSummary("test");
$eventDupe->setStartAt(getUTCDateTime(2014, 5, 10, 19, 0, 0));
$eventDupe->setEndAt(getUTCDateTime(2014, 5, 10, 21, 0, 0));
$eventRepository = new EventRepository();
$eventRepository->create($event, $site, $user, $group);
$eventRepository->create($eventDupe, $site, $user, $group);
TimeSource::mock(2014, 5, 1, 7, 1, 0);
$eventRepository->markDuplicate($eventDupe, $event);
$userAtEvent = new \models\UserAtEventModel();
$userAtEvent->setEventId($event->getId());
$userAtEvent->setUserAccountId($user->getId());
$userAtEvent->setIsPlanAttending(true);
$userAtEventRepo = new \repositories\UserAtEventRepository();
$userAtEventRepo->create($userAtEvent);
$curatedList = new CuratedListModel();
$curatedList->setTitle("test");
$curatedList->setDescription("test this!");
$clRepo = new CuratedListRepository();
$clRepo->create($curatedList, $site, $user);
$clRepo->addEventtoCuratedList($event, $curatedList, $user);
$tag = new TagModel();
$tag->setTitle("Test");
$tagRepo = new TagRepository();
$tagRepo->create($tag, $site, $user);
$tagRepo->addTagToEvent($tag, $event, $user);
## TEST
$this->assertNotNull($eventRepository->loadBySlug($site, $event->getSlug()));
## PURGE!
$eventRepository->purge($event);
## TEST
$this->assertNull($eventRepository->loadBySlug($site, $event->getSlug()));
}
示例3: UserAccountModel
function test1()
{
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$group = new GroupModel();
$group->setTitle("test");
$group->setDescription("test test");
$group->setUrl("http://www.group.com");
$groupRepo = new GroupRepository();
$groupRepo->create($group, $site, $user);
$this->checkGroupInTest1($groupRepo->loadById($group->getId()));
$this->checkGroupInTest1($groupRepo->loadBySlug($site, $group->getSlug()));
$grb = new GroupRepositoryBuilder();
$grb->setFreeTextsearch('test');
$this->assertEquals(1, count($grb->fetchAll()));
$grb = new GroupRepositoryBuilder();
$grb->setFreeTextsearch('cats');
$this->assertEquals(0, count($grb->fetchAll()));
}
示例4: testWinterTime
function testWinterTime()
{
TimeSource::mock(2014, 5, 1, 7, 0, 0);
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$event = new EventModel();
$event->setSummary("test");
$event->setDescription("test test");
$event->setStartAt($this->mktime(2014, 11, 10, 19, 0, 0, 'Europe/London'));
$event->setEndAt($this->mktime(2014, 11, 10, 21, 0, 0, 'Europe/London'));
$eventRepository = new EventRepository();
$eventRepository->create($event, $site, $user);
$event = $eventRepository->loadBySlug($site, $event->getSlug());
$this->assertEquals("test test", $event->getDescription());
$this->assertEquals("test", $event->getSummary());
$startAtShouldBe = $this->mktime(2014, 11, 10, 19, 0, 0, 'UTC');
$startAtIs = clone $event->getStartAt();
$startAtIs->setTimezone(new \DateTimeZone('UTC'));
$this->assertEquals($startAtShouldBe->format("c"), $startAtIs->format("c"));
}
示例5: UserAccountModel
function test1()
{
$this->addCountriesToTestDB();
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$countryRepo = new CountryRepository();
$gb = $countryRepo->loadByTwoCharCode('GB');
$venue = new VenueModel();
$venue->setTitle("test");
$venue->setDescription("test test");
$venue->setCountryId($gb->getId());
$venueRepo = new VenueRepository();
$venueRepo->create($venue, $site, $user);
$this->checkVenueInTest1($venueRepo->loadById($venue->getId()));
$this->checkVenueInTest1($venueRepo->loadBySlug($site, $venue->getSlug()));
$grb = new VenueRepositoryBuilder();
$grb->setFreeTextsearch('test');
$this->assertEquals(1, count($grb->fetchAll()));
$grb = new VenueRepositoryBuilder();
$grb->setFreeTextsearch('cats');
$this->assertEquals(0, count($grb->fetchAll()));
}
示例6: UserAccountModel
function test1()
{
\TimeSource::mock(2014, 1, 1, 0, 0, 0);
$this->addCountriesToTestDB();
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$countryRepo = new CountryRepository();
$gb = $countryRepo->loadByTwoCharCode('GB');
$venue = new VenueModel();
$venue->setTitle("test");
$venue->setDescription("test test");
$venue->setCountryId($gb->getId());
\TimeSource::mock(2014, 1, 1, 1, 0, 0);
$venueRepo = new VenueRepository();
$venueRepo->create($venue, $site, $user);
\TimeSource::mock(2014, 1, 1, 2, 0, 0);
$venueRepo->delete($venue, $user);
$this->checkVenueInTest1($venueRepo->loadById($venue->getId()));
$this->checkVenueInTest1($venueRepo->loadBySlug($site, $venue->getSlug()));
$vrb = new VenueRepositoryBuilder();
$vrb->setIncludeDeleted(true);
$this->assertEquals(1, count($vrb->fetchAll()));
$vrb = new VenueRepositoryBuilder();
$vrb->setIncludeDeleted(false);
$this->assertEquals(0, count($vrb->fetchAll()));
}
示例7: UserAccountModel
function testIntegration1()
{
$this->addCountriesToTestDB();
\TimeSource::mock(2014, 1, 1, 12, 0, 0);
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$countryRepo = new CountryRepository();
$gb = $countryRepo->loadByTwoCharCode('GB');
## Create area
\TimeSource::mock(2014, 1, 1, 13, 0, 0);
$area = new AreaModel();
$area->setTitle("test");
$area->setDescription("test test");
$area->setCountryId($gb->getId());
$areaRepo = new AreaRepository();
$areaRepo->create($area, null, $site, $gb, $user);
## Edit area
\TimeSource::mock(2014, 1, 1, 14, 0, 0);
$area = $areaRepo->loadById($area->getId());
$area->setDescription("testy");
$areaRepo->edit($area, $user);
## Now save changed flags on these .....
$areaHistoryRepo = new AreaHistoryRepository();
$stat = $this->app['db']->prepare("SELECT * FROM area_history");
$stat->execute();
while ($data = $stat->fetch()) {
$areaHistory = new AreaHistoryModel();
$areaHistory->setFromDataBaseRow($data);
$areaHistoryRepo->ensureChangedFlagsAreSet($areaHistory);
}
## Now load and check
$historyRepo = new HistoryRepositoryBuilder();
$historyRepo->setIncludeEventHistory(false);
$historyRepo->setIncludeVenueHistory(false);
$historyRepo->setIncludeGroupHistory(false);
$historyRepo->setIncludeAreaHistory(true);
$histories = $historyRepo->fetchAll();
$this->assertEquals(2, count($histories));
#the edit
$this->assertEquals(FALSE, $histories[0]->getTitleChanged());
$this->assertEquals(true, $histories[0]->getDescriptionChanged());
$this->assertEquals(false, $histories[0]->getCountryIdChanged());
$this->assertEquals(false, $histories[0]->getParentAreaIdChanged());
$this->assertEquals(false, $histories[0]->getIsDeletedChanged());
#the create
$this->assertEquals(true, $histories[1]->getTitleChanged());
$this->assertEquals(true, $histories[1]->getDescriptionChanged());
$this->assertEquals(true, $histories[1]->getCountryIdChanged());
$this->assertEquals(false, $histories[1]->getParentAreaIdChanged());
$this->assertEquals(false, $histories[1]->getIsDeletedChanged());
}
示例8: UserAccountModel
function test1()
{
\TimeSource::mock(2014, 1, 1, 0, 0, 0);
$user1 = new UserAccountModel();
$user1->setEmail("test@jarofgreen.co.uk");
$user1->setUsername("test");
$user1->setPassword("password");
$user2 = new UserAccountModel();
$user2->setEmail("test2@jarofgreen.co.uk");
$user2->setUsername("test2");
$user2->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user1);
$userRepo->create($user2);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user1, array(), $this->getSiteQuotaUsedForTesting());
$group1 = new GroupModel();
$group1->setTitle("test1");
$group1->setDescription("test test");
$group1->setUrl("http://www.group.com");
$group2 = new GroupModel();
$group2->setTitle("test this looks similar");
$group2->setDescription("test test");
$group2->setUrl("http://www.group.com");
$groupRepo = new GroupRepository();
\TimeSource::mock(2014, 1, 1, 1, 0, 0);
$groupRepo->create($group1, $site, $user1);
$groupRepo->create($group2, $site, $user2);
$event = new EventModel();
$event->setSummary("test");
$event->setStartAt(getUTCDateTime(2014, 5, 10, 19, 0, 0));
$event->setEndAt(getUTCDateTime(2014, 5, 10, 21, 0, 0));
$eventRepository = new EventRepository();
$eventRepository->create($event, $site, $user1, $group2);
$uwgr = new UserWatchesGroupRepository();
// Test before
$erb = new \repositories\builders\EventRepositoryBuilder();
$erb->setGroup($group1);
$this->assertEquals(0, count($erb->fetchAll()));
$this->assertNull($uwgr->loadByUserAndGroup($user2, $group1));
$group2 = $groupRepo->loadById($group2->getId());
$this->assertFalse($group2->getIsDeleted());
$this->assertNull($group2->getIsDuplicateOfId());
// Mark
\TimeSource::mock(2014, 1, 1, 2, 0, 0);
$groupRepo->markDuplicate($group2, $group1, $user1);
// Test Duplicate
$erb = new \repositories\builders\EventRepositoryBuilder();
$erb->setGroup($group1);
$this->assertEquals(1, count($erb->fetchAll()));
$uwg = $uwgr->loadByUserAndGroup($user2, $group1);
$this->assertNotNull($uwg);
$group2 = $groupRepo->loadById($group2->getId());
$this->assertTrue($group2->getIsDeleted());
$this->assertEquals($group1->getId(), $group2->getIsDuplicateOfId());
}
示例9: create
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));
}
示例10: testBasic
function testBasic()
{
global $CONFIG;
\TimeSource::mock(2013, 10, 1, 1, 1, 1);
$CONFIG->importURLAllowEventsSecondsIntoFuture = 7776000;
// 90 days
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$group = new GroupModel();
$group->setTitle("test");
$group->setDescription("test test");
$group->setUrl("http://www.group.com");
$groupRepo = new GroupRepository();
$groupRepo->create($group, $site, $user);
$importURLRepository = new ImportURLRepository();
$importURL = new ImportURLModel();
$importURL->setIsEnabled(true);
$importURL->setSiteId($site->getId());
$importURL->setGroupId($group->getId());
$importURL->setTitle("Test");
$importURL->setUrl("http://test.com");
$importURLRepository->create($importURL, $site, $user);
// Import
$importURLRun = new ImportURLRun($importURL, $site);
$importURLRun->setTemporaryFileStorageForTesting(dirname(__FILE__) . '/data/Lanyrd1.ical');
$importURLRun->setFlag(ImportURLRun::$FLAG_ADD_UIDS);
$i = new ImportURLICalHandler();
$i->setImportURLRun($importURLRun);
$this->assertTrue($i->canHandle());
$r = $i->handle();
// Load!
$erb = new EventRepositoryBuilder();
$erb->setSite($site);
$events = $erb->fetchAll();
$this->assertEquals(1, count($events));
$event = $events[0];
$this->assertEquals("State of the Map Scotland 2013", $event->getSummary());
$this->assertEquals('2013-10-11 00:00:00', $event->getStartAt()->format('Y-m-d H:i:s'));
$this->assertEquals('2013-10-14 23:59:59', $event->getEndAt()->format('Y-m-d H:i:s'));
$this->assertEquals("http://sotms.eventbrite.com/\n\nhttp://lanyrd.com/crkmt", $event->getDescription());
$this->assertEquals('http://lanyrd.com/2013/sotmscot2013/', $event->getURL());
$this->assertFalse($event->getIsDeleted());
// Look for event
$erb = new EventRepositoryBuilder();
$erb->setSite($site);
$erb->setImportURL($importURL);
$this->assertEquals(1, count($erb->fetchAll()));
}
示例11: UserAccountModel
function testIntegration1()
{
\TimeSource::mock(2014, 1, 1, 12, 0, 0);
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
## Create group
\TimeSource::mock(2014, 1, 1, 13, 0, 0);
$group = new GroupModel();
$group->setTitle("test");
$group->setDescription("test test");
$group->setUrl("http://www.group.com");
$groupRepo = new GroupRepository();
$groupRepo->create($group, $site, $user);
## Edit group
\TimeSource::mock(2014, 1, 1, 14, 0, 0);
$group = $groupRepo->loadById($group->getId());
$group->setTwitterUsername("testy");
$groupRepo->edit($group, $user);
## Now save changed flags on these .....
$groupHistoryRepo = new GroupHistoryRepository();
$stat = $this->app['db']->prepare("SELECT * FROM group_history");
$stat->execute();
while ($data = $stat->fetch()) {
$groupHistory = new GroupHistoryModel();
$groupHistory->setFromDataBaseRow($data);
$groupHistoryRepo->ensureChangedFlagsAreSet($groupHistory);
}
## Now load and check
$historyRepo = new HistoryRepositoryBuilder();
$historyRepo->setGroup($group);
$historyRepo->setIncludeEventHistory(false);
$historyRepo->setIncludeVenueHistory(false);
$historyRepo->setIncludeGroupHistory(true);
$histories = $historyRepo->fetchAll();
$this->assertEquals(2, count($histories));
#the edit
$this->assertEquals(FALSE, $histories[0]->getTitleChanged());
$this->assertEquals(false, $histories[0]->getDescriptionChanged());
$this->assertEquals(false, $histories[0]->getUrlChanged());
$this->assertEquals(true, $histories[0]->getTwitterUsernameChanged());
$this->assertEquals(false, $histories[0]->getIsDeletedChanged());
#the create
$this->assertEquals(true, $histories[1]->getTitleChanged());
$this->assertEquals(true, $histories[1]->getDescriptionChanged());
$this->assertEquals(true, $histories[1]->getUrlChanged());
$this->assertEquals(false, $histories[1]->getTwitterUsernameChanged());
$this->assertEquals(false, $histories[1]->getIsDeletedChanged());
}
示例12: testBasic
function testBasic()
{
global $CONFIG;
\TimeSource::mock(2013, 10, 1, 1, 1, 1);
$CONFIG->importURLAllowEventsSecondsIntoFuture = 7776000;
// 90 days
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$group = new GroupModel();
$group->setTitle("test");
$group->setDescription("test test");
$group->setUrl("http://www.group.com");
$groupRepo = new GroupRepository();
$groupRepo->create($group, $site, $user);
$importURLRepository = new ImportURLRepository();
$importURL = new ImportURLModel();
$importURL->setIsEnabled(true);
$importURL->setSiteId($site->getId());
$importURL->setGroupId($group->getId());
$importURL->setTitle("Test");
$importURL->setUrl("http://test.com");
$importURLRepository->create($importURL, $site, $user);
// Import
$importURLRun = new ImportURLRun($importURL, $site);
$importURLRun->setTemporaryFileStorageForTesting(dirname(__FILE__) . '/data/Eventbrite1.ical');
$importURLRun->setFlag(ImportURLRun::$FLAG_ADD_UIDS);
$importURLRun->setFlag(ImportURLRun::$FLAG_SET_TICKET_URL_AS_URL);
$i = new ImportURLICalHandler();
$i->setImportURLRun($importURLRun);
$this->assertTrue($i->canHandle());
$r = $i->handle();
// Load!
$erb = new EventRepositoryBuilder();
$erb->setSite($site);
$events = $erb->fetchAll();
$this->assertEquals(1, count($events));
$event = $events[0];
$this->assertEquals("Computing At School Scotland Conference 2013", $event->getSummary());
$this->assertEquals('2013-10-26 07:30:00', $event->getStartAt()->format('Y-m-d H:i:s'));
$this->assertEquals('2013-10-26 16:00:00', $event->getEndAt()->format('Y-m-d H:i:s'));
$this->assertEquals('For details, click here: https://casscot13.eventbrite.co.uk', $event->getDescription());
$this->assertEquals('https://casscot13.eventbrite.co.uk', $event->getURL());
$this->assertEquals('https://casscot13.eventbrite.co.uk', $event->getTicketURL());
$this->assertFalse($event->getIsDeleted());
}
示例13: UserAccountModel
function test1()
{
$this->addCountriesToTestDB();
\TimeSource::mock(2014, 10, 1, 1, 1, 0);
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$countryRepo = new CountryRepository();
$gb = $countryRepo->loadByTwoCharCode('GB');
$area = new AreaModel();
$area->setTitle("test");
$area->setDescription("test test");
$areaRepo = new \repositories\AreaRepository();
$areaRepo->create($area, null, $site, $gb, $user);
$venue = new VenueModel();
$venue->setTitle("test");
$venue->setDescription("test test");
$venue->setCountryId($gb->getId());
$venue->setAreaId($area->getId());
$venueRepo = new VenueRepository();
$venueRepo->create($venue, $site, $user);
$venueDuplicate = new VenueModel();
$venueDuplicate->setTitle("test Duplicate");
$venueRepo->create($venueDuplicate, $site, $user);
\TimeSource::mock(2014, 10, 1, 1, 2, 0);
$venueRepo->markDuplicate($venueDuplicate, $venue, $user);
$event = new EventModel();
$event->setSummary("test");
$event->setStartAt(getUTCDateTime(2014, 5, 10, 19, 0, 0, 'Europe/London'));
$event->setEndAt(getUTCDateTime(2014, 5, 10, 21, 0, 0, 'Europe/London'));
$event->setVenueId($venue->getId());
$eventRepository = new EventRepository();
$eventRepository->create($event, $site, $user);
## Test
$this->assertNotNull($venueRepo->loadBySlug($site, $venue->getSlug()));
$event = $eventRepository->loadBySlug($site, $event->getSlug());
$this->assertEquals($venue->getId(), $event->getVenueId());
## Now Purge!
$venueRepo->purge($venue);
## Test
$this->assertNull($venueRepo->loadBySlug($site, $venue->getSlug()));
$event = $eventRepository->loadBySlug($site, $event->getSlug());
$this->assertNull($event->getVenueId());
}
示例14: index
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()));
}
示例15: testBasic
function testBasic()
{
global $CONFIG;
\TimeSource::mock(2013, 10, 1, 1, 1, 1);
$CONFIG->importURLAllowEventsSecondsIntoFuture = 7776000;
// 90 days
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$group = new GroupModel();
$group->setTitle("test");
$group->setDescription("test test");
$group->setUrl("http://www.group.com");
$groupRepo = new GroupRepository();
$groupRepo->create($group, $site, $user);
$importURLRepository = new ImportURLRepository();
$importURL = new ImportURLModel();
$importURL->setIsEnabled(true);
$importURL->setSiteId($site->getId());
$importURL->setGroupId($group->getId());
$importURL->setTitle("Test");
$importURL->setUrl("http://test.com");
$importURLRepository->create($importURL, $site, $user);
// Import
$importURLRun = new ImportURLRun($importURL, $site);
$importURLRun->setTemporaryFileStorageForTesting(dirname(__FILE__) . '/data/Meetup1.ics');
$importURLRun->setFlag(ImportURLRun::$FLAG_ADD_UIDS);
$i = new ImportURLICalHandler();
$i->setImportURLRun($importURLRun);
$this->assertTrue($i->canHandle());
$r = $i->handle();
// Load!
$erb = new EventRepositoryBuilder();
$erb->setSite($site);
$events = $erb->fetchAll();
$this->assertEquals(1, count($events));
$event = $events[0];
$this->assertEquals("Talk & Build AngularJS", $event->getSummary());
$this->assertEquals('2013-10-17 18:00:00', $event->getStartAt()->format('Y-m-d H:i:s'));
$this->assertEquals('2013-10-17 21:00:00', $event->getEndAt()->format('Y-m-d H:i:s'));
$this->assertEquals("AngularJS - Edinburgh\nThursday, October 17 at 7:00 PM\n\nDetails: http://www.meetup.com/AngularJS-Edinburgh/events/141654792/", $event->getDescription());
$this->assertEquals('http://www.meetup.com/AngularJS-Edinburgh/events/141654792/', $event->getURL());
$this->assertFalse($event->getIsDeleted());
}