Skip to content

Commit

Permalink
Fix Routable's use of TranslationConfig
Browse files Browse the repository at this point in the history
  • Loading branch information
mducharme committed Feb 7, 2017
1 parent 054e54e commit 5258497
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 15 deletions.
2 changes: 1 addition & 1 deletion src/Charcoal/Object/Content.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
// From `charcoal-translation`
use Charcoal\Translator\TranslatorAwareTrait;

// Local namespace (`charcoal-object`) dependencies
// From `charcoal-object`
use Charcoal\Object\ContentInterface;
use Charcoal\Object\RevisionableInterface;
use Charcoal\Object\RevisionableTrait;
Expand Down
22 changes: 9 additions & 13 deletions src/Charcoal/Object/RoutableTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@

// From 'charcoal-translation'
use Charcoal\Translator\Translation;
use Charcoal\Translation\TranslationConfig;

// From 'charcoal-view'
use Charcoal\View\ViewableInterface;
Expand Down Expand Up @@ -223,17 +222,16 @@ public function slug()
*/
public function generateSlug()
{
$translator = TranslationConfig::instance();
$languages = $translator->availableLanguages();
$languages = $this->translator()->availableLocales();
$patterns = $this->slugPattern();
$curSlug = $this->slug();
$newSlug = [];

$origLang = $translator->currentLanguage();
$origLang = $this->translator()->getLocale();
foreach ($languages as $lang) {
$pattern = $patterns[$lang];

$translator->setCurrentLanguage($lang);
$this->translator()->setLocale($lang);
if ($this->isSlugEditable() && isset($curSlug[$lang]) && strlen($curSlug[$lang])) {
$newSlug[$lang] = $curSlug[$lang];
} else {
Expand Down Expand Up @@ -262,7 +260,7 @@ public function generateSlug()
}
}
}
$translator->setCurrentLanguage($origLang);
$this->translator()->setLocale($origLang);

return $this->translator()->translation($newSlug);
}
Expand Down Expand Up @@ -363,7 +361,6 @@ protected function filterRouteToken($value, $token = null)
*/
protected function generateObjectRoute($slug = null)
{
$translator = TranslationConfig::instance();

if (!$slug) {
$slug = $this->generateSlug();
Expand All @@ -373,13 +370,13 @@ protected function generateObjectRoute($slug = null)
$slugs = $slug->all();
}

$origLang = $translator->currentLanguage();
$origLang = $this->translator()->getLocale();
foreach ($slugs as $lang => $slug) {
if (!$translator->hasLanguage($lang)) {
if (!in_array($lang, $this->translator()->availableLocales())) {
continue;
}

$translator->setCurrentLanguage($lang);
$this->translator()->setLocale($lang);

$objectRoute = $this->createRouteObject();

Expand Down Expand Up @@ -420,7 +417,7 @@ protected function generateObjectRoute($slug = null)
}
}

$translator->setCurrentLanguage($origLang);
$this->translator()->setLocale($origLang);
}

/**
Expand All @@ -432,11 +429,10 @@ protected function generateObjectRoute($slug = null)
*/
protected function getLatestObjectRoute($lang = null)
{
$translator = TranslationConfig::instance();

if ($lang === null) {
$lang = $this->translator()->getLocale();
} elseif (!$translator->hasLanguage($lang)) {
} elseif (!in_array($lang, $this->translator()->availableLocales())) {
throw new InvalidArgumentException(sprintf(
'Invalid language, received %s',
(is_object($lang) ? get_class($lang) : gettype($lang))
Expand Down
2 changes: 1 addition & 1 deletion src/Charcoal/Object/UserData.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
// From `charcoal-translation`
use Charcoal\Translator\TranslatorAwareTrait;

// Local namespace (`charcoal-object`) dependency
// From `charcoal-object`
use Charcoal\Object\UserDataInterface;

/**
Expand Down

0 comments on commit 5258497

Please sign in to comment.