1 | <?php |
||
22 | class UserGroupMapper |
||
23 | { |
||
24 | /** |
||
25 | * @var UserGroupObject |
||
26 | */ |
||
27 | public $userGroupObject; |
||
28 | |||
29 | /** |
||
30 | * @param UserGroupObject $userGroupObject |
||
31 | */ |
||
32 | 18 | public function __construct(UserGroupObject $userGroupObject) |
|
36 | |||
37 | /** |
||
38 | * @param UserGroup $userGroup |
||
39 | */ |
||
40 | 18 | public function userGroupToObject(UserGroup $userGroup) |
|
53 | |||
54 | /** |
||
55 | * @param UserGroupCreateStruct $createStruct |
||
56 | */ |
||
57 | 18 | public function mapObjectToCreateStruct(UserGroupCreateStruct $createStruct) |
|
58 | { |
||
59 | // Name collection (ez => transfer) |
||
60 | $keys = array( |
||
61 | 18 | 'remoteId' => 'remote_id', |
|
62 | 18 | ); |
|
63 | |||
64 | 18 | $this->arrayToStruct($createStruct, $keys); |
|
65 | |||
66 | 18 | $this->assignStructFieldValues($createStruct); |
|
67 | |||
68 | 18 | $this->callStruct($createStruct); |
|
69 | 18 | } |
|
70 | |||
71 | /** |
||
72 | * @param UserGroupUpdateStruct $updateStruct |
||
73 | */ |
||
74 | 3 | public function mapObjectToUpdateStruct(UserGroupUpdateStruct $updateStruct) |
|
75 | { |
||
76 | // Name collection (ez => transfer) |
||
77 | $keys = array( |
||
78 | 3 | 'remoteId' => 'remote_id', |
|
79 | 3 | ); |
|
80 | |||
81 | 3 | $this->arrayToStruct($updateStruct, $keys); |
|
82 | |||
83 | 3 | $this->assignStructFieldValues($updateStruct); |
|
|
|||
84 | |||
85 | 3 | $this->callStruct($updateStruct); |
|
86 | 3 | } |
|
87 | |||
88 | /** |
||
89 | * @param UserGroupCreateStruct $struct Struct to assign values to |
||
90 | */ |
||
91 | 18 | private function assignStructFieldValues($struct) |
|
92 | { |
||
93 | 18 | foreach ($this->userGroupObject->data['fields'] as $key => $value) { |
|
94 | 18 | if ($struct instanceof UserGroupUpdateStruct) { |
|
95 | 3 | $struct->contentUpdateStruct->setField($key, $value); |
|
96 | 3 | } else { |
|
97 | 18 | $struct->setField($key, $value); |
|
98 | } |
||
99 | 18 | } |
|
100 | 18 | } |
|
101 | |||
102 | /** |
||
103 | * @param UserGroupCreateStruct|UserGroupUpdateStruct $struct |
||
104 | * @param array $keys |
||
105 | */ |
||
106 | 18 | private function arrayToStruct($struct, $keys) |
|
121 | |||
122 | /** |
||
123 | * @param UserGroupCreateStruct|UserGroupUpdateStruct $struct |
||
124 | */ |
||
125 | 18 | private function callStruct($struct) |
|
132 | } |
||
133 |
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: