private function validationManager($fieldInfo, $tp, $uploadedFieldId, $complex = null) { // will use tmp_uploads_storage in $_SESSION to storage file info $uniqueStorageId = SJB_Session::getSessionId(); $this->fileUniqueId = $uniqueStorageId . "_" . $uploadedFieldId . "_tmp"; // delete uniquie value SJB_UploadFileManager::deleteUploadedFileByID($this->fileUniqueId); $this->property = new SJB_ObjectProperty($fieldInfo); $this->property->setValue(''); if ($complex) { $this->property->setComplexParent($complex['parentField']); $this->property->setComplexEnum($complex['complexStep']); $fileNamePath = "{$complex['parentField']}/name/{$complex['subFieldId']}/{$complex['complexStep']}"; $fileSizePath = "{$complex['parentField']}/size/{$complex['subFieldId']}/{$complex['complexStep']}"; } else { $fileNamePath = $uploadedFieldId . '/name'; $fileSizePath = $uploadedFieldId . '/size'; } $fileName = SJB_Array::getPath($_FILES, $fileNamePath); if (!$fileName) { $validation = 'UPLOAD_ERR_INI_SIZE'; } else { $uploadedFilesize = SJB_Array::getPath($_FILES, $fileSizePath); $filesizeInfo = SJB_HelperFunctions::getFileSizeAndSizeToken($uploadedFilesize); $tp->assign(array('filesize' => $filesizeInfo['filesize'], 'size_token' => $filesizeInfo['size_token'])); $validation = $this->property->isValid(); } $this->propertyValue = $this->property->getValue(); if ($validation !== true) { $this->errors[$validation] = 1; if (!$complex) { $tp->assign(array('id' => $uploadedFieldId, 'value' => array('file_url' => SJB_Array::get($this->propertyValue, 'file_url'), 'file_name' => SJB_Array::get($this->propertyValue, 'file_name'), 'saved_file_name' => SJB_Array::get($this->propertyValue, 'saved_file_name'), 'file_id' => $this->fileUniqueId))); } } $tp->assign("uploadMaxFilesize", SJB_UploadFileManager::getIniUploadMaxFilesize()); return $validation === true; }