ILIAS  release_8 Revision v8.23
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)
 

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.

References getContext(), getImageContentValueFromObject(), getStructValueFromObject(), and getTextContentValueFromObject().

Referenced by manipulateFormInputValues().

178  : array
179  {
180  $values = array();
181 
182  foreach ($elements as $identifier => $orderingElement) {
183  switch ($this->getContext()) {
184  case self::CONTEXT_MAINTAIN_ELEMENT_TEXT:
185 
186  $values[$identifier] = $this->getTextContentValueFromObject($orderingElement);
187  break;
188 
189  case self::CONTEXT_MAINTAIN_ELEMENT_IMAGE:
190 
191  $values[$identifier] = $this->getImageContentValueFromObject($orderingElement);
192  break;
193 
194  case self::CONTEXT_MAINTAIN_HIERARCHY:
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...
+ 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.

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

Referenced by manipulateFormSubmitValues().

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...
+ 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.

References fetchSubmittedUploadFiles().

Referenced by fetchSubmittedImageFilename(), and fetchSubmittedUploadFilename().

310  {
311  $uploadFiles = $this->fetchSubmittedUploadFiles();
312 
313  if (!isset($uploadFiles[$identifier])) {
314  return array();
315  }
316 
317  return $uploadFiles[$identifier];
318  }
+ 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.

Referenced by fetchSubmittedImageFilename(), and fetchSubmittedUploadFilename().

301  {
302  if (!array_key_exists($property, $fileUpload)) {
303  return null;
304  }
305 
306  return $fileUpload[$property];
307  }
+ Here is the caller graph for this function:

◆ fetchSubmittedImageFilename()

ilAssOrderingFormValuesObjectsConverter::fetchSubmittedImageFilename (   $identifier)
protected

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

References fetchElementFileUpload(), and fetchSubmittedFileUploadProperty().

Referenced by constructElementsFromValues().

289  {
290  $fileUpload = $this->fetchElementFileUpload($identifier);
291  return $this->fetchSubmittedFileUploadProperty($fileUpload, 'name');
292  }
+ 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.

References fetchElementFileUpload(), and fetchSubmittedFileUploadProperty().

Referenced by constructElementsFromValues().

295  {
296  $fileUpload = $this->fetchElementFileUpload($identifier);
297  return $this->fetchSubmittedFileUploadProperty($fileUpload, 'tmp_name');
298  }
+ 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.

References getFileSubmitDataRestructuredByIdentifiers().

Referenced by fetchElementFileUpload().

320  : array
321  {
322  $submittedUploadFiles = $this->getFileSubmitDataRestructuredByIdentifiers();
323  //$submittedUploadFiles = $this->getFileSubmitsHavingActualUpload($submittedUploadFiles);
324  return $submittedUploadFiles;
325  }
+ 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.

References getPostVar().

Referenced by getFileSubmitDataRestructuredByIdentifiers().

370  {
371  if (!isset($_FILES[$this->getPostVar()])) {
372  return array();
373  }
374 
375  return $_FILES[$this->getPostVar()];
376  }
+ 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.

References getFileSubmitData().

Referenced by fetchSubmittedUploadFiles().

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  }
+ 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()

ilAssOrderingFormValuesObjectsConverter::getIndentationsPostVar ( )

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

References $postVar, and getPostVar().

151  : string
152  {
153  $postVar = $this->getPostVar();
154  $postVar .= self::INDENTATIONS_POSTVAR_SUFFIX;
155  $postVar .= self::INDENTATIONS_POSTVAR_SUFFIX_JS;
156 
157  return $postVar;
158  }
+ Here is the call graph for this function:

◆ getPostVar()

ilAssOrderingFormValuesObjectsConverter::getPostVar ( )
Returns
string

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

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.

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

Referenced by collectValuesFromElements().

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  }
+ 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.

References ilAssOrderingElement\getContent().

Referenced by collectValuesFromElements().

207  : ?string
208  {
209  return $element->getContent();
210  }
+ 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.

References collectValuesFromElements(), and needsConvertToValues().

169  : array
170  {
171  if ($this->needsConvertToValues($input_values)) {
172  $input_values = $this->collectValuesFromElements($input_values);
173  }
174 
175  return $input_values;
176  }
+ Here is the call graph for this function:

◆ manipulateFormSubmitValues()

ilAssOrderingFormValuesObjectsConverter::manipulateFormSubmitValues ( array  $submitValues)

Implements ilFormValuesManipulator.

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

References constructElementsFromValues(), and needsConvertToElements().

244  : array
245  {
246  if ($this->needsConvertToElements($submitValues)) {
247  $submitValues = $this->constructElementsFromValues($submitValues);
248  }
249 
250  return $submitValues;
251  }
+ Here is the call graph for this function:

◆ needsConvertToElements()

ilAssOrderingFormValuesObjectsConverter::needsConvertToElements (   $valuesOrElements)
protected

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

Referenced by manipulateFormSubmitValues().

235  : bool
236  {
237  if (!count($valuesOrElements)) {
238  return false;
239  }
240 
241  return !(current($valuesOrElements) instanceof ilAssOrderingElement);
242  }
+ Here is the caller graph for this function:

◆ needsConvertToValues()

ilAssOrderingFormValuesObjectsConverter::needsConvertToValues (   $elements_or_values)
protected

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

Referenced by manipulateFormInputValues().

160  : bool
161  {
162  if (!count($elements_or_values)) {
163  return false;
164  }
165 
166  return (current($elements_or_values) instanceof ilAssOrderingElement);
167  }
+ Here is the caller graph for this function:

◆ setContext()

ilAssOrderingFormValuesObjectsConverter::setContext (   $context)
Parameters
$context

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

References $context.

◆ setImageFsPath()

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

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

References $imageFsPath.

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

◆ setImageRemovalCommand()

ilAssOrderingFormValuesObjectsConverter::setImageRemovalCommand (   $imageRemovalCommand)

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

References $imageRemovalCommand.

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

◆ setImageUrlPath()

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

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

References $imageUrlPath.

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

◆ setPostVar()

ilAssOrderingFormValuesObjectsConverter::setPostVar (   $postVar)
Parameters
$postVar

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

References $postVar.

◆ setThumbnailPrefix()

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

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

References $thumbnailPrefix.

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

◆ 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.

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

Referenced by constructElementsFromValues().

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  }
+ 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: