ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilMultipleImagesAdditionalIndexLevelRemover.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 require_once 'Services/Form/interfaces/interface.ilFormValuesManipulator.php';
5 
13 {
14  protected $filesSubmissionProperties = array(
15  'name', 'tmp_name', 'type', 'error', 'size'
16  );
17 
18  protected $postVar;
19 
20  public function getPostVar()
21  {
22  return $this->postVar;
23  }
24 
25  public function setPostVar($postVar)
26  {
27  $this->postVar = $postVar;
28  }
29 
30  protected function getFilesSubmissionProperties()
31  {
33  }
34  public function manipulateFormInputValues($inputValues)
35  {
36  return $inputValues;
37  }
38 
39  public function manipulateFormSubmitValues($submitValues)
40  {
41  $submitValues = $this->removeAdditionalSubFieldsLevelFromSubmitValues($submitValues);
42 
43  if ($_FILES) {
45  $_FILES[$this->getPostVar()]
46  );
47  }
48 
49  return $submitValues;
50  }
51  protected function isSubFieldAvailable($values, $subFieldName)
52  {
53  if (!is_array($values)) {
54  return false;
55  }
56 
57  if (!isset($values[$subFieldName])) {
58  return false;
59  }
60 
61  if (!is_array($values[$subFieldName])) {
62  return false;
63  }
64 
65  return true;
66  }
67 
68  protected function isIteratorSubfieldAvailable($values)
69  {
71  }
72 
73  protected function isUploadSubfieldAvailable($values)
74  {
76  }
77 
79  {
80  if (!$this->isIteratorSubfieldAvailable($values)) {
81  return $values;
82  }
83 
85  $actualValues = array();
86 
87  foreach ($values[ilMultipleImagesInputGUI::ITERATOR_SUBFIELD_NAME] as $index => $value) {
88  if (!isset($storedImages[$index])) {
89  $actualValues[$index] = '';
90  continue;
91  }
92 
93  $actualValues[$index] = $storedImages[$index];
94  }
95 
96  return $actualValues;
97  }
98 
99  protected function removeAdditionalSubFieldsLevelFromFilesSubmitProperty($uploadProperty)
100  {
101  if (!$this->isUploadSubfieldAvailable($uploadProperty)) {
102  return $uploadProperty;
103  }
104 
105  foreach ($uploadProperty as $subField => $submittedFile) {
106  if (is_array($submittedFile)) {
107  foreach ($submittedFile as $identifier => $uploadValue) {
108  $uploadProperty[$identifier] = $uploadValue;
109  }
110  }
111  unset($uploadProperty[$subField]);
112  }
113 
114  return $uploadProperty;
115  }
116 
117  protected function removeAdditionalSubFieldsLevelFromFilesSubmit($filesSubmit)
118  {
119  foreach ($this->getFilesSubmissionProperties() as $uploadProperty) {
120  if (!isset($filesSubmit[$uploadProperty])) {
121  continue;
122  }
123 
124  $filesSubmit[$uploadProperty] = $this->removeAdditionalSubFieldsLevelFromFilesSubmitProperty(
125  $filesSubmit[$uploadProperty]
126  );
127  }
128 
129  return $filesSubmit;
130  }
131 }
$index
Definition: metadata.php:128