public static function saveAttachmentFile($attachmentFile, $actionId, $targetId, $type, $productId) { $resultInfo = array(); if (isset($attachmentFile) && count($attachmentFile) > 0) { $baseUploadPath = Yii::app()->params->uploadPath; if (!is_dir($baseUploadPath) && !@mkdir($baseUploadPath)) { $resultInfo['status'] = CommonService::$ApiResult['FAIL']; $resultInfo['detail'] = array('attachment_file' => Yii::t('Common', self::ERROR_UPLOAD_BASE_PATH_NOT_EXIST)); return $resultInfo; } foreach ($attachmentFile as $index => $file) { if (CommonService::getMaxFileSize() < $file->size) { $resultInfo['status'] = CommonService::$ApiResult['FAIL']; $resultInfo['detail'] = array('attachment_file' => $file->name . ' ' . Yii::t('Common', 'Max file size exceeded')); return $resultInfo; } $fileType = self::getFileType($file->name); $filePathName = self::createUploadFilePath($productId, $index); if ('' != $fileType) { $filePathName = $filePathName . '.' . $fileType; } if ('' == $filePathName) { $resultInfo['status'] = CommonService::$ApiResult['FAIL']; $resultInfo['detail'] = array('attachment_file' => Yii::t('Common', self::ERROR_FILE_PATH_EMPTY)); return $resultInfo; } elseif ($file->saveAs($filePathName)) { $uploadPath = Yii::app()->params->uploadPath; $fileLocation = substr($filePathName, strlen($uploadPath) + 1); $fileInfo = new TestFile(); $fileInfo->add_action_id = $actionId; $fileInfo->file_location = $fileLocation; $fileInfo->file_size = self::getFileSize($file->size); $fileInfo->file_title = $file->name; $fileInfo->file_type = $fileType; $fileInfo->is_dropped = CommonService::$TrueFalseStatus['FALSE']; $fileInfo->target_id = $targetId; $fileInfo->target_type = $type; if (!$fileInfo->save()) { $resultInfo['status'] = CommonService::$ApiResult['FAIL']; $resultInfo['detail'] = $fileInfo->getErrors(); return $resultInfo; } } } } $resultInfo['status'] = CommonService::$ApiResult['SUCCESS']; return $resultInfo; }
</div> <div class="row"> <?php echo $form->label($model, 'related_result'); ?> <?php echo InfoService::getRelatedIdHtml('result', $model->related_result); ?> </div> </fieldset> <fieldset> <legend> <?php echo Yii::t('Common', 'Attachments') . '(' . TestFileService::getFileSize(CommonService::getMaxFileSize()) . ')'; ?> </legend> <?php echo $model->attachment_file; ?> <?php $this->widget('CMultiFileUpload', array('model' => $model, 'name' => 'attachment_file', 'accept' => '', 'htmlOptions' => array('size' => 16), 'remove' => '<img src="' . Yii::app()->theme->baseUrl . '/assets/images/deletefile.gif" alt="remove" />', 'options' => array())); ?> </fieldset> </div> </div> <div style="clear:both;"> <fieldset class="action_note" style="width:460px;"> <legend><?php echo Yii::t('Common', 'Comment');
public function actionInfoImport() { $productId = $_REQUEST['product_id']; $infoType = $_REQUEST['type']; $productModuleId = $_REQUEST['productmodule_id']; $error = ""; $msg = ""; $fileElementName = 'casefilename'; $fileCheckResult = $this->checkFileBeforeImport(); if ('' != $fileCheckResult) { echo json_encode(array('msg' => $fileCheckResult)); return; } $fileName = $_FILES[$fileElementName]['tmp_name']; $fileSize = filesize($fileName); if (CommonService::getMaxFileSize() < $fileSize) { echo json_encode(array('msg' => Yii::t('Common', 'Max file size exceeded'))); return; } $importService = new ImportService(); $msg = $importService->import($fileName, $productId, $infoType, $productModuleId); echo json_encode(array('error' => '', 'msg' => $msg)); @unlink($_FILES[$fileElementName]); }