/** * Test update function * * @covers eZ\Publish\Core\Persistence\InMemory\LanguageHandler::update */ public function testUpdate() { $language = $this->handler->load(2); $language->languageCode = 'Changed'; $language->name = 'Changed'; $language->isEnabled = false; $this->handler->update($language); $language = $this->handler->load(2); $this->assertEquals(2, $language->id); $this->assertEquals('Changed', $language->name); $this->assertEquals('Changed', $language->languageCode); $this->assertFalse($language->isEnabled); }
/** * Disables a language * * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException If user does not have access to content translations * * @param \eZ\Publish\API\Repository\Values\Content\Language $language * * @return \eZ\Publish\API\Repository\Values\Content\Language */ public function disableLanguage(Language $language) { if ($this->repository->hasAccess('content', 'translations') !== true) { throw new UnauthorizedException('content', 'translations'); } $loadedLanguage = $this->loadLanguageById($language->id); $updateLanguageStruct = new SPILanguage(array('id' => $loadedLanguage->id, 'languageCode' => $loadedLanguage->languageCode, 'name' => $loadedLanguage->name, 'isEnabled' => false)); $this->repository->beginTransaction(); try { $this->languageHandler->update($updateLanguageStruct); $this->repository->commit(); } catch (Exception $e) { $this->repository->rollback(); throw $e; } return $this->loadLanguageById($loadedLanguage->id); }