/** * Test for the number of maximum language that can be created. * * @see \eZ\Publish\API\Repository\LanguageService::createLanguage() * * @depends eZ\Publish\API\Repository\Tests\LanguageServiceTest::testNewLanguageCreateStruct * * @expectedException \RuntimeException * @expectedExceptionMessage Maximum number of languages reached! */ public function testCreateMaximumLanguageLimit() { $languageCreate = $this->languageService->newLanguageCreateStruct(); $languageCreate->enabled = true; $languageCreate->name = "Bad Language"; $languageCreate->languageCode = "lan-ER"; $this->languageService->createLanguage($languageCreate); }
/** * @inheritdoc */ public function visit(TreeNodeInterface $node, &$data) { $languages = $this->languageService->loadLanguages(); $existingLanguageCodes = []; foreach ($languages as $language) { $existingLanguageCodes[] = $language->languageCode; } // If language already exists, skip it if (in_array($data['language_code'], $existingLanguageCodes)) { return; } $struct = $this->languageService->newLanguageCreateStruct(); $this->fillValueObject($struct, $data); $this->languageService->createLanguage($struct); }
/** * Instantiates an object to be used for creating languages * * @return \eZ\Publish\API\Repository\Values\Content\LanguageCreateStruct */ public function newLanguageCreateStruct() { return $this->service->newLanguageCreateStruct(); }