Code Duplication    Length = 25-26 lines in 2 locations

src/Eccube/Controller/Admin/Store/PluginController.php 2 locations

@@ 293-317 (lines=25) @@
290
     * @param Plugin      $Plugin
291
     * @return RedirectResponse
292
     */
293
    public function enable(Application $app, Plugin $Plugin)
294
    {
295
        $this->isTokenValid($app);
296
297
        if ($Plugin->isEnable()) {
298
            $app->addError('admin.plugin.already.enable', 'admin');
299
        } else {
300
            $requires = $this->pluginService->findRequirePluginNeedEnable($Plugin->getCode());
301
            if (!empty($requires)) {
302
                $DependPlugin = $this->pluginRepository->findOneBy(['code' => $requires[0]]);
303
                $dependName = $requires[0];
304
                if ($DependPlugin) {
305
                    $dependName = $DependPlugin->getName();
306
                }
307
                $message = $app->trans('admin.plugin.enable.depend', ['%name%' => $Plugin->getName(), '%depend_name%' => $dependName]);
308
                $app->addError($message, 'admin');
309
310
                return $app->redirect($app->url('admin_store_plugin'));
311
            }
312
            $this->pluginService->enable($Plugin);
313
            $app->addSuccess('admin.plugin.enable.complete', 'admin');
314
        }
315
316
        return $app->redirect($app->url('admin_store_plugin'));
317
    }
318
319
    /**
320
     * 対象のプラグインを無効にします。
@@ 328-353 (lines=26) @@
325
     * @param Plugin      $Plugin
326
     * @return RedirectResponse
327
     */
328
    public function disable(Application $app, Plugin $Plugin)
329
    {
330
        $this->isTokenValid($app);
331
332
        if ($Plugin->isEnable()) {
333
            $dependents = $this->pluginService->findDependentPluginNeedDisable($Plugin->getCode());
334
            if (!empty($dependents)) {
335
                $dependName = $dependents[0];
336
                $DependPlugin = $this->pluginRepository->findOneBy(['code' => $dependents[0]]);
337
                if ($DependPlugin) {
338
                    $dependName = $DependPlugin->getName();
339
                }
340
                $message = $app->trans('admin.plugin.disable.depend', ['%name%' => $Plugin->getName(), '%depend_name%' => $dependName]);
341
                $app->addError($message, 'admin');
342
343
                return $app->redirect($app->url('admin_store_plugin'));
344
            }
345
346
            $this->pluginService->disable($Plugin);
347
            $app->addSuccess('admin.plugin.disable.complete', 'admin');
348
        } else {
349
            $app->addError('admin.plugin.already.disable', 'admin');
350
        }
351
352
        return $app->redirect($app->url('admin_store_plugin'));
353
    }
354
355
    /**
356
     * 対象のプラグインを削除します。