Issues (22)

src/Weather/ForecastController.php (2 issues)

Severity
1
<?php
2
3
namespace Asti\Weather;
4
5
use Anax\Commons\ContainerInjectableInterface;
6
use Anax\Commons\ContainerInjectableTrait;
7
8
// use Anax\Route\Exception\ForbiddenException;
9
// use Anax\Route\Exception\NotFoundException;
10
// use Anax\Route\Exception\InternalErrorException;
11
12
/**
13
 * A sample controller to show how a controller class can be implemented.
14
 * The controller will be injected with $di if implementing the interface
15
 * ContainerInjectableInterface, like this sample class does.
16
 * The controller is mounted on a particular route and can then handle all
17
 * requests for that mount point.
18
 *
19
 * @SuppressWarnings(PHPMD.TooManyPublicMethods)
20
 */
21
class ForecastController implements ContainerInjectableInterface
22
{
23
    use ContainerInjectableTrait;
24
25 1
    public function indexAction(): object
26
    {
27 1
        $page = $this->di->get("page");
28 1
        $request = $this->di->get("request");
29 1
        $getParams = $request->getGet();
30 1
        $locationService = $this->di->get("location");
31 1
        $weatherService = $this->di->get("weather");
32 1
        $resIp = null;
0 ignored issues
show
The assignment to $resIp is dead and can be removed.
Loading history...
33 1
        $resWeather = null;
0 ignored issues
show
The assignment to $resWeather is dead and can be removed.
Loading history...
34 1
        if ($getParams) {
35 1
            $ipAdr = $getParams["ipCheck"];
36 1
            $type = $getParams["type"];
37 1
            $resIp = $locationService->curlIpApi($ipAdr);
38 1
            if (isset($resIp["Message"])) {
39
                $data = [
40 1
                    "ErrorMsg" => $resIp["Message"]
41
                ];
42 1
                $page->add("weather/weather_search", $data);
43 1
                return $page->render($data);
44
            } else {
45 1
                $resWeather = $weatherService->curlWeatherApi($resIp[0]["Longitude"], $resIp[0]["Latitude"]);
46
            }
47 1
            if (isset($resWeather->Error)) {
48
                $data = [
49
                    "ErrorMsg" => $resWeather["Error"]
50
                ];
51
                $page->add("weather/weather_search", $data);
52
                return $page->render($data);
53
            }
54 1
            elseif (isset($ipAdr) && isset($resWeather) && $type == "Prognos") {
55
                $data = [
56 1
                    "long" => $resIp[0]["Longitude"],
57 1
                    "lat" => $resIp[0]["Latitude"],
58 1
                    "CurrentTemp" => $resWeather[0]["CurrentTemp"],
59 1
                    "CurrentFeelsLike" => $resWeather[0]["CurrentFeelsLike"],
60 1
                    "CurrentWeather" => $resWeather[0]["CurrentWeather"],
61 1
                    "DailyDates" => $resWeather[0]["DailyDates"],
62 1
                    "DailyTemperatures" => $resWeather[0]["DailyTemperatures"],
63 1
                    "DailyFeelsLike" => $resWeather[0]["DailyFeelsLike"],
64 1
                    "DailyDescriptions" => $resWeather[0]["DailyDescriptions"]
65
                ];
66 1
                $page->add("weather/weather_forecast", [$data]);
67 1
                return $page->render([$data]);
68 1
            } elseif (isset($ipAdr) && isset($resWeather) && $type == "Äldre data") {
69 1
                $resWeather = $weatherService->curlOldWeatherApi($resIp[0]["Longitude"], $resIp[0]["Latitude"]);
70
                $data = [
71 1
                    "long" => $resIp[0]["Longitude"],
72 1
                    "lat" => $resIp[0]["Latitude"],
73 1
                    "Date1" => $resWeather[0]["Date1"],
74 1
                    "CurrentTemp1" => $resWeather[0]["CurrentTemp1"],
75 1
                    "CurrentFeelsLike1" => $resWeather[0]["CurrentFeelsLike1"],
76 1
                    "CurrentWeather1" => $resWeather[0]["CurrentWeather1"],
77 1
                    "Date2" => $resWeather[0]["Date2"],
78 1
                    "CurrentTemp2" => $resWeather[0]["CurrentTemp2"],
79 1
                    "CurrentFeelsLike2" => $resWeather[0]["CurrentFeelsLike2"],
80 1
                    "CurrentWeather2" => $resWeather[0]["CurrentWeather2"],
81 1
                    "Date3" => $resWeather[0]["Date3"],
82 1
                    "CurrentTemp3" => $resWeather[0]["CurrentTemp3"],
83 1
                    "CurrentFeelsLike3" => $resWeather[0]["CurrentFeelsLike3"],
84 1
                    "CurrentWeather3" => $resWeather[0]["CurrentWeather3"],
85 1
                    "Date4" => $resWeather[0]["Date4"],
86 1
                    "CurrentTemp4" => $resWeather[0]["CurrentTemp4"],
87 1
                    "CurrentFeelsLike4" => $resWeather[0]["CurrentFeelsLike4"],
88 1
                    "CurrentWeather4" => $resWeather[0]["CurrentWeather4"],
89 1
                    "Date5" => $resWeather[0]["Date5"],
90 1
                    "CurrentTemp5" => $resWeather[0]["CurrentTemp5"],
91 1
                    "CurrentFeelsLike5" => $resWeather[0]["CurrentFeelsLike5"],
92 1
                    "CurrentWeather5" => $resWeather[0]["CurrentWeather5"]
93
                ];
94
95 1
                $page->add("weather/weather_older", [$data]);
96 1
                return $page->render([$data]);
97
            }
98
        }
99
        $data = [
100
            "ipAdress" => $_SERVER['REMOTE_ADDR'] ?? "127.0.0.1"
101
        ];
102
        $page->add("weather/weather_search", $data);
103
        return $page->render($data);
104
    }
105
}
106