コード例 #1
0
 public function testSingle()
 {
     $this->channelRouter->register(new ChannelType('homepage', 'homepage', 'single'));
     $this->router->expects($this->once())->method('generate')->with($this->equalTo('homepage'));
     $channel = new Channel();
     $channel->setType('homepage');
     $this->channelRouter->getUrl($channel);
 }
コード例 #2
0
ファイル: ChannelRouter.php プロジェクト: risinglf/UniversiBO
 public function getUrl(Channel $channel, $absolute = false)
 {
     if (!array_key_exists($channel->getType(), $this->types)) {
         throw new \InvalidArgumentException('Type not registered');
     }
     $type = $this->types[$channel->getType()];
     return $this->handlers[$type->getRouteType()]($type, $absolute, $channel);
 }
コード例 #3
0
 public function hasService(Channel $channel, $serviceName)
 {
     foreach ($channel->getServices() as $service) {
         if ($serviceName === $service->getName()) {
             return true;
         }
     }
     return false;
 }
コード例 #4
0
 public function load(ObjectManager $manager)
 {
     $homepage = new Channel();
     $homepage->setType('homepage');
     $homepage->setName('Homepage');
     $homepage->setSlug('');
     $homepage->setHits(0);
     $manager->persist($homepage);
     $areaLaureati = new Channel();
     $areaLaureati->setName('Area Laureati');
     $areaLaureati->setType('default');
     $areaLaureati->setSlug('area-laureati');
     $areaLaureati->setHits(0);
     $areaLaureati->getServices()->add($this->getReference('news-service'));
     $this->addReference('laureati-channel', $areaLaureati);
     $manager->persist($areaLaureati);
     $ingegneria = new Channel();
     $ingegneria->setName('Ingegneria');
     $ingegneria->setType('faculty');
     $ingegneria->setSlug('ingegneria');
     $ingegneria->setHits(0);
     $ingegneria->getServices()->add($this->getReference('news-service'));
     $this->addReference('ingegneria-channel', $ingegneria);
     $manager->persist($ingegneria);
     $ingegneriaFaculty = new Faculty();
     $ingegneriaFaculty->setChannel($ingegneria);
     $ingegneriaFaculty->setCode('0021');
     $ingegneriaFaculty->setUrl('http://www.ing.unibo.it/Ingegneria/default.htm');
     $manager->persist($ingegneriaFaculty);
     $manager->flush();
     $aclProvider = $this->container->get('security.acl.provider');
     foreach (array($homepage, $areaLaureati, $ingegneria) as $channel) {
         $objectIdentity = ObjectIdentity::fromDomainObject($channel);
         $acl = $aclProvider->createAcl($objectIdentity);
         $acl->insertObjectAce(new RoleSecurityIdentity('IS_AUTHENTICATED_ANONYMOUSLY'), MaskBuilder::MASK_VIEW);
         $aclProvider->updateAcl($acl);
     }
     $acl->insertClassAce(new RoleSecurityIdentity('ROLE_ADMIN'), MaskBuilder::MASK_OWNER);
     $aclProvider->updateAcl($acl);
 }