$Result['path'] = eZTagsObject::generateModuleResultPath($tag); return; } /** @var eZContentLanguage $language */ $language = eZContentLanguage::fetchByLocale($locale); if (!$language instanceof eZContentLanguage) { return $Module->handleError(eZError::KERNEL_NOT_FOUND, 'kernel'); } $tag = eZTagsObject::fetchWithMainTranslation($tagID); if (!$tag instanceof eZTagsObject) { return $Module->handleError(eZError::KERNEL_NOT_FOUND, 'kernel'); } if ($tag->attribute('main_tag_id') == 0) { return $Module->redirectToView('edit', array($tag->attribute('id'))); } $tagTranslation = eZTagsKeyword::fetch($tag->attribute('id'), $language->attribute('locale'), true); if (!$tagTranslation instanceof eZTagsKeyword) { $tagTranslation = new eZTagsKeyword(array('keyword_id' => $tag->attribute('id'), 'keyword' => '', 'language_id' => $language->attribute('id'), 'locale' => $language->attribute('locale'), 'status' => eZTagsKeyword::STATUS_DRAFT)); $tagTranslation->store(); $tag->updateLanguageMask(); } $tag = eZTagsObject::fetch($tagID, $language->attribute('locale')); if (!$tag instanceof eZTagsObject) { return $Module->handleError(eZError::KERNEL_NOT_FOUND, 'kernel'); } $error = ''; if ($http->hasPostVariable('SaveButton')) { $newKeyword = trim($http->postVariable('TagEditKeyword', '')); if (empty($newKeyword)) { $error = ezpI18n::tr('extension/eztags/errors', 'Name cannot be empty.'); }
/** * Returns tag translation for provided locale * * @param string $locale * * @return eZTagsKeyword */ public function translationByLocale($locale) { return eZTagsKeyword::fetch($this->attribute('id'), $locale); }