Passed
Branch master (b0d099)
by Markus
03:49
created

BrowserPackageListHandler   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 7

Test Coverage

Coverage 0%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 30
ccs 0
cts 20
cp 0
rs 10
wmc 2
lcom 1
cbo 7

1 Method

Rating   Name   Duplication   Size   Complexity  
B handle() 0 27 2
1
<?php
2
3
namespace SSpkS\Handler;
4
5
use \SSpkS\Output\HtmlOutput;
6
use \SSpkS\Output\UrlFixer;
7
use \SSpkS\Package\PackageFilter;
8
use \SSpkS\Package\PackageFinder;
9
10
class BrowserPackageListHandler extends AbstractHandler
11
{
12
    public function handle()
13
    {
14
        // Architecture is set --> show packages for that arch
15
        $arch     = trim($_GET['arch']);
16
17
        $output = new HtmlOutput($this->config);
18
        $output->setVariable('arch', $arch);
19
20
        $pkgs = new PackageFinder($this->config->paths['packages']);
21
        $pkgf = new PackageFilter($pkgs->getAllPackages());
22
        $pkgf->setArchitectureFilter($arch);
23
        $pkgf->setFirmwareVersionFilter(false);
24
        $pkgf->setOldVersionFilter(true);
25
        $filteredPkgList = $pkgf->getFilteredPackageList();
26
27
        $uf = new UrlFixer($this->config->baseUrl);
28
        $uf->fixPackageList($filteredPkgList);
29
30
        $packages = array();
31
        foreach ($filteredPkgList as $pkg) {
32
            $packages[] = $pkg->getMetadata();
33
        }
34
35
        $output->setVariable('packagelist', array_values($packages));
36
        $output->setTemplate('html_packagelist');
37
        $output->output();
38
    }
39
}
40