Gets the repository for an entity class.
public getRepository ( string $entityName ) : Doctrine\ORM\EntityRepository | ||
$entityName | string | The name of the entity. |
return | Doctrine\ORM\EntityRepository | The repository class. |
/** * @DI\Observe("badge-resource-icap_dropzone-correction_delete-generate_validation_link") * @DI\Observe("badge-resource-icap_dropzone-correction_end-generate_validation_link") * @DI\Observe("badge-resource-icap_dropzone-correction_start-generate_validation_link") * @DI\Observe("badge-resource-icap_dropzone-correction_update-generate_validation_link") * @DI\Observe("badge-resource-icap_dropzone-correction_validation_change-generate_validation_link") * @DI\Observe("badge-resource-icap_dropzone-criterion_create-generate_validation_link") * @DI\Observe("badge-resource-icap_dropzone-criterion_delete-generate_validation_link") * @DI\Observe("badge-resource-icap_dropzone-criterion_update-generate_validation_link") * @DI\Observe("badge-resource-icap_dropzone-document_create-generate_validation_link") * @DI\Observe("badge-resource-icap_dropzone-document_delete-generate_validation_link") * @DI\Observe("badge-resource-icap_dropzone-document_open-generate_validation_link") * @DI\Observe("badge-resource-icap_dropzone-drop_end-generate_validation_link") * @DI\Observe("badge-resource-icap_dropzone-drop_evaluate-generate_validation_link") * @DI\Observe("badge-resource-icap_dropzone-drop_start-generate_validation_link") * @DI\Observe("badge-resource-icap_dropzone-dropzone_configure-generate_validation_link") */ public function onBagdeCreateValidationLink($event) { $content = null; $log = $event->getLog(); switch ($log->getAction()) { case LogCorrectionDeleteEvent::ACTION: case LogCorrectionEndEvent::ACTION: case LogCorrectionStartEvent::ACTION: case LogCorrectionUpdateEvent::ACTION: case LogCorrectionValidationChangeEvent::ACTION: case LogCriterionCreateEvent::ACTION: case LogCriterionDeleteEvent::ACTION: case LogCriterionUpdateEvent::ACTION: case LogDocumentCreateEvent::ACTION: case LogDocumentDeleteEvent::ACTION: case LogDocumentOpenEvent::ACTION: case LogDropEndEvent::ACTION: case LogDropEvaluateEvent::ACTION: case LogDropStartEvent::ACTION: case LogDropzoneConfigureEvent::ACTION: $logDetails = $event->getLog()->getDetails(); $parameters = array('resourceId' => $logDetails['dropzone']['id']); $url = $this->router->generate('icap_dropzone_open', $parameters, UrlGeneratorInterface::ABSOLUTE_PATH); /** @var Dropzone $dropzone */ $dropzone = $this->entityManager->getRepository('IcapDropzoneBundle:Dropzone')->findOneById($logDetails['dropzone']['id']); $title = $dropzone->getResourceNode()->getName(); $content = sprintf('<a href="%s" title="%s">%s</a>', $url, $title, $title); break; } $event->setContent($content); $event->stopPropagation(); }
/** * @param RebalancerAction $rebalancerAction * @return array */ public function prepareSummary(RebalancerAction $rebalancerAction) { /** @var SecurityTransactionRepository $securityTransactionRepo */ $securityTransactionRepo = $this->em->getRepository('WealthbotAdminBundle:SecurityTransaction'); $rebalancerQueue = $this->repository->findByRebalancerAction($rebalancerAction, false); $client = $rebalancerAction->getClientPortfolioValue()->getClientPortfolio()->getClient(); $result = array('rebalance_total' => 0, 'short_term_gains' => 0, 'long_term_gains' => 0, 'short_term_losses' => 0, 'long_term_losses' => 0, 'transactions_costs' => 0, 'tlh_savings' => 0); /** @var RebalancerQueue $item */ foreach ($rebalancerQueue as $item) { $result['rebalance_total'] += $item->getAmount(); if ($item->getLot()) { if ($item->getLot()->isShortTerm()) { $prefix = 'short'; } else { $prefix = 'long'; } if ($item->getLot()->getShortTermGain() > 0) { $suffix = 'gains'; } else { $suffix = 'losses'; } $result[$prefix . '_term_' . $suffix] += abs($item->getLot()->getRealizedGain()); } /** @var SecurityTransaction $securityTransaction */ $securityTransaction = $securityTransactionRepo->findOneByRebalancerQueue($item); if ($securityTransaction) { $result['transactions_costs'] += $securityTransaction->getTransactionFee(); } } // $result['tlh_savings'] = ($result['short_term_losses'] * $client->getProfile()->getEstimatedIncomeTax()) + ($result['long_term_losses'] * 0.15 - $result['transactions_costs']) / beginning balance return $result; }
/** * {@inheritdoc} * * @throws TransformationFailedException if object is not found. */ public function transform($id) { if (!$this->isArray) { if (!$id) { return null; } $column = is_numeric($id) ? 'id' : 'utmtag'; $entity = $this->em->getRepository($this->repository)->findOneBy(array($column => $id)); if ($entity === null) { throw new TransformationFailedException(sprintf('UtmTag with "%s" does not exist!', $id)); } return $entity; } if (empty($id) || !is_array($id)) { return array(); } $column = is_numeric($id[0]) ? 'id' : 'utmtag'; $repo = $this->em->getRepository($this->repository); $prefix = $repo->getTableAlias(); $entities = $repo->getEntities(array('filter' => array('force' => array(array('column' => $prefix . '.' . $column, 'expr' => 'in', 'value' => $id))), 'ignore_paginator' => true)); if (!count($entities)) { throw new TransformationFailedException(sprintf('UtmTags for "%s" does not exist!', $id[0])); } return $entities; }
/** * @param object $entity * @param string $field * @param string $locale * @param mixed $fieldData * @throws \Bigfoot\Bundle\CoreBundle\Exception\InvalidArgumentException */ public function translate($entity, $field, $locale, $fieldData) { $em = $this->em; $meta = $em->getClassMetadata(get_class($entity)); $listener = $this->getTranslatableListener(); $persistDefaultLocaleTransInEntity = $listener->getPersistDefaultLocaleTranslation(); if (is_object($entity)) { $entityClass = $entity instanceof Proxy ? get_parent_class($entity) : get_class($entity); } else { throw new InvalidArgumentException('Argument 1 passed to TranslationRepository::translate must be an object'); } $reflectionClass = new \ReflectionClass($entityClass); $entityTranslationClass = $this->isPersonnalTranslationRecursive($reflectionClass)->class; if ($locale === $listener->getTranslatableLocale($entity, $meta)) { $meta->getReflectionProperty($field)->setValue($entity, $fieldData); $em->persist($entity); } elseif (!$persistDefaultLocaleTransInEntity && $locale === $listener->getDefaultLocale()) { $trans = new $entityTranslationClass($locale, $field, $fieldData); $listener->setTranslationInDefaultLocale(spl_object_hash($entity), $field, $trans); } else { $translationClassRepository = $this->em->getRepository($entityTranslationClass); $meta = $em->getClassMetadata(get_class($entity)); $identifier = $meta->getSingleIdentifierFieldName(); $translation = null; if ($entity && $this->propertyAccessor->getValue($entity, $identifier)) { $translation = $translationClassRepository->findOneBy(array('locale' => $locale, 'field' => $field, 'object' => $entity)); } if ($translation) { $translation->setContent($fieldData); } elseif ($fieldData !== null) { $entity->addTranslation(new $entityTranslationClass($locale, $field, $fieldData)); } } }
/** * @DI\InjectParams({ * "em" = @DI\Inject("doctrine.orm.entity_manager"), * "wallItemManager" = @DI\Inject("icap_socialmedia.manager.wall_item") * }) * @param EntityManager $em * @param WallItemManager $wallItemManager */ public function __construct(EntityManager $em, WallItemManager $wallItemManager) { $this->em = $em; $this->wallItemManager = $wallItemManager; $this->commentActionRepository = $em->getRepository('IcapSocialmediaBundle:CommentAction'); $this->resourceNodeRepository = $em->getRepository('ClarolineCoreBundle:Resource\\ResourceNode'); }
/** * {@inheritDoc} */ public function process(DatagridInterface $grid, array $config) { $this->datagrid = $grid; if (isset($config['query'])) { $queryConfig = array_intersect_key($config, array_flip(['query'])); $converter = new YamlConverter(); $this->qb = $converter->parse($queryConfig, $this->em->createQueryBuilder()); } elseif (isset($config['entity']) && isset($config['repository_method'])) { $entity = $config['entity']; $method = $config['repository_method']; $repository = $this->em->getRepository($entity); if (method_exists($repository, $method)) { $qb = $repository->{$method}(); if ($qb instanceof QueryBuilder) { $this->qb = $qb; } else { throw new DatasourceException(sprintf('%s::%s() must return an instance of Doctrine\\ORM\\QueryBuilder, %s given', get_class($repository), $method, is_object($qb) ? get_class($qb) : gettype($qb))); } } else { throw new DatasourceException(sprintf('%s has no method %s', get_class($repository), $method)); } } else { throw new DatasourceException(get_class($this) . ' expects to be configured with query or repository method'); } if (isset($config['hints'])) { $this->queryHints = $config['hints']; } $grid->setDatasource(clone $this); }
/** * Costructor * * @param string $productClass * @param ProductRepositoryInterface $productRepository * @param EntityManager $entityManager * @param string $assocTypeClass * @param string $groupClass */ public function __construct($productClass, ProductRepositoryInterface $productRepository, EntityManager $entityManager, $assocTypeClass, $groupClass) { $this->productClass = $productClass; $this->productRepository = $productRepository; $this->groupRepository = $entityManager->getRepository($groupClass); $this->assocTypeRepository = $entityManager->getRepository($assocTypeClass); }
public function __construct(\Doctrine\ORM\EntityManager $em) { $this->nodeRepo = $em->getRepository(':Node'); $this->propRepo = $em->getRepository(':Property'); $this->relRepo = $em->getRepository(':Relation'); $this->em = $em; }
public function __construct(EntityManager $em) { $this->userRepo = $em->getRepository('TerAelisUserBundle:User'); $this->nonVuRepo = $em->getRepository('TerAelisForumBundle:NonVu'); $this->commentRepo = $em->getRepository('TerAelisCommentBundle:Comment'); $this->em = $em; }
/** * @return EntityRepository */ public function getRepository() { if ($this->repository === null) { $this->repository = $this->em->getRepository(get_class(new Menu())); } return $this->repository; }
/** * Отправляем метку количества не прочитанных сообщений * * @param int $user * * @return integer */ protected function sendCountNotReadMessage($user) { $notReadMessage = $this->em->getRepository("UserMessagesBundle:Dialog")->findOneByNotReadMessage($user); if ($notReadMessage > 0) { $this->redis->publish('not-read', json_encode(['username' => 'username_' . $user, 'count' => $notReadMessage])); } }
/** * Estrategia: * - recuperar la lista de bundles * - confeccionar una lista completa de bundles con los locales y remotos * - recorrer la lista de bundles * - recuperar la lista de claves del bundle * - confeccionar una lista completa de claves con los locales y remotos del bundle * - enviar un if-newest de cada clave/idioma * */ protected function init() { /** @var EntityManager $em */ $this->em = $this->getContainer()->get('doctrine.orm.default_entity_manager'); $this->srcDir = realpath($this->getApplication()->getKernel()->getRootDir() . '/../src/') . '/'; $this->translationRepository = $this->em->getRepository('TranslationsApiBundle:Translation'); }
public function buildForm(FormBuilderInterface $builder, array $options) { $id_media = null; // get the id of media if ($builder->getData()->getMedia() instanceof \Sfynx\MediaBundle\Entity\Mediatheque) { $id_media = $builder->getData()->getMedia()->getId(); } if (isset($_POST['piapp_gedmobundle_organigramtype']['media'])) { $id_media = $_POST['piapp_gedmobundle_organigramtype']['media']; } $choiceList = $this->_em->getRepository("PiAppGedmoBundle:Organigram")->getArrayAllByField('category'); if (!isset($choiceList) || !count($choiceList)) { $choiceList = array(); } $builder->add('enabled', 'checkbox', array('data' => true))->add('page', 'entity', array('class' => 'SfynxCmfBundle:Page', 'query_builder' => function (EntityRepository $er) { return $er->getAllPageHtml(); }, 'property' => 'route_name', 'empty_value' => 'pi.form.label.select.choose.option', "label" => "pi.form.label.field.url", 'multiple' => false, 'required' => false, "attr" => array("class" => "pi_simpleselect")))->add('category', 'choice', array('choices' => $choiceList, 'multiple' => false, 'required' => false, 'empty_value' => 'pi.form.label.select.choose.category', 'label' => "pi.form.label.field.category", "attr" => array("class" => "pi_simpleselect")))->add('categoryother', 'text', array("label" => "pi.form.label.field.or", 'required' => false))->add('parent', 'entity', array('class' => 'PiAppGedmoBundle:Organigram', 'query_builder' => function (EntityRepository $er) { $translatableListener = $this->_container->get('gedmo.listener.translatable'); $translatableListener->setTranslationFallback(true); return $er->createQueryBuilder('k')->select('k')->orderBy('k.lft', 'ASC'); }, 'empty_value' => 'pi.form.label.select.choose.option', 'multiple' => false, 'required' => false, "attr" => array("class" => "pi_simpleselect")))->add('title', 'text', array('label' => "pi.form.label.field.title"))->add('descriptif', 'textarea', array('label' => 'pi.form.label.field.description'))->add('question')->add('content', 'textarea', array('label' => "pi.form.label.field.content", "attr" => array("class" => "pi_editor_simple_easy")))->add('media', 'entity', array('class' => 'SfynxMediaBundle:Mediatheque', 'query_builder' => function (EntityRepository $er) use($id_media) { $translatableListener = $this->_container->get('gedmo.listener.translatable'); $translatableListener->setTranslationFallback(true); return $er->createQueryBuilder('a')->select('a')->where("a.id IN (:id)")->setParameter('id', $id_media); }, 'empty_value' => 'pi.form.label.select.choose.media', 'label' => "Media", 'multiple' => false, 'required' => false, 'constraints' => array(), "label_attr" => array("class" => 'bg_image_collection'), "attr" => array("class" => "pi_simpleselect ajaxselect", "data-url" => $this->_container->get('sfynx.tool.route.factory')->getRoute("admin_gedmo_media_selectentity_ajax", array('type' => 'image')), "data-selectid" => $id_media, "data-max" => 50), 'widget_suffix' => '<a class="button-ui-mediatheque button-ui-dialog" title="Ajouter une image à la médiatheque" data-title="Mediatheque" data-href="' . $this->_container->get('sfynx.tool.route.factory')->getRoute("admin_gedmo_media_new", array("NoLayout" => "false", "category" => '', 'status' => 'image')) . '" data-selectid="#sfynx_mediabundle_mediatype_id" data-selecttitle="#sfynx_mediabundle_mediatype_title" data-insertid="#piapp_gedmobundle_blocktype_media" data-inserttype="multiselect" ></a>')); }
/** * Dodajanje skupin * @param EntityManager $em * @param array $valarray */ public function populateUser($em, $val) { $rep = $em->getRepository('\\Aaa\\Entity\\User'); $rr = $em->getRepository('\\Aaa\\Entity\\Role'); $o = $rep->findOneByEmail($val['email']); $nov = false; if (!$o) { $o = new User(); $o->setEmail($val['email']); $nov = true; $password = '******' . uniqid() . uniqid(); $o->setPassword($password); echo "User {$val['name']} geslo {$password}\n"; } $o->setName($val['name']); $o->setEnabled($val['enabled']); if ($val['roles']) { $rr->azurirajNames($o, $val['roles']); } if ($nov) { $rep->create($o); } else { $rep->update($o); } $this->addReference('User-' . $val['email'], $o); return; }
/** * @param $entity */ public function removeEntity($entity) { $this->em->remove($entity); $this->em->flush(); $isFound = $this->em->getRepository(get_class($entity))->findOneBy(['id' => $entity->getId()]); $this->assertNull($isFound); }
public function get($name) { $uppername = strtoupper($name); /* //create unique key for kind and uppercased name $key = md5('kind.' . $uppername); //cache has value return this one $cached = Cache::get($key); if ($cached) { return $cached; }*/ //find or create in store $kind = $this->em->getRepository($this->class)->findOneBy(['name' => $uppername]); if (!$kind) { $kind = new Kind(new Name($uppername)); $this->em->persist($kind); $this->em->flush(); } /* //cache it for next request Cache::forever($key, $kind); return Cache::get($key); */ return $kind; }
/** * Publishes a gif and posts a link on social networks * @param Gif $gif * @return bool */ public function publish(Gif $gif) { if (!$gif) { return false; } if (!$gif->getGifStatus() == GifState::ACCEPTED) { return false; } $gif->setPublishDate(new DateTime()); $gif->setGifStatus(GifState::PUBLISHED); $gif->generateUrlReadyPermalink(); // Check if permalink is unique /** @var GifRepository $gifsRepo */ $gifsRepo = $this->em->getRepository('LjdsBundle:Gif'); $permalink = $gif->getPermalink(); $i = 1; while (!empty($gifsRepo->findBy(['permalink' => $gif->getPermalink(), 'gifStatus' => GifState::PUBLISHED]))) { // Generate a new permalink $gif->setPermalink($permalink . $i); $i++; } $this->em->flush(); if ($this->facebookAutopost) { $this->facebookService->postGif($gif); } if ($this->twitterAutopost) { $this->twitterService->postGif($gif); } return true; }
public function testOneByIdJoinContent() { $document = $this->em->getRepository('ManhattanPostsBundle:Document')->findOneByIdJoinPost(1); $this->assertInstanceOf('Manhattan\\Bundle\\PostsBundle\\Entity\\Document', $document, 'testOneByIdJoinPost() returns Document object with query'); $this->assertInstanceOf('Manhattan\\Bundle\\PostsBundle\\Entity\\Post', $document->getPost(), '->getPost() returns a Post object.'); $this->assertEquals(10, $document->getPost()->getId(), '->getPost() returns the correct Post object.'); }
public function schedule() { $licenseRepo = $this->em->getRepository('AppBundle:License'); $drillSchemaEventsRepo = $this->em->getRepository('AppBundle:DrillSchemaEvent'); $licensesWithoutSchema = $licenseRepo->findWithoutRegisteredSchema(); foreach ($licensesWithoutSchema as $license) { $drillSchemaEvents = $drillSchemaEventsRepo->findByAddonKey($license->getAddonKey()); if (empty($drillSchemaEvents)) { continue; } $drillRegisteredSchema = new DrillRegisteredSchema(); $drillRegisteredSchema->setLicenseId($license->getLicenseId()); $drillRegisteredSchema->setAddonKey($license->getAddonKey()); $this->em->persist($drillRegisteredSchema); foreach ($drillSchemaEvents as $drillSchemaEvent) { $sendDate = $this->calculateSendDate($drillSchemaEvent, $license); $today = new \DateTime(); // prevent creating events from past if ($sendDate < $today->modify('-2 days')) { continue; } $drillRegisteredEvent = new DrillRegisteredEvent(); $drillRegisteredEvent->setDrillRegisteredSchema($drillRegisteredSchema); $drillRegisteredEvent->setDrillSchemaEvent($drillSchemaEvent); // Calculate $drillRegisteredEvent->setSendDate($sendDate); $drillRegisteredEvent->setStatus('new'); $this->em->persist($drillRegisteredEvent); } } $this->em->flush(); }
public function testJoinAction() { $name = "GrupDeneme"; $domain = "denemegrup"; $groupResponse = $this->createGroup($this->container->get('pheetup.controller.user.group'), $name, $domain); $request = new Request(); $request->setMethod('GET'); $groupRepository = $this->em->getRepository('PheetupUserBundle:Group'); $group = $groupRepository->findOneBy(['name' => $name]); $this->assertNotEmpty($group->getId()); $userManager = $this->container->get('fos_user.user_manager'); $user = $userManager->createUser(); $user->setUsername('ahmet'); $user->setEmail('*****@*****.**'); $user->setPlainPassword('deneme'); $user->setEnabled(true); $userManager->updateUser($user); $user = $userManager->findUserBy(array('username' => 'ahmet')); $loginManager = $this->container->get('fos_user.security.login_manager'); $firewallName = $this->container->getParameter('fos_user.firewall_name'); $loginManager->logInUser($firewallName, $user); $this->assertTrue($this->container->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_FULLY')); $controller = new DefaultController(); $controller->setContainer($this->container); $response = $controller->joinAction($group); $this->assertEquals($response->getContent(), "You successfully joined group"); }
/** * @param ExecutionContext $context * @return bool */ public function isValidCustomer(ExecutionContext $context) { // https://gist.github.com/888267 if (true === $this->known_customer) { $this->customer = $this->em->getRepository('AcmePizzaBundle:Customer')->findOneBy(array('phone' => $this->known_phone)); if (false === $this->customer instanceof Customer) { $property_path = $context->getPropertyPath() . '.known_phone'; $context->setPropertyPath($property_path); $context->addViolation('Phone number is not registered', array(), null); } } else { /* $context->setGroup('MyTest'); var_dump($context->getGroup()); */ $group = $context->getGroup(); $group = 'Customer'; $context->getGraphWalker()->walkReference($this->customer, $group, $context->getPropertyPath() . ".customer", true); } /* if (!($this->customer instanceof Customer)) { $context->addViolation('Invalid customer given', array(), $this->customer); } */ }
public function __construct(EntityManager $entityManager, ServiceSession $service, LoggerInterface $logger) { $this->em = $entityManager; $this->repository = $this->em->getRepository('MainCommonBundle:Utils\\Commission'); $this->session = $service; $this->logger = $logger; }
/** * * @param \DateTime $startDate beginning >= * @param \DateTime $endDate end <= * @param $type - type of the StatisticEntryFilter * * @return StatisticEntry[] * * Note: can be replaced with DQL if performance issues are notable */ public function getStatisticForRangeAndType(\DateTime $startDate, \DateTime $endDate, $type = null) { /** @var TrainingDayRepository $trainingDayRepository */ $trainingDayRepository = $this->manager->getRepository('TrainingScheduleBundle:TrainingDay'); $expr = Criteria::expr(); $criteria = Criteria::create(); $criteria->where($expr->gte('date', $startDate)); $criteria->andWhere($expr->lte('date', $endDate)); $criteria->andWhere($expr->eq('user', $this->userToken->getUser())); /** @var LazyCriteriaCollection $trainingDays */ $trainingDays = $trainingDayRepository->matching($criteria); $result = array(); /** @var TrainingDay $trainingDay * */ foreach ($trainingDays as $trainingDay) { foreach ($trainingDay->getStatistics() as $statistic) { /** @var StatisticEntry $statistic */ if ($type != null) { if ($statistic->getName() === $type) { $result[] = $statistic; } } else { $result[] = $statistic; } } } return $result; }
/** * Find events by filter from request * * @param Request $request Request * * @return [] */ public function findEventsByFilter(Request $request) { $genre = $request->query->get('genre'); $city = $request->query->get('city'); $date = $request->query->get('date'); return $this->entityManager->getRepository('AppBundle:Event')->findEventsByFilter($genre, $city, $date); }
/** * {@inheritdoc} */ public function getProductCountByTree(ProductInterface $product) { $categories = $product->getCategories(); $categoryIds = array(); foreach ($categories as $category) { $categoryIds[] = $category->getId(); } $categoryRepository = $this->entityManager->getRepository($this->categoryClass); $categoryTable = $this->entityManager->getClassMetadata($this->categoryClass)->getTableName(); $categoryIds = implode(',', $categoryIds); if (!empty($categoryIds)) { $sql = "SELECT" . " tree.id AS tree_id," . " COUNT(category.id) AS product_count" . " FROM {$categoryTable} tree" . " LEFT JOIN {$categoryTable} category" . " ON category.root = tree.id" . " AND category.id IN ({$categoryIds})" . " WHERE tree.parent_id IS NULL" . " GROUP BY tree.id"; } else { $sql = "SELECT" . " tree.id AS tree_id," . " '0' AS product_count" . " FROM {$categoryTable} tree" . " LEFT JOIN {$categoryTable} category" . " ON category.root = tree.id" . " WHERE tree.parent_id IS NULL" . " GROUP BY tree.id"; } $stmt = $this->entityManager->getConnection()->prepare($sql); $stmt->execute(); $productCounts = $stmt->fetchAll(); $trees = array(); foreach ($productCounts as $productCount) { $tree = array(); $tree['productCount'] = $productCount['product_count']; $tree['tree'] = $categoryRepository->find($productCount['tree_id']); $trees[] = $tree; } return $trees; }
/** * Make sure the menu objects exist in the database for each locale. */ public function makeSureMenusExist() { $locales = array_unique($this->getLocales()); $required = array(); foreach ($this->menuNames as $name) { $required[$name] = $locales; } $menuObjects = $this->em->getRepository('KunstmaanMenuBundle:Menu')->findAll(); foreach ($menuObjects as $menu) { if (array_key_exists($menu->getName(), $required)) { $index = array_search($menu->getLocale(), $required[$menu->getName()]); if ($index !== false) { unset($required[$menu->getName()][$index]); } } } foreach ($required as $name => $locales) { foreach ($locales as $locale) { $menu = new Menu(); $menu->setName($name); $menu->setLocale($locale); $this->em->persist($menu); } } $this->em->flush(); }
/** * @param FilterControllerEvent $event */ public function onKernelController(FilterControllerEvent $event) { $request = $event->getRequest(); // Check if the event has a nodeTranslation, if not this method can be skipped if (!$request->attributes->has('_nodeTranslation')) { return; } $nodeTranslation = $request->attributes->get('_nodeTranslation'); if (!$nodeTranslation instanceof NodeTranslation) { $nodeTranslation = $this->em->getRepository('KunstmaanNodeBundle:NodeTranslation')->find($nodeTranslation); $request->attributes->set('_nodeTranslation', $nodeTranslation); } $entity = $nodeTranslation->getRef($this->em); // If the entity is an instance of the SlugActionInterface, change the controller if ($entity instanceof SlugActionInterface) { $request->attributes->set('_entity', $entity); // Do security check by firing an event that gets handled by the SlugSecurityListener $securityEvent = new SlugSecurityEvent(); $securityEvent->setNode($nodeTranslation->getNode())->setEntity($entity)->setRequest($request)->setNodeTranslation($nodeTranslation); $this->eventDispatcher->dispatch(Events::SLUG_SECURITY, $securityEvent); // Set the right controller $request->attributes->set('_controller', $entity->getControllerAction()); $event->setController($this->resolver->getController($request)); } }
/** * @param $dni * @return \Brown\UsuarioBundle\Entity\Usuario|null */ private function getUser() { $dni = $this->container->get('request')->get('_username'); $repo = $this->em->getRepository('UsuarioBundle:Usuario'); $user = $repo->findOneBy(array('dni' => $dni)); return $user; }
public function findMatching(FilterEntity $filter) { $tags = $this->findMatchingByTags($filter); $meta = $this->findMatchingByMeta($filter); $ids = $this->getFileIds($tags, $meta); return $this->em->getRepository("PluPhorgBundle:File")->findBy(array("id" => $ids)); }
private function shouldBlock($ip, $route) { if (in_array(strtolower($route), $this->blocks)) { return $this->entityManager->getRepository('BDNUserBundle:Session')->getSessionCount($ip) >= $this->blockCount; } return false; }