Code Duplication    Length = 12-12 lines in 3 locations

core/traits/ApplicationTrait.php 3 locations

@@ 207-218 (lines=12) @@
204
     *
205
     * @return \luya\base\Module
206
     */
207
    public function getApplicationModules()
208
    {
209
        $modules = [];
210
211
        foreach ($this->getModules() as $id => $obj) {
212
            if ($obj instanceof Module) {
213
                $modules[$id] = $obj;
214
            }
215
        }
216
217
        return $modules;
218
    }
219
220
    /**
221
     * Return a list with all registered frontend modules except 'luya' and 'cms'. This is needed in the module block.
@@ 225-236 (lines=12) @@
222
     *
223
     * @return \luya\base\Module
224
     */
225
    public function getFrontendModules()
226
    {
227
        $modules = [];
228
229
        foreach ($this->getModules() as $id => $obj) {
230
            if ($obj instanceof Module && !$obj instanceof AdminModuleInterface && !$obj instanceof CoreModuleInterface) {
231
                $modules[$id] = $obj;
232
            }
233
        }
234
235
        return $modules;
236
    }
237
    
238
    /**
239
     * Return all Admin Module Interface implementing modules.
@@ 243-254 (lines=12) @@
240
     *
241
     * @return \luya\base\AdminModuleInterface
242
     */
243
    public function getAdminModules()
244
    {
245
        $modules = [];
246
        
247
        foreach ($this->getModules() as $id => $obj) {
248
            if ($obj instanceof Module && $obj instanceof AdminModuleInterface) {
249
                $modules[$id] = $obj;
250
            }
251
        }
252
        
253
        return $modules;
254
    }
255
}
256