original_type로 column 이름 변경

This commit is contained in:
conory 2019-09-23 15:30:53 +09:00
parent 1fcba0a44c
commit c2025c4bde
6 changed files with 72 additions and 72 deletions

View file

@ -157,7 +157,7 @@
temp_code += '<audio src="' + result.download_url + '" controls data-file-srl="' + result.file_srl + '" />';
}
else if(/\.(mp4|webm)$/i.test(result.source_filename)) {
if(/\.gif$/i.test(result.original_filename)) {
if(result.original_type === 'gif') {
temp_code += '<video src="' + result.download_url + '" autoplay loop muted data-file-srl="' + result.file_srl + '" />';
} else {
temp_code += '<video src="' + result.download_url + '" controls data-file-srl="' + result.file_srl + '" />';
@ -329,7 +329,7 @@
temp_code += '<audio src="' + result.download_url + '" controls data-file-srl="' + result.file_srl + '" />';
}
else if(/\.(mp4|webm)$/i.test(result.source_filename)) {
if(/\.gif$/i.test(result.original_filename)) {
if(result.original_type === 'gif') {
temp_code += '<video src="' + result.download_url + '" autoplay loop muted data-file-srl="' + result.file_srl + '" />';
} else {
temp_code += '<video src="' + result.download_url + '" controls data-file-srl="' + result.file_srl + '" />';

View file

@ -85,7 +85,7 @@ class file extends ModuleObject
{
return true;
}
if(!$oDB->isColumnExists('files', 'original_filename'))
if(!$oDB->isColumnExists('files', 'original_type'))
{
return true;
}
@ -168,9 +168,9 @@ class file extends ModuleObject
{
$oModuleController->insertTrigger('comment.copyCommentByDocument', 'file', 'controller', 'triggerAddCopyCommentByDocument', 'add');
}
if(!$oDB->isColumnExists('files', 'original_filename'))
if(!$oDB->isColumnExists('files', 'original_type'))
{
$oDB->addColumn('files', 'original_filename', 'varchar', '250');
$oDB->addColumn('files', 'original_type', 'varchar', '60');
}
if(!$oDB->isColumnExists('files', 'thumbnail_filename'))
{

View file

@ -147,8 +147,8 @@ class fileController extends file
$this->add('direct_download', $output->get('direct_download'));
$this->add('source_filename', $output->get('source_filename'));
$this->add('upload_target_srl', $output->get('upload_target_srl'));
$this->add('original_filename', $output->get('original_filename'));
$this->add('thumbnail_filename', $output->get('thumbnail_filename'));
$this->add('original_type', $output->get('original_type'));
if ($output->get('direct_download') === 'Y')
{
$this->add('download_url', $oFileModel->getDirectFileUrl($output->get('uploaded_filename')));
@ -876,14 +876,9 @@ class fileController extends file
// Sanitize filename
$file_info['name'] = Rhymix\Framework\Filters\FilenameFilter::clean($file_info['name']);
// Get extension
$extension = explode('.', $file_info['name']) ?: array('');
$extension = strtolower(array_pop($extension));
// Add extra fields to file info array
$file_info['original_name'] = $file_info['name'];
$file_info['extension'] = $extension;
$file_info['resized'] = false;
$file_info['extension'] = $original_extension = $this->getExtension($file_info['name']);
$file_info['converted'] = false;
$file_info['thumbnail'] = null;
// Get file module configuration
@ -895,7 +890,7 @@ class fileController extends file
{
if(isset($config->allowed_extensions) && count($config->allowed_extensions))
{
if(!in_array($extension, $config->allowed_extensions))
if(!in_array($file_info['extension'], $config->allowed_extensions))
{
throw new Rhymix\Framework\Exception('msg_not_allowed_filetype');
}
@ -905,7 +900,7 @@ class fileController extends file
// Check image type and size
if(!$manual_insert)
{
if(in_array($extension, array('gif', 'jpg', 'jpeg', 'png', 'webp', 'bmp')))
if(in_array($file_info['extension'], array('gif', 'jpg', 'jpeg', 'png', 'webp', 'bmp')))
{
$file_info = $this->checkUploadedImage($file_info, $config);
}
@ -937,11 +932,17 @@ class fileController extends file
$args->module_srl = $module_srl;
$args->upload_target_srl = $upload_target_srl;
$args->download_count = $download_count;
$args->member_srl = getModel('member')->getLoggedMemberSrl();
$args->member_srl = Rhymix\Framework\Session::getMemberSrl();
$args->source_filename = $file_info['name'];
$args->original_filename = $file_info['original_name'];
$args->sid = Rhymix\Framework\Security::getRandom(32, 'hex');
// Set original type if filename extension is changed
$args->original_type = null;
if($file_info['extension'] !== $original_extension)
{
$args->original_type = $original_extension;
}
// Set storage path by checking if the attachement is an image or other kinds of file
if($direct = Rhymix\Framework\Filters\FilenameFilter::isDirectDownload($args->source_filename))
{
@ -1023,8 +1024,8 @@ class fileController extends file
$output->add('source_filename', $args->source_filename);
$output->add('upload_target_srl', $upload_target_srl);
$output->add('uploaded_filename', $args->uploaded_filename);
$output->add('original_filename', $args->original_filename);
$output->add('thumbnail_filename', $args->thumbnail_filename);
$output->add('original_type', $args->original_type);
return $output;
}
@ -1034,9 +1035,6 @@ class fileController extends file
*/
public function uploadFile($tmp_name, $file_name, $storage_path, $direct = false, $method = '')
{
$extension = explode('.', $file_name) ?: array('');
$extension = strtolower(array_pop($extension));
// change to random file name.
// because window php bug. window php is not recognize unicode character file name - by cherryfilter
$uploaded_filename = $storage_path . Rhymix\Framework\Security::getRandom(32, 'hex');
@ -1046,7 +1044,7 @@ class fileController extends file
}
if($direct)
{
$uploaded_filename .= '.' . $extension;
$uploaded_filename .= '.' . $this->getExtension($file_name);
}
// move the file
@ -1581,10 +1579,9 @@ class fileController extends file
* @param int $upload_target_srl
* @param string $regdate
* @param bool $absolute_path
* @param int $folder_structure
* @return string
*/
public function getStoragePath($file_type, $file_srl = 0, $module_srl = 0, $upload_target_srl = 0, $regdate = '', $absolute_path = true, $folder_structure = null)
public function getStoragePath($file_type, $file_srl, $module_srl = 0, $upload_target_srl = 0, $regdate = '', $absolute_path = true)
{
// 변수 확인 및 넘어오지 않은 변수 기본값 지정
$file_srl = intval($file_srl);
@ -1593,10 +1590,7 @@ class fileController extends file
$regdate = $regdate ?: date('YmdHis');
// 시스템 설정 참고 (기존 사용자는 1, 신규 설치시 2가 기본값임)
if(!$folder_structure)
{
$folder_structure = config('file.folder_structure');
}
$folder_structure = config('file.folder_structure');
// 기본 경로 지정
$prefix = $absolute_path ? \RX_BASEDIR : './';
@ -1606,7 +1600,6 @@ class fileController extends file
{
return sprintf('%sfiles/attach/%s/%04d/%02d/%02d/', $prefix, $file_type, substr($regdate, 0, 4), substr($regdate, 4, 2), substr($regdate, 6, 2));
}
// 1 or 0: module_srl 및 업로드 대상 번호에 따라 3자리씩 끊어서 정리
else
{
@ -1614,7 +1607,12 @@ class fileController extends file
return sprintf('%sfiles/attach/%s/%d/%s', $prefix, $file_type, $module_srl, $components);
}
}
public function getExtension($file_name)
{
return strtolower(array_pop(explode('.', $file_name)));
}
/**
* Find the attachment where a key is upload_target_srl and then return java script code
*

View file

@ -73,15 +73,17 @@ class fileModel extends file
foreach($tmp_files as $file_info)
{
if(!$file_info->file_srl) continue;
if(!$file_info->file_srl)
{
continue;
}
$obj = new stdClass;
$obj->file_srl = $file_info->file_srl;
$obj->source_filename = $file_info->source_filename;
$obj->thumbnail_filename = $file_info->thumbnail_filename;
$obj->original_type = $file_info->original_type;
$obj->file_size = $file_info->file_size;
$obj->disp_file_size = FileHandler::filesize($file_info->file_size);
$obj->original_filename = $file_info->original_filename;
$obj->thumbnail_filename = $file_info->thumbnail_filename;
if($file_info->direct_download == 'N')
{
$obj->download_url = $this->getDownloadUrl($file_info->file_srl, $file_info->sid, $file_info->module_srl);

View file

@ -1,24 +1,24 @@
<query id="insertFile" action="insert">
<tables>
<table name="files" />
</tables>
<columns>
<column name="file_srl" var="file_srl" notnull="notnull" />
<column name="upload_target_srl" var="upload_target_srl" filter="number" default="0" notnull="notnull" />
<column name="sid" var="sid" />
<column name="module_srl" var="module_srl" filter="number" default="0" notnull="notnull" />
<column name="source_filename" var="source_filename" notnull="notnull" minlength="1" maxlength="250" />
<column name="uploaded_filename" var="uploaded_filename" notnull="notnull" minlength="1" maxlength="250" />
<column name="original_filename" var="original_filename" notnull="notnull" minlength="1" maxlength="250" />
<tables>
<table name="files" />
</tables>
<columns>
<column name="file_srl" var="file_srl" notnull="notnull" />
<column name="upload_target_srl" var="upload_target_srl" filter="number" default="0" notnull="notnull" />
<column name="sid" var="sid" />
<column name="module_srl" var="module_srl" filter="number" default="0" notnull="notnull" />
<column name="source_filename" var="source_filename" notnull="notnull" minlength="1" maxlength="250" />
<column name="uploaded_filename" var="uploaded_filename" notnull="notnull" minlength="1" maxlength="250" />
<column name="thumbnail_filename" var="thumbnail_filename" />
<column name="file_size" var="file_size" notnull="notnull" default="0" />
<column name="direct_download" var="direct_download" notnull="notnull" default="N" />
<column name="comment" var="comment" />
<column name="download_count" var="download_count" default="0" />
<column name="member_srl" var="member_srl" default="0" />
<column name="cover_image" var="is_cover" default="N" />
<column name="regdate" var="regdate" default="curdate()" />
<column name="ipaddress" var="ipaddress" default="ipaddress()" />
<column name="isvalid" var="isvalid" default="N" />
</columns>
<column name="original_type" var="original_type" />
<column name="file_size" var="file_size" notnull="notnull" default="0" />
<column name="direct_download" var="direct_download" notnull="notnull" default="N" />
<column name="comment" var="comment" />
<column name="download_count" var="download_count" default="0" />
<column name="member_srl" var="member_srl" default="0" />
<column name="cover_image" var="is_cover" default="N" />
<column name="regdate" var="regdate" default="curdate()" />
<column name="ipaddress" var="ipaddress" default="ipaddress()" />
<column name="isvalid" var="isvalid" default="N" />
</columns>
</query>

View file

@ -1,20 +1,20 @@
<table name="files">
<column name="file_srl" type="number" size="11" notnull="notnull" primary_key="primary_key" />
<column name="upload_target_srl" type="number" size="11" default="0" notnull="notnull" index="idx_upload_target_srl" />
<column name="upload_target_type" type="char" size="3" index="idx_upload_target_type" />
<column name="sid" type="varchar" size="60" />
<column name="module_srl" type="number" size="11" default="0" notnull="notnull" index="idx_module_srl" />
<column name="member_srl" type="number" size="11" notnull="notnull" index="idx_member_srl" />
<column name="download_count" type="number" size="11" notnull="notnull" default="0" index="idx_download_count" />
<column name="direct_download" type="char" size="1" default="N" notnull="notnull" />
<column name="source_filename" type="varchar" size="250" />
<column name="uploaded_filename" type="varchar" size="250" />
<column name="original_filename" type="varchar" size="250" />
<column name="file_srl" type="number" size="11" notnull="notnull" primary_key="primary_key" />
<column name="upload_target_srl" type="number" size="11" default="0" notnull="notnull" index="idx_upload_target_srl" />
<column name="upload_target_type" type="char" size="3" index="idx_upload_target_type" />
<column name="sid" type="varchar" size="60" />
<column name="module_srl" type="number" size="11" default="0" notnull="notnull" index="idx_module_srl" />
<column name="member_srl" type="number" size="11" notnull="notnull" index="idx_member_srl" />
<column name="download_count" type="number" size="11" notnull="notnull" default="0" index="idx_download_count" />
<column name="direct_download" type="char" size="1" default="N" notnull="notnull" />
<column name="source_filename" type="varchar" size="250" />
<column name="uploaded_filename" type="varchar" size="250" />
<column name="thumbnail_filename" type="varchar" size="250" />
<column name="file_size" type="number" size="11" default="0" notnull="notnull" index="idx_file_size" />
<column name="comment" type="varchar" size="250" />
<column name="isvalid" type="char" size="1" default="N" index="idx_is_valid" />
<column name="cover_image" type="char" size="1" default="N" notnull="notnull" index="idx_list_order" />
<column name="regdate" type="date" index="idx_regdate" />
<column name="ipaddress" type="varchar" size="128" notnull="notnull" index="idx_ipaddress"/>
<column name="original_type" type="varchar" size="60" />
<column name="file_size" type="number" size="11" default="0" notnull="notnull" index="idx_file_size" />
<column name="comment" type="varchar" size="250" />
<column name="isvalid" type="char" size="1" default="N" index="idx_is_valid" />
<column name="cover_image" type="char" size="1" default="N" notnull="notnull" index="idx_list_order" />
<column name="regdate" type="date" index="idx_regdate" />
<column name="ipaddress" type="varchar" size="128" notnull="notnull" index="idx_ipaddress"/>
</table>