Test Failed
Push — master ( e0c95c...ecb0ac )
by Patrick
10:20 queued 15s
created

PayloadDto::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 25
Code Lines 24

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 24
c 1
b 0
f 0
nc 1
nop 7
dl 0
loc 25
rs 9.536
1
<?php
2
3
declare(strict_types=1);
4
5
/*
6
 * This file is part of forecast.it.fill project.
7
 * (c) Patrick Jaja <[email protected]>
8
 * This source file is subject to the MIT license that is bundled
9
 * with this source code in the file LICENSE.
10
 */
11
12
namespace ForecastAutomation\ProjektronClient\Business;
13
14
class PayloadDto {
15
    private $data;
16
17
    public function __construct(string $task, string $csrfToken, string $username, string $day, string $hours, string $minutes, string $description) {
18
        $this->data = [
19
            'daytimerecording,formsubmitted' => 'true',
20
            'daytimerecording,Content,singleeffort,TaskSelector,fixedtask,Data_CustomTitle' => 'Einzelbuchen',
21
            'daytimerecording,Content,singleeffort,TaskSelector,fixedtask,Data_FirstOnPage' => 'daytimerecording',
22
            'daytimerecording,Content,singleeffort,TaskSelector,fixedtask,Data_FirstOnPage' => 'daytimerecording',
23
            'daytimerecording,Content,singleeffort,TaskSelector,fixedtask,task,task' => $task, // task
24
            'daytimerecording,Content,singleeffort,EffortEditor,effort1,effortStart,effortStart_hour' => '',
25
            'daytimerecording,Content,singleeffort,EffortEditor,effort1,effortStart,effortStart_minute' => '',
26
            'daytimerecording,Content,singleeffort,EffortEditor,effort1,effortEnd,effortEnd_hour' => '',
27
            'daytimerecording,Content,singleeffort,EffortEditor,effort1,effortEnd,effortEnd_minute' => '',
28
            'daytimerecording,Content,singleeffort,EffortEditor,effort1,effortExpense,effortExpense_hour' => $hours,
29
            'daytimerecording,Content,singleeffort,EffortEditor,effort1,effortExpense,effortExpense_minute' => $minutes,
30
            'daytimerecording,Content,singleeffort,EffortEditor,effort1,description,description' => $description,
31
            'daytimerecording,Content,singleeffort,recordType' => 'neweffort',
32
            'daytimerecording,Content,singleeffort,recordOid' => '',
33
            'daytimerecording,Content,singleeffort,recordDate' => $day, // day
34
            'daytimerecording,editableComponentNames' => 'daytimerecording,Content,singleeffort daytimerecording,Content,daytimerecordingAllBookingsOfTheDay',
35
            'oid' => $task,
36
            'user' => $username,
37
            'action,MultiComponentDayTimeRecordingAction,daytimerecording' => '0',
38
            'BCS.ConfirmDiscardChangesDialog,InitialApplyButtonsOnError' => 'daytimerecording,Apply',
39
            'CSRF_Token' => $csrfToken,
40
            'daytimerecording,Apply' => 'daytimerecording,Apply',
41
            'submitButtonPressed' => 'daytimerecording,Apply',
42
        ];
43
    }
44
45
    public function getEncodedData() {
46
        // URL-encode the data for the POST request
47
        return http_build_query($this->data);
48
    }
49
}
50