Code Duplication    Length = 26-30 lines in 2 locations

src/Eccube/Form/Type/Admin/BlockType.php 1 location

@@ 85-110 (lines=26) @@
82
                'property' => 'id',
83
            ))
84
            ->add('id', 'hidden')
85
            ->addEventListener(FormEvents::POST_SUBMIT, function($event) use ($app) {
86
                $form = $event->getForm();
87
                $file_name = $form['file_name']->getData();
88
                $DeviceType = $form['DeviceType']->getData();
89
                $block_id = $form['id']->getData();
90
91
                $qb = $app['orm.em']->createQueryBuilder();
92
                $qb->select('b')
93
                    ->from('Eccube\\Entity\\Block', 'b')
94
                    ->where('b.file_name = :file_name')
95
                    ->setParameter('file_name', $file_name)
96
                    ->andWhere('b.DeviceType = :DeviceType')
97
                    ->setParameter('DeviceType', $DeviceType);
98
                if (isset($block_id)) {
99
                    $qb
100
                        ->andWhere('b.id <> :block_id')
101
                        ->setParameter('block_id', $block_id);
102
                }
103
104
                $Block = $qb
105
                    ->getQuery()
106
                    ->getResult();
107
                if (count($Block) > 0) {
108
                    $form['file_name']->addError(new FormError('※ 同じファイル名のデータが存在しています。別のファイル名を入力してください。'));
109
                }
110
            });
111
    }
112
113
    /**

src/Eccube/Form/Type/Admin/MainEditType.php 1 location

@@ 142-171 (lines=30) @@
139
                'property' => 'id',
140
            ))
141
            ->add('id', 'hidden')
142
            ->addEventListener(FormEvents::POST_SUBMIT, function($event) use ($app) {
143
                $form = $event->getForm();
144
                $url = $form['url']->getData();
145
                $DeviceType = $form['DeviceType']->getData();
146
                $page_id = $form['id']->getData();
147
148
                $qb = $app['orm.em']->createQueryBuilder();
149
                $qb->select('p')
150
                    ->from('Eccube\\Entity\\PageLayout', 'p')
151
                    ->where('p.url = :url')
152
                    ->setParameter('url', $url)
153
                    ->andWhere('p.DeviceType = :DeviceType')
154
                    ->setParameter('DeviceType', $DeviceType)
155
                ;
156
                if (is_null($page_id)) {
157
                    $qb
158
                        ->andWhere('p.id IS NOT NULL');
159
                } else {
160
                    $qb
161
                        ->andWhere('p.id <> :page_id')
162
                        ->setParameter('page_id', $page_id);
163
                }
164
165
                $PageLayout = $qb
166
                    ->getQuery()
167
                    ->getResult();
168
                if (count($PageLayout) > 0) {
169
                    $form['url']->addError(new FormError('※ 同じURLのデータが存在しています。別のURLを入力してください。'));
170
                }
171
            });
172
    }
173
174
    /**