Skip to content

Commit

Permalink
Fix dumper
Browse files Browse the repository at this point in the history
  • Loading branch information
Bozhidar Hristov committed Feb 1, 2017
1 parent 0a06eb6 commit 79cdffb
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions src/Dumper/DatabaseDumper.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,23 @@

namespace ObjectBG\TranslationBundle\Dumper;

use Doctrine\ORM\EntityManager;
use ObjectBG\TranslationBundle\Entity\TranslationToken;
use Symfony\Component\Translation\Dumper\DumperInterface;
use Symfony\Component\Translation\MessageCatalogue;

class DatabaseDumper implements DumperInterface
{

/**
* @var \Doctrine\ORM\EntityManager
* @var EntityManager
*/
private $em;

/**
* @param \Doctrine\ORM\EntityManager $em
* @param EntityManager $em
*/
public function __construct(\Doctrine\ORM\EntityManager $em)
public function __construct(EntityManager $em)
{
$this->em = $em;
}
Expand All @@ -25,17 +27,18 @@ public function dump(MessageCatalogue $messages, $options = array())
{
$domains = $messages->all();

$dql = 'SELECT COUNT(token) FROM ObjectBGTranslationBundle:TranslationToken token WHERE token.token = :token';
$dql = 'SELECT COUNT(token) FROM ObjectBGTranslationBundle:TranslationToken token WHERE token.token = :token AND token.catalogue = :catalogue';

foreach ($domains as $domain) {
foreach ($domain as $token => $val) {
foreach ($domains as $catalogue => $messages) {
foreach ($messages as $token => $val) {
$exists = ((int)$this->em->createQuery($dql)
->setParameter('token', $token)
->setParameter('catalogue', $catalogue)
->getSingleScalarResult()) > 0;
if (!$exists) {
$translationToken = new \ObjectBG\TranslationBundle\Entity\TranslationToken();
$translationToken = new TranslationToken();
$translationToken->setToken($token);
$translationToken->setCatalogue($domain);
$translationToken->setCatalogue($catalogue);
$this->em->persist($translationToken);
}
}
Expand Down

0 comments on commit 79cdffb

Please sign in to comment.