Author name update.

NHN
developers@xpressengine.com
http://xpressengine.com/

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7676 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ChanMyeong 2010-09-06 06:35:20 +00:00
parent 7d1fa86e5c
commit 8f385a592b
603 changed files with 67379 additions and 67522 deletions

View file

@ -1,33 +1,33 @@
<?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="jp">タグ</title>
<title xml:lang="en">Tag</title>
<title xml:lang="vi">Tag</title>
<title xml:lang="es">Etiqueta</title>
<title xml:lang="ru">Теги</title>
<title xml:lang="zh-TW">標籤</title>
<description xml:lang="ko">꼬리표 관리 모듈</description>
<description xml:lang="zh-CN">标签管理模块。</description>
<description xml:lang="jp">タグ管理用のモジュールです。</description>
<description xml:lang="en">Module for managing tags.</description>
<description xml:lang="vi">Module quản lý Tag.</description>
<description xml:lang="es">Módulo para manejar etiquetas.</description>
<description xml:lang="ru">Модуль для управления тегами.</description>
<description xml:lang="zh-TW">標籤管理模組。</description>
<version>0.1</version>
<date>2007-02-28</date>
<category>content</category>
<author email_address="zero@zeroboard.com" link="http://blog.nzeo.com">
<name xml:lang="ko">zero</name>
<name xml:lang="vi">zero</name>
<name xml:lang="zh-CN">zero</name>
<name xml:lang="jp">zero</name>
<name xml:lang="en">zero</name>
<name xml:lang="es">zero</name>
<name xml:lang="ru">zero</name>
<name xml:lang="zh-TW">zero</name>
</author>
</module>
<?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="jp">タグ</title>
<title xml:lang="en">Tag</title>
<title xml:lang="vi">Tag</title>
<title xml:lang="es">Etiqueta</title>
<title xml:lang="ru">Теги</title>
<title xml:lang="zh-TW">標籤</title>
<description xml:lang="ko">꼬리표 관리 모듈</description>
<description xml:lang="zh-CN">标签管理模块。</description>
<description xml:lang="jp">タグ管理用のモジュールです。</description>
<description xml:lang="en">Module for managing tags.</description>
<description xml:lang="vi">Module quản lý Tag.</description>
<description xml:lang="es">Módulo para manejar etiquetas.</description>
<description xml:lang="ru">Модуль для управления тегами.</description>
<description xml:lang="zh-TW">標籤管理模組。</description>
<version>0.1</version>
<date>2007-02-28</date>
<category>content</category>
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
<name xml:lang="ko">NHN</name>
<name xml:lang="vi">NHN</name>
<name xml:lang="zh-CN">NHN</name>
<name xml:lang="jp">NHN</name>
<name xml:lang="en">NHN</name>
<name xml:lang="es">NHN</name>
<name xml:lang="ru">NHN</name>
<name xml:lang="zh-TW">NHN</name>
</author>
</module>

View file

@ -1,17 +1,17 @@
<?php
/**
* @class tagAdminController
* @author zero (zero@nzeo.com)
* @brief tag 모듈의 admin controller class
**/
class tagAdminController extends tag {
/**
* @brief 특정 모듈의 태그 전체 삭제
**/
function deleteModuleTags($module_srl) {
$args->module_srl = $module_srl;
return executeQuery('tag.deleteModuleTags', $args);
}
}
?>
<?php
/**
* @class tagAdminController
* @author NHN (developers@xpressengine.com)
* @brief tag 모듈의 admin controller class
**/
class tagAdminController extends tag {
/**
* @brief 특정 모듈의 태그 전체 삭제
**/
function deleteModuleTags($module_srl) {
$args->module_srl = $module_srl;
return executeQuery('tag.deleteModuleTags', $args);
}
}
?>

View file

