Code Duplication    Length = 28-28 lines in 2 locations

eZ/Publish/Core/Repository/LanguageService.php 2 locations

@@ 172-199 (lines=28) @@
169
     *
170
     * @return \eZ\Publish\API\Repository\Values\Content\Language
171
     */
172
    public function enableLanguage(Language $language)
173
    {
174
        if (!$this->repository->canUser('content', 'translations', $language)) {
175
            throw new UnauthorizedException('content', 'translations');
176
        }
177
178
        $loadedLanguage = $this->loadLanguageById($language->id);
179
180
        $updateLanguageStruct = new SPILanguage(
181
            array(
182
                'id' => $loadedLanguage->id,
183
                'languageCode' => $loadedLanguage->languageCode,
184
                'name' => $loadedLanguage->name,
185
                'isEnabled' => true,
186
            )
187
        );
188
189
        $this->repository->beginTransaction();
190
        try {
191
            $this->languageHandler->update($updateLanguageStruct);
192
            $this->repository->commit();
193
        } catch (Exception $e) {
194
            $this->repository->rollback();
195
            throw $e;
196
        }
197
198
        return $this->loadLanguageById($loadedLanguage->id);
199
    }
200
201
    /**
202
     * Disables a language.
@@ 210-237 (lines=28) @@
207
     *
208
     * @return \eZ\Publish\API\Repository\Values\Content\Language
209
     */
210
    public function disableLanguage(Language $language)
211
    {
212
        if (!$this->repository->canUser('content', 'translations', $language)) {
213
            throw new UnauthorizedException('content', 'translations');
214
        }
215
216
        $loadedLanguage = $this->loadLanguageById($language->id);
217
218
        $updateLanguageStruct = new SPILanguage(
219
            array(
220
                'id' => $loadedLanguage->id,
221
                'languageCode' => $loadedLanguage->languageCode,
222
                'name' => $loadedLanguage->name,
223
                'isEnabled' => false,
224
            )
225
        );
226
227
        $this->repository->beginTransaction();
228
        try {
229
            $this->languageHandler->update($updateLanguageStruct);
230
            $this->repository->commit();
231
        } catch (Exception $e) {
232
            $this->repository->rollback();
233
            throw $e;
234
        }
235
236
        return $this->loadLanguageById($loadedLanguage->id);
237
    }
238
239
    /**
240
     * Loads a Language from its language code ($languageCode).