public static
submitItemUpload
(mixed $files, mixed $data, mixed &$fileData, mixed $type = 'image')
public static function submitItemUpload($files, $data, &$fileData, $type = 'image')
{
$pC = PhocacartUtils::getComponentParameters();
$submit_item_upload_image_maxsize = $pC->get('submit_item_upload_image_maxsize', 512000);
$submit_item_upload_image_count = $pC->get('submit_item_upload_image_count', 1);
$app = Factory::getApplication();
$path = PhocacartPath::getPath('submititem');
$folder = $data['upload_folder'];
if (!empty($files)) {
$i = 1;
foreach ($files as $k => $v) {
if (isset($v['name'])) {
$errUploadMsg = '';
if (!PhocacartFileUpload::canUpload($v, $errUploadMsg, 'submitimage', 1)) {
if ($errUploadMsg == 'COM_PHOCACART_WARNFILETOOLARGE') {
$errUploadMsg = Text::_($errUploadMsg) . ' (' . PhocacartFile::getFileSizeReadable($v['size']) . ')';
} else {
$errUploadMsg = Text::_($errUploadMsg);
if ($errUploadMsg != '') {
if (isset($v['name']) && $v['name'] != '') {
$errUploadMsg = $errUploadMsg . ' (' . $v['name'] . ')';
}
}
}
$app->enqueueMessage($errUploadMsg, 'error');
return false;
}
// Specific check for specific form field types
if ((int) $submit_item_upload_image_maxsize > 0 && (int) $v['size'] > (int) $submit_item_upload_image_maxsize) {
$app->enqueueMessage(Text::_('COM_PHOCACART_WARNFILETOOLARGE'), 'error');
return false;
}
if ($i > (int) $submit_item_upload_image_count) {
// Don't allow to upload any other file and return the current data
return true;
}
$i++;
$ext = PhocacartFile::getExtension($v['name']);
$fileNameToken = PhocacartUtils::getToken('folder');
$fileNameTokenExt = $fileNameToken . '.' . $ext;
$folderPath = Path::clean($path['orig_abs_ds'] . $folder);
$filePath = Path::clean($path['orig_abs_ds'] . $folder . '/' . $fileNameTokenExt);
PhocacartFile::createUploadFolder('');
// Create Main Upload Folder if not exists
PhocacartFile::createUploadFolder($folder);
if (File::exists($filePath)) {
$app->enqueueMessage(Text::_('COM_PHOCACART_FILE_ALREADY_EXISTS'), 'error');
return false;
}
if (!File::upload($v['tmp_name'], $filePath, false, true)) {
PhocacartLog::add(2, 'Error uploading file - JFile upload (Submit Item)', 0, 'File: ' . strip_tags(htmlspecialchars($v['name'])) . ', File Path: ' . $filePath);
$app->enqueueMessage(Text::_('COM_PHOCACART_ERROR_UNABLE_TO_UPLOAD_FILE'), 'error');
return false;
} else {
//$app->enqueueMessage(JText::_('COM_PHOCACART_SUCCESS_FILE_UPLOADED'));
$fileData[$fileNameToken] = array();
$fileData[$fileNameToken]['id'] = $fileNameToken;
$fileData[$fileNameToken]['name'] = $v['name'];
$fileData[$fileNameToken]['size'] = $v['size'];
$fileData[$fileNameToken]['nametoken'] = $fileNameTokenExt;
$fileData[$fileNameToken]['fullpath'] = $filePath;
// Success File added go further with foreach and next files
}
} else {
PhocacartLog::add(2, 'Error uploading file - Filename does not exist (Submit Item)', 0, 'File: File does not exist (Submit Item)');
$msg = Text::_('COM_PHOCACART_ERROR_UNABLE_TO_UPLOAD_FILE');
$app->enqueueMessage($msg);
return false;
}
}
}
return true;
}