@ -1,96 +1,96 @@
<?php
/**
* @class tag
* @author zero (zero@nzeo.com)
* @brief tag 모듈의 high class
**/
class tag extends ModuleObject {
/**
* @brief 설치시 추가 작업이 필요할시 구현
**/
function moduleInstall() {
$oModuleController = &getController('module');
$oDB = &DB::getInstance();
$oDB->addIndex("tags","idx_tag", array("document_srl","tag"));
// 2007. 10. 17 document.insertDocument, updateDocument, deleteDocument에 대한 trigger 등록
$oModuleController->insertTrigger('document.insertDocument', 'tag', 'controller', 'triggerArrangeTag', 'before');
$oModuleController->insertTrigger('document.insertDocument', 'tag', 'controller', 'triggerInsertTag', 'after');
$oModuleController->insertTrigger('document.updateDocument', 'tag', 'controller', 'triggerArrangeTag', 'before');
$oModuleController->insertTrigger('document.updateDocument', 'tag', 'controller', 'triggerInsertTag', 'after');
$oModuleController->insertTrigger('document.deleteDocument', 'tag', 'controller', 'triggerDeleteTag', 'after');
// 2007. 10. 17 모듈이 삭제될때 등록된 태그도 모두 삭제하는 트리거 추가
$oModuleController->insertTrigger('module.deleteModule', 'tag', 'controller', 'triggerDeleteModuleTags', 'after');
return new Object();
}
/**
* @brief 설치가 이상이 없는지 체크하는 method
**/
function checkUpdate() {
$oModuleModel = &getModel('module');
$oDB = &DB::getInstance();
// 2007. 10. 17 trigger 등록이 안되어 있으면 등록
if(!$oModuleModel->getTrigger('document.insertDocument', 'tag', 'controller', 'triggerArrangeTag', 'before')) return true;
if(!$oModuleModel->getTrigger('document.insertDocument', 'tag', 'controller', 'triggerInsertTag', 'after')) return true;
if(!$oModuleModel->getTrigger('document.updateDocument', 'tag', 'controller', 'triggerArrangeTag', 'before')) return true;
if(!$oModuleModel->getTrigger('document.updateDocument', 'tag', 'controller', 'triggerInsertTag', 'after')) return true;
if(!$oModuleModel->getTrigger('document.deleteDocument', 'tag', 'controller', 'triggerDeleteTag', 'after')) return true;
// 2007. 10. 17 모듈이 삭제될때 등록된 태그도 모두 삭제하는 트리거 추가
if(!$oModuleModel->getTrigger('module.deleteModule', 'tag', 'controller', 'triggerDeleteModuleTags', 'after')) return true;
// tag 테이블의 tag 컬럼에 index
if(!$oDB->isIndexExists("tags","idx_tag")) return true;
return false;
}
/**
* @brief 업데이트 실행
**/
function moduleUpdate() {
$oModuleModel = &getModel('module');
$oModuleController = &getController('module');
$oDB = &DB::getInstance();
// 2007. 10. 17 document.insertDocument, updateDocument, deleteDocument에 대한 trigger 등록
if(!$oModuleModel->getTrigger('document.insertDocument', 'tag', 'controller', 'triggerArrangeTag', 'before'))
$oModuleController->insertTrigger('document.insertDocument', 'tag', 'controller', 'triggerArrangeTag', 'before');
if(!$oModuleModel->getTrigger('document.insertDocument', 'tag', 'controller', 'triggerInsertTag', 'after'))
$oModuleController->insertTrigger('document.insertDocument', 'tag', 'controller', 'triggerInsertTag', 'after');
if(!$oModuleModel->getTrigger('document.updateDocument', 'tag', 'controller', 'triggerArrangeTag', 'before'))
$oModuleController->insertTrigger('document.updateDocument', 'tag', 'controller', 'triggerArrangeTag', 'before');
if(!$oModuleModel->getTrigger('document.updateDocument', 'tag', 'controller', 'triggerInsertTag', 'after'))
$oModuleController->insertTrigger('document.updateDocument', 'tag', 'controller', 'triggerInsertTag', 'after');
if(!$oModuleModel->getTrigger('document.triggerDeleteTag', 'tag', 'controller', 'triggerDeleteTag', 'after'))
$oModuleController->insertTrigger('document.deleteDocument', 'tag', 'controller', 'triggerDeleteTag', 'after');
// 2007. 10. 17 모듈이 삭제될때 등록된 태그도 모두 삭제하는 트리거 추가
if(!$oModuleModel->getTrigger('module.deleteModule', 'tag', 'controller', 'triggerDeleteModuleTags', 'after'))
$oModuleController->insertTrigger('module.deleteModule', 'tag', 'controller', 'triggerDeleteModuleTags', 'after');
// tag 테이블의 tag 컬럼에 index
if(!$oDB->isIndexExists("tags","idx_tag"))
$oDB->addIndex("tags","idx_tag", array("document_srl","tag"));
return new Object(0, 'success_updated');
}
/**
* @brief 캐시 파일 재생성
**/
function recompileCache() {
}
}
?>
<?php
/**
* @class tag
* @author NHN (developers@xpressengine.com)
* @brief tag 모듈의 high class
**/
class tag extends ModuleObject {
/**
* @brief 설치시 추가 작업이 필요할시 구현
**/
function moduleInstall() {
$oModuleController = &getController('module');
$oDB = &DB::getInstance();
$oDB->addIndex("tags","idx_tag", array("document_srl","tag"));
// 2007. 10. 17 document.insertDocument, updateDocument, deleteDocument에 대한 trigger 등록
$oModuleController->insertTrigger('document.insertDocument', 'tag', 'controller', 'triggerArrangeTag', 'before');
$oModuleController->insertTrigger('document.insertDocument', 'tag', 'controller', 'triggerInsertTag', 'after');
$oModuleController->insertTrigger('document.updateDocument', 'tag', 'controller', 'triggerArrangeTag', 'before');
$oModuleController->insertTrigger('document.updateDocument', 'tag', 'controller', 'triggerInsertTag', 'after');
$oModuleController->insertTrigger('document.deleteDocument', 'tag', 'controller', 'triggerDeleteTag', 'after');
// 2007. 10. 17 모듈이 삭제될때 등록된 태그도 모두 삭제하는 트리거 추가
$oModuleController->insertTrigger('module.deleteModule', 'tag', 'controller', 'triggerDeleteModuleTags', 'after');
return new Object();
}
/**
* @brief 설치가 이상이 없는지 체크하는 method
**/
function checkUpdate() {
$oModuleModel = &getModel('module');
$oDB = &DB::getInstance();
// 2007. 10. 17 trigger 등록이 안되어 있으면 등록
if(!$oModuleModel->getTrigger('document.insertDocument', 'tag', 'controller', 'triggerArrangeTag', 'before')) return true;
if(!$oModuleModel->getTrigger('document.insertDocument', 'tag', 'controller', 'triggerInsertTag', 'after')) return true;
if(!$oModuleModel->getTrigger('document.updateDocument', 'tag', 'controller', 'triggerArrangeTag', 'before')) return true;
if(!$oModuleModel->getTrigger('document.updateDocument', 'tag', 'controller', 'triggerInsertTag', 'after')) return true;
if(!$oModuleModel->getTrigger('document.deleteDocument', 'tag', 'controller', 'triggerDeleteTag', 'after')) return true;
// 2007. 10. 17 모듈이 삭제될때 등록된 태그도 모두 삭제하는 트리거 추가
if(!$oModuleModel->getTrigger('module.deleteModule', 'tag', 'controller', 'triggerDeleteModuleTags', 'after')) return true;
// tag 테이블의 tag 컬럼에 index
if(!$oDB->isIndexExists("tags","idx_tag")) return true;
return false;
}
/**
* @brief 업데이트 실행
**/
function moduleUpdate() {
$oModuleModel = &getModel('module');
$oModuleController = &getController('module');
$oDB = &DB::getInstance();
// 2007. 10. 17 document.insertDocument, updateDocument, deleteDocument에 대한 trigger 등록
if(!$oModuleModel->getTrigger('document.insertDocument', 'tag', 'controller', 'triggerArrangeTag', 'before'))
$oModuleController->insertTrigger('document.insertDocument', 'tag', 'controller', 'triggerArrangeTag', 'before');
if(!$oModuleModel->getTrigger('document.insertDocument', 'tag', 'controller', 'triggerInsertTag', 'after'))
$oModuleController->insertTrigger('document.insertDocument', 'tag', 'controller', 'triggerInsertTag', 'after');
if(!$oModuleModel->getTrigger('document.updateDocument', 'tag', 'controller', 'triggerArrangeTag', 'before'))
$oModuleController->insertTrigger('document.updateDocument', 'tag', 'controller', 'triggerArrangeTag', 'before');
if(!$oModuleModel->getTrigger('document.updateDocument', 'tag', 'controller', 'triggerInsertTag', 'after'))
$oModuleController->insertTrigger('document.updateDocument', 'tag', 'controller', 'triggerInsertTag', 'after');
if(!$oModuleModel->getTrigger('document.triggerDeleteTag', 'tag', 'controller', 'triggerDeleteTag', 'after'))
$oModuleController->insertTrigger('document.deleteDocument', 'tag', 'controller', 'triggerDeleteTag', 'after');
// 2007. 10. 17 모듈이 삭제될때 등록된 태그도 모두 삭제하는 트리거 추가
if(!$oModuleModel->getTrigger('module.deleteModule', 'tag', 'controller', 'triggerDeleteModuleTags', 'after'))
$oModuleController->insertTrigger('module.deleteModule', 'tag', 'controller', 'triggerDeleteModuleTags', 'after');
// tag 테이블의 tag 컬럼에 index
if(!$oDB->isIndexExists("tags","idx_tag"))
$oDB->addIndex("tags","idx_tag", array("document_srl","tag"));
return new Object(0, 'success_updated');
}
/**
* @brief 캐시 파일 재생성
**/
function recompileCache() {
}
}
?>

