| @@ 145-166 (lines=22) @@ | ||
| 142 | * @param UserGroup $userGroup |
|
| 143 | * @return boolean |
|
| 144 | */ |
|
| 145 | protected function setReferences($userGroup) |
|
| 146 | { |
|
| 147 | if (!array_key_exists('references', $this->dsl)) { |
|
| 148 | return false; |
|
| 149 | } |
|
| 150 | ||
| 151 | foreach ($this->dsl['references'] as $reference) { |
|
| 152 | ||
| 153 | switch ($reference['attribute']) { |
|
| 154 | case 'object_id': |
|
| 155 | case 'id': |
|
| 156 | $value = $userGroup->id; |
|
| 157 | break; |
|
| 158 | default: |
|
| 159 | throw new \InvalidArgumentException('User Group Manager does not support setting references for attribute ' . $reference['attribute']); |
|
| 160 | } |
|
| 161 | ||
| 162 | $this->referenceResolver->addReference($reference['identifier'], $value); |
|
| 163 | } |
|
| 164 | ||
| 165 | return true; |
|
| 166 | } |
|
| 167 | } |
|
| 168 | ||
| @@ 169-189 (lines=21) @@ | ||
| 166 | * @throws \InvalidArgumentException when trying to set references to unsupported attributes |
|
| 167 | * @return boolean |
|
| 168 | */ |
|
| 169 | protected function setReferences($user) |
|
| 170 | { |
|
| 171 | if (!array_key_exists('references', $this->dsl)) { |
|
| 172 | return false; |
|
| 173 | } |
|
| 174 | ||
| 175 | foreach ($this->dsl['references'] as $reference) { |
|
| 176 | switch ($reference['attribute']) { |
|
| 177 | case 'user_id': |
|
| 178 | case 'id': |
|
| 179 | $value = $user->id; |
|
| 180 | break; |
|
| 181 | default: |
|
| 182 | throw new \InvalidArgumentException('User Manager does not support setting references for attribute ' . $reference['attribute']); |
|
| 183 | } |
|
| 184 | ||
| 185 | $this->referenceResolver->addReference($reference['identifier'], $value); |
|
| 186 | } |
|
| 187 | ||
| 188 | return true; |
|
| 189 | } |
|
| 190 | } |
|
| 191 | ||
| @@ 268-288 (lines=21) @@ | ||
| 265 | * @param \eZ\Publish\API\Repository\Values\Content\Location $location |
|
| 266 | * @return boolean |
|
| 267 | */ |
|
| 268 | protected function setReferences($location) |
|
| 269 | { |
|
| 270 | if (!array_key_exists('references', $this->dsl)) { |
|
| 271 | return false; |
|
| 272 | } |
|
| 273 | ||
| 274 | foreach ($this->dsl['references'] as $reference) { |
|
| 275 | switch ($reference['attribute']) { |
|
| 276 | case 'location_id': |
|
| 277 | case 'id': |
|
| 278 | $value = $location->id; |
|
| 279 | break; |
|
| 280 | default: |
|
| 281 | throw new \InvalidArgumentException('Location Manager does not support setting references for attribute ' . $reference['attribute']); |
|
| 282 | } |
|
| 283 | ||
| 284 | $this->referenceResolver->addReference($reference['identifier'], $value); |
|
| 285 | } |
|
| 286 | ||
| 287 | return true; |
|
| 288 | } |
|
| 289 | } |
|
| 290 | ||