Code Duplication    Length = 12-12 lines in 3 locations

core/traits/ApplicationTrait.php 3 locations

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