Code Duplication    Length = 25-26 lines in 2 locations

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

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