Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
31 / 31
100.00% covered (success)
100.00%
4 / 4
CRAP
100.00% covered (success)
100.00%
1 / 1
EntryFromOldRoute
100.00% covered (success)
100.00%
31 / 31
100.00% covered (success)
100.00%
4 / 4
13
100.00% covered (success)
100.00%
1 / 1
 getScopes
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
1 / 1
5
 getClusters
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
1 / 1
5
 getStatus
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
2
 getFromOldRoute
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3/**
4 *
5 * @package Zmscalldisplay
6 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
7 *
8 */
9
10namespace BO\Zmscalldisplay\Helper;
11
12use BO\Mellon\Validator;
13use BO\Slim\Request;
14use Psr\Http\Message\RequestInterface;
15
16class EntryFromOldRoute
17{
18    protected static $allowedStatus = array(
19        'nurabholer' => 'pending'
20    );
21
22    /**
23     * @param Request $request
24     *
25     * @return null|string
26     */
27    protected static function getScopes($request): string|null
28    {
29        $scopes = [ ];
30        $validator = $request->getAttribute('validator');
31        $scopeData = $validator->getParameter('auswahlstandortid')
32            ->isArray()
33            ->getValue();
34        if ($scopeData) {
35            foreach ($scopeData as $scope) {
36                $scope = Validator::value($scope)->isNumber();
37                if (! $scope->hasFailed()) {
38                    $scopes[] = $scope->getValue();
39                }
40            }
41        }
42        return (0 < count($scopes)) ? implode(',', $scopes) : null;
43    }
44
45    /**
46     * @param Request $request
47     * @return string|null
48     */
49    protected static function getClusters($request)
50    {
51        $clusters = [ ];
52        $validator = $request->getAttribute('validator');
53        $clusterData = $validator->getParameter('auswahlclusterid')
54            ->isArray()
55            ->getValue();
56        if ($clusterData) {
57            foreach ($clusterData as $cluster) {
58                $cluster = Validator::value($cluster)->isNumber();
59                if (! $cluster->hasFailed()) {
60                    $clusters[] = $cluster->getValue();
61                }
62            }
63        }
64        return (0 < count($clusters)) ? implode(',', $clusters) : null;
65    }
66
67    /**
68     * @param Request $request
69     * @return string|null
70     */
71    protected static function getStatus($request)
72    {
73        $validator = $request->getAttribute('validator');
74        $status = $validator->getParameter('nurabholer')
75            ->isNumber()
76            ->getValue();
77        return ($status) ? self::$allowedStatus['nurabholer'] : null;
78    }
79
80    /**
81     * @param Request|RequestInterface $request
82     * @return array
83     */
84    public static function getFromOldRoute($request)
85    {
86        $collections['collections']['scopelist'] = self::getScopes($request);
87        $collections['collections']['clusterlist'] = self::getClusters($request);
88        $collections['queue']['status'] = self::getStatus($request);
89        return $collections;
90    }
91}