Eccube\Controller\Admin\Content\BlockController::delete PHP Метод

delete() публичный Метод

public delete ( Application $app, Request $request, $id )
$app Eccube\Application
$request Symfony\Component\HttpFoundation\Request
    public function delete(Application $app, Request $request, $id)
    {
        $this->isTokenValid($app);
        $DeviceType = $app['eccube.repository.master.device_type']->find(DeviceType::DEVICE_TYPE_PC);
        $Block = $app['eccube.repository.block']->findOneBy(array('id' => $id, 'DeviceType' => $DeviceType));
        if (!$Block) {
            $app->deleteMessage();
            return $app->redirect($app->url('admin_content_block'));
        }
        // ユーザーが作ったブロックのみ削除する
        // テンプレートが変更されていた場合、DBからはブロック削除されるがtwigファイルは残る
        if ($Block->getDeletableFlg() > 0) {
            $tplDir = $app['config']['block_realdir'];
            $file = $tplDir . '/' . $Block->getFileName() . '.twig';
            $fs = new Filesystem();
            if ($fs->exists($file)) {
                $fs->remove($file);
            }
            $app['orm.em']->remove($Block);
            $app['orm.em']->flush();
            $event = new EventArgs(array('Block' => $Block), $request);
            $app['eccube.event.dispatcher']->dispatch(EccubeEvents::ADMIN_CONTENT_BLOCK_DELETE_COMPLETE, $event);
            $app->addSuccess('admin.delete.complete', 'admin');
            \Eccube\Util\Cache::clear($app, false);
        }
        return $app->redirect($app->url('admin_content_block'));
    }
BlockController