From a99f56c7bc5d6990ebfa54fba570b166599adbeb Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Tue, 5 Sep 2023 02:34:44 +0900 Subject: [PATCH] Increase size of upload_target_type column, and add missing indexes --- modules/file/file.class.php | 68 +++++++++++++++++++++++++++++----- modules/file/schemas/files.xml | 4 +- 2 files changed, 60 insertions(+), 12 deletions(-) diff --git a/modules/file/file.class.php b/modules/file/file.class.php index 9674137f3..3e37778dc 100644 --- a/modules/file/file.class.php +++ b/modules/file/file.class.php @@ -60,14 +60,10 @@ class File extends ModuleObject if(!$oModuleModel->getTrigger('module.deleteModule', 'file', 'controller', 'triggerDeleteModuleFiles', 'after')) return true; // 2007. 10. 19 Call a trigger to set up the file permissions before displaying if(!$oModuleModel->getTrigger('module.dispAdditionSetup', 'file', 'view', 'triggerDispFileAdditionSetup', 'before')) return true; - // A column to determine a target type - if(!$oDB->isColumnExists('files', 'upload_target_type')) return true; // 2012. 08. 29 Add a trigger to copy additional setting when the module is copied if(!$oModuleModel->getTrigger('module.procModuleAdminCopyModule', 'file', 'controller', 'triggerCopyModule', 'after')) return true; - if(!$oDB->isColumnExists('files', 'cover_image')) return true; - if(!$oModuleModel->getTrigger('document.moveDocumentModule', 'file', 'controller', 'triggerMoveDocument', 'after')) { return true; @@ -80,6 +76,21 @@ class File extends ModuleObject { return true; } + + // Check columns + if(!$oDB->isColumnExists('files', 'upload_target_type')) + { + return true; + } + if($oDB->getColumnInfo('files', 'upload_target_type')->size < 20) + { + return true; + } + if(!$oDB->isColumnExists('files', 'cover_image')) + { + return true; + } + if(!$oDB->isColumnExists('files', 'thumbnail_filename')) { return true; @@ -112,6 +123,21 @@ class File extends ModuleObject { return true; } + + // Check indexes + if (!$oDB->isIndexExists('files', 'idx_upload_target_type')) + { + return true; + } + if (!$oDB->isIndexExists('files', 'idx_cover_image')) + { + return true; + } + if ($oDB->isIndexExists('files', 'idx_list_order')) + { + return true; + } + return false; } @@ -181,17 +207,11 @@ class File extends ModuleObject // 2007. 10. 19 Call a trigger to set up the file permissions before displaying if(!$oModuleModel->getTrigger('module.dispAdditionSetup', 'file', 'view', 'triggerDispFileAdditionSetup', 'before')) $oModuleController->insertTrigger('module.dispAdditionSetup', 'file', 'view', 'triggerDispFileAdditionSetup', 'before'); - // A column to determine a target type - if(!$oDB->isColumnExists('files', 'upload_target_type')) $oDB->addColumn('files', 'upload_target_type', 'char', '3'); - // 2012. 08. 29 Add a trigger to copy additional setting when the module is copied if(!$oModuleModel->getTrigger('module.procModuleAdminCopyModule', 'file', 'controller', 'triggerCopyModule', 'after')) { $oModuleController->insertTrigger('module.procModuleAdminCopyModule', 'file', 'controller', 'triggerCopyModule', 'after'); } - - if(!$oDB->isColumnExists('files', 'cover_image')) $oDB->addColumn('files', 'cover_image', 'char', '1', 'N'); - if(!$oModuleModel->getTrigger('document.moveDocumentModule', 'file', 'controller', 'triggerMoveDocument', 'after')) { $oModuleController->insertTrigger('document.moveDocumentModule', 'file', 'controller', 'triggerMoveDocument', 'after'); @@ -204,6 +224,20 @@ class File extends ModuleObject { $oModuleController->insertTrigger('comment.copyCommentByDocument', 'file', 'controller', 'triggerAddCopyCommentByDocument', 'add'); } + + // Check columns + if(!$oDB->isColumnExists('files', 'upload_target_type')) + { + $oDB->addColumn('files', 'upload_target_type', 'varchar', '20', null, false, 'upload_target_srl'); + } + if($oDB->getColumnInfo('files', 'upload_target_type')->size < 20) + { + $oDB->modifyColumn('files', 'upload_target_type', 'varchar', 20, null, false); + } + if(!$oDB->isColumnExists('files', 'cover_image')) + { + $oDB->addColumn('files', 'cover_image', 'char', '1', 'N', false, 'isvalid'); + } if(!$oDB->isColumnExists('files', 'thumbnail_filename')) { $oDB->addColumn('files', 'thumbnail_filename', 'varchar', '250', null, false, 'uploaded_filename'); @@ -240,6 +274,20 @@ class File extends ModuleObject { $oDB->addColumn('files', 'duration', 'number', '11', null, false, 'height'); } + + // Check indexes + if (!$oDB->isIndexExists('files', 'idx_upload_target_type')) + { + $oDB->addIndex('files', 'idx_upload_target_type', ['upload_target_type']); + } + if (!$oDB->isIndexExists('files', 'idx_cover_image')) + { + $oDB->addIndex('files', 'idx_cover_image', ['cover_image']); + } + if ($oDB->isIndexExists('files', 'idx_list_order')) + { + $oDB->dropIndex('files', 'idx_list_order'); + } } /** diff --git a/modules/file/schemas/files.xml b/modules/file/schemas/files.xml index 28a885d96..07c82b344 100644 --- a/modules/file/schemas/files.xml +++ b/modules/file/schemas/files.xml @@ -1,7 +1,7 @@ - + @@ -18,7 +18,7 @@ - +