View file

@ -1,92 +1,92 @@
<?php
/**
* @class tagController
* @author zero (zero@nzeo.com)
* @brief tag 모듈의 controller class
**/
class tagController extends tag {
/**
* @brief 초기화
**/
function init() {
}
/**
* @brief ,(콤마) 연결된 태그를 정리하는 trigger
**/
function triggerArrangeTag(&$obj) {
if(!$obj->tags) return new Object();
// tags변수 정리
$tag_list = explode(',', $obj->tags);
$tag_count = count($tag_list);
$tag_list = array_unique($tag_list);
if(!count($tag_list)) return new Object();
foreach($tag_list as $tag) {
if(!trim($tag)) continue;
$arranged_tag_list[] = trim($tag);
}
if(!count($arranged_tag_list)) $obj->tags = null;
else $obj->tags = implode(',',$arranged_tag_list);
return new Object();
}
/**
* @brief 태그 입력 trigger
* 태그 입력은 해당 글의 모든 태그를 삭제 입력하는 방식을 이용
**/
function triggerInsertTag(&$obj) {
$module_srl = $obj->module_srl;
$document_srl = $obj->document_srl;
$tags = $obj->tags;
if(!$document_srl) return new Object();
// 해당 글의 tags를 모두 삭제
$output = $this->triggerDeleteTag($obj);
if(!$output->toBool()) return $output;
// 다시 태그를 입력
$args->module_srl = $module_srl;
$args->document_srl = $document_srl;
$tag_list = explode(',',$tags);
$tag_count = count($tag_list);
for($i=0;$i<$tag_count;$i++) {
unset($args->tag);
$args->tag = trim($tag_list[$i]);
if(!$args->tag) continue;
$output = executeQuery('tag.insertTag', $args);
if(!$output->toBool()) return $output;
}
return new Object();
}
/**
* @brief 특정 문서의 태그 삭제 trigger
* document_srl에 속한 tag 모두 삭제
**/
function triggerDeleteTag(&$obj) {
$document_srl = $obj->document_srl;
if(!$document_srl) return new Object();
$args->document_srl = $document_srl;
return executeQuery('tag.deleteTag', $args);
}
/**
* @brief module 삭제시 해당 태그 모두 삭제하는 trigger
**/
function triggerDeleteModuleTags(&$obj) {
$module_srl = $obj->module_srl;
if(!$module_srl) return new Object();
$oTagController = &getAdminController('tag');
return $oTagController->deleteModuleTags($module_srl);
}
}
?>
<?php
/**
* @class tagController
* @author NHN (developers@xpressengine.com)
* @brief tag 모듈의 controller class
**/
class tagController extends tag {
/**
* @brief 초기화
**/
function init() {
}
/**
* @brief ,(콤마) 연결된 태그를 정리하는 trigger
**/
function triggerArrangeTag(&$obj) {
if(!$obj->tags) return new Object();
// tags변수 정리
$tag_list = explode(',', $obj->tags);
$tag_count = count($tag_list);
$tag_list = array_unique($tag_list);
if(!count($tag_list)) return new Object();
foreach($tag_list as $tag) {
if(!trim($tag)) continue;
$arranged_tag_list[] = trim($tag);
}
if(!count($arranged_tag_list)) $obj->tags = null;
else $obj->tags = implode(',',$arranged_tag_list);
return new Object();
}
/**
* @brief 태그 입력 trigger
* 태그 입력은 해당 글의 모든 태그를 삭제 입력하는 방식을 이용
**/
function triggerInsertTag(&$obj) {
$module_srl = $obj->module_srl;
$document_srl = $obj->document_srl;
$tags = $obj->tags;
if(!$document_srl) return new Object();
// 해당 글의 tags를 모두 삭제
$output = $this->triggerDeleteTag($obj);
if(!$output->toBool()) return $output;
// 다시 태그를 입력
$args->module_srl = $module_srl;
$args->document_srl = $document_srl;
$tag_list = explode(',',$tags);
$tag_count = count($tag_list);
for($i=0;$i<$tag_count;$i++) {
unset($args->tag);
$args->tag = trim($tag_list[$i]);
if(!$args->tag) continue;
$output = executeQuery('tag.insertTag', $args);
if(!$output->toBool()) return $output;
}
return new Object();
}
/**
* @brief 특정 문서의 태그 삭제 trigger
* document_srl에 속한 tag 모두 삭제
**/
function triggerDeleteTag(&$obj) {
$document_srl = $obj->document_srl;
if(!$document_srl) return new Object();
$args->document_srl = $document_srl;
return executeQuery('tag.deleteTag', $args);
}
/**
* @brief module 삭제시 해당 태그 모두 삭제하는 trigger
**/
function triggerDeleteModuleTags(&$obj) {
$module_srl = $obj->module_srl;
if(!$module_srl) return new Object();
$oTagController = &getAdminController('tag');
return $oTagController->deleteModuleTags($module_srl);
}
}
?>

