ILIAS  release_8 Revision v8.24
ilAssOrderingFormValuesObjectsConverter Class Reference
+ Inheritance diagram for ilAssOrderingFormValuesObjectsConverter:
+ Collaboration diagram for ilAssOrderingFormValuesObjectsConverter:

Public Member Functions

 getContext ()
 
 setContext ($context)
 
 getPostVar ()
 
 setPostVar ($postVar)
 
 getImageRemovalCommand ()
 
 setImageRemovalCommand ($imageRemovalCommand)
 
 getImageUrlPath ()
 
 setImageUrlPath ($imageUrlPath)
 
 getImageFsPath ()
 
 setImageFsPath ($imageFsPath)
 
 getThumbnailPrefix ()
 
 setThumbnailPrefix ($thumbnailPrefix)
 
 getIndentationsPostVar ()
 
 manipulateFormInputValues (array $input_values)
 
 manipulateFormSubmitValues (array $submitValues)
 
 constructElementsFromValues (array $values)
 
 manipulateFormInputValues (array $inputValues)
 
 manipulateFormSubmitValues (array $submitValues)
 

Data Fields

const INDENTATIONS_POSTVAR_SUFFIX = '_ordering'
 
const INDENTATIONS_POSTVAR_SUFFIX_JS = '__default'
 
const CONTEXT_MAINTAIN_ELEMENT_TEXT = 'maintainItemText'
 
const CONTEXT_MAINTAIN_ELEMENT_IMAGE = 'maintainItemImage'
 
const CONTEXT_MAINTAIN_HIERARCHY = 'maintainHierarchy'
 

Protected Member Functions

 needsConvertToValues ($elements_or_values)
 
 collectValuesFromElements (array $elements)
 
 getTextContentValueFromObject (ilAssOrderingElement $element)
 
 getImageContentValueFromObject (ilAssOrderingElement $element)
 
 getStructValueFromObject (ilAssOrderingElement $element)
 
 needsConvertToElements ($valuesOrElements)
 
 fetchSubmittedImageFilename ($identifier)
 
 fetchSubmittedUploadFilename ($identifier)
 
 fetchSubmittedFileUploadProperty ($fileUpload, $property)
 
 fetchElementFileUpload ($identifier)
 
 fetchSubmittedUploadFiles ()
 
 getFileSubmitsHavingActualUpload ($submittedUploadFiles)
 
 getFileSubmitDataRestructuredByIdentifiers ()
 
 getFileSubmitData ()
 
 wasImageRemovalRequested ($identifier)
 TODO: Instead of accessing post, the complete ilFormValuesManipulator should be aware of a server request or the corresponding processed input values. More...
 

Protected Attributes

 $context = null
 
 $postVar = null
 
 $imageRemovalCommand = null
 
 $imageUrlPath
 
 $imageFsPath
 
 $thumbnailPrefix
 

Detailed Description

Member Function Documentation

◆ collectValuesFromElements()

ilAssOrderingFormValuesObjectsConverter::collectValuesFromElements ( array  $elements)
protected

Definition at line 178 of file class.ilAssOrderingFormValuesObjectsConverter.php.

178 : array
179 {
180 $values = array();
181
182 foreach ($elements as $identifier => $orderingElement) {
183 switch ($this->getContext()) {
185
186 $values[$identifier] = $this->getTextContentValueFromObject($orderingElement);
187 break;
188
190
191 $values[$identifier] = $this->getImageContentValueFromObject($orderingElement);
192 break;
193
195
196 $values[$identifier] = $this->getStructValueFromObject($orderingElement);
197 break;
198
199 default:
200 throw new ilFormException('unsupported context: ' . $this->getContext());
201 }
202 }
203
204 return $values;
205 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

References CONTEXT_MAINTAIN_ELEMENT_IMAGE, CONTEXT_MAINTAIN_ELEMENT_TEXT, CONTEXT_MAINTAIN_HIERARCHY, getContext(), getImageContentValueFromObject(), getStructValueFromObject(), and getTextContentValueFromObject().

Referenced by manipulateFormInputValues().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ constructElementsFromValues()

ilAssOrderingFormValuesObjectsConverter::constructElementsFromValues ( array  $values)

Definition at line 253 of file class.ilAssOrderingFormValuesObjectsConverter.php.

253 : array
254 {
255 $elements = array();
256
257 $position = 0;
258
259 if (array_key_exists('content', $values)) {
260 $values = $values['content'];
261 }
262 foreach ($values as $identifier => $value) {
263 $element = new ilAssOrderingElement();
264
265 $element->setRandomIdentifier($identifier);
266
267 $element->setPosition($position++);
268
269 if ($this->getContext() == self::CONTEXT_MAINTAIN_HIERARCHY) {
270 $element->setIndentation((int)$value);
271 } else {
272 $element->setContent($value);
273 }
274
275 if ($this->getContext() == self::CONTEXT_MAINTAIN_ELEMENT_IMAGE) {
276 $element->setUploadImageName($this->fetchSubmittedImageFilename($identifier));
277 $element->setUploadImageFile($this->fetchSubmittedUploadFilename($identifier));
278
279 $element->setImageRemovalRequest($this->wasImageRemovalRequested($identifier));
280 }
281
282 $elements[$identifier] = $element;
283 }
284
285 return $elements;
286 }
wasImageRemovalRequested($identifier)
TODO: Instead of accessing post, the complete ilFormValuesManipulator should be aware of a server req...

References fetchSubmittedImageFilename(), fetchSubmittedUploadFilename(), getContext(), and wasImageRemovalRequested().

Referenced by manipulateFormSubmitValues().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fetchElementFileUpload()

ilAssOrderingFormValuesObjectsConverter::fetchElementFileUpload (   $identifier)
protected

Definition at line 309 of file class.ilAssOrderingFormValuesObjectsConverter.php.

310 {
311 $uploadFiles = $this->fetchSubmittedUploadFiles();
312
313 if (!isset($uploadFiles[$identifier])) {
314 return array();
315 }
316
317 return $uploadFiles[$identifier];
318 }

References fetchSubmittedUploadFiles().

Referenced by fetchSubmittedImageFilename(), and fetchSubmittedUploadFilename().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fetchSubmittedFileUploadProperty()

ilAssOrderingFormValuesObjectsConverter::fetchSubmittedFileUploadProperty (   $fileUpload,
  $property 
)
protected

Definition at line 300 of file class.ilAssOrderingFormValuesObjectsConverter.php.

301 {
302 if (!array_key_exists($property, $fileUpload)) {
303 return null;
304 }
305
306 return $fileUpload[$property];
307 }

Referenced by fetchSubmittedImageFilename(), and fetchSubmittedUploadFilename().

+ Here is the caller graph for this function:

◆ fetchSubmittedImageFilename()

ilAssOrderingFormValuesObjectsConverter::fetchSubmittedImageFilename (   $identifier)
protected

Definition at line 288 of file class.ilAssOrderingFormValuesObjectsConverter.php.

289 {
290 $fileUpload = $this->fetchElementFileUpload($identifier);
291 return $this->fetchSubmittedFileUploadProperty($fileUpload, 'name');
292 }

References fetchElementFileUpload(), and fetchSubmittedFileUploadProperty().

Referenced by constructElementsFromValues().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fetchSubmittedUploadFilename()

ilAssOrderingFormValuesObjectsConverter::fetchSubmittedUploadFilename (   $identifier)
protected

Definition at line 294 of file class.ilAssOrderingFormValuesObjectsConverter.php.

295 {
296 $fileUpload = $this->fetchElementFileUpload($identifier);
297 return $this->fetchSubmittedFileUploadProperty($fileUpload, 'tmp_name');
298 }

References fetchElementFileUpload(), and fetchSubmittedFileUploadProperty().

Referenced by constructElementsFromValues().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fetchSubmittedUploadFiles()

ilAssOrderingFormValuesObjectsConverter::fetchSubmittedUploadFiles ( )
protected

Definition at line 320 of file class.ilAssOrderingFormValuesObjectsConverter.php.

320 : array
321 {
322 $submittedUploadFiles = $this->getFileSubmitDataRestructuredByIdentifiers();
323 //$submittedUploadFiles = $this->getFileSubmitsHavingActualUpload($submittedUploadFiles);
324 return $submittedUploadFiles;
325 }

References getFileSubmitDataRestructuredByIdentifiers().

Referenced by fetchElementFileUpload().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getContext()

ilAssOrderingFormValuesObjectsConverter::getContext ( )
Returns
string

Definition at line 67 of file class.ilAssOrderingFormValuesObjectsConverter.php.

References $context.

Referenced by collectValuesFromElements(), and constructElementsFromValues().

+ Here is the caller graph for this function:

◆ getFileSubmitData()

ilAssOrderingFormValuesObjectsConverter::getFileSubmitData ( )
protected

Definition at line 369 of file class.ilAssOrderingFormValuesObjectsConverter.php.

370 {
371 if (!isset($_FILES[$this->getPostVar()])) {
372 return array();
373 }
374
375 return $_FILES[$this->getPostVar()];
376 }

References getPostVar().

Referenced by getFileSubmitDataRestructuredByIdentifiers().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFileSubmitDataRestructuredByIdentifiers()

ilAssOrderingFormValuesObjectsConverter::getFileSubmitDataRestructuredByIdentifiers ( )
protected
Returns
array

Definition at line 352 of file class.ilAssOrderingFormValuesObjectsConverter.php.

352 : array
353 {
354 $submittedUploadFiles = array();
355
356 foreach ($this->getFileSubmitData() as $uploadProperty => $valueElement) {
357 foreach ($valueElement as $elementIdentifier => $uploadValue) {
358 if (!isset($submittedUploadFiles[$elementIdentifier])) {
359 $submittedUploadFiles[$elementIdentifier] = array();
360 }
361
362 $submittedUploadFiles[$elementIdentifier][$uploadProperty] = $uploadValue;
363 }
364 }
365
366 return $submittedUploadFiles;
367 }

References getFileSubmitData().

Referenced by fetchSubmittedUploadFiles().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFileSubmitsHavingActualUpload()

ilAssOrderingFormValuesObjectsConverter::getFileSubmitsHavingActualUpload (   $submittedUploadFiles)
protected

Definition at line 327 of file class.ilAssOrderingFormValuesObjectsConverter.php.

328 {
329 foreach ($submittedUploadFiles as $identifier => $uploadProperties) {
330 if (!isset($uploadProperties['tmp_name'])) {
331 unset($submittedUploadFiles[$identifier]);
332 continue;
333 }
334
335 if (!strlen($uploadProperties['tmp_name'])) {
336 unset($submittedUploadFiles[$identifier]);
337 continue;
338 }
339
340 if (!is_uploaded_file($uploadProperties['tmp_name'])) {
341 unset($submittedUploadFiles[$identifier]);
342 continue;
343 }
344 }
345
346 return $submittedUploadFiles;
347 }

◆ getImageContentValueFromObject()

ilAssOrderingFormValuesObjectsConverter::getImageContentValueFromObject ( ilAssOrderingElement  $element)
protected

Definition at line 212 of file class.ilAssOrderingFormValuesObjectsConverter.php.

References ilAssOrderingElement\getContent(), getImageFsPath(), getImageUrlPath(), ilAssOrderingElement\getPresentationImageUrl(), getThumbnailPrefix(), ilAssOrderingElement\setImagePathFs(), ilAssOrderingElement\setImagePathWeb(), and ilAssOrderingElement\setImageThumbnailPrefix().

Referenced by collectValuesFromElements().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getImageFsPath()

ilAssOrderingFormValuesObjectsConverter::getImageFsPath ( )
Returns
string

Definition at line 122 of file class.ilAssOrderingFormValuesObjectsConverter.php.

References $imageFsPath.

Referenced by getImageContentValueFromObject().

+ Here is the caller graph for this function:

◆ getImageRemovalCommand()

ilAssOrderingFormValuesObjectsConverter::getImageRemovalCommand ( )

Definition at line 96 of file class.ilAssOrderingFormValuesObjectsConverter.php.

References $imageRemovalCommand.

Referenced by wasImageRemovalRequested().

+ Here is the caller graph for this function:

◆ getImageUrlPath()

ilAssOrderingFormValuesObjectsConverter::getImageUrlPath ( )

Definition at line 106 of file class.ilAssOrderingFormValuesObjectsConverter.php.

References $imageUrlPath.

Referenced by getImageContentValueFromObject().

+ Here is the caller graph for this function:

◆ getIndentationsPostVar()

◆ getPostVar()

ilAssOrderingFormValuesObjectsConverter::getPostVar ( )
Returns
string

Definition at line 83 of file class.ilAssOrderingFormValuesObjectsConverter.php.

83 : ?string
84 {
85 return $this->postVar;
86 }

References $postVar.

Referenced by getFileSubmitData(), getIndentationsPostVar(), and wasImageRemovalRequested().

+ Here is the caller graph for this function:

◆ getStructValueFromObject()

ilAssOrderingFormValuesObjectsConverter::getStructValueFromObject ( ilAssOrderingElement  $element)
protected

Definition at line 224 of file class.ilAssOrderingFormValuesObjectsConverter.php.

224 : array
225 {
226 return array(
227 'answer_id' => $element->getId(),
228 'random_id' => $element->getRandomIdentifier(),
229 'content' => (string) $element->getContent(),
230 'ordering_position' => $element->getPosition(),
231 'ordering_indentation' => $element->getIndentation()
232 );
233 }

References ilAssOrderingElement\getContent(), ilAssOrderingElement\getId(), ilAssOrderingElement\getIndentation(), ilAssOrderingElement\getPosition(), and ilAssOrderingElement\getRandomIdentifier().

Referenced by collectValuesFromElements().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTextContentValueFromObject()

ilAssOrderingFormValuesObjectsConverter::getTextContentValueFromObject ( ilAssOrderingElement  $element)
protected

Definition at line 207 of file class.ilAssOrderingFormValuesObjectsConverter.php.

207 : ?string
208 {
209 return $element->getContent();
210 }

References ilAssOrderingElement\getContent().

Referenced by collectValuesFromElements().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getThumbnailPrefix()

ilAssOrderingFormValuesObjectsConverter::getThumbnailPrefix ( )
Returns
string

Definition at line 138 of file class.ilAssOrderingFormValuesObjectsConverter.php.

References $thumbnailPrefix.

Referenced by getImageContentValueFromObject().

+ Here is the caller graph for this function:

◆ manipulateFormInputValues()

ilAssOrderingFormValuesObjectsConverter::manipulateFormInputValues ( array  $input_values)

Implements ilFormValuesManipulator.

Definition at line 169 of file class.ilAssOrderingFormValuesObjectsConverter.php.

169 : array
170 {
171 if ($this->needsConvertToValues($input_values)) {
172 $input_values = $this->collectValuesFromElements($input_values);
173 }
174
175 return $input_values;
176 }

References collectValuesFromElements(), and needsConvertToValues().

+ Here is the call graph for this function:

◆ manipulateFormSubmitValues()

ilAssOrderingFormValuesObjectsConverter::manipulateFormSubmitValues ( array  $submitValues)

Implements ilFormValuesManipulator.

Definition at line 244 of file class.ilAssOrderingFormValuesObjectsConverter.php.

244 : array
245 {
246 if ($this->needsConvertToElements($submitValues)) {
247 $submitValues = $this->constructElementsFromValues($submitValues);
248 }
249
250 return $submitValues;
251 }

References constructElementsFromValues(), and needsConvertToElements().

+ Here is the call graph for this function:

◆ needsConvertToElements()

ilAssOrderingFormValuesObjectsConverter::needsConvertToElements (   $valuesOrElements)
protected

Definition at line 235 of file class.ilAssOrderingFormValuesObjectsConverter.php.

235 : bool
236 {
237 if (!count($valuesOrElements)) {
238 return false;
239 }
240
241 return !(current($valuesOrElements) instanceof ilAssOrderingElement);
242 }

Referenced by manipulateFormSubmitValues().

+ Here is the caller graph for this function:

◆ needsConvertToValues()

ilAssOrderingFormValuesObjectsConverter::needsConvertToValues (   $elements_or_values)
protected

Definition at line 160 of file class.ilAssOrderingFormValuesObjectsConverter.php.

160 : bool
161 {
162 if (!count($elements_or_values)) {
163 return false;
164 }
165
166 return (current($elements_or_values) instanceof ilAssOrderingElement);
167 }

Referenced by manipulateFormInputValues().

+ Here is the caller graph for this function:

◆ setContext()

ilAssOrderingFormValuesObjectsConverter::setContext (   $context)
Parameters
$context

Definition at line 75 of file class.ilAssOrderingFormValuesObjectsConverter.php.

75 : void
76 {
77 $this->context = $context;
78 }

References $context.

◆ setImageFsPath()

ilAssOrderingFormValuesObjectsConverter::setImageFsPath (   $imageFsPath)
Parameters
string$imageFsPath

Definition at line 130 of file class.ilAssOrderingFormValuesObjectsConverter.php.

130 : void
131 {
132 $this->imageFsPath = $imageFsPath;
133 }

References $imageFsPath.

◆ setImageRemovalCommand()

ilAssOrderingFormValuesObjectsConverter::setImageRemovalCommand (   $imageRemovalCommand)

Definition at line 101 of file class.ilAssOrderingFormValuesObjectsConverter.php.

101 : void
102 {
103 $this->imageRemovalCommand = $imageRemovalCommand;
104 }

References $imageRemovalCommand.

◆ setImageUrlPath()

ilAssOrderingFormValuesObjectsConverter::setImageUrlPath (   $imageUrlPath)
Parameters
string$imageUrlPath

Definition at line 114 of file class.ilAssOrderingFormValuesObjectsConverter.php.

114 : void
115 {
116 $this->imageUrlPath = $imageUrlPath;
117 }

References $imageUrlPath.

◆ setPostVar()

ilAssOrderingFormValuesObjectsConverter::setPostVar (   $postVar)
Parameters
$postVar

Definition at line 91 of file class.ilAssOrderingFormValuesObjectsConverter.php.

91 : void
92 {
93 $this->postVar = $postVar;
94 }

References $postVar.

◆ setThumbnailPrefix()

ilAssOrderingFormValuesObjectsConverter::setThumbnailPrefix (   $thumbnailPrefix)
Parameters
string$thumbnailPrefix

Definition at line 146 of file class.ilAssOrderingFormValuesObjectsConverter.php.

146 : void
147 {
148 $this->thumbnailPrefix = $thumbnailPrefix;
149 }

References $thumbnailPrefix.

◆ wasImageRemovalRequested()

ilAssOrderingFormValuesObjectsConverter::wasImageRemovalRequested (   $identifier)
protected

TODO: Instead of accessing post, the complete ilFormValuesManipulator should be aware of a server request or the corresponding processed input values.

Parameters
$identifier
Returns
bool

Definition at line 383 of file class.ilAssOrderingFormValuesObjectsConverter.php.

383 : bool
384 {
385 if (!$this->getImageRemovalCommand()) {
386 return false;
387 }
388
389 if (!isset($_POST['cmd']) || !is_array($_POST['cmd'])) {
390 return false;
391 }
392
393 $cmdArr = $_POST['cmd'];
394
395 if (!isset($cmdArr[$this->getImageRemovalCommand()])) {
396 return false;
397 }
398
399 $fieldArr = $cmdArr[$this->getImageRemovalCommand()];
400
401 if (!isset($fieldArr[$this->getPostVar()])) {
402 return false;
403 }
404
405 $identifierArr = $fieldArr[$this->getPostVar()];
406
407 $requested_identfier = key($identifierArr);
408
409 // The code actually relied on a manipulation of $_POST by ilIdentifiedMultiValuesJsPositionIndexRemover
410 return (string) str_replace(
412 '',
413 (string) $requested_identfier
414 ) === (string) $identifier;
415 }

References getImageRemovalCommand(), getPostVar(), and ilIdentifiedMultiValuesJsPositionIndexRemover\IDENTIFIER_INDICATOR_PREFIX.

Referenced by constructElementsFromValues().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $context

ilAssOrderingFormValuesObjectsConverter::$context = null
protected

Definition at line 37 of file class.ilAssOrderingFormValuesObjectsConverter.php.

Referenced by getContext(), and setContext().

◆ $imageFsPath

ilAssOrderingFormValuesObjectsConverter::$imageFsPath
protected

◆ $imageRemovalCommand

ilAssOrderingFormValuesObjectsConverter::$imageRemovalCommand = null
protected

◆ $imageUrlPath

ilAssOrderingFormValuesObjectsConverter::$imageUrlPath
protected

◆ $postVar

ilAssOrderingFormValuesObjectsConverter::$postVar = null
protected

◆ $thumbnailPrefix

ilAssOrderingFormValuesObjectsConverter::$thumbnailPrefix
protected

◆ CONTEXT_MAINTAIN_ELEMENT_IMAGE

const ilAssOrderingFormValuesObjectsConverter::CONTEXT_MAINTAIN_ELEMENT_IMAGE = 'maintainItemImage'

◆ CONTEXT_MAINTAIN_ELEMENT_TEXT

const ilAssOrderingFormValuesObjectsConverter::CONTEXT_MAINTAIN_ELEMENT_TEXT = 'maintainItemText'

◆ CONTEXT_MAINTAIN_HIERARCHY

const ilAssOrderingFormValuesObjectsConverter::CONTEXT_MAINTAIN_HIERARCHY = 'maintainHierarchy'

◆ INDENTATIONS_POSTVAR_SUFFIX

const ilAssOrderingFormValuesObjectsConverter::INDENTATIONS_POSTVAR_SUFFIX = '_ordering'

◆ INDENTATIONS_POSTVAR_SUFFIX_JS

const ilAssOrderingFormValuesObjectsConverter::INDENTATIONS_POSTVAR_SUFFIX_JS = '__default'

The documentation for this class was generated from the following file: