Skip to content

Commit

Permalink
Merge 27ce2d9 into 86ca308
Browse files Browse the repository at this point in the history
  • Loading branch information
sandergo90 committed Jul 17, 2018
2 parents 86ca308 + 27ce2d9 commit 326d629
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 43 deletions.
Expand Up @@ -75,12 +75,11 @@ public function importForcedAction()
*/
public function exportAction()
{
$locales = explode('|', $this->getParameter('requiredlocales'));
$locales = $this->getParameter('kuma_translator.managed_locales');
$exportCommand = new ExportCommand();
$exportCommand
->setLocales($locales)
->setFormat('csv')
->setDomains('messages');
->setFormat('csv');

$response = $this->get('kunstmaan_translator.service.exporter.command_handler')->executeExportCSVCommand($exportCommand);

Expand Down
Expand Up @@ -32,7 +32,11 @@ public function load(array $configs, ContainerBuilder $container)
$container->setParameter('kuma_translator.default_bundle', $config['default_bundle']);
$container->setParameter('kuma_translator.bundles', $config['bundles']);
$container->setParameter('kuma_translator.cache_dir', $config['cache_dir']);
$container->setParameter('kuma_translator.managed_locales', $config['managed_locales']);
$requiredLocales = explode('|', $container->getParameter('requiredlocales'));
$container->setParameter(
'kuma_translator.managed_locales',
empty($config['managed_locales']) ? $requiredLocales : $config['managed_locales']
);
$container->setParameter('kuma_translator.file_formats', $config['file_formats']);
$container->setParameter('kuma_translator.storage_engine.type', $config['storage_engine']['type']);
$container->setParameter('kuma_translator.profiler', $container->getParameter('kernel.debug'));
Expand All @@ -54,12 +58,12 @@ public function setTranslationConfiguration($config, $container)
$this->registerTranslatorConfiguration($config, $container);

// overwrites everything
$translator->addMethodCall('addDatabaseResources', array());
$translator->addMethodCall('addDatabaseResources', []);

$translator->addMethodCall('setFallbackLocales', array(array('en')));
$translator->addMethodCall('setFallbackLocales', [['en']]);

if($container->hasParameter('defaultlocale')) {
$translator->addMethodCall('setFallbackLocales', array(array($container->getParameter('defaultlocale'))));
if ($container->hasParameter('defaultlocale')) {
$translator->addMethodCall('setFallbackLocales', [[$container->getParameter('defaultlocale')]]);
}
}

Expand All @@ -72,7 +76,7 @@ public function registerTranslatorConfiguration($config, $container)
{
$translator = $container->getDefinition('kunstmaan_translator.service.translator.translator');

$dirs = array();
$dirs = [];
if (class_exists('Symfony\Component\Validator\Validation')) {
$r = new \ReflectionClass('Symfony\Component\Validator\Validation');

Expand Down Expand Up @@ -106,16 +110,18 @@ public function registerTranslatorConfiguration($config, $container)
$finder = Finder::create();
$finder->files();

$finder->filter(function (\SplFileInfo $file) {
$finder->filter(
function (\SplFileInfo $file) {
return 2 === substr_count($file->getBasename(), '.') && preg_match('/\.\w+$/', $file->getBasename());
});
}
);

$finder->in($dirs);

foreach ($finder as $file) {
// filename is domain.locale.format
list($domain, $locale, $format) = explode('.', $file->getBasename());
$translator->addMethodCall('addResource', array($format, (string) $file, $locale, $domain));
$translator->addMethodCall('addResource', [$format, (string) $file, $locale, $domain]);
}
}
}
Expand Down
67 changes: 36 additions & 31 deletions src/Kunstmaan/TranslatorBundle/Repository/TranslationRepository.php
@@ -1,4 +1,5 @@
<?php

namespace Kunstmaan\TranslatorBundle\Repository;

use Kunstmaan\TranslatorBundle\Entity\Translation;
Expand All @@ -11,16 +12,17 @@ class TranslationRepository extends AbstractTranslatorRepository
{
/**
* Get an array of all domains group by locales
*
* @return array array[0] = ["name" => "messages", "locale" => "nl"]
*/
public function getAllDomainsByLocale()
{
return $this->createQueryBuilder('t')
->select('t.locale, t.domain name')
->addGroupBy('t.locale')
->addGroupBy('t.domain')
->getQuery()
->getArrayResult();
->select('t.locale, t.domain name')
->addGroupBy('t.locale')
->addGroupBy('t.domain')
->getQuery()
->getArrayResult();
}

public function getLastChangedTranslationDate()
Expand Down Expand Up @@ -60,10 +62,10 @@ public function getLastChangedTranslationDate()
public function resetAllFlags()
{
return $this->createQueryBuilder('t')
->update('KunstmaanTranslatorBundle:Translation', 't')
->set('t.flag', "NULL")
->getQuery()
->execute();
->update('KunstmaanTranslatorBundle:Translation', 't')
->set('t.flag', "NULL")
->getQuery()
->execute();

}

Expand All @@ -72,8 +74,10 @@ public function getTranslationsByLocalesAndDomains($locales, $domains)
$em = $this->getEntityManager();
$qb = $em->createQueryBuilder();
$qb
->select('t')
->from('KunstmaanTranslatorBundle:Translation', 't');
->select('t')
->from('KunstmaanTranslatorBundle:Translation', 't')
->orderBy('t.domain', 'ASC')
->addOrderBy('t.keyword', 'ASC');

if (count($locales) > 0) {
$qb->andWhere($qb->expr()->in('t.locale', $locales));
Expand All @@ -84,8 +88,8 @@ public function getTranslationsByLocalesAndDomains($locales, $domains)
}

$result = $qb
->getQuery()
->getResult();
->getQuery()
->getResult();

return $result;
}
Expand All @@ -108,12 +112,12 @@ public function isUnique(\Kunstmaan\TranslatorBundle\Model\Translation $translat
{
$qb = $this->createQueryBuilder('t');
$count = $qb->select('COUNT(t.id)')
->where('t.domain = :domain')
->andWhere('t.keyword = :keyword')
->setParameter('domain', $translationModel->getDomain())
->setParameter('keyword', $translationModel->getKeyword())
->getQuery()
->getSingleScalarResult();
->where('t.domain = :domain')
->andWhere('t.keyword = :keyword')
->setParameter('domain', $translationModel->getDomain())
->setParameter('keyword', $translationModel->getKeyword())
->getQuery()
->getSingleScalarResult();

return $count == 0;
}
Expand All @@ -135,11 +139,11 @@ public function createTranslations(\Kunstmaan\TranslatorBundle\Model\Translation

$translation = new Translation();
$translation
->setDomain($translationModel->getDomain())
->setKeyword($translationModel->getKeyword())
->setTranslationId($translationId)
->setLocale($textWithLocale->getLocale())
->setText($textWithLocale->getText());
->setDomain($translationModel->getDomain())
->setKeyword($translationModel->getKeyword())
->setTranslationId($translationId)
->setLocale($textWithLocale->getLocale())
->setText($textWithLocale->getText());
$this->getEntityManager()->persist($translation);
}
$this->getEntityManager()->commit();
Expand Down Expand Up @@ -187,24 +191,25 @@ public function updateTranslations(\Kunstmaan\TranslatorBundle\Model\Translation
* Removes all translations with the given translation id
*
* @param string $translationId
*
* @return mixed
*/
public function removeTranslations($translationId)
{
return $this->createQueryBuilder('t')
->delete()
->where('t.translationId = :translationId')
->setParameter('translationId', $translationId)
->getQuery()
->execute();
->delete()
->where('t.translationId = :translationId')
->setParameter('translationId', $translationId)
->getQuery()
->execute();
}

public function getUniqueTranslationId()
{
$qb = $this->createQueryBuilder('t');
$newId = $qb->select('MAX(t.translationId)+1')
->getQuery()
->getSingleScalarResult();
->getQuery()
->getSingleScalarResult();
if (is_null($newId)) {
$newId = 1;
}
Expand Down

0 comments on commit 326d629

Please sign in to comment.