View file

@ -1,87 +1,87 @@
<?php
/**
* @class tagModel
* @author zero (zero@nzeo.com)
* @brief tag 모듈의 model class
**/
class tagModel extends tag {
/**
* @brief 초기화
**/
function init() {
}
/**
* @brief 태그 목록을 가져옴
* 지정된 모듈의 태그를 개수가 많은 순으로 추출
**/
function getTagList($obj) {
if($obj->mid) {
$oModuleModel = &getModel('module');
$obj->module_srl = $oModuleModel->getModuleSrlByMid($obj->mid);
unset($obj->mid);
}
// 넘어온 module_srl은 array일 수도 있기에 array인지를 체크
if(is_array($obj->module_srl)) $args->module_srl = implode(',', $obj->module_srl);
else $args->module_srl = $obj->module_srl;
$args->list_count = $obj->list_count;
$args->count = $obj->sort_index;
$output = executeQueryArray('tag.getTagList', $args);
if(!$output->toBool()) return $output;
return $output;
}
/**
* @brief tag로 document_srl를 가져오기
**/
function getDocumentSrlByTag($obj){
if(is_array($obj->module_srl)) $args->module_srl = implode(',', $obj->module_srl);
else $args->module_srl = $obj->module_srl;
$args->tag = $obj->tag;
$output = executeQueryArray('tag.getDocumentSrlByTag', $args);
if(!$output->toBool()) return $output;
return $output;
}
/**
* @brief document 에서 사용된 tag 가져오기
**/
function getDocumentsTagList($obj){
if(is_array($obj->document_srl)) $args->document_srl = implode(',', $obj->document_srl);
else $args->document_srl = $obj->document_srl;
$output = executeQueryArray('tag.getDocumentsTagList', $args);
if(!$output->toBool()) return $output;
return $output;
}
/**
* @brief 특정tag과 함께 사용된 tag목록
**/
function getTagWithUsedList($obj){
if(is_array($obj->module_srl)) $args->module_srl = implode(',', $obj->module_srl);
else $args->module_srl = $obj->module_srl;
$args->tag = $obj->tag;
$output = $this->getDocumentSrlByTag($args);
$document_srl = array();
if($output->data){
foreach($output->data as $k => $v) $document_srl[] = $v->document_srl;
}
unset($args);
$args->document_srl = $document_srl;
$output = $this->getDocumentsTagList($args);
return $output;
}
}
?>
<?php
/**
* @class tagModel
* @author NHN (developers@xpressengine.com)
* @brief tag 모듈의 model class
**/
class tagModel extends tag {
/**
* @brief 초기화
**/
function init() {
}
/**
* @brief 태그 목록을 가져옴
* 지정된 모듈의 태그를 개수가 많은 순으로 추출
**/
function getTagList($obj) {
if($obj->mid) {
$oModuleModel = &getModel('module');
$obj->module_srl = $oModuleModel->getModuleSrlByMid($obj->mid);
unset($obj->mid);
}
// 넘어온 module_srl은 array일 수도 있기에 array인지를 체크
if(is_array($obj->module_srl)) $args->module_srl = implode(',', $obj->module_srl);
else $args->module_srl = $obj->module_srl;
$args->list_count = $obj->list_count;
$args->count = $obj->sort_index;
$output = executeQueryArray('tag.getTagList', $args);
if(!$output->toBool()) return $output;
return $output;
}
/**
* @brief tag로 document_srl를 가져오기
**/
function getDocumentSrlByTag($obj){
if(is_array($obj->module_srl)) $args->module_srl = implode(',', $obj->module_srl);
else $args->module_srl = $obj->module_srl;
$args->tag = $obj->tag;
$output = executeQueryArray('tag.getDocumentSrlByTag', $args);
if(!$output->toBool()) return $output;
return $output;
}
/**
* @brief document 에서 사용된 tag 가져오기
**/
function getDocumentsTagList($obj){
if(is_array($obj->document_srl)) $args->document_srl = implode(',', $obj->document_srl);
else $args->document_srl = $obj->document_srl;
$output = executeQueryArray('tag.getDocumentsTagList', $args);
if(!$output->toBool()) return $output;
return $output;
}
/**
* @brief 특정tag과 함께 사용된 tag목록
**/
function getTagWithUsedList($obj){
if(is_array($obj->module_srl)) $args->module_srl = implode(',', $obj->module_srl);
else $args->module_srl = $obj->module_srl;
$args->tag = $obj->tag;
$output = $this->getDocumentSrlByTag($args);
$document_srl = array();
if($output->data){
foreach($output->data as $k => $v) $document_srl[] = $v->document_srl;
}
unset($args);
$args->document_srl = $document_srl;
$output = $this->getDocumentsTagList($args);
return $output;
}
}
?>