css 및 js 호출순서 조정기능 추가
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5785 201d5d3c-b55e-5fd7-737f-ddc643e51545
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module version="0.2">
|
||||
<title xml:lang="ko">통합검색</title>
|
||||
<title xml:lang="zh-CN">搜索</title>
|
||||
<title xml:lang="zh-CN">综合搜索</title>
|
||||
<title xml:lang="jp">統合検索</title>
|
||||
<title xml:lang="en">Integrated Search</title>
|
||||
<title xml:lang="es">Búsqueda Integrada</title>
|
||||
|
|
@ -12,8 +12,8 @@
|
|||
선택된 모듈의 글중 비밀글만 검색을 하지 않고 나머지는 모두 검색을 하기에 공개되지 않은 모듈은 대상에 포함하지 않도록 하셔야 합니다.
|
||||
</description>
|
||||
<description xml:lang="zh-CN">
|
||||
把被选模块作为搜索对象进行搜索。
|
||||
被选模块当中只有密帖不会被搜索,因此请注意选择您不想搜索的模块。
|
||||
把所选模块作为搜索对象。
|
||||
所选模块当中只有密帖不会被搜索,因此请留意您不想搜索的模块。
|
||||
</description>
|
||||
<description xml:lang="jp">
|
||||
選択されたモジュールを対象に統合検索を行う機能をサポートします。
|
||||
|
|
|
|||
|
|
@ -1,21 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<module>
|
||||
<grants>
|
||||
<grant name="list" default="guest">
|
||||
<title xml:lang="ko">목록</title>
|
||||
<title xml:lang="zh-CN">目录</title>
|
||||
<title xml:lang="jp">リスト</title>
|
||||
<title xml:lang="en">list</title>
|
||||
<title xml:lang="zh-TW">列表</title>
|
||||
</grant>
|
||||
<grant name="manager" default="root">
|
||||
<title xml:lang="ko">관리</title>
|
||||
<title xml:lang="zh-CN">管理</title>
|
||||
<title xml:lang="jp">管理</title>
|
||||
<title xml:lang="en">manager</title>
|
||||
<title xml:lang="zh-TW">管理</title>
|
||||
</grant>
|
||||
</grants>
|
||||
<grants />
|
||||
<permissions />
|
||||
<actions>
|
||||
<action name="IS" type="view" standalone="true" />
|
||||
<action name="dispIntegration_searchAdminContent" type="view" admin_index="true" />
|
||||
|
|
|
|||
|
|
@ -38,7 +38,8 @@
|
|||
$module_categories = $oModuleModel->getModuleCategories();
|
||||
|
||||
// 생성된 mid목록을 구함
|
||||
$mid_list = $oModuleModel->getMidList();
|
||||
$obj->site_srl = 0;
|
||||
$mid_list = $oModuleModel->getMidList($obj);
|
||||
|
||||
// module_category와 module의 조합
|
||||
if($module_categories) {
|
||||
|
|
|
|||
|
|
@ -14,8 +14,6 @@
|
|||
// action forward에 등록
|
||||
$oModuleController = &getController('module');
|
||||
$oModuleController->insertActionForward('integration_search', 'view', 'IS');
|
||||
$oModuleController->insertActionForward('integration_search', 'view', 'dispIntegration_searchAdminContent');
|
||||
$oModuleController->insertActionForward('integration_search', 'view', 'dispIntegration_searchAdminSkinInfo');
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
|
@ -24,11 +22,6 @@
|
|||
* @brief 설치가 이상이 없는지 체크하는 method
|
||||
**/
|
||||
function checkUpdate() {
|
||||
// IS act의 여부 체크 (2007. 7. 24 추가)
|
||||
$oModuleModel = &getModel('module');
|
||||
$act = $oModuleModel->getActionForward('dispIntegration_searchAdminSkinInfo');
|
||||
if(!$act) return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -36,10 +29,6 @@
|
|||
* @brief 업데이트 실행
|
||||
**/
|
||||
function moduleUpdate() {
|
||||
$oModuleController = &getController('module');
|
||||
$oModuleController->insertActionForward('integration_search', 'view', 'IS');
|
||||
$oModuleController->insertActionForward('integration_search', 'view', 'dispIntegration_searchAdminContent');
|
||||
$oModuleController->insertActionForward('integration_search', 'view', 'dispIntegration_searchAdminSkinInfo');
|
||||
return new Object(0, 'success_updated');
|
||||
}
|
||||
|
||||
|
|
|
|||
184
modules/integration_search/integration_search.model.php
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
<?php
|
||||
/**
|
||||
* @class integrationModel
|
||||
* @author zero (zero@nzeo.com)
|
||||
* @brief integration 모듈의 Model class
|
||||
**/
|
||||
|
||||
class integration_searchModel extends module {
|
||||
/**
|
||||
* @brief 초기화
|
||||
**/
|
||||
function init() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 게시글 검색
|
||||
**/
|
||||
function getDocuments($module_srls_list, $search_target, $search_keyword, $page=1, $list_count = 20) {
|
||||
if(is_array($module_srls_list)) $args->module_srl = implode(',',$module_srls_list);
|
||||
else $args->module_srl = $module_srls_list;
|
||||
$args->page = $page;
|
||||
$args->list_count = $list_count;
|
||||
$args->page_count = 10;
|
||||
$args->search_target = $search_target;
|
||||
$args->search_keyword = $search_keyword;
|
||||
$args->sort_index = 'list_order';
|
||||
$args->order_type = 'asc';
|
||||
|
||||
// 대상 문서들을 가져옴
|
||||
$oDocumentModel = &getModel('document');
|
||||
return $oDocumentModel->getDocumentList($args);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 댓글 검색
|
||||
**/
|
||||
function getComments($module_srls_list, $search_keyword, $page=1, $list_count = 20) {
|
||||
if(is_array($module_srls_list)) $args->module_srl = implode(',',$module_srls_list);
|
||||
else $args->module_srl = $module_srls_list;
|
||||
$args->page = $page;
|
||||
$args->list_count = $list_count;
|
||||
$args->page_count = 10;
|
||||
$args->search_target = 'content';
|
||||
$args->search_keyword = $search_keyword;
|
||||
$args->sort_index = 'list_order';
|
||||
$args->order_type = 'asc';
|
||||
|
||||
// 대상 문서들을 가져옴
|
||||
$oCommentModel = &getModel('comment');
|
||||
$output = $oCommentModel->getTotalCommentList($args);
|
||||
if(!$output->toBool()|| !$output->data) return $output;
|
||||
|
||||
$list = array();
|
||||
foreach($output->data as $key => $val) {
|
||||
$oComment = new commentItem(0);
|
||||
$oComment->setAttribute($val);
|
||||
$list[$key] = $oComment;
|
||||
}
|
||||
$output->data = $list;
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 엮인글 검색
|
||||
**/
|
||||
function getTrackbacks($module_srls_list, $search_target = "title", $search_keyword, $page=1, $list_count = 20) {
|
||||
if(is_array($module_srls_list)) $args->module_srl = implode(',',$module_srls_list);
|
||||
else $args->module_srl = $module_srls_list;
|
||||
$args->page = $page;
|
||||
$args->list_count = $list_count;
|
||||
$args->page_count = 10;
|
||||
$args->search_target = $search_target;
|
||||
$args->search_keyword = $search_keyword;
|
||||
$args->sort_index = 'list_order';
|
||||
$args->order_type = 'asc';
|
||||
|
||||
// 대상 문서들을 가져옴
|
||||
$oTrackbackModel = &getAdminModel('trackback');
|
||||
$output = $oTrackbackModel->getTotalTrackbackList($args);
|
||||
if(!$output->toBool()|| !$output->data) return $output;
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 파일 검색
|
||||
**/
|
||||
function _getFiles($module_srls_list, $search_keyword, $page, $list_count, $direct_download = 'Y') {
|
||||
if(is_array($module_srls_list)) $args->module_srl = implode(',',$module_srls_list);
|
||||
else $args->module_srl = $module_srls_list;
|
||||
$args->page = $page;
|
||||
$args->list_count = $list_count;
|
||||
$args->page_count = 10;
|
||||
$args->search_target = 'filename';
|
||||
$args->search_keyword = $search_keyword;
|
||||
$args->sort_index = 'files.file_srl';
|
||||
$args->order_type = 'desc';
|
||||
$args->isvalid = 'Y';
|
||||
$args->direct_download = $direct_download=='Y'?'Y':'N';
|
||||
|
||||
// 대상 문서들을 가져옴
|
||||
$oFileAdminModel = &getAdminModel('file');
|
||||
$output = $oFileAdminModel->getFileList($args);
|
||||
if(!$output->toBool() || !$output->data) return $output;
|
||||
|
||||
$list = array();
|
||||
foreach($output->data as $key => $val) {
|
||||
$obj = null;
|
||||
$obj->filename = $val->source_filename;
|
||||
$obj->download_count = $val->download_count;
|
||||
if(substr($val->download_url,0,2)=='./') $val->download_url = substr($val->download_url,2);
|
||||
$obj->download_url = Context::getRequestUri().$val->download_url;
|
||||
$obj->target_srl = $val->upload_target_srl;
|
||||
$obj->file_size = $val->file_size;
|
||||
|
||||
// 이미지
|
||||
if(preg_match('/\.(jpg|jpeg|gif|png)$/i', $val->source_filename)) {
|
||||
$obj->type = 'image';
|
||||
|
||||
$thumbnail_path = sprintf('files/cache/thumbnails/%s',getNumberingPath($val->file_srl, 3));
|
||||
if(!is_dir($thumbnail_path)) FileHandler::makeDir($thumbnail_path);
|
||||
$thumbnail_file = sprintf('%s%dx%d.%s.jpg', $thumbnail_path, 120, 120, 'crop');
|
||||
$thumbnail_url = Context::getRequestUri().$thumbnail_file;
|
||||
if(!file_exists($thumbnail_file)) FileHandler::createImageFile($val->uploaded_filename, $thumbnail_file, 120, 120, 'jpg', 'crop');
|
||||
$obj->src = sprintf('<img src="%s" alt="%s" width="%d" height="%d" />', $thumbnail_url, htmlspecialchars($obj->filename), 120, 120);
|
||||
|
||||
// 동영상
|
||||
} elseif(preg_match('/\.(swf|flv|wmv|avi|mpg|mpeg|asx|asf|mp3)$/i', $val->source_filename)) {
|
||||
$obj->type = 'multimedia';
|
||||
$obj->src = sprintf('<script type="text/javascript">displayMultimedia("%s",120,120);</script>', $obj->download_url);
|
||||
|
||||
// 기타
|
||||
} else {
|
||||
$obj->type = 'binary';
|
||||
$obj->src = '';
|
||||
}
|
||||
|
||||
$list[] = $obj;
|
||||
$target_list[] = $val->upload_target_srl;
|
||||
}
|
||||
$output->data = $list;
|
||||
|
||||
$oDocumentModel = &getModel('document');
|
||||
$document_list = $oDocumentModel->getDocuments($target_list);
|
||||
if($document_list) foreach($document_list as $key => $val) {
|
||||
foreach($output->data as $k => $v) {
|
||||
if($v->target_srl== $val->document_srl) {
|
||||
$output->data[$k]->url = $val->getPermanentUrl();
|
||||
$output->data[$k]->regdate = $val->getRegdate("Y-m-d H:i");
|
||||
$output->data[$k]->nick_name = $val->getNickName();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$oCommentModel = &getModel('comment');
|
||||
$comment_list = $oCommentModel->getComments($target_list);
|
||||
if($comment_list) foreach($comment_list as $key => $val) {
|
||||
foreach($output->data as $k => $v) {
|
||||
if($v->target_srl== $val->comment_srl) {
|
||||
$output->data[$k]->url = $val->getPermanentUrl();
|
||||
$output->data[$k]->regdate = $val->getRegdate("Y-m-d H:i");
|
||||
$output->data[$k]->nick_name = $val->getNickName();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 멀티미디어 검색
|
||||
**/
|
||||
function getImages($module_srls_list, $search_keyword, $page=1, $list_count = 20) {
|
||||
return $this->_getFiles($module_srls_list, $search_keyword, $page, $list_count);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 첨부파일 검색
|
||||
**/
|
||||
function getFiles($module_srls_list, $search_keyword, $page=1, $list_count = 20) {
|
||||
return $this->_getFiles($module_srls_list, $search_keyword, $page, $list_count, 'N');
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
|
@ -36,24 +36,30 @@
|
|||
* @brief 통합 검색 출력
|
||||
**/
|
||||
function IS() {
|
||||
// 권한 체크
|
||||
if(!$this->grant->access) return new Object(-1,'msg_not_permitted');
|
||||
|
||||
// 검색이 가능한 목록을 구하기 위해 전체 목록을 구해옴
|
||||
$oModuleModel = &getModel('module');
|
||||
$site_module_info = Context::get('site_module_info');
|
||||
$args->site_srl = (int)$site_module_info->site_srl;
|
||||
$module_list = $oModuleModel->getMidList($args);
|
||||
|
||||
// 대상 모듈을 정리함
|
||||
$module_srl_list = array();
|
||||
foreach($module_list as $mid => $val) {
|
||||
$mid_list[$val->module_srl] = $val;
|
||||
if(count($this->target_mid) && !in_array($mid, $this->target_mid)) continue;
|
||||
$module_srl_list[] = $val->module_srl;
|
||||
if($site_module_info->site_srl) {
|
||||
$args->site_srl = (int)$site_module_info->site_srl;
|
||||
$module_list = $oModuleModel->getMidList($args);
|
||||
foreach($module_list as $mid => $val) {
|
||||
$mid_list[$val->module_srl] = $val;
|
||||
$module_srl_list[] = $val->module_srl;
|
||||
}
|
||||
} else {
|
||||
// 대상 모듈을 정리함
|
||||
$module_list = $oModuleModel->getMidList($args);
|
||||
$module_srl_list = array();
|
||||
foreach($module_list as $mid => $val) {
|
||||
$mid_list[$val->module_srl] = $val;
|
||||
if(count($this->target_mid) && !in_array($mid, $this->target_mid)) continue;
|
||||
$module_srl_list[] = $val->module_srl;
|
||||
}
|
||||
}
|
||||
|
||||
// 검색대상 변수 설정
|
||||
$search_target = Context::get('search_target');
|
||||
if(!in_array($search_target, array('title','content','title_content','comment','tag'))) $search_target = 'title';
|
||||
|
||||
// 검색어 변수 설정
|
||||
$is_keyword = Context::get('is_keyword');
|
||||
|
||||
|
|
@ -61,43 +67,61 @@
|
|||
$page = (int)Context::get('page');
|
||||
if(!$page) $page = 1;
|
||||
|
||||
// 검색탭에 따른 검색
|
||||
$where = Context::get('where');
|
||||
|
||||
$list_count = (int)Context::get('list_count');
|
||||
if(!$list_count|| $list_count>20) $list_count = 20;
|
||||
$oFile = &getClass('file');
|
||||
|
||||
// 출력할 컨텐츠 추출을 위한 인자 정리
|
||||
$args->module_srl = implode(',',$module_srl_list);
|
||||
$args->page = $page;
|
||||
$args->list_count = $list_count;
|
||||
$args->page_count = 10;
|
||||
$args->search_target = $search_target;
|
||||
$args->search_keyword = Context::get('is_keyword');
|
||||
$args->sort_index = 'list_order';
|
||||
$args->order_type = 'asc';
|
||||
// integration search model객체 생성
|
||||
if($is_keyword) {
|
||||
$oIS = &getModel('integration_search');
|
||||
switch($where) {
|
||||
case 'document' :
|
||||
$search_target = Context::get('search_target');
|
||||
if(!in_array($search_target, array('title','content','title_content','tag'))) $search_target = 'title';
|
||||
Context::set('search_target', $search_target);
|
||||
|
||||
// 검색글이 있을 경우 검색 시도
|
||||
if($args->search_keyword) {
|
||||
$output = $oIS->getDocuments($module_srl_list, $search_target, $is_keyword, $page, 10);
|
||||
Context::set('output', $output);
|
||||
$this->setTemplateFile("document", $page);
|
||||
break;
|
||||
case 'comment' :
|
||||
$output = $oIS->getComments($module_srl_list, $is_keyword, $page, 10);
|
||||
Context::set('output', $output);
|
||||
$this->setTemplateFile("comment", $page);
|
||||
break;
|
||||
case 'trackback' :
|
||||
$search_target = Context::get('search_target');
|
||||
if(!in_array($search_target, array('title','url','blog_name','excerpt'))) $search_target = 'title';
|
||||
Context::set('search_target', $search_target);
|
||||
|
||||
// 대상 문서들을 가져옴
|
||||
$oDocumentModel = &getModel('document');
|
||||
$output = $oDocumentModel->getDocumentList($args);
|
||||
Context::set('total_count', $output->total_count);
|
||||
Context::set('total_page', $output->total_page);
|
||||
Context::set('page', $output->page);
|
||||
Context::set('document_list', $output->data);
|
||||
Context::set('page_navigation', $output->page_navigation);
|
||||
$output = $oIS->getTrackbacks($module_srl_list, $search_target, $is_keyword, $page, 10);
|
||||
Context::set('output', $output);
|
||||
$this->setTemplateFile("trackback", $page);
|
||||
break;
|
||||
case 'multimedia' :
|
||||
$output = $oIS->getImages($module_srl_list, $is_keyword, $page,20);
|
||||
Context::set('output', $output);
|
||||
$this->setTemplateFile("multimedia", $page);
|
||||
break;
|
||||
case 'file' :
|
||||
$output = $oIS->getFiles($module_srl_list, $is_keyword, $page, 20);
|
||||
Context::set('output', $output);
|
||||
$this->setTemplateFile("file", $page);
|
||||
break;
|
||||
default :
|
||||
$output['document'] = $oIS->getDocuments($module_srl_list, 'title', $is_keyword, $page, 5);
|
||||
$output['comment'] = $oIS->getComments($module_srl_list, $is_keyword, $page, 5);
|
||||
$output['trackback'] = $oIS->getTrackbacks($module_srl_list, 'title', $is_keyword, $page, 5);
|
||||
$output['multimedia'] = $oIS->getImages($module_srl_list, $is_keyword, $page, 5);
|
||||
$output['file'] = $oIS->getFiles($module_srl_list, $is_keyword, $page, 5);
|
||||
Context::set('search_result', $output);
|
||||
$this->setTemplateFile("index", $page);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
$this->setTemplateFile("no_keywords");
|
||||
}
|
||||
|
||||
// 텍스트 생성
|
||||
if(Context::getLangType()=='en')
|
||||
$result_text = sprintf(Context::getLang("is_result_text"), $output->total_count, htmlspecialchars($is_keyword, ENT_NOQUOTES, 'UTF-8'));
|
||||
else
|
||||
$result_text = sprintf(Context::getLang("is_result_text"), htmlspecialchars($is_keyword, ENT_NOQUOTES, 'UTF-8'), $output->total_count);
|
||||
Context::set('result_text', $result_text);
|
||||
Context::set('mid_list', $mid_list);
|
||||
|
||||
// 템플릿 파일 지정
|
||||
$this->setTemplateFile('index');
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -13,13 +13,21 @@
|
|||
$lang->msg_no_keyword = "Please input keyword to search";
|
||||
|
||||
$lang->is_result_text = "There are <strong>%d</strong> result(s) for <strong>'%s'</strong>";
|
||||
$lang->multimedia = "Images/ Movies";
|
||||
|
||||
$lang->is_search_option = array(
|
||||
'title' => 'Subject',
|
||||
'content' => 'Content',
|
||||
'title_content' => 'Subject+Content',
|
||||
'comment' => 'Comment',
|
||||
'tag' => 'Tags',
|
||||
'document' => array(
|
||||
'title_content' => 'Subject+Content',
|
||||
'title' => 'Subject',
|
||||
'content' => 'Content',
|
||||
'tag' => 'Tags',
|
||||
),
|
||||
'trackback' => array(
|
||||
'url' => 'Target URL',
|
||||
'blog_name' => 'Target Site Name',
|
||||
'title' => 'Title',
|
||||
'excerpt' => 'Excerpt',
|
||||
),
|
||||
);
|
||||
|
||||
$lang->is_sort_option = array(
|
||||
|
|
|
|||
|
|
@ -13,13 +13,21 @@
|
|||
$lang->msg_no_keyword = "Ingrese la palabra para la búsqueda";
|
||||
|
||||
$lang->is_result_text = "<strong>%d</strong> Resultados con la palabra <strong>'%s'</strong> ";
|
||||
$lang->multimedia = "Images/ Movies";
|
||||
|
||||
$lang->is_search_option = array(
|
||||
'document' => array(
|
||||
'title_content' => 'Título+Contenido',
|
||||
'title' => 'Título',
|
||||
'content' => 'Contenido',
|
||||
'title_content' => 'Título+Contenido',
|
||||
'comment' => 'Commentarios',
|
||||
'tag' => 'Etiqueta',
|
||||
),
|
||||
'trackback' => array(
|
||||
'url' => 'URL objetivo',
|
||||
'blog_name' => 'Ojetivo del nombre de sitio',
|
||||
'title' => 'Título',
|
||||
'excerpt' => 'Contenido',
|
||||
),
|
||||
);
|
||||
|
||||
$lang->is_sort_option = array(
|
||||
|
|
|
|||
|
|
@ -13,13 +13,21 @@
|
|||
$lang->msg_no_keyword = "Entrez le mot de clé à rechercher, S.V.P.";
|
||||
|
||||
$lang->is_result_text = "Il y a <strong>%d</strong> résultat(s) pour <strong>'%s'</strong>";
|
||||
$lang->multimedia = "Images/ Movies";
|
||||
|
||||
$lang->is_search_option = array(
|
||||
'title' => 'Titre',
|
||||
'content' => 'Contenu',
|
||||
'title_content' => 'Titre+Contenu',
|
||||
'comment' => 'Commentaire',
|
||||
'tag' => 'Balise',
|
||||
'document' => array(
|
||||
'title_content' => 'Titre+Contenu',
|
||||
'title' => 'Titre',
|
||||
'content' => 'Contenu',
|
||||
'tag' => 'Balise',
|
||||
),
|
||||
'trackback' => array(
|
||||
'url' => 'URL objectif',
|
||||
'blog_name' => 'Nom du Site objectif',
|
||||
'title' => 'Titre',
|
||||
'excerpt' => 'Contenu',
|
||||
),
|
||||
);
|
||||
|
||||
$lang->is_sort_option = array(
|
||||
|
|
|
|||
|
|
@ -13,13 +13,21 @@
|
|||
$lang->msg_no_keyword = "検索語を入力してください。";
|
||||
|
||||
$lang->is_result_text = "<strong>'%s'</strong>に対する検索結果<strong>%d</strong>件";
|
||||
$lang->multimedia = "Images/ Movies";
|
||||
|
||||
$lang->is_search_option = array(
|
||||
'title' => 'タイトル',
|
||||
'content' => '内容',
|
||||
'title_content' => 'タイトル+内容',
|
||||
'comment' => 'コメント',
|
||||
'tag' => 'タグ',
|
||||
'document' => array(
|
||||
'title_content' => 'タイトル+内容',
|
||||
'title' => 'タイトル',
|
||||
'content' => '内容',
|
||||
'tag' => 'タグ',
|
||||
),
|
||||
'trackback' => array(
|
||||
'url' => 'URL',
|
||||
'blog_name' => 'サイト(ブログ)名',
|
||||
'title' => 'タイトル',
|
||||
'excerpt' => '要約内容',
|
||||
),
|
||||
);
|
||||
|
||||
$lang->is_sort_option = array(
|
||||
|
|
|
|||
|
|
@ -5,21 +5,30 @@
|
|||
* @brief 한국어 언어팩 (기본적인 내용만 수록)
|
||||
**/
|
||||
|
||||
$lang->integration_search = "통합검색";
|
||||
$lang->integration_search = '통합검색';
|
||||
|
||||
$lang->sample_code = "샘플코드";
|
||||
$lang->about_target_module = "선택된 모듈만 검색 대상으로 정합니다. 권한설정에 대한 주의를 바랍니다";
|
||||
$lang->about_sample_code = "위 코드를 레이아웃등에 추가하시면 통합검색이 가능합니다";
|
||||
$lang->msg_no_keyword = "검색어를 입력해주세요";
|
||||
$lang->sample_code = '샘플코드';
|
||||
$lang->about_target_module = '선택된 모듈만 검색 대상으로 정합니다. 권한설정에 대한 주의를 바랍니다';
|
||||
$lang->about_sample_code = '위 코드를 레이아웃등에 추가하시면 통합검색이 가능합니다';
|
||||
$lang->msg_no_keyword = '검색어를 입력해주세요';
|
||||
$lang->msg_document_more_search = '계속 검색 버튼을 선택하시면 아직 검색하지 않은 부분까지 계속 검색 하실 수 있습니다';
|
||||
|
||||
$lang->is_result_text = "<strong>'%s'</strong> 에 대한 검색결과 <strong>%d</strong>건";
|
||||
$lang->multimedia = '이미지/동영상';
|
||||
|
||||
$lang->is_search_option = array(
|
||||
'title' => '제목',
|
||||
'content' => '내용',
|
||||
'title_content' => '제목+내용',
|
||||
'comment' => '댓글',
|
||||
'tag' => '태그',
|
||||
'document' => array(
|
||||
'title_content' => '제목+내용',
|
||||
'title' => '제목',
|
||||
'content' => '내용',
|
||||
'tag' => '태그',
|
||||
),
|
||||
'trackback' => array(
|
||||
'url' => '대상 URL',
|
||||
'blog_name' => '대상 사이트 이름',
|
||||
'title' => '제목',
|
||||
'excerpt' => '내용',
|
||||
),
|
||||
);
|
||||
|
||||
$lang->is_sort_option = array(
|
||||
|
|
|
|||
|
|
@ -13,13 +13,21 @@
|
|||
$lang->msg_no_keyword = "Введите ключевое слово для поиска";
|
||||
|
||||
$lang->is_result_text = "<strong>%d</strong> результатов для <strong>'%s'</strong>";
|
||||
$lang->multimedia = "Images/ Movies";
|
||||
|
||||
$lang->is_search_option = array(
|
||||
'title' => 'Тема',
|
||||
'content' => 'Содержание',
|
||||
'title_content' => 'Тема+Содержание',
|
||||
'comment' => 'Комментарии',
|
||||
'tag' => 'Теги',
|
||||
'document' => array(
|
||||
'title_content' => 'Тема+Содержание',
|
||||
'title' => 'Тема',
|
||||
'content' => 'Содержание',
|
||||
'tag' => 'Теги',
|
||||
),
|
||||
'trackback' => array(
|
||||
'url' => 'URL назначения',
|
||||
'blog_name' => 'Имя сайта',
|
||||
'title' => 'Заголовок',
|
||||
'excerpt' => 'Выдержка',
|
||||
),
|
||||
);
|
||||
|
||||
$lang->is_sort_option = array(
|
||||
|
|
|
|||
|
|
@ -1,24 +1,32 @@
|
|||
<?php
|
||||
/**
|
||||
* @file modules/integration_search/lang/ko.lang.php
|
||||
* @author zero <zero@nzeo.com>
|
||||
* @brief 简体中文语言包
|
||||
* @author zero <zero@nzeo.com> 翻译:guny
|
||||
* @brief 综合搜索简体中文语言包
|
||||
**/
|
||||
|
||||
$lang->integration_search = "搜索";
|
||||
$lang->integration_search = "综合搜索";
|
||||
|
||||
$lang->sample_code = "代码";
|
||||
$lang->about_target_module = "只把被选模块作为搜索对象。请注意权限设置。";
|
||||
$lang->about_target_module = "所选模块作为搜索对象。请注意权限设置。";
|
||||
$lang->about_sample_code = "可把上述代码插入到相应布局当中即可实现搜索功能。";
|
||||
|
||||
$lang->is_result_text = "符合<strong>'%s'</strong>的搜索结果约有<strong>%d</strong>项";
|
||||
$lang->multimedia = "图片/视频";
|
||||
|
||||
$lang->is_search_option = array(
|
||||
'document' => array(
|
||||
'title_content' => '标题+内容',
|
||||
'title' => '标题',
|
||||
'content' => '内容',
|
||||
'title_content' => '标题+内容',
|
||||
'comment' => '评论',
|
||||
'tag' => '标签',
|
||||
),
|
||||
'trackback' => array(
|
||||
'url' => '对象URL',
|
||||
'blog_name' => '对象网站名称',
|
||||
'title' => '标题',
|
||||
'excerpt' => '内容',
|
||||
),
|
||||
);
|
||||
|
||||
$lang->is_sort_option = array(
|
||||
|
|
|
|||
|
|
@ -10,15 +10,25 @@
|
|||
$lang->sample_code = "原始碼";
|
||||
$lang->about_target_module = "只將所選擇的模組當作搜尋對象。請注意權限設置。";
|
||||
$lang->about_sample_code = "將上述原始碼插入到相對應版面當中,即可實現搜尋功能。";
|
||||
$lang->msg_no_keyword = "請輸入關鍵字";
|
||||
$lang->msg_document_more_search = "계속 검색 버튼을 선택하시면 아직 검색하지 않은 부분까지 계속 검색 하실 수 있습니다";
|
||||
|
||||
$lang->is_result_text = "符合<strong>'%s'</strong>的搜尋結果,約有<strong>%d</strong>項";
|
||||
$lang->multimedia = "Images/ Movies";
|
||||
|
||||
$lang->is_search_option = array(
|
||||
'title' => '標題',
|
||||
'content' => '內容',
|
||||
'title_content' => '標題+內容',
|
||||
'comment' => '評論',
|
||||
'tag' => '標籤',
|
||||
'document' => array(
|
||||
'title_content' => '標題+內容',
|
||||
'title' => '標題',
|
||||
'content' => '內容',
|
||||
'tag' => '標籤',
|
||||
),
|
||||
'trackback' => array(
|
||||
'url' => '目標網址',
|
||||
'blog_name' => '目標網站名稱',
|
||||
'title' => '標題',
|
||||
'excerpt' => '內容',
|
||||
),
|
||||
);
|
||||
|
||||
$lang->is_sort_option = array(
|
||||
|
|
|
|||
35
modules/integration_search/skins/default/comment.html
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<!--#include("header.html")-->
|
||||
|
||||
<h3 class="subTitle">{$lang->comment} <span>({number_format($output->total_count)})</span> </h3>
|
||||
|
||||
<!--@if(!count($output->data))-->
|
||||
<span class="noResult">{$lang->msg_no_result}</span>
|
||||
<!--@else-->
|
||||
<ul class="searchResult comment">
|
||||
<!--@foreach($output->data as $no => $comment)-->
|
||||
<li>
|
||||
<!--@if($comment->thumbnailExists(80))-->
|
||||
<a href="{$comment->getPermanentUrl()}" onclick="window.open(this.href);return false;"><img src="{$comment->getThumbnail(80)}" alt="" width="80" height="80" class="thumb" /></a>
|
||||
<!--@end-->
|
||||
<dl>
|
||||
<dt><a href="{$comment->getPermanentUrl()}" onclick="window.open(this.href);return false;">{$comment->getSummary(400)}</a></dt>
|
||||
</dl>
|
||||
<address><strong>{$comment->getNickName()}</strong> | <span class="time">{$comment->getRegdate("Y-m-d H:i")}</span></address>
|
||||
</li>
|
||||
<!--@end-->
|
||||
</ul>
|
||||
|
||||
<!--@if($where == 'comment' && $output->page_navigation)-->
|
||||
<div class="pagination a1">
|
||||
<a href="{getUrl('page','')}" class="prevEnd">{$lang->first_page}</a>
|
||||
<!--@while($page_no = $output->page_navigation->getNextPage())-->
|
||||
<!--@if($page == $page_no)-->
|
||||
<strong>{$page_no}</strong>
|
||||
<!--@else-->
|
||||
<a href="{getUrl('page',$page_no)}">{$page_no}</a>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<a href="{getUrl('page',$output->page_navigation->last_page)}" class="nextEnd">{$lang->last_page}</a>
|
||||
</div>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
|
|
@ -1,102 +0,0 @@
|
|||
@charset "utf-8";
|
||||
#spot { border:8px solid #cecece; height:64px; position:relative; margin-bottom:30px;}
|
||||
#spot h2 { padding:0; margin:0; position:absolute; top:24px; left:-8px;}
|
||||
#spot .search { text-align:center; position:relative; top:22px;}
|
||||
#spot .search * { vertical-align:middle;}
|
||||
#spot .search select { margin-top:1px;}
|
||||
#spot .search .inputText { border:1px solid #b6b6b6; padding:2px 3px; width:252px; height:14px;}
|
||||
#spot .search .submit {}
|
||||
|
||||
#content { width:100%; overflow:hidden; position:relative;}
|
||||
#content h3 { margin:0; padding:0; }
|
||||
#content h3.result { width:100%; height:23px; border-bottom:1px solid #cecece; margin-bottom:23px; margin-left:15px;}
|
||||
#content h3.result strong { color:#ff1a00;}
|
||||
#content .sortBy { position:absolute; top:0; right:0; overflow:hidden;}
|
||||
#content .sortBy li { list-style:none; float:left; padding:0 6px; position:relative; right:-6px; background:url(../images/white/vrType2.gif) no-repeat right 1px;}
|
||||
#content .sortBy li a { display:block; float:left; padding-left:9px; color:#3e3e3e; white-space:nowrap; background:url(../images/white/bulletSortBy.gif) no-repeat left 4px; text-decoration:none; }
|
||||
#content .sortBy li.on a { color:#ff1a00; background:url(../images/white/bulletSortByOn.gif) no-repeat left 4px;}
|
||||
|
||||
.searchResult { margin:0 0 0 15px; padding:0;}
|
||||
.searchResult li { width:100%; margin-bottom:29px; clear:both; overflow:hidden;list-style:none; }
|
||||
.searchResult li .thumb { display:block; float:left; margin-right:14px;}
|
||||
.searchResult li dl { margin:0; padding:0; }
|
||||
.searchResult li dl dt { padding:0; margin:0; color:#d8d8d8; margin-bottom:1px;}
|
||||
.searchResult li dl dt a { color:#1a3588; text-decoration:underline;}
|
||||
.searchResult li dl dt .reply { color:#fe6700; font:.9em Tahoma;}
|
||||
.searchResult li dl dt .reply em { color:#fe6700; font:bold 1em Tahoma;}
|
||||
.searchResult li dl dt .category { color:#818181;}
|
||||
.searchResult li dl dt .category a { color:#818181; border:none; text-decoration:none;}
|
||||
.searchResult li dl dd { padding:0; margin:0; line-height:18px; color:#555555; margin-bottom:4px;}
|
||||
.searchResult li address { color:#d8d8d8; font-size:11px;}
|
||||
.searchResult li address strong { color:#3e3e3e; font-size:1em; font-weight:normal;}
|
||||
.searchResult li address img { vertical-align:middle; margin-right:2px;}
|
||||
.searchResult li address .time { color:#818181; font:.8em Tahoma;}
|
||||
.searchResult li address .read { font:11px "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; color:#818181;}
|
||||
.searchResult li address .readNum { color:#818181; font:.8em Tahoma;}
|
||||
.searchResult li address .recom { font:11px "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; color:#818181;}
|
||||
.searchResult li address .recomNum { color:#fe6700; font:bold .8em Tahoma;}
|
||||
|
||||
.searchNext { text-align:center; margin-top:10px;}
|
||||
|
||||
/* Pagination Reset */
|
||||
.pagination{ padding:15px 0; margin:0; text-align:center;}
|
||||
.pagination *{ margin:0; padding:0;}
|
||||
.pagination img{ border:0;}
|
||||
.pagination a,
|
||||
.pagination strong{ position:relative; display:inline-block; text-decoration:none; line-height:normal; color:#333; font-family:Tahoma, Sans-serif; vertical-align:middle;}
|
||||
.pagination a:hover,
|
||||
.pagination a:active,
|
||||
.pagination a:focus{ background-color:#f4f4f4 !important; }
|
||||
.pagination strong{ color:#ff6600 !important;}
|
||||
.pagination a.prev,
|
||||
.pagination a.prevEnd,
|
||||
.pagination a.next,
|
||||
.pagination a.nextEnd{ font-weight:normal !important; border:none !important; margin:0 !important; white-space:nowrap; }
|
||||
|
||||
/* Pagination A1 */
|
||||
.pagination.a1 a,
|
||||
.pagination.a1 strong{ margin:0 -4px; padding:1px 10px 1px 8px; border:none; border-left:1px solid #ccc; border-right:1px solid #ddd; font-weight:bold; font-size:12px; background:#fff;}
|
||||
.pagination.a1 a.prev{ padding-left:10px; background:#fff url(../images/white/arrowPrevA1.gif) no-repeat left center; }
|
||||
.pagination.a1 a.prevEnd{ padding-left:15px; background:#fff url(../images/white/arrowPrevEndA1.gif) no-repeat left center; }
|
||||
.pagination.a1 a.next{ padding-right:10px; background:#fff url(../images/white/arrowNextA1.gif) no-repeat right center; }
|
||||
.pagination.a1 a.nextEnd{ padding-right:15px; background:#fff url(../images/white/arrowNextEndA1.gif) no-repeat right center; }
|
||||
|
||||
/* Pagination A2 */
|
||||
.pagination.a2 a,
|
||||
.pagination.a2 strong{ margin:0 -4px; padding:0 10px 0 8px; font-weight:bold; font-size:11px; border:none; border-left:1px solid #ddd; border-right:1px solid #ccc; background:#fff; }
|
||||
.pagination.a2 a.prev{ padding-left:10px; background:#fff url(../images/white/arrowPrevA1.gif) no-repeat left center; }
|
||||
.pagination.a2 a.prevEnd{ padding-left:15px; background:#fff url(../images/white/arrowPrevEndA1.gif) no-repeat left center; }
|
||||
.pagination.a2 a.next{ padding-right:10px; background:#fff url(../images/white/arrowNextA1.gif) no-repeat right center; }
|
||||
.pagination.a2 a.nextEnd{ padding-right:15px; background:#fff url(../images/white/arrowNextEndA1.gif) no-repeat right center; }
|
||||
|
||||
/* Pagination B1 */
|
||||
.pagination.b1 a,
|
||||
.pagination.b1 strong{ margin:0 -2px; padding:2px 8px; font-weight:bold; font-size:12px;}
|
||||
.pagination.b1 a.prev{ padding-left:16px; background:url(../images/white/arrowPrevB1.gif) no-repeat left center; }
|
||||
.pagination.b1 a.next{ padding-right:16px; background:url(../images/white/arrowNextB1.gif) no-repeat right center; }
|
||||
|
||||
/* Pagination B2 */
|
||||
.pagination.b2 a,
|
||||
.pagination.b2 strong{ margin:0 -2px; padding:2px 6px; font-size:11px;}
|
||||
.pagination.b2 a.prev{ padding-left:12px; background:url(../images/white/arrowPrevB1.gif) no-repeat left center; }
|
||||
.pagination.b2 a.next{ padding-right:12px; background:url(../images/white/arrowNextB1.gif) no-repeat right center; }
|
||||
|
||||
/* Pagination C1 */
|
||||
.pagination.c1 a,
|
||||
.pagination.c1 strong{ margin:0 -2px; padding:2px 4px; font-size:12px;}
|
||||
.pagination.c1 a.prev,
|
||||
.pagination.c1 a.next{ display:inline-block; width:13px; height:14px; padding:3px 4px; margin:0;}
|
||||
.pagination.c1 a.prev{ background:url(../images/white/arrowPrevC1.gif) no-repeat center;}
|
||||
.pagination.c1 a.next{ background:url(../images/white/arrowNextC1.gif) no-repeat center;}
|
||||
.pagination.c1 a.prev span,
|
||||
.pagination.c1 a.next span{ position:absolute; width:0; height:0; overflow:hidden; visibility:hidden;}
|
||||
|
||||
/* Pagination C2 */
|
||||
.pagination.c2 a,
|
||||
.pagination.c2 strong{ margin:0 -2px; padding:2px 4px; font-size:11px;}
|
||||
.pagination.c2 a.prev,
|
||||
.pagination.c2 a.next{ display:inline-block; width:13px; height:14px; padding:3px 4px; margin:0;}
|
||||
.pagination.c2 a.prev{ background:url(../images/white/arrowPrevC1.gif) no-repeat center;}
|
||||
.pagination.c2 a.next{ background:url(../images/white/arrowNextC1.gif) no-repeat center;}
|
||||
.pagination.c2 a.prev span,
|
||||
.pagination.c2 a.next span{ position:absolute; width:0; height:0; overflow:hidden; visibility:hidden;}
|
||||
54
modules/integration_search/skins/default/document.html
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
<!--#include("header.html")-->
|
||||
|
||||
<h3 class="subTitle">{$lang->document} <span>({number_format($output->total_count)})</span></h3>
|
||||
|
||||
<ul class="subNavigation">
|
||||
<!--@foreach($lang->is_search_option['document'] as $key => $val)-->
|
||||
<li value="{$key}" class="<!--@if($search_target == $key)-->on<!--@end--><!--@if($key=="tag")--> last<!--@end-->"><a href="{getUrl('where','document','search_target',$key,'page',1,'division','')}">{$val}</a></li>
|
||||
<!--@end-->
|
||||
</ul>
|
||||
|
||||
|
||||
<!--@if(!count($output->data))-->
|
||||
<span class="noResult">
|
||||
{$lang->msg_no_result}
|
||||
<!--@if($last_division)-->
|
||||
<br />{$lang->msg_document_more_search}
|
||||
<br /><a href="{getUrl('where','document','page',1,'document_srl','','search_target',$search_target,'is_keyword',$is_keyword,'division',$last_division,'last_division','')}" class="button"><span>{$lang->cmd_search_next}</span></a>
|
||||
<!--@end-->
|
||||
</span>
|
||||
<!--@else-->
|
||||
<ul class="searchResult">
|
||||
<!--@foreach($output->data as $no => $document)-->
|
||||
<li>
|
||||
<!--@if($document->thumbnailExists(80))-->
|
||||
<a href="{getUrl('','document_srl',$document->document_srl)}" onclick="window.open(this.href);return false;"><img src="{$document->getThumbnail(80)}" alt="" width="80" height="80" class="thumb" /></a>
|
||||
<!--@end-->
|
||||
<dl>
|
||||
<dt><a href="{getUrl('','document_srl',$document->document_srl)}" onclick="window.open(this.href);return false;">{$document->getTitle()}</a> <!--@if($document->getCommentCount())--><span class="reply">[<em>{$document->getCommentCount()}</em>]</span> <!--@end--></dt>
|
||||
|
||||
<dd>{$document->getSummary(200)}</dd>
|
||||
</dl>
|
||||
<address><strong>{$document->getNickName()}</strong> | <span class="time">{$document->getRegdate("Y-m-d H:i")}</span> | <span class="read">{$lang->readed_count}</span> <span class="readNum">{$document->get('readed_count')}</span><!--@if($document->get('voted_count'))--> | <span class="recom">{$lang->voted_count}</span> <span class="recomNum">{$document->get('voted_count')}</span><!--@end--></address>
|
||||
|
||||
</li>
|
||||
<!--@end-->
|
||||
</ul>
|
||||
|
||||
<!--@if($where == 'document' && $output->page_navigation)-->
|
||||
<div class="pagination a1">
|
||||
<a href="{getUrl('page','')}" class="prevEnd">{$lang->first_page}</a>
|
||||
<!--@while($page_no = $output->page_navigation->getNextPage())-->
|
||||
<!--@if($page == $page_no)-->
|
||||
<strong>{$page_no}</strong>
|
||||
<!--@else-->
|
||||
<a href="{getUrl('page',$page_no)}">{$page_no}</a>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<a href="{getUrl('page',$output->page_navigation->last_page)}" <!--@if(!$last_division)-->class="nextEnd"<!--@end-->>{$lang->last_page}</a>
|
||||
<!--@if($last_division)-->
|
||||
<a href="{getUrl('page',1,'document_srl','','search_target',$search_target,'is_keyword',$is_keyword,'division',$last_division,'last_division','')}" class="nextEnd">{$lang->cmd_search_next}</a>
|
||||
<!--@end-->
|
||||
</div>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
32
modules/integration_search/skins/default/file.html
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
<!--#include("header.html")-->
|
||||
|
||||
<h3 class="subTitle">{$lang->file} <span>({number_format($output->total_count)})</span></h3>
|
||||
|
||||
<!--@if(!count($output->data))-->
|
||||
<span class="noResult">{$lang->msg_no_result}</span>
|
||||
<!--@else-->
|
||||
<ul class="searchResult">
|
||||
<!--@foreach($output->data as $no => $file)-->
|
||||
<li>
|
||||
<dl>
|
||||
<dt><a href="{$file->url}" onclick="window.open(this.href);return false;">{$file->filename}</a> ({FileHandler::filesize($file->file_size)})</dt>
|
||||
</dl>
|
||||
<address><strong>{$file->nick_name}</strong> | <span class="time">{$file->regdate}</span> | <span class="recomNum">{number_format($file->download_count)}</span> </address>
|
||||
</li>
|
||||
<!--@end-->
|
||||
</ul>
|
||||
|
||||
<!--@if($where == 'file' && $output->page_navigation)-->
|
||||
<div class="pagination a1">
|
||||
<a href="{getUrl('page','')}" class="prevEnd">{$lang->first_page}</a>
|
||||
<!--@while($page_no = $output->page_navigation->getNextPage())-->
|
||||
<!--@if($page == $page_no)-->
|
||||
<strong>{$page_no}</strong>
|
||||
<!--@else-->
|
||||
<a href="{getUrl('page',$page_no)}">{$page_no}</a>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<a href="{getUrl('page',$output->page_navigation->last_page)}" class="nextEnd">{$lang->last_page}</a>
|
||||
</div>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
34
modules/integration_search/skins/default/header.html
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
<!--@if(!$_loaded)-->
|
||||
{@ $_loaded = true; }
|
||||
|
||||
<!--// 컬러셋 체크 -->
|
||||
<!--@if($module_info->colorset != "white")-->
|
||||
{@$module_info->colorset = "white"}
|
||||
<!--@end-->
|
||||
|
||||
<!--// CSS 파일 로드 (컬러셋에 따라서) -->
|
||||
<!--@if($module_info->colorset == "white")-->
|
||||
<!--%import("white.css")-->
|
||||
<!--@end-->
|
||||
|
||||
<!--%import("is.js")-->
|
||||
|
||||
<div id="spot">
|
||||
<form action="{getUrl()}" method="post" class="search" id="fo_is">
|
||||
<input type="hidden" name="mid" value="{$mid}" />
|
||||
<input type="hidden" name="act" value="IS" />
|
||||
<input type="hidden" name="where" value="{$where}" />
|
||||
<input name="is_keyword" type="text" class="inputText" value="{htmlspecialchars($is_keyword)}"/>
|
||||
<span class="button large strong black"><input type="submit" value="{$lang->cmd_search}" /></span>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<ul class="localNavigation">
|
||||
<li <!--@if(!$where)-->class="on"<!--@end-->><a href="{getUrl('where','','page','','division','')}">{$lang->integration_search}</a></li>
|
||||
<li <!--@if($where=='document')-->class="on"<!--@end-->><a href="{getUrl('where','document','page',1,'division','')}">{$lang->document}</a></li>
|
||||
<li <!--@if($where=='comment')-->class="on"<!--@end-->><a href="{getUrl('where','comment','page',1,'division','')}">{$lang->comment}</a></li>
|
||||
<li <!--@if($where=='trackback')-->class="on"<!--@end-->><a href="{getUrl('where','trackback','page',1,'division','')}">{$lang->trackback}</a></li>
|
||||
<li <!--@if($where=='multimedia')-->class="on"<!--@end-->><a href="{getUrl('where','multimedia','page',1,'division','')}">{$lang->multimedia}</a></li>
|
||||
<li <!--@if($where=='file')-->class="on"<!--@end-->><a href="{getUrl('where','file','page',1,'division','')}">{$lang->file}</a></li>
|
||||
</ul>
|
||||
<!--@end-->
|
||||
|
Before Width: | Height: | Size: 51 B |
|
Before Width: | Height: | Size: 152 B |
|
Before Width: | Height: | Size: 51 B |
|
Before Width: | Height: | Size: 151 B |
BIN
modules/integration_search/skins/default/images/white/bgTab.gif
Executable file
|
After Width: | Height: | Size: 99 B |
|
Before Width: | Height: | Size: 46 B |
|
Before Width: | Height: | Size: 46 B |
|
Before Width: | Height: | Size: 928 B |
|
Before Width: | Height: | Size: 409 B |
BIN
modules/integration_search/skins/default/images/white/iconH2.gif
Executable file
|
After Width: | Height: | Size: 600 B |
|
Before Width: | Height: | Size: 44 B |
|
|
@ -1,72 +1,33 @@
|
|||
<!--// 컬러셋 체크 -->
|
||||
<!--@if($module_info->colorset != "white")-->
|
||||
{@$module_info->colorset = "white"}
|
||||
<!--#include("header.html")-->
|
||||
|
||||
{@ $output = $search_result['document'] }
|
||||
{@ $search_target = 'title'; }
|
||||
<!--#include("document.html")-->
|
||||
<!--@if(count($output->data))-->
|
||||
<div class="isMore"><a href="{getUrl('where','document','page',1)}">more</a></div>
|
||||
<!--@end-->
|
||||
|
||||
<!--// CSS 파일 로드 (컬러셋에 따라서) -->
|
||||
<!--@if($module_info->colorset == "white")-->
|
||||
<!--%import("css/white.css")-->
|
||||
{@ $output = $search_result['comment'] }
|
||||
<!--#include("comment.html")-->
|
||||
<!--@if(count($output->data))-->
|
||||
<div class="isMore"><a href="{getUrl('where','comment','page',1)}">more</a></div>
|
||||
<!--@end-->
|
||||
|
||||
<div id="spot">
|
||||
<h2><img src="./images/white/h2Search.gif" alt="{$lang->cmd_search}" width="82" height="17" /></h2>
|
||||
<form action="{getUrl()}" method="post" class="search">
|
||||
<input type="hidden" name="mid" value="{$mid}" />
|
||||
<input type="hidden" name="act" value="IS" />
|
||||
<select name="search_target">
|
||||
<!--@foreach($lang->is_search_option as $key => $val)-->
|
||||
<option value="{$key}" <!--@if($search_target == $key)-->selected="selected"<!--@end-->>{$val}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<input name="is_keyword" type="text" class="inputText" value="{htmlspecialchars($is_keyword)}"/>
|
||||
<input type="image" src="./images/white/buttonSearch2.gif" alt="검색" class="submit" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!--@if(!$document_list)-->
|
||||
<div id="content">
|
||||
<!--@if(!$is_keyword)-->
|
||||
<h3 class="result">{$lang->msg_no_keyword}</h3>
|
||||
<!--@else-->
|
||||
<h3 class="result">{$lang->msg_no_result}</h3>
|
||||
<!--@end-->
|
||||
</div>
|
||||
<!--@else-->
|
||||
<div id="content">
|
||||
<h3 class="result">{$result_text}</h3>
|
||||
<ul class="searchResult">
|
||||
<!--@foreach($document_list as $no => $document)-->
|
||||
<li>
|
||||
<!--@if($document->thumbnailExists(100))-->
|
||||
<a href="{getUrl('','document_srl',$document->document_srl)}" onclick="window.open(this.href);return false;"><img src="{$document->getThumbnail(100)}" alt="" width="100" height="100" class="thumb" /></a>
|
||||
<!--@end-->
|
||||
<dl>
|
||||
<dt><a href="{getUrl('','document_srl',$document->document_srl)}" onclick="window.open(this.href);return false;">{$document->getTitle()}</a> <!--@if($document->getCommentCount())--><span class="reply">[<em>{$document->getCommentCount()}</em>]</span> <!--@end--> | <span class="category"><a href="{getUrl('','mid',$mid_list[$document->get('module_srl')]->mid)}" onclick="window.open(this.href);return false;">{$mid_list[$document->get('module_srl')]->browser_title}</a></span></dt>
|
||||
|
||||
<dd>{$document->getSummary(140)}</dd>
|
||||
</dl>
|
||||
<address><strong>{$document->getNickName()}</strong> | <span class="time">{$document->getRegdate("Y-m-d H:i")}</span> | <span class="read">{$lang->readed_count}</span> <span class="readNum">{$document->get('readed_count')}</span><!--@if($document->get('voted_count'))--> | <span class="recom">{$lang->voted_count}</span> <span class="recomNum">{$document->get('voted_count')}</span><!--@end--></address>
|
||||
|
||||
</li>
|
||||
<!--@end-->
|
||||
</ul>
|
||||
<div class="pagination a1">
|
||||
<a href="{getUrl('page','','document_srl','','search_target',$search_target,'is_keyword',$is_keyword,'division',$division,'last_division',$last_division)}" class="prevEnd">{$lang->first_page}</a>
|
||||
<!--@while($page_no = $page_navigation->getNextPage())-->
|
||||
<!--@if($page == $page_no)-->
|
||||
<strong>{$page_no}</strong>
|
||||
<!--@else-->
|
||||
<a href="{getUrl('page',$page_no,'document_srl','','search_target',$search_target,'is_keyword',$is_keyword,'division',$division,'last_division',$last_division)}">{$page_no}</a>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<a href="{getUrl('page',$page_navigation->last_page,'document_srl','','search_target',$search_target,'is_keyword',$is_keyword,'division',$division,'last_division',$last_division)}" class="nextEnd">{$lang->last_page}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{@ $output = $search_result['trackback'] }
|
||||
{@ $search_target = 'title'; }
|
||||
<!--#include("trackback.html")-->
|
||||
<!--@if(count($output->data))-->
|
||||
<div class="isMore"><a href="{getUrl('where','trackback','page',1)}">more</a></div>
|
||||
<!--@end-->
|
||||
|
||||
{@ $output = $search_result['multimedia'] }
|
||||
<!--#include("multimedia.html")-->
|
||||
<!--@if(count($output->data))-->
|
||||
<div class="isMore"><a href="{getUrl('where','multimedia','page',1)}">more</a></div>
|
||||
<!--@end-->
|
||||
|
||||
{@ $output = $search_result['file'] }
|
||||
<!--#include("file.html")-->
|
||||
<!--@if(count($output->data))-->
|
||||
<div class="isMore"><a href="{getUrl('where','file','page',1)}">more</a></div>
|
||||
<!--@end-->
|
||||
<!--@if($last_division)-->
|
||||
<div class="searchNext">
|
||||
<span class="button"><input type="button" value="{$lang->cmd_search_next}" onclick="location.href='{getUrl('page',1,'document_srl','','search_target',$search_target,'is_keyword',$is_keyword,'division',$last_division,'last_division','')}';return false;" /></span>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
|
|
|||
33
modules/integration_search/skins/default/multimedia.html
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
<!--#include("header.html")-->
|
||||
|
||||
<h3 class="subTitle">{$lang->multimedia} <span>({number_format($output->total_count)})</span></h3>
|
||||
|
||||
<!--@if(!count($output->data))-->
|
||||
<span class="noResult">{$lang->msg_no_result}</span>
|
||||
<!--@else-->
|
||||
<ul class="searchImageResult">
|
||||
<!--@foreach($output->data as $no => $image)-->
|
||||
<li>
|
||||
<a href="{$image->url}" onclick="window.open(this.href); return false;">{$image->src}</a>
|
||||
<dl>
|
||||
<dt><a href="{$image->url}" onclick="window.open(this.href); return false;">{$image->filename}</a></dt>
|
||||
</dl>
|
||||
<address><strong>{$image->nick_name}</strong><br /><span class="time">{$image->regdate}</span></address>
|
||||
</li>
|
||||
<!--@end-->
|
||||
</ul>
|
||||
|
||||
<!--@if($where == 'multimedia' && $output->page_navigation)-->
|
||||
<div class="pagination a1">
|
||||
<a href="{getUrl('page','')}" class="prevEnd">{$lang->first_page}</a>
|
||||
<!--@while($page_no = $output->page_navigation->getNextPage())-->
|
||||
<!--@if($page == $page_no)-->
|
||||
<strong>{$page_no}</strong>
|
||||
<!--@else-->
|
||||
<a href="{getUrl('page',$page_no)}">{$page_no}</a>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<a href="{getUrl('page',$output->page_navigation->last_page)}" class="nextEnd">{$lang->last_page}</a>
|
||||
</div>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<!--#include("header.html")-->
|
||||
|
||||
<strong class="noKeyword">{$lang->msg_no_keyword}</strong>
|
||||
|
||||
<script type="text/javascript">
|
||||
xAddEventListener(window,'load', function() { xGetElementById("fo_is").is_keyword.focus(); } );
|
||||
</script>
|
||||
41
modules/integration_search/skins/default/trackback.html
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<!--#include("header.html")-->
|
||||
|
||||
<h3 class="subTitle">{$lang->trackback} <span>({number_format($output->total_count)})</span></h3>
|
||||
|
||||
<ul class="subNavigation">
|
||||
<!--@foreach($lang->is_search_option['trackback'] as $key => $val)-->
|
||||
<li value="{$key}" class="<!--@if($search_target == $key)-->on<!--@end--><!--@if($key=="tag")--> last<!--@end-->"><a href="{getUrl('where','trackback','search_target',$key,'page',1)}">{$val}</a></li>
|
||||
<!--@end-->
|
||||
</ul>
|
||||
|
||||
|
||||
<!--@if(!count($output->data))-->
|
||||
<span class="noResult">{$lang->msg_no_result}</span>
|
||||
<!--@else-->
|
||||
<ul class="searchResult">
|
||||
<!--@foreach($output->data as $no => $trackback)-->
|
||||
<li>
|
||||
<dl>
|
||||
<dt><a href="{getUrl('','document_srl',$trackback->document_srl)}" onclick="window.open(this.href);return false;">{htmlspecialchars($trackback->title)}</a> </span></dt>
|
||||
<dd>{cut_str(htmlspecialchars($trackback->excerpt))}</dd>
|
||||
</dl>
|
||||
<address><strong><a href="{$trackback->url}" onclick="window.open(this.href); return false;">{htmlspecialchars($trackback->blog_name)}</a></strong> | <span class="time">{zdate($trackback->regdate, "Y-m-d H:i")}</span> </address>
|
||||
|
||||
</li>
|
||||
<!--@end-->
|
||||
</ul>
|
||||
|
||||
<!--@if($where == 'trackback' && $output->page_navigation)-->
|
||||
<div class="pagination a1">
|
||||
<a href="{getUrl('page','')}" class="prevEnd">{$lang->first_page}</a>
|
||||
<!--@while($page_no = $output->page_navigation->getNextPage())-->
|
||||
<!--@if($page == $page_no)-->
|
||||
<strong>{$page_no}</strong>
|
||||
<!--@else-->
|
||||
<a href="{getUrl('page',$page_no)}">{$page_no}</a>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<a href="{getUrl('page',$output->page_navigation->last_page)}" class="nextEnd">{$lang->last_page}</a>
|
||||
</div>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
92
modules/integration_search/skins/default/white.css
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
@charset "utf-8";
|
||||
|
||||
#spot { padding-left:10px; margin-bottom:20px; }
|
||||
#spot .search * { vertical-align:middle;}
|
||||
#spot .search .inputText { border:4px solid #b6b6b6; padding:2px; width:252px; font-size:16px; font-weight:bold; }
|
||||
|
||||
.localNavigation { border-bottom:1px solid #ccc; *zoom:1; margin:0 0 20px 0px; padding:0; overflow:hidden; padding-left:10px; }
|
||||
.localNavigation:after {content:""; display:block; clear:both;}
|
||||
.localNavigation li{ position:relative; list-style:none; float:left; margin:0 -1px 0 0; padding:0;background:#fff;}
|
||||
.localNavigation li a { color:#666; text-decoration:none; text-decoration:none; float:left; padding:7px 15px 0 15px; height:18px; border:1px solid #ddd; border-bottom:none; background:url(images/white/bgTab.gif) repeat-x;}
|
||||
.localNavigation li.on { margin-bottom:-1px;}
|
||||
.localNavigation li.on a{ height:19px; background:none;}
|
||||
|
||||
.subNavigation { *zoom:1; margin:0 0 20px 10px; padding:0 0 10px 0; overflow:hidden; border-bottom:1px solid #EFEFEF; }
|
||||
.subNavigation:after {content:""; display:block; clear:both;}
|
||||
.subNavigation li{ position:relative; list-style:none; float:left; margin:0 -1px 0 0; padding:0 }
|
||||
.subNavigation li a { color:#666; text-decoration:none; text-decoration:none; float:left; padding:0 10px 0 0; margin-right:10px; border-right:1px solid #ddd; }
|
||||
.subNavigation li.last a { border-right:0; }
|
||||
.subNavigation li.on { margin-bottom:-1px;}
|
||||
.subNavigation li.on a { font-weight:bold; }
|
||||
|
||||
strong.noKeyword { font-size:16px; display:block; margin:50px 0 0 10px; }
|
||||
|
||||
h3.subTitle { padding:0 0 0 20px; margin:10px 0 20px 10px; background:url(images/white/iconH2.gif) no-repeat left center; font-size:12px; color:#666; }
|
||||
h3.subTitle span { font-weight:normal; font-family:verdana; font-size:11px; }
|
||||
|
||||
.noResult { display:block; margin:0 0 30px 10px; color:#666; padding:0 0 10px 20px; border-bottom:1px solid #EFEFEF; line-height:160%;}
|
||||
|
||||
.searchResult { margin:10px 0 0 10px; padding:0;}
|
||||
.searchResult li { width:100%; margin-bottom:15px; clear:both; overflow:hidden;list-style:none; }
|
||||
.searchResult li .thumb { display:block; float:left; margin-right:14px; padding:1px; border:1px solid #DDD;}
|
||||
.searchResult li dl { margin:5px 0 0 0; padding:0; }
|
||||
.searchResult li dl dt { padding:0; margin:0; color:#d8d8d8; margin-bottom:1px;}
|
||||
.searchResult li dl dt a { color:#1a3588; text-decoration:underline;}
|
||||
.searchResult.comment li dl dt a { color:#444444; text-decoration:none;}
|
||||
.searchResult.comment li dl dt a:hover { text-decoration:underline;}
|
||||
.searchResult li dl dt .reply { color:#fe6700; font:.9em Tahoma;}
|
||||
.searchResult li dl dt .reply em { color:#fe6700; font:normal 10px Tahoma;}
|
||||
.searchResult li dl dt .category { color:#818181;}
|
||||
.searchResult li dl dt .category a { color:#818181; border:none; text-decoration:none;}
|
||||
.searchResult li dl dd { padding:0; margin:0; line-height:18px; color:#555555; margin-bottom:4px;}
|
||||
.searchResult li address { color:#d8d8d8; font-size:12px; margin-top:5px; }
|
||||
.searchResult li address strong { color:#3e3e3e; font-size:1em; font-weight:normal;}
|
||||
.searchResult li address img { vertical-align:middle; margin-right:2px;}
|
||||
.searchResult li address .time { color:#818181; font:.8em Tahoma;}
|
||||
.searchResult li address .read { font:11px "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; color:#818181;}
|
||||
.searchResult li address .readNum { color:#818181; font:.8em Tahoma;}
|
||||
.searchResult li address .recom { font:11px "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; color:#818181;}
|
||||
.searchResult li address .recomNum { color:#fe6700; font:bold .8em Tahoma;}
|
||||
|
||||
.searchImageResult { margin:10px 0 0 10px; padding:0; overflow:hidden; *zoom:1;}
|
||||
.searchImageResult li { width:124px; height:190px; padding:0; margin:0 20px 15px 0; list-style:none; float:left; overflow:hidden; vertical-align:top;}
|
||||
.searchImageResult li img { display:block; margin-bottom:10px; padding:1px; border:1px solid #DDD;}
|
||||
.searchImageResult li dl { margin:0; padding:0; }
|
||||
.searchImageResult li dl dt { padding:0; margin:0; color:#d8d8d8; margin-bottom:1px;}
|
||||
.searchImageResult li dl dt a { color:#1a3588; text-decoration:underline;}
|
||||
.searchImageResult li address { color:#d8d8d8; font-size:12px; margin-top:5px; }
|
||||
.searchImageResult li address strong { color:#3e3e3e; font-size:1em; font-weight:normal;}
|
||||
.searchImageResult li address img { vertical-align:middle; margin-right:2px;}
|
||||
.searchImageResult li address .time { color:#818181; font:.8em Tahoma;}
|
||||
.searchImageResult li address .read { font:11px "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; color:#818181;}
|
||||
.searchImageResult li address .readNum { color:#818181; font:.8em Tahoma;}
|
||||
.searchImageResult li address .recom { font:11px "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; color:#818181;}
|
||||
.searchImageResult li address .recomNum { color:#fe6700; font:bold .8em Tahoma;}
|
||||
.searchImageResult li address .time { color:#818181; font:.8em Tahoma;}
|
||||
|
||||
div.isMore { color:#666; text-align:right; margin-bottom:20px; padding-bottom:10px; border-bottom:1px solid #EFEFEF; }
|
||||
div.isMore a { color:#666; text-decoration:underline; }
|
||||
|
||||
/* Pagination Reset */
|
||||
.pagination{ padding:15px 0; margin:0; text-align:center;}
|
||||
.pagination *{ margin:0; padding:0;}
|
||||
.pagination img{ border:0;}
|
||||
.pagination a,
|
||||
.pagination strong{ position:relative; display:inline-block; text-decoration:none; line-height:normal; color:#333; font-family:Tahoma, Sans-serif; vertical-align:middle;}
|
||||
.pagination a:hover,
|
||||
.pagination a:active,
|
||||
.pagination a:focus{ background-color:#f4f4f4 !important; }
|
||||
.pagination strong{ color:#ff6600 !important;}
|
||||
.pagination a.prev,
|
||||
.pagination a.prevEnd,
|
||||
.pagination a.next,
|
||||
.pagination a.nextEnd{ font-weight:normal !important; border:none !important; margin:0 !important; white-space:nowrap; }
|
||||
|
||||
/* Pagination A1 */
|
||||
.pagination.a1 a,
|
||||
.pagination.a1 strong{ margin:0 -4px; padding:1px 10px 1px 8px; border:none; border-left:1px solid #ccc; border-right:1px solid #ddd; font-weight:bold; font-size:12px; background:#fff;}
|
||||
.pagination.a1 a.prev{ padding-left:10px; background:#fff url(images/white/arrowPrevA1.gif) no-repeat left center; }
|
||||
.pagination.a1 a.prevEnd{ padding-left:15px; background:#fff url(images/white/arrowPrevEndA1.gif) no-repeat left center; }
|
||||
.pagination.a1 a.next{ padding-right:10px; background:#fff url(images/white/arrowNextA1.gif) no-repeat right center; }
|
||||
.pagination.a1 a.nextEnd{ padding-right:15px; background:#fff url(images/white/arrowNextEndA1.gif) no-repeat right center; }
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<!--%import("js/integration_search_admin.js")-->
|
||||
|
||||
<h3>{$lang->integration_search} <span class="gray">{$lang->cmd_management}</span></h3>
|
||||
<h3 class="xeAdmin">{$lang->integration_search} <span class="gray">{$lang->cmd_management}</span></h3>
|
||||
|
||||
<div class="header4 gap1">
|
||||
<ul class="localNavigation">
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
<!--%import("filter/insert_config.xml")-->
|
||||
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, insert_config)">
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->sample_code}<div></th>
|
||||
<td colspan="2" class="wide">
|
||||
<textarea class="inputTypeTextArea w400" readonly="readonly">{$sample_code}</textarea>
|
||||
<textarea class="inputTypeTextArea fullWidth" readonly="readonly">{$sample_code}</textarea>
|
||||
<p>{$lang->about_sample_code}</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -47,9 +47,9 @@
|
|||
<!--@end-->
|
||||
<!--@end-->
|
||||
<tr class="row2">
|
||||
<td class="right" colspan="3">
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
|
||||
</td>
|
||||
<th class="button" colspan="3">
|
||||
<span class="button black strong"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@
|
|||
<input type="hidden" name="module" value="integration_search" />
|
||||
<input type="hidden" name="act" value="procIntegration_searchAdminInsertSkin" />
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<caption>{$lang->skin_default_info}</caption>
|
||||
<h4 class="xeAdmin">{$lang->skin_default_info}</h4>
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->skin}</div></th>
|
||||
<td class="wide" >{$skin_info->title}</td>
|
||||
|
|
@ -42,8 +42,8 @@
|
|||
</tr>
|
||||
</table>
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<caption>{$lang->extra_vars}</caption>
|
||||
<h4 class="xeAdmin">{$lang->extra_vars}</h4>
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<tr valign="top">
|
||||
<th scope="row"><div>{$lang->colorset}</div></th>
|
||||
<td class="wide">
|
||||
|
|
@ -132,9 +132,9 @@
|
|||
<!--@end-->
|
||||
|
||||
<tr class="row2">
|
||||
<td colspan="2" class="right">
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
|
||||
</td>
|
||||
<th colspan="2" class="right">
|
||||
<span class="button strong black strong black"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
|
|
|||