diff --git a/modules/integration_search/integration_search.admin.controller.php b/modules/integration_search/integration_search.admin.controller.php
index 4ea0fcbd2..e68659c61 100644
--- a/modules/integration_search/integration_search.admin.controller.php
+++ b/modules/integration_search/integration_search.admin.controller.php
@@ -31,9 +31,18 @@ class integration_searchAdminController extends integration_search
$config->skin = Context::get('skin');
$config->mskin = Context::get('mskin');
$config->block_robots = Context::get('block_robots') === 'N' ? false : true;
+ $config->target_types = [];
+ $target_types = Context::get('target_types') ?? [];
+ foreach (['document', 'comment', 'multimedia', 'file'] as $type)
+ {
+ $config->target_types[$type] = in_array($type, $target_types);
+ }
$config->target = Context::get('target');
$config->target_module_srl = Context::get('target_module_srl');
- if(!$config->target_module_srl) $config->target_module_srl = '';
+ if (!$config->target_module_srl)
+ {
+ $config->target_module_srl = '';
+ }
$oModuleController = getController('module');
$output = $oModuleController->insertModuleConfig('integration_search', $config);
@@ -56,13 +65,13 @@ class integration_searchAdminController extends integration_search
// Get skin information (to check extra_vars)
$skin_info = $oModuleModel->loadSkinInfo($this->module_path, $config->skin);
-
+
// Check received variables (delete the basic variables such as mo, act, module_srl, page)
$obj = Context::getRequestVars();
unset($obj->act);
unset($obj->module_srl);
unset($obj->page);
-
+
// Separately handle if the extra_vars is an image type in the original skin_info
if($skin_info->extra_vars)
{
@@ -114,8 +123,8 @@ class integration_searchAdminController extends integration_search
$obj->{$vars->name} = $filename;
}
}
-
- // Serialize and save
+
+ // Serialize and save
$config->skin_vars = serialize($obj);
$oModuleController = getController('module');
diff --git a/modules/integration_search/integration_search.view.php b/modules/integration_search/integration_search.view.php
index e2fef268a..8de0f1f36 100644
--- a/modules/integration_search/integration_search.view.php
+++ b/modules/integration_search/integration_search.view.php
@@ -146,6 +146,8 @@ class integration_searchView extends integration_search
// Search by search tab
$where = Context::get('where');
Context::set('where', $where);
+ $target_types = $config->target_types ?? ['document' => true, 'comment' => true, 'multimedia' => true, 'file' => true];
+ Context::set('target_types', $target_types);
// Create integration search model object
if($is_keyword)
@@ -159,31 +161,86 @@ class integration_searchView extends integration_search
$search_target = Context::get('search_target');
if(!in_array($search_target, array('title','content','title_content','tag'))) $search_target = 'title_content';
Context::set('search_target', $search_target);
-
- $output = $oIS->getDocuments($target, $module_srl_list, $search_target, $is_keyword, $page, 10);
+ if ($target_types['document'])
+ {
+ $output = $oIS->getDocuments($target, $module_srl_list, $search_target, $is_keyword, $page, 10);
+ }
+ else
+ {
+ $output = new BaseObject;
+ }
Context::set('output', $output);
$this->setTemplateFile("document", $page);
break;
case 'comment' :
- $output = $oIS->getComments($target, $module_srl_list, $is_keyword, $page, 10);
+ if ($target_types['comment'])
+ {
+ $output = $oIS->getComments($target, $module_srl_list, $is_keyword, $page, 10);
+ }
+ else
+ {
+ $output = new BaseObject;
+ }
Context::set('output', $output);
$this->setTemplateFile("comment", $page);
break;
case 'multimedia' :
- $output = $oIS->getImages($target, $module_srl_list, $is_keyword, $page,20);
+ if ($target_types['multimedia'])
+ {
+ $output = $oIS->getImages($target, $module_srl_list, $is_keyword, $page,20);
+ }
+ else
+ {
+ $output = new BaseObject;
+ }
Context::set('output', $output);
$this->setTemplateFile("multimedia", $page);
break;
case 'file' :
- $output = $oIS->getFiles($target, $module_srl_list, $is_keyword, $page, 20);
+ if ($target_types['file'])
+ {
+ $output = $oIS->getFiles($target, $module_srl_list, $is_keyword, $page, 20);
+ }
+ else
+ {
+ $output = new BaseObject;
+ }
Context::set('output', $output);
$this->setTemplateFile("file", $page);
break;
default :
- $output['document'] = $oIS->getDocuments($target, $module_srl_list, 'title_content', $is_keyword, $page, 5);
- $output['comment'] = $oIS->getComments($target, $module_srl_list, $is_keyword, $page, 5);
- $output['multimedia'] = $oIS->getImages($target, $module_srl_list, $is_keyword, $page, 5);
- $output['file'] = $oIS->getFiles($target, $module_srl_list, $is_keyword, $page, 5);
+ if ($target_types['document'])
+ {
+ $output['document'] = $oIS->getDocuments($target, $module_srl_list, 'title_content', $is_keyword, $page, 5);
+ }
+ else
+ {
+ $output['document'] = new BaseObject;
+ }
+ if ($target_types['comment'])
+ {
+ $output['comment'] = $oIS->getComments($target, $module_srl_list, $is_keyword, $page, 5);
+ }
+ else
+ {
+ $output['comment'] = new BaseObject;
+ }
+ if ($target_types['multimedia'])
+ {
+ $output['multimedia'] = $oIS->getImages($target, $module_srl_list, $is_keyword, $page, 5);
+ }
+ else
+ {
+ $output['multimedia'] = new BaseObject;
+ }
+ if ($target_types['file'])
+ {
+ $output['file'] = $oIS->getFiles($target, $module_srl_list, $is_keyword, $page, 5);
+ }
+ else
+ {
+ $output['file'] = new BaseObject;
+ }
$output['trackback'] = new BaseObject;
Context::set('search_result', $output);
Context::set('search_target', 'title_content');
diff --git a/modules/integration_search/lang/en.php b/modules/integration_search/lang/en.php
index ec3bb5809..a8021dffe 100644
--- a/modules/integration_search/lang/en.php
+++ b/modules/integration_search/lang/en.php
@@ -10,7 +10,9 @@ $lang->msg_admin_not_enabled = 'The integrated search is not available. Please s
$lang->is_result_text = 'There are %d result(s) for \'%s\'';
$lang->multimedia = 'Images/Video';
$lang->integration_search_block_robots = 'Block Robots';
-$lang->include_search_target = 'Search for selected modules';
+$lang->integration_search_target_types = 'Search Types';
+$lang->integration_search_target_modules = 'Search Modules';
+$lang->include_search_target = 'Search selected modules only';
$lang->exclude_search_target = 'Exclude selected modules from search';
$lang->is_search_option['document']['title_content'] = 'Subject+Content';
$lang->is_search_option['document']['title'] = 'Subject';
diff --git a/modules/integration_search/lang/ko.php b/modules/integration_search/lang/ko.php
index 6ee6b149d..d36f92c45 100644
--- a/modules/integration_search/lang/ko.php
+++ b/modules/integration_search/lang/ko.php
@@ -10,8 +10,10 @@ $lang->msg_admin_not_enabled = '통합 검색을 사용할 수 없습니다. 통
$lang->is_result_text = '\'%s\'에 대한 검색결과 %d건';
$lang->multimedia = '이미지/동영상';
$lang->integration_search_block_robots = '로봇 접근 차단';
-$lang->include_search_target = '선택된 대상만 검색';
-$lang->exclude_search_target = '선택된 대상을 검색에서 제외';
+$lang->integration_search_target_types = '검색 대상 종류';
+$lang->integration_search_target_modules = '검색 대상 페이지';
+$lang->include_search_target = '선택한 모듈만 검색';
+$lang->exclude_search_target = '선택한 모듈을 검색에서 제외';
$lang->is_search_option['document']['title_content'] = '제목+내용';
$lang->is_search_option['document']['title'] = '제목';
$lang->is_search_option['document']['content'] = '내용';
diff --git a/modules/integration_search/skins/default/header.html b/modules/integration_search/skins/default/header.html
index 1b65292a8..8b5fd087f 100644
--- a/modules/integration_search/skins/default/header.html
+++ b/modules/integration_search/skins/default/header.html
@@ -2,14 +2,14 @@
{@ $_loaded = true; }
-
- {@if(!is_object($module_info)) $module_info = new stdClass;}
- {@$module_info->colorset = "white"}
+
+ {@ $module_info = $module_info ?? new stdClass}
+ {@ $module_info->colorset = 'white'}
-
-
+
+