merge from 1.7.3.5(r13153:r13167)

git-svn-id: http://xe-core.googlecode.com/svn/trunk@13168 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ngleader 2013-09-29 23:32:39 +00:00
parent cc47d2b247
commit 2d3f149b5a
2042 changed files with 129266 additions and 126243 deletions

View file

@ -9,8 +9,8 @@
<title xml:lang="ru">Документы</title>
<title xml:lang="zh-TW">主題</title>
<title xml:lang="tr">Belge</title>
<description xml:lang="ko">게시판, 블로그등의 모듈에서 사용되는 문서를 관리하는 모듈입니다. </description>
<description xml:lang="en">Module for managing documents used in a board, blog, etc.</description>
<description xml:lang="ko">게시판, 블로그 등의 문서를 관리합니다. </description>
<description xml:lang="en">Managing documents used in a board, blog, etc.</description>
<description xml:lang="vi">Module quản lý bài viết trên Board, Sổ lưu niệm và những mục khác.</description>
<description xml:lang="es">Módulo para manejar los documentos en blog y en los tableros.</description>
<description xml:lang="zh-CN">管理版面,博客等处主题的模块。 </description>

File diff suppressed because it is too large Load diff

View file

@ -1,103 +1,112 @@
<?php
/**
* documentAdminModel class
* Document the module's admin model class
*
* @author NHN (developers@xpressengine.com)
* @package /modules/document
* @version 0.1
*/
class documentAdminModel extends document
{
/**
* documentAdminModel class
* Document the module's admin model class
*
* @author NHN (developers@xpressengine.com)
* @package /modules/document
* @version 0.1
* Initialization
* @return void
*/
class documentAdminModel extends document {
/**
* Initialization
* @return void
*/
function init() {
}
function init()
{
}
/**
* Get a document list from the trash
* @param object $obj
* @return object
*/
function getDocumentTrashList($obj) {
// check a list and its order
if (!in_array($obj->sort_index, array('list_order','delete_date','title'))) $obj->sort_index = 'list_order';
if (!in_array($obj->order_type, array('desc','asc'))) $obj->order_type = 'asc';
// get a module_srl if mid is returned instead of modul_srl
if ($obj->mid) {
$oModuleModel = &getModel('module');
$obj->module_srl = $oModuleModel->getModuleSrlByMid($obj->mid);
unset($obj->mid);
}
// check if the module_srl is an array
if (is_array($obj->module_srl)) $args->module_srl = implode(',', $obj->module_srl);
else $args->module_srl = $obj->module_srl;
// Variable check
$args->sort_index = $obj->sort_index;
$args->order_type = $obj->order_type;
$args->page = $obj->page?$obj->page:1;
$args->list_count = $obj->list_count?$obj->list_count:20;
$args->page_count = $obj->page_count?$obj->page_count:10;
$args->member_srl = $obj->member_srl;
// Specify query_id
$query_id = 'document.getTrashList';
// Execute a query
$output = executeQueryArray($query_id, $args);
// Return if no result or an error occurs
if (!$output->toBool() || !count($output->data)) return $output;
/**
* Get a document list from the trash
* @param object $obj
* @return object
*/
function getDocumentTrashList($obj)
{
// check a list and its order
if(!in_array($obj->sort_index, array('list_order','delete_date','title'))) $obj->sort_index = 'list_order';
if(!in_array($obj->order_type, array('desc','asc'))) $obj->order_type = 'asc';
// get a module_srl if mid is returned instead of modul_srl
if($obj->mid)
{
$oModuleModel = &getModel('module');
$obj->module_srl = $oModuleModel->getModuleSrlByMid($obj->mid);
unset($obj->mid);
}
// check if the module_srl is an array
if(is_array($obj->module_srl)) $args->module_srl = implode(',', $obj->module_srl);
else $args->module_srl = $obj->module_srl;
// Variable check
$args->sort_index = $obj->sort_index;
$args->order_type = $obj->order_type;
$args->page = $obj->page?$obj->page:1;
$args->list_count = $obj->list_count?$obj->list_count:20;
$args->page_count = $obj->page_count?$obj->page_count:10;
$args->member_srl = $obj->member_srl;
// Specify query_id
$query_id = 'document.getTrashList';
// Execute a query
$output = executeQueryArray($query_id, $args);
// Return if no result or an error occurs
if(!$output->toBool() || !count($output->data)) return $output;
$idx = 0;
$data = $output->data;
unset($output->data);
$idx = 0;
$data = $output->data;
unset($output->data);
$keys = array_keys($data);
$virtual_number = $keys[0];
$keys = array_keys($data);
$virtual_number = $keys[0];
foreach($data as $key => $attribute) {
$oDocument = null;
$oDocument = new documentItem();
$oDocument->setAttribute($attribute, false);
if ($is_admin) $oDocument->setGrant();
foreach($data as $key => $attribute)
{
$oDocument = null;
$oDocument = new documentItem();
$oDocument->setAttribute($attribute, false);
if($is_admin) $oDocument->setGrant();
$output->data[$virtual_number] = $oDocument;
$virtual_number--;
}
$output->data[$virtual_number] = $oDocument;
$virtual_number--;
}
return $output;
}
return $output;
}
/**
* Get the doc which has trash_srl from the trash can
* @param int $trash_srl
* @return object
*/
function getDocumentTrash($trash_srl) {
$args->trash_srl = $trash_srl;
$output = executeQuery('document.getTrash', $args);
/**
* Get the doc which has trash_srl from the trash can
* @param int $trash_srl
* @return object
*/
function getDocumentTrash($trash_srl)
{
$args->trash_srl = $trash_srl;
$output = executeQuery('document.getTrash', $args);
$node = $output->data;
if (!$node) return;
$node = $output->data;
if(!$node) return;
return $node;
}
return $node;
}
/**
* Return document count with date
* @param string $date
* @parpam array $moduleSrlList
* @param array $statusList
* @return int
*/
function getDocumentCountByDate($date = '', $moduleSrlList = array(), $statusList = array()) {
if($date) $args->regDate = date('Ymd', strtotime($date));
if(count($moduleSrlList)>0) $args->moduleSrlList = $moduleSrlList;
if(count($statusList)>0) $args->statusList = $statusList;
/**
* Return document count with date
* @param string $date
* @parpam array $moduleSrlList
* @param array $statusList
* @return int
*/
function getDocumentCountByDate($date = '', $moduleSrlList = array(), $statusList = array())
{
$args = new stdClass();
if($date) $args->regDate = date('Ymd', strtotime($date));
if(count($moduleSrlList)>0) $args->moduleSrlList = $moduleSrlList;
if(count($statusList)>0) $args->statusList = $statusList;
$output = executeQuery('document.getDocumentCountByDate', $args);
if(!$output->toBool()) return 0;
$output = executeQuery('document.getDocumentCountByDate', $args);
if(!$output->toBool()) return 0;
return $output->data->count;
}
}
?>
return $output->data->count;
}
}
/* End of file document.admin.model.php */
/* Location: ./modules/document/document.admin.model.php */

View file

@ -1,191 +1,201 @@
<?php
/**
* documentAdminView class
* Document admin view of the module class
*
* @author NHN (developers@xpressengine.com)
* @package /modules/document
* @version 0.1
*/
class documentAdminView extends document
{
/**
* documentAdminView class
* Document admin view of the module class
*
* @author NHN (developers@xpressengine.com)
* @package /modules/document
* @version 0.1
* Initialization
* @return void
*/
class documentAdminView extends document {
/**
* Initialization
* @return void
*/
function init() {
// check current location in admin menu
$oModuleModel = &getModel('module');
$info = $oModuleModel->getModuleActionXml('document');
foreach($info->menu AS $key => $menu)
function init()
{
// check current location in admin menu
$oModuleModel = &getModel('module');
$info = $oModuleModel->getModuleActionXml('document');
foreach($info->menu AS $key => $menu)
{
if(in_array($this->act, $menu->acts))
{
if(in_array($this->act, $menu->acts))
{
Context::set('currentMenu', $key);
break;
}
Context::set('currentMenu', $key);
break;
}
}
}
}
/**
* Display a list(administrative)
* @return void
*/
function dispDocumentAdminList() {
// option to get a list
$args->page = Context::get('page'); // /< Page
$args->list_count = 30; // /< the number of posts to display on a single page
$args->page_count = 5; // /< the number of pages that appear in the page navigation
/**
* Display a list(administrative)
* @return void
*/
function dispDocumentAdminList()
{
// option to get a list
$args = new stdClass();
$args->page = Context::get('page'); // /< Page
$args->list_count = 30; // /< the number of posts to display on a single page
$args->page_count = 5; // /< the number of pages that appear in the page navigation
$args->search_target = Context::get('search_target'); // /< search (title, contents ...)
$args->search_keyword = Context::get('search_keyword'); // /< keyword to search
$args->search_target = Context::get('search_target'); // /< search (title, contents ...)
$args->search_keyword = Context::get('search_keyword'); // /< keyword to search
$args->sort_index = 'list_order'; // /< sorting value
$args->sort_index = 'list_order'; // /< sorting value
$args->module_srl = Context::get('module_srl');
$args->module_srl = Context::get('module_srl');
// get a list
$oDocumentModel = &getModel('document');
$columnList = array('document_srl', 'title', 'member_srl', 'nick_name', 'readed_count', 'voted_count', 'blamed_count', 'regdate', 'ipaddress', 'status');
$output = $oDocumentModel->getDocumentList($args, false, true, $columnList);
// get a list
$oDocumentModel = &getModel('document');
$columnList = array('document_srl', 'title', 'member_srl', 'nick_name', 'readed_count', 'voted_count', 'blamed_count', 'regdate', 'ipaddress', 'status');
$output = $oDocumentModel->getDocumentList($args, false, true, $columnList);
// get Status name list
$statusNameList = $oDocumentModel->getStatusNameList();
// get Status name list
$statusNameList = $oDocumentModel->getStatusNameList();
// Set values of document_model::getDocumentList() objects for a template
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('status_name_list', $statusNameList);
Context::set('page_navigation', $output->page_navigation);
// Set values of document_model::getDocumentList() objects for a template
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('status_name_list', $statusNameList);
Context::set('page_navigation', $output->page_navigation);
$oSecurity = new Security();
$oSecurity->encodeHTML('document_list..variables.');
// set a search option used in the template
$count_search_option = count($this->search_option);
for($i=0;$i<$count_search_option;$i++)
{
$search_option[$this->search_option[$i]] = Context::getLang($this->search_option[$i]);
}
Context::set('search_option', $search_option);
// set a search option used in the template
$count_search_option = count($this->search_option);
for($i=0;$i<$count_search_option;$i++) {
$search_option[$this->search_option[$i]] = Context::getLang($this->search_option[$i]);
}
Context::set('search_option', $search_option);
// Specify a template
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('document_list');
}
// Specify a template
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('document_list');
}
/**
* Set a document module
* @return void
*/
function dispDocumentAdminConfig()
{
$oDocumentModel = &getModel('document');
$config = $oDocumentModel->getDocumentConfig();
Context::set('config',$config);
/**
* Set a document module
* @return void
*/
function dispDocumentAdminConfig() {
$oDocumentModel = &getModel('document');
$config = $oDocumentModel->getDocumentConfig();
Context::set('config',$config);
// Set the template file
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('document_config');
}
// Set the template file
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('document_config');
}
/**
* Display a report list on the admin page
* @return void
*/
function dispDocumentAdminDeclared()
{
// option for a list
$args =new stdClass();
$args->page = Context::get('page'); // /< Page
$args->list_count = 30; // /< the number of posts to display on a single page
$args->page_count = 10; // /< the number of pages that appear in the page navigation
/**
* Display a report list on the admin page
* @return void
*/
function dispDocumentAdminDeclared() {
// option for a list
$args->page = Context::get('page'); // /< Page
$args->list_count = 30; // /< the number of posts to display on a single page
$args->page_count = 10; // /< the number of pages that appear in the page navigation
$args->sort_index = 'document_declared.declared_count'; // /< sorting values
$args->order_type = 'desc'; // /< sorting values by order
$args->sort_index = 'document_declared.declared_count'; // /< sorting values
$args->order_type = 'desc'; // /< sorting values by order
// get Status name list
$oDocumentModel = &getModel('document');
$statusNameList = $oDocumentModel->getStatusNameList();
// get Status name list
$oDocumentModel = &getModel('document');
$statusNameList = $oDocumentModel->getStatusNameList();
// get a list
$declared_output = executeQuery('document.getDeclaredList', $args);
if($declared_output->data && count($declared_output->data))
{
$document_list = array();
// get a list
$declared_output = executeQuery('document.getDeclaredList', $args);
if($declared_output->data && count($declared_output->data)) {
$document_list = array();
foreach($declared_output->data as $key => $document) {
$document_list[$key] = new documentItem();
$document_list[$key]->setAttribute($document);
}
$declared_output->data = $document_list;
foreach($declared_output->data as $key => $document)
{
$document_list[$key] = new documentItem();
$document_list[$key]->setAttribute($document);
}
$declared_output->data = $document_list;
}
// Set values of document_model::getDocumentList() objects for a template
Context::set('total_count', $declared_output->total_count);
Context::set('total_page', $declared_output->total_page);
Context::set('page', $declared_output->page);
Context::set('document_list', $declared_output->data);
Context::set('page_navigation', $declared_output->page_navigation);
Context::set('status_name_list', $statusNameList);
// Set the template
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('declared_list');
}
// Set values of document_model::getDocumentList() objects for a template
Context::set('total_count', $declared_output->total_count);
Context::set('total_page', $declared_output->total_page);
Context::set('page', $declared_output->page);
Context::set('document_list', $declared_output->data);
Context::set('page_navigation', $declared_output->page_navigation);
Context::set('status_name_list', $statusNameList);
// Set the template
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('declared_list');
}
/**
* Display a alias list on the admin page
* @return void
*/
function dispDocumentAdminAlias() {
$args->document_srl = Context::get('document_srl');
if(!$args->document_srl) return $this->dispDocumentAdminList();
/**
* Display a alias list on the admin page
* @return void
*/
function dispDocumentAdminAlias()
{
$args->document_srl = Context::get('document_srl');
if(!$args->document_srl) return $this->dispDocumentAdminList();
$oModel = &getModel('document');
$oDocument = $oModel->getDocument($args->document_srl);
if(!$oDocument->isExists()) return $this->dispDocumentAdminList();
Context::set('oDocument', $oDocument);
$oModel = &getModel('document');
$oDocument = $oModel->getDocument($args->document_srl);
if(!$oDocument->isExists()) return $this->dispDocumentAdminList();
Context::set('oDocument', $oDocument);
$output = executeQueryArray('document.getAliases', $args);
if(!$output->data)
{
$aliases = array();
}
else
{
$aliases = $output->data;
}
$output = executeQueryArray('document.getAliases', $args);
if(!$output->data)
{
$aliases = array();
}
else
{
$aliases = $output->data;
}
Context::set('aliases', $aliases);
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('document_alias');
}
Context::set('aliases', $aliases);
/**
* Display a trash list on the admin page
* @return void
*/
function dispDocumentAdminTrashList() {
// options for a list
$args->page = Context::get('page'); // /< Page
$args->list_count = 30; // /< the number of posts to display on a single page
$args->page_count = 10; // /< the number of pages that appear in the page navigation
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('document_alias');
}
$args->sort_index = 'list_order'; // /< sorting values
$args->order_type = 'desc'; // /< sorting values by order
/**
* Display a trash list on the admin page
* @return void
*/
function dispDocumentAdminTrashList()
{
// options for a list
$args->page = Context::get('page'); // /< Page
$args->list_count = 30; // /< the number of posts to display on a single page
$args->page_count = 10; // /< the number of pages that appear in the page navigation
$args->module_srl = Context::get('module_srl');
$args->sort_index = 'list_order'; // /< sorting values
$args->order_type = 'desc'; // /< sorting values by order
// get a list
$oDocumentAdminModel = &getAdminModel('document');
$output = $oDocumentAdminModel->getDocumentTrashList($args);
$args->module_srl = Context::get('module_srl');
// Set values of document_admin_model::getDocumentTrashList() objects for a template
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);
// set the template
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('document_trash_list');
}
}
?>
// get a list
$oDocumentAdminModel = &getAdminModel('document');
$output = $oDocumentAdminModel->getDocumentTrashList($args);
// Set values of document_admin_model::getDocumentTrashList() objects for a template
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);
// set the template
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('document_trash_list');
}
}
/* End of file document.admin.view.php */
/* Location: ./modules/document/document.admin.view.php */

View file

@ -130,30 +130,36 @@ class document extends ModuleObject
* Execute update
* @return Object
*/
function moduleUpdate() {
function moduleUpdate()
{
$oDB = &DB::getInstance();
$oModuleModel = &getModel('module');
$oModuleController = &getController('module');
// 2007. 7. 25: Add a column(notify_message) for notification
if(!$oDB->isColumnExists("documents","notify_message")) {
if(!$oDB->isColumnExists("documents","notify_message"))
{
$oDB->addColumn('documents',"notify_message","char",1);
}
// 2007. 8. 23: create a clustered index in the document table
if(!$oDB->isIndexExists("documents","idx_module_list_order")) {
if(!$oDB->isIndexExists("documents","idx_module_list_order"))
{
$oDB->addIndex("documents","idx_module_list_order", array("module_srl","list_order"));
}
if(!$oDB->isIndexExists("documents","idx_module_update_order")) {
if(!$oDB->isIndexExists("documents","idx_module_update_order"))
{
$oDB->addIndex("documents","idx_module_update_order", array("module_srl","update_order"));
}
if(!$oDB->isIndexExists("documents","idx_module_readed_count")) {
if(!$oDB->isIndexExists("documents","idx_module_readed_count"))
{
$oDB->addIndex("documents","idx_module_readed_count", array("module_srl","readed_count"));
}
if(!$oDB->isIndexExists("documents","idx_module_voted_count")) {
if(!$oDB->isIndexExists("documents","idx_module_voted_count"))
{
$oDB->addIndex("documents","idx_module_voted_count", array("module_srl","voted_count"));
}
// 2007. 10. 17 Add a trigger to delete all posts together when the module is deleted
@ -172,12 +178,14 @@ class document extends ModuleObject
// 2008. 02. 18 create a composite index on the columns(module_srl + document_srl) (checked by Manian))
if(!$oDB->isIndexExists("documents","idx_module_document_srl")) $oDB->addIndex("documents","idx_module_document_srl", array("module_srl","document_srl"));
// 2008. 04. 23 Add a column(blamed count)
if(!$oDB->isColumnExists("documents", "blamed_count")) {
if(!$oDB->isColumnExists("documents", "blamed_count"))
{
$oDB->addColumn('documents', 'blamed_count', 'number', 11, 0, true);
$oDB->addIndex('documents', 'idx_blamed_count', array('blamed_count'));
}
if(!$oDB->isIndexExists("documents","idx_module_blamed_count")) {
if(!$oDB->isIndexExists("documents","idx_module_blamed_count"))
{
$oDB->addIndex('documents', 'idx_module_blamed_count', array('module_srl', 'blamed_count'));
}
@ -194,24 +202,28 @@ class document extends ModuleObject
if(!$oModuleModel->getTrigger('module.dispAdditionSetup', 'document', 'view', 'triggerDispDocumentAdditionSetup', 'before'))
$oModuleController->insertTrigger('module.dispAdditionSetup', 'document', 'view', 'triggerDispDocumentAdditionSetup', 'before');
// 2009. 03. 09 Add a column(lang_code) to the documnets table
if(!$oDB->isColumnExists("documents","lang_code")) {
if(!$oDB->isColumnExists("documents","lang_code"))
{
$db_info = Context::getDBInfo();
$oDB->addColumn('documents',"lang_code","varchar",10, $db_info->lang_code);
$obj->lang_code = $db_info->lang_type;
executeQuery('document.updateDocumentsLangCode', $obj);
}
// 2009. 03. 11 Check the index in the document_extra_vars table
if(!$oDB->isIndexExists("document_extra_vars", "unique_extra_vars")) {
if(!$oDB->isIndexExists("document_extra_vars", "unique_extra_vars"))
{
$oDB->addIndex("document_extra_vars", "unique_extra_vars", array("module_srl","document_srl","var_idx","lang_code"), true);
}
if($oDB->isIndexExists("document_extra_vars", "unique_module_vars")) {
if($oDB->isIndexExists("document_extra_vars", "unique_module_vars"))
{
$oDB->dropIndex("document_extra_vars", "unique_module_vars", true);
}
// 2009. 03. 19: Add a column(eid)
// 2009. 04. 12: Fixed the issue(#17922959) that changes another column values when adding eid column
if(!$oDB->isColumnExists("document_extra_keys","eid")) {
if(!$oDB->isColumnExists("document_extra_keys","eid"))
{
$oDB->addColumn("document_extra_keys","eid","varchar",40);
$output = executeQuery('document.getGroupsExtraKeys', $obj);
@ -225,12 +237,15 @@ class document extends ModuleObject
}
}
if(!$oDB->isColumnExists("document_extra_vars","eid")) {
if(!$oDB->isColumnExists("document_extra_vars","eid"))
{
$oDB->addColumn("document_extra_vars","eid","varchar",40);
$obj->var_idx = '-1,-2';
$output = executeQuery('document.getGroupsExtraVars', $obj);
if($output->toBool() && $output->data && count($output->data)) {
foreach($output->data as $extra_vars) {
if($output->toBool() && $output->data && count($output->data))
{
foreach($output->data as $extra_vars)
{
$args->module_srl = $extra_vars->module_srl;
$args->var_idx = $extra_vars->idx;
$args->new_eid = "extra_vars".$extra_vars->idx;
@ -240,7 +255,8 @@ class document extends ModuleObject
}
// 2011. 03. 30 Cubrid index Check the index in the document_extra_vars table
if(!$oDB->isIndexExists("document_extra_vars", "idx_document_list_order")) {
if(!$oDB->isIndexExists("document_extra_vars", "idx_document_list_order"))
{
$oDB->addIndex("document_extra_vars", "idx_document_list_order", array("document_srl","module_srl","var_idx"), false);
}
@ -312,7 +328,8 @@ class document extends ModuleObject
* Re-generate the cache file
* @return void
*/
function recompileCache() {
function recompileCache()
{
}
/**
@ -343,4 +360,5 @@ class document extends ModuleObject
else $this->getDefaultStatus();
}
}
?>
/* End of file document.class.php */
/* Location: ./modules/document/document.class.php */

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,163 +1,180 @@
<?php
/**
* documentView class
* View class of the module document
*
* @author NHN (developers@xpressengine.com)
* @package /modules/document
* @version 0.1
*/
class documentView extends document
{
/**
* documentView class
* View class of the module document
*
* @author NHN (developers@xpressengine.com)
* @package /modules/document
* @version 0.1
* Initialization
* @return void
*/
class documentView extends document {
/**
* Initialization
* @return void
*/
function init() {
}
function init()
{
}
/**
* Document printing
* I make it out to find the geulman;;
* @return void|Object
*/
function dispDocumentPrint() {
// Bring a list of variables needed to implement
$document_srl = Context::get('document_srl');
/**
* Document printing
* I make it out to find the geulman;;
* @return void|Object
*/
function dispDocumentPrint()
{
// Bring a list of variables needed to implement
$document_srl = Context::get('document_srl');
// module_info not use in UI
//$oModuleModel = &getModel('module');
//$module_info = $oModuleModel->getModuleInfoByDocumentSrl($document_srl);
// module_info not use in UI
//$oModuleModel = &getModel('module');
//$module_info = $oModuleModel->getModuleInfoByDocumentSrl($document_srl);
// Create the document object. If the document module of basic data structures, write it all works .. -_-;
$oDocumentModel = &getModel('document');
// Creates an object for displaying the selected document
$oDocument = $oDocumentModel->getDocument($document_srl, $this->grant->manager);
if(!$oDocument->isExists()) return new Object(-1,'msg_invalid_request');
// Check permissions
if(!$oDocument->isAccessible()) return new Object(-1,'msg_not_permitted');
// Information setting module
//Context::set('module_info', $module_info); //module_info not use in UI
// Browser title settings
Context::setBrowserTitle($oDocument->getTitleText());
Context::set('oDocument', $oDocument);
// Create the document object. If the document module of basic data structures, write it all works .. -_-;
$oDocumentModel = &getModel('document');
// Creates an object for displaying the selected document
$oDocument = $oDocumentModel->getDocument($document_srl, $this->grant->manager);
if(!$oDocument->isExists()) return new Object(-1,'msg_invalid_request');
// Check permissions
if(!$oDocument->isAccessible()) return new Object(-1,'msg_not_permitted');
// Information setting module
//Context::set('module_info', $module_info); //module_info not use in UI
// Browser title settings
Context::setBrowserTitle($oDocument->getTitleText());
Context::set('oDocument', $oDocument);
Context::set('layout','none');
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('print_page');
}
Context::set('layout','none');
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('print_page');
}
/**
* Preview
* @return void
*/
function dispDocumentPreview() {
Context::set('layout','none');
/**
* Preview
* @return void
*/
function dispDocumentPreview()
{
Context::set('layout','none');
$content = Context::get('content');
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('preview_page');
}
$content = Context::get('content');
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('preview_page');
}
/**
* Selected by the administrator for the document management
* @return void|Object
*/
function dispDocumentManageDocument() {
if(!Context::get('is_logged')) return new Object(-1,'msg_not_permitted');
// Taken from a list of selected sessions
$flag_list = $_SESSION['document_management'];
if(count($flag_list)) {
foreach($flag_list as $key => $val) {
if(!is_bool($val)) continue;
$document_srl_list[] = $key;
}
}
if(count($document_srl_list)) {
$oDocumentModel = &getModel('document');
$document_list = $oDocumentModel->getDocuments($document_srl_list, $this->grant->is_admin);
Context::set('document_list', $document_list);
}
$oModuleModel = &getModel('module');
// The combination of module categories list and the list of modules
if(count($module_list)>1) Context::set('module_list', $module_categories);
$module_srl=Context::get('module_srl');
Context::set('module_srl',$module_srl);
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
Context::set('mid',$module_info->mid);
Context::set('browser_title',$module_info->browser_title);
// Select Pop-up layout
$this->setLayoutPath('./common/tpl');
$this->setLayoutFile('popup_layout');
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('checked_list');
}
/**
* Trigger method.
* Additional information realte to document setting
* @param string $obj
* @return Object
*/
function triggerDispDocumentAdditionSetup(&$obj) {
$current_module_srl = Context::get('module_srl');
$current_module_srls = Context::get('module_srls');
if(!$current_module_srl && !$current_module_srls) {
// Get information of the current module
$current_module_info = Context::get('current_module_info');
$current_module_srl = $current_module_info->module_srl;
if(!$current_module_srl) return new Object();
}
$oModuleModel = &getModel('module');
if($current_module_srl)
{
$document_config = $oModuleModel->getModulePartConfig('document', $current_module_srl);
}
if(!isset($document_config->use_history)) $document_config->use_history = 'N';
Context::set('document_config', $document_config);
$oTemplate = &TemplateHandler::getInstance();
$tpl = $oTemplate->compile($this->module_path.'tpl', 'document_module_config');
$obj .= $tpl;
return new Object();
}
/**
* Document temp saved list
* @return void
*/
function dispTempSavedList()
/**
* Selected by the administrator for the document management
* @return void|Object
*/
function dispDocumentManageDocument()
{
if(!Context::get('is_logged')) return new Object(-1,'msg_not_permitted');
// Taken from a list of selected sessions
$flag_list = $_SESSION['document_management'];
if(count($flag_list))
{
$this->setLayoutFile('popup_layout');
$oMemberModel = &getModel('member');
// A message appears if the user is not logged-in
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
// Get the saved document (module_srl is set to member_srl instead)
$logged_info = Context::get('logged_info');
$args->member_srl = $logged_info->member_srl;
$args->statusList = array($this->getConfigStatus('temp'));
$args->page = (int)Context::get('page');
$args->list_count = 10;
$oDocumentModel = &getModel('document');
$output = $oDocumentModel->getDocumentList($args, true);
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);
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('saved_list_popup');
foreach($flag_list as $key => $val)
{
if(!is_bool($val)) continue;
$document_srl_list[] = $key;
}
}
}
?>
if(count($document_srl_list))
{
$oDocumentModel = &getModel('document');
$document_list = $oDocumentModel->getDocuments($document_srl_list, $this->grant->is_admin);
Context::set('document_list', $document_list);
}
$oModuleModel = &getModel('module');
// The combination of module categories list and the list of modules
if(count($module_list)>1) Context::set('module_list', $module_categories);
$module_srl=Context::get('module_srl');
Context::set('module_srl',$module_srl);
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
Context::set('mid',$module_info->mid);
Context::set('browser_title',$module_info->browser_title);
// not show admin bar
Context::set('admin_bar', 'false');
// Select Pop-up layout
$this->setLayoutPath('./common/tpl');
$this->setLayoutFile('popup_layout');
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('checked_list');
}
/**
* Trigger method.
* Additional information realte to document setting
* @param string $obj
* @return Object
*/
function triggerDispDocumentAdditionSetup(&$obj)
{
$current_module_srl = Context::get('module_srl');
$current_module_srls = Context::get('module_srls');
if(!$current_module_srl && !$current_module_srls)
{
// Get information of the current module
$current_module_info = Context::get('current_module_info');
$current_module_srl = $current_module_info->module_srl;
if(!$current_module_srl) return new Object();
}
$oModuleModel = &getModel('module');
if($current_module_srl)
{
$document_config = $oModuleModel->getModulePartConfig('document', $current_module_srl);
}
if(!$document_config)
{
$document_config = new stdClass();
}
if(!isset($document_config->use_history)) $document_config->use_history = 'N';
Context::set('document_config', $document_config);
$oTemplate = &TemplateHandler::getInstance();
$tpl = $oTemplate->compile($this->module_path.'tpl', 'document_module_config');
$obj .= $tpl;
return new Object();
}
/**
* Document temp saved list
* @return void
*/
function dispTempSavedList()
{
$this->setLayoutFile('popup_layout');
$oMemberModel = &getModel('member');
// A message appears if the user is not logged-in
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
// Get the saved document (module_srl is set to member_srl instead)
$logged_info = Context::get('logged_info');
$args->member_srl = $logged_info->member_srl;
$args->statusList = array($this->getConfigStatus('temp'));
$args->page = (int)Context::get('page');
$args->list_count = 10;
$oDocumentModel = &getModel('document');
$output = $oDocumentModel->getDocumentList($args, true);
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);
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('saved_list_popup');
}
}
/* End of file document.view.php */
/* Location: ./modules/document/document.view.php */

View file

@ -184,7 +184,7 @@
<value xml:lang="vi"><![CDATA[Hãy nhập tên thể loại]]></value>
</item>
<item name="about_expand">
<value xml:lang="ko"><![CDATA[선택하면 늘 펼쳐진 상태로 있게 합니다.]]></value>
<value xml:lang="ko"><![CDATA[선택하면 늘 펼쳐진 상태로 있게 합니다.]]></value>
<value xml:lang="en"><![CDATA[Select this option, and they will stay expanded.]]></value>
<value xml:lang="jp"><![CDATA[チェックを入れると常に展開された状態になります。]]></value>
<value xml:lang="zh-CN"><![CDATA[选择此项将维持展开状态。]]></value>
@ -196,14 +196,14 @@
<value xml:lang="vi"><![CDATA[Nếu sử dụng tùy chọn này, Thể loại sẽ luôn luôn được trải rộng.]]></value>
</item>
<item name="about_category_group_srls">
<value xml:lang="ko"><![CDATA[선택하신 그룹만 현재 카테고리를 지정할 수 있도록 합니다.]]></value>
<value xml:lang="ko"><![CDATA[선택 그룹만 현재 카테고리를 지정할 수 있도록 합니다.]]></value>
<value xml:lang="en"><![CDATA[Only the selected group will be able to use this category.]]></value>
<value xml:lang="jp"><![CDATA[選択したグループのみ、現在のカテゴリの指定ができます。]]></value>
<value xml:lang="zh-CN"><![CDATA[所选用户组才可以查看此分类。]]></value>
<value xml:lang="zh-TW"><![CDATA[被選擇的群組才可以檢視此分類。]]></value>
<value xml:lang="fr"><![CDATA[Le groupe choisi seulement pourra utiliser la catégorie courante]]></value>
<value xml:lang="ru"><![CDATA[Только выбранные группы можно отнести к этой категории]]></value>
<value xml:lang="es"><![CDATA[선택하신 그룹만 현재 카테고리를 지정할 수 있도록 합니다]]></value>
<value xml:lang="es"><![CDATA[선택 그룹만 현재 카테고리를 지정할 수 있도록 합니다]]></value>
<value xml:lang="tr"><![CDATA[Sadece seçilen grup geçerli kategoriyi kullanabilecektir]]></value>
<value xml:lang="vi"><![CDATA[Chỉ những nhóm đã chọn mới được phép sử dụng thể loại này.]]></value>
</item>
@ -268,13 +268,13 @@
<value xml:lang="vi"><![CDATA[Xóa những bài đã chọn]]></value>
</item>
<item name="cmd_document_do">
<value xml:lang="ko"><![CDATA[이 게시물을...]]></value>
<value xml:lang="ko"><![CDATA[이 게시물을]]></value>
<value xml:lang="en"><![CDATA[I want to]]></value>
<value xml:lang="jp"><![CDATA[この書き込みを..]]></value>
<value xml:lang="zh-CN"><![CDATA[将把此主题..]]></value>
<value xml:lang="zh-TW"><![CDATA[將此文章..]]></value>
<value xml:lang="fr"><![CDATA[Vous voudriez..]]></value>
<value xml:lang="ru"><![CDATA[Эту запись...]]></value>
<value xml:lang="ru"><![CDATA[Эту запись]]></value>
<value xml:lang="es"><![CDATA[Usted ..]]></value>
<value xml:lang="tr"><![CDATA[Şunu yap]]></value>
<value xml:lang="vi"><![CDATA[Bình chọn / Phê bình]]></value>
@ -328,7 +328,7 @@
<value xml:lang="vi"><![CDATA[%d bài viết đã được xóa.]]></value>
</item>
<item name="move_target_module">
<value xml:lang="ko"><![CDATA[대상 모듈]]></value>
<value xml:lang="ko"><![CDATA[대상 페이지]]></value>
<value xml:lang="en"><![CDATA[Target module ]]></value>
<value xml:lang="jp"><![CDATA[移動対象モジュール]]></value>
<value xml:lang="zh-CN"><![CDATA[目标模块]]></value>
@ -454,7 +454,7 @@
<value xml:lang="tr"><![CDATA[Gizli]]></value>
<value xml:lang="vi"><![CDATA[Bí mật]]></value>
</item>
<item name="tags">
<item name="tag">
<value xml:lang="ko"><![CDATA[태그]]></value>
<value xml:lang="en"><![CDATA[Tag]]></value>
<value xml:lang="jp"><![CDATA[タグ]]></value>
@ -492,7 +492,7 @@
<item name="blamed_count">
<value xml:lang="ko"><![CDATA[비추천 수 (이상)]]></value>
</item>
<item name="comment_count ">
<item name="comment_count">
<value xml:lang="ko"><![CDATA[댓글 수 (이상)]]></value>
<value xml:lang="en"><![CDATA[Number of Comments (over)]]></value>
<value xml:lang="jp"><![CDATA[コメント数(以上)]]></value>
@ -504,7 +504,7 @@
<value xml:lang="tr"><![CDATA[Yorum Sayısı (over)]]></value>
<value xml:lang="vi"><![CDATA[Số bình luận]]></value>
</item>
<item name="trackback_count ">
<item name="trackback_count">
<value xml:lang="ko"><![CDATA[트랙백 수 (이상)]]></value>
<value xml:lang="en"><![CDATA[Number of Trackbacks (over)]]></value>
<value xml:lang="jp"><![CDATA[トラックバック数(以上)]]></value>
@ -516,7 +516,7 @@
<value xml:lang="tr"><![CDATA[Geri İzleme Sayısı (over)]]></value>
<value xml:lang="vi"><![CDATA[Số liên kết Web]]></value>
</item>
<item name="uploaded_count ">
<item name="uploaded_count">
<value xml:lang="ko"><![CDATA[첨부파일 수 (이상)]]></value>
<value xml:lang="en"><![CDATA[Number of Attachments (over)]]></value>
<value xml:lang="jp"><![CDATA[添付ファイル数(以上)]]></value>
@ -787,7 +787,7 @@
<value xml:lang="vi"><![CDATA[Đã chuyển tới thùng rác thành công.]]></value>
</item>
<item name="msg_not_selected_document">
<value xml:lang="ko"><![CDATA[선택 문서가 없습니다.]]></value>
<value xml:lang="ko"><![CDATA[선택 문서가 없습니다.]]></value>
<value xml:lang="en"><![CDATA[There are no selected articles.]]></value>
<value xml:lang="jp"><![CDATA[選択された書き込みがありません。]]></value>
<value xml:lang="zh-TW"><![CDATA[尚未選擇文章]]></value>

View file

@ -17,6 +17,7 @@
<condition operation="equal" column="extra_vars.eid" var="var_eid" pipe="and" />
<condition operation="in" column="documents.status" var="statusList" pipe="and" />
<condition operation="like" column="extra_vars.value" var="var_value" notnull="notnull" pipe="and" />
<condition operation="equal" column="extra_vars.lang_code" var="var_lang_code" pipe="and" />
</conditions>
<groups>
<group column="extra_vars.document_srl" />

View file

@ -22,7 +22,7 @@
<condition operation="like" column="user_name" var="s_user_name" pipe="or" />
<condition operation="like" column="user_id" var="s_user_id" pipe="or" />
<condition operation="like" column="nick_name" var="s_nick_name" pipe="or" />
<condition operation="like" column="email_address" var="s_email_addres" pipe="or" />
<condition operation="like" column="email_address" var="s_email_address" pipe="or" />
<condition operation="like" column="homepage" var="s_homepage" pipe="or" />
<condition operation="like" column="tags" var="s_tags" pipe="or" />
<condition operation="equal" column="member_srl" var="s_member_srl" pipe="or" />

View file

@ -0,0 +1,11 @@
<query id="moveDocumentExtraVars" action="update">
<tables>
<table name="document_extra_vars" />
</tables>
<columns>
<column name="module_srl" var="module_srl" filter="number" />
</columns>
<conditions>
<condition operation="equal" column="document_srl" var="document_srl" notnull="notnull" />
</conditions>
</query>

View file

@ -1,68 +0,0 @@
<input type="hidden" name="category_srl" value="{$category_info->category_srl}" />
<input type="hidden" name="parent_srl" value="{$category_info->parent_srl}" />
<div class="layer" boxModelController" style="display:block">
<button type="button" class="xButton layerClose" title="Close this layer." onclick="jQuery(this).closest('#category_info').hide();">X</button>
<h4 class="xeAdmin h3">{$lang->category}</h4>
<div class="layerBody table">
<table cellspacing="0" class="rowTable">
<!--@if($category_info->parent_category_title)-->
<tr>
<th scope="row">{$lang->parent_category_title}</th>
<td class="wide">{$category_info->parent_category_title}</td>
</tr>
<!--@end-->
<tr>
<th scope="row">{$lang->category_title}</th>
<td>
<input type="text" name="category_title" id="category_name" value="{$category_info->title}" />
<a href="{getUrl('','module','module','act','dispModuleAdminLangcode','target','category_name')}" onclick="popopen(this.href);return false;" class="buttonSet buttonSetting"><span>{$lang->cmd_find_langcode}</span></a>
</td>
</tr>
<tr>
<th scope="row">{$lang->category_color}</th>
<td>
<input type="text" name="category_color" value="{htmlspecialchars($category_info->color)}" class="color-indicator" />
<p>{$lang->about_category_color}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->category_description}</th>
<td >
<textarea name="category_description" id="category_description" rows="8" cols="42">{htmlspecialchars($category_info->description)}</textarea>
<a href="{getUrl('','module','module','act','dispModuleAdminLangcode','target','category_description')}" onclick="popopen(this.href);return false;" class="buttonSet buttonSetting"><span>{$lang->cmd_find_langcode}</span></a>
<p>{$lang->about_category_description}</p>
</td>
</tr>
<tr >
<th scope="row2">{$lang->category_group_srls}</th>
<td>
<!--@foreach($group_list as $key=>$val)-->
<div><input type="checkbox" name="group_srls[]" value="{$key}" id="group_{$key}" <!--@if(is_array($category_info->group_srls)&&in_array($key, $category_info->group_srls))-->checked="checked"<!--@end--> class="checkbox" /> <label for="group_{$key}">{$val->title}</label></div>
<!--@end-->
<p>{$lang->about_category_group_srls}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->expand}</th>
<td>
<input type="checkbox" name="expand" value="Y" <!--@if($category_info->expand=="Y")-->checked="checked"<!--@end--> class="checkbox" />
<p>{$lang->about_expand}</p>
</td>
</tr>
<tr>
<th scope="row" colspan="2" class="button">
<span class="buttonAction actionBlue"><input type="submit" value="{$lang->cmd_save}" /></span>
</th>
</tr>
</table>
</div>
</div>
<script type="text/javascript">
jQuery(function(){
jQuery('input.color-indicator').xe_colorpicker();
});
</script>

View file

@ -6,33 +6,90 @@
<load target="js/document_category.js" usecdn="true" />
<!--%load_js_plugin("ui.colorpicker")-->
<script type="text/javascript">
<script>
var category_title = "{$lang->category}";
</script>
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/document/tpl/category_list/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<form ruleset="insertCategory" id="fo_category" action="./" method="post">
<input type="hidden" name="module" value="document" />
<input type="hidden" name="act" value="procDocumentInsertCategory" />
<input type="hidden" name="module_srl" value="{$module_info->module_srl}" />
<input type="hidden" name="xml_file" value="{$category_xml_file}" />
<input type="hidden" name="success_return_url" value="{getRequestUriByServerEnviroment()}" />
<div id="category_info" class="x" style="position:absolute"></div>
</form>
<div id="menu">
<ul class="simpleTree">
<li class="root" id='tree_0'><span>{$lang->category}</span></li>
</ul>
</div>
<span style="float:right"><a href="#" onclick="doReloadTreeCategory('{$module_info->module_srl}');return false;" class="button black"><span>{$lang->cmd_remake_cache}</span></a></span>
<script type="text/javascript">
var simpleTreeCollection;
var max_menu_depth = 999;
var lang_confirm_delete = "{$lang->confirm_delete}";
var xml_url = "{$category_xml_file}";
doCategoryFormMove();
Tree(xml_url);
<div class="btnArea">
<button type="button" onclick="doReloadTreeCategory('{$module_info->module_srl}')" class="x_btn">{$lang->cmd_remake_cache}</button>
</div>
<script>
var simpleTreeCollection;
var max_menu_depth = 999;
var lang_confirm_delete = "{$lang->confirm_delete}";
var xml_url = "{$category_xml_file}";
jQuery(function($){
Tree(xml_url);
});
</script>
<section class="x_modal x" id="__category_info" hidden>
<form ruleset="insertCategory" id="fo_category" action="./" method="post" class="x_form x_form-horizontal" style="margin:0">
<input type="hidden" name="module" value="document" />
<input type="hidden" name="act" value="procDocumentInsertCategory" />
<input type="hidden" name="module_srl" value="{$module_info->module_srl}" />
<input type="hidden" name="xml_file" value="{$category_xml_file}" />
<input type="hidden" name="success_return_url" value="{getRequestUriByServerEnviroment()}" />
<input type="hidden" name="parent_srl" value="{$category_info->parent_srl}" />
<input type="hidden" name="category_srl" value="{$category_info->category_srl}" />
<input type="hidden" name="xe_validator_id" value="modules/document/tpl/category_list/1" />
<div class="x_modal-header">
<h1>{$lang->category}</h1>
</div>
<div class="x_modal-body">
<div id="__parent_category_info" class="x_control-group">
<label class="x_control-label">{$lang->parent_category_title}</label>
<div class="x_controls">
<span id="__parent_category_title" style="display:inline-block;padding:3px 0 0 0"></span>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label" for="lang_category_title">{$lang->category_title}</label>
<div class="x_controls">
<input type="text" class="lang_code" name="category_title" id="category_title" value="" />
</div>
</div>
<div class="x_control-group">
<label class="x_control-label" for="category_color">{$lang->category_color}</label>
<div class="x_controls">
<span class="x_input-append"><input type="text" class="color-indicator" name="category_color" id="category_color" value="" /></span>
<a href="#categoy_color_help" class="x_icon-question-sign" data-toggle>{$lang->help}</a>
<p id="categoy_color_help" hidden style="margin:8px 0 0 0">{$lang->about_category_color}</p>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label" for="lang_category_description">{$lang->category_description}</label>
<div class="x_controls">
<textarea name="category_description" class="lang_code" id="category_description" rows="8" cols="42"></textarea>
<span class="x_help-block">{$lang->about_category_description}</span>
</div>
</div>
<div class="x_control-group category_groups">
<label class="x_control-label">{$lang->category_group_srls}</label>
<div class="x_controls">
<label loop="$group_list => $key, $val" class="x_inline" for="group_{$key}"><input type="checkbox" name="group_srls[]" value="{$key}" id="group_{$key}" /> {$val->title}</label>
<span class="x_help-block">{$lang->about_category_group_srls}</span>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->expand}</label>
<div class="x_controls">
<label class="x_inline" for="expand"><input type="checkbox" name="expand" value="Y" id="expand" /> {$lang->about_expand}</label>
</div>
</div>
</div>
<div class="x_modal-footer">
<button type="button" class="x_btn x_pull-left" data-hide="#__category_info">{$lang->cmd_close}</button>
<button type="submit" class="x_btn x_btn-primary x_pull-right">{$lang->cmd_save}</button>
</div>
</form>
</section>

View file

@ -1,58 +1,57 @@
<!--%import("filter/manage_checked_document.xml")-->
<load target="js/document_admin.js" usecdn="true" />
<h1 class="h1">{$lang->cmd_manage_document}</h1>
<form action="./" method="get" id="fo_management">
<input type="hidden" name="module" value="document" />
<input type="hidden" name="type" value="" />
<!--@if(count($document_list)==0)-->
{$lang->msg_not_selected_document}
<!--@else-->
<div class="table">
<table width="100%" border="1" cellspacing="0">
<tr>
<th scope="row"><label for="textfield1">{$lang->checked_count} ({count($document_list)})</label></th>
<td>
<input type="checkbox" onclick="XE.checkboxToggleAll()" checked="checked"/> {$lang->cmd_select}
<ul class="document_list_box">
<!--@foreach($document_list as $key => $document)-->
<li class="document_list"><input type="checkbox" checked="checked" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this);"/> <address>{$document->getNickName()}</address> <span class="document_title">{$document->getTitle()}</span></li>
<!--@end-->
</ul>
</td>
</tr>
<tr>
<th scope="row">{$lang->move_target_module}</th>
<td>
<input type="hidden" name="target_module" id="target_module" value="{$module_srl}" />
<input type="text" name="_target_module" id="_target_module" value="{$mid} ({$browser_title})" readonly="readonly" /><a href="{getUrl('','module','module','act','dispModuleSelectList','id','target_module','type','single')}" onclick="popopen(this.href,'ModuleSelect');return false;" class="button green"><span>{$lang->cmd_select}</span></a>
</td>
</tr>
<tr>
<th scope="row">{$lang->category}</th>
<td>
<select id="target_category" name="target_category">
</select>
</td>
</tr>
<tr>
<th scope="row">{$lang->cmd_send_message}</th>
<td>
<textarea name="message_content" rows="8" cols="42"></textarea>
</td>
</tr>
</table>
</div>
<div class="btnArea">
<button type="button" onclick="doManageDocument('trash');">{$lang->cmd_trash}</button>
<button type="button" onclick="doManageDocument('delete');">{$lang->cmd_delete}</button>
<button type="button" onclick="doManageDocument('move');">{$lang->cmd_move}</button>
<button type="button" onclick="doManageDocument('copy');">{$lang->cmd_copy}</button>
</div>
<script type="text/javascript">
jQuery(function() { doGetCategoryFromModule({$module_srl}); } );
</script>
<!--@end-->
</form>
<input type="hidden" name="module" value="document" />
<input type="hidden" name="type" value="" />
<div class="x_modal-header">
<h1>{$lang->cmd_manage_document}</h1>
</div>
<div class="x_modal-body x_form-horizontal" style="max-height:none">
<!--@if(count($document_list)==0)-->
<p>{$lang->msg_not_selected_document}</p>
<!--@else-->
<div class="x_control-group">
<div class="x_control-label">{$lang->checked_count}({count($document_list)})</div>
<div class="x_controls">
<ul style="margin-top:5px">
<li class="document_list" loop="$document_list => $key, $document">
<input type="hidden" name="cart" value="{$document->document_srl}" />{$document->getTitle()} <i class="vr">|</i> {$document->getNickName()}
</li>
</ul>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label" for="_target_module">{$lang->move_target_module}</label>
<div class="x_controls">
<span class="x_input-append">
<input type="hidden" name="target_module" id="target_module" value="{$module_srl}" />
<input type="text" name="_target_module" id="_target_module" value="{$mid}({$browser_title})" readonly="readonly" />
<a href="{getUrl('','module','module','act','dispModuleSelectList','id','target_module','type','single')}" onclick="popopen(this.href,'ModuleSelect');return false;" class="x_btn">{$lang->cmd_select}</a>
</span>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label" for="target_category">{$lang->category}</label>
<div class="x_controls">
<select id="target_category" name="target_category"></select>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label" for="message_content">{$lang->cmd_send_message}</label>
<div class="x_controls" style="margin-right:14px">
<textarea name="message_content" id="message_content" rows="4" cols="42" style="width:100%"></textarea>
</div>
</div>
</div>
<div class="x_modal-footer">
<span class="x_btn-group x_pull-left">
<button type="button" class="x_btn" onclick="doManageDocument('trash');">{$lang->cmd_trash}</button>
<button type="button" class="x_btn" onclick="doManageDocument('delete');">{$lang->cmd_delete}</button>
</span>
<span class="x_btn-group x_pull-right">
<button type="button" class="x_btn x_btn-inverse" onclick="doManageDocument('move');">{$lang->cmd_move}</button>
<button type="button" class="x_btn x_btn-inverse" onclick="doManageDocument('copy');">{$lang->cmd_copy}</button>
</span>
</div>
<!--@end-->
</form>

View file

@ -1,154 +1,203 @@
<script type="text/javascript">
<script>
xe.lang.msg_empty_search_target = '{$lang->msg_empty_search_target}';
xe.lang.msg_empty_search_keyword = '{$lang->msg_empty_search_keyword}';
</script>
<load target="js/document_admin.js" usecdn="true" />
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
<div class="x_page-header">
<h1>{$lang->document} <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_content_document" target="_blank">{$lang->help}</a></h1>
</div>
<form id="fo_list" action="./" method="get" class="form">
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/document/tpl/declared_list/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<form id="fo_list" action="./" method="get">
<input type="hidden" name="module" value="document" />
<input type="hidden" name="page" value="{$page}" />
<h1 class="h1">{$lang->cmd_declared_list}</h1>
<div class="table even">
<div class="cnb">
<a href="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminList')}">{$lang->all}</a>
| <a href="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminList', 'search_target', 'is_secret', 'search_keyword', 'N')}">{$status_name_list['PUBLIC']}</a>
| <a href="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminList', 'search_target', 'is_secret', 'search_keyword', 'Y')}">{$status_name_list['SECRET']}</a>
| <a href="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminList', 'search_target', 'is_secret', 'search_keyword', 'temp')}">{$status_name_list['TEMP']}</a>
| <a href="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminDeclared')}" class="active">{$lang->cmd_declared_list}</a>
</div>
<table width="100%" border="1" cellspacing="0" id="documentListTable">
<caption>
{$lang->all} ({number_format($total_count)})
<div class="side">
<span class="btn"><a href="#listManager" class="modalAnchor" onclick="getDocumentList();">{$lang->document_manager}...</a></span>
</div>
</caption>
<thead>
<tr>
<th scope="col" class="title">{$lang->title}</th>
<th scope="col" class="nowr">{$lang->writer}</th>
<th scope="col" class="nowr">{$lang->cmd_declare}</th>
<th scope="col" class="nowr">{$lang->readed_count}</th>
<th scope="col" class="nowr">{$lang->cmd_vote}(+/-)</th>
<th scope="col" class="nowr">{$lang->date}</th>
<th scope="col"><input type="checkbox" data-name="cart" title="Check All" /></th>
</tr>
</thead>
<tfoot>
<tr>
<th scope="col" class="title">{$lang->title}</th>
<th scope="col" class="nowr">{$lang->writer}</th>
<th scope="col" class="nowr">{$lang->cmd_declare}</th>
<th scope="col" class="nowr">{$lang->readed_count}</th>
<th scope="col" class="nowr">{$lang->cmd_vote}(+/-)</th>
<th scope="col" class="nowr">{$lang->date}</th>
<th scope="col"><input type="checkbox" data-name="cart" title="Check All" /></th>
</tr>
</tfoot>
<tbody>
<!--@foreach($document_list as $no => $oDocument)-->
<tr>
<td class="title"><a href="{getUrl('','document_srl',$oDocument->document_srl)}" target="_blank">{$oDocument->getTitle()}</a></td>
<td class="nowr"><a href="#popup_menu_area" class="member_{$oDocument->get('member_srl')}">{$oDocument->getNickName()}</a></td>
<td class="nowr">{$oDocument->get('declared_count')}</td>
<td class="nowr">{$oDocument->get('readed_count')}</td>
<td class="nowr">{$oDocument->get('voted_count')}/{$oDocument->get('blamed_count')}</td>
<td class="nowr">{$oDocument->getRegdate("Y-m-d H:i")}</td>
<td><input type="checkbox" name="cart" value="{$oDocument->document_srl}" /></td>
</tr>
<!--@end-->
</tbody>
</table>
<div class="btnArea">
<span class="btn"><a href="#listManager" class="modalAnchor" onclick="getDocumentList();">{$lang->document_manager}...</a></span>
</div>
</div>
</form>
<div class="modal" id="listManager">
<form action="./" method="post" class="fg form" id="manageForm">
<input type="hidden" name="module" value="document" />
<input type="hidden" name="act" value="procDocumentManageCheckedDocument" />
<input type="hidden" name="type" value="" />
<input type="hidden" name="success_return_url" value="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminDeclared')}" />
<h2 class="h2">{$lang->document_manager}</h2>
<div class="table even">
<table width="100%" border="1" cellspacing="0" id="documentManageListTable">
<caption>{$lang->selected_document} <strong id="selectedDocumentCount"></strong></caption>
<thead>
<tr>
<th scope="col" class="title">{$lang->title}</th>
<th scope="col" class="nowr">{$lang->writer}</th>
<th scope="col" class="nowr">{$lang->status}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<p class="q"><label for="site">{$lang->selected_document_move}</label></p>
<div class="a">
<input type="text" name="site_keyword" id="site" />
<span class="desc"><a href="#suggestion" class="tgAnchor" onclick="getModuleList();">{$lang->find_site}</a></span>
<p>
<select name="target_module" id="module_list" style="width:290px">
<option>{$lang->select_module}</option>
</select>
</p>
<p>
<select name="module_srl" id="mid_list" style="width:290px">
<option>{$lang->select_module_id}</option>
</select>
</p>
<p>
<select id="target_category" name="target_category" style="width:290px">
<option>{$lang->select_category}</option>
</select>
</p>
</div>
<p class="q"><label for="message">{$lang->message_notice}</label></p>
<p>
<textarea rows="8" cols="42" name="message_content" id="message" style="width:98%"></textarea>
</p>
<div class="btnArea">
<span class="btn"><button type="submit" name="type" value="trash">{$lang->cmd_trash}</button></span>
<span class="btn"><button type="submit" name="type" value="delete">{$lang->cmd_delete}</button></span>
<span class="btn"><button type="submit" name="type" value="move">{$lang->cmd_move}</button></span>
<span class="btn"><button type="submit" name="type" value="copy">{$lang->cmd_copy}</button></span>
<span class="btn"><button type="submit" name="type" value="cancelDeclare">{$lang->cmd_cancel_declare}</button></span>
</div>
</form>
</div>
<div class="search">
<table class="x_table x_table-striped x_table-hover" id="documentListTable">
<caption>
<a href="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminList')}">{$lang->all}</a>
<i>|</i>
<a href="{getUrl('act', 'dispDocumentAdminList', 'search_target', 'is_secret', 'search_keyword', 'N')}">{$status_name_list['PUBLIC']}</a>
<i>|</i>
<a href="{getUrl('act', 'dispDocumentAdminList', 'search_target', 'is_secret', 'search_keyword', 'Y')}">{$status_name_list['SECRET']}</a>
<i>|</i>
<a href="{getUrl('act', 'dispDocumentAdminList', 'search_target', 'is_secret', 'search_keyword', 'temp')}">{$status_name_list['TEMP']}</a>
<a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_faq_temp_document" target="_blank">{$lang->help}</a>
<i>|</i>
<a href="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminDeclared')}" class="active"|cond="$act == 'dispDocumentAdminDeclared'">{$lang->cmd_declared_list}({number_format($total_count)})</a>
<form action="./" class="pagination">
<div class="x_btn-group x_pull-right">
<a href="#manageForm" class="x_btn modalAnchor" data-value="trash">{$lang->trash}</a>
<a href="#manageForm" class="x_btn modalAnchor" data-value="delete">{$lang->delete}</a>
<a href="#manageForm" class="x_btn modalAnchor" data-value="move">{$lang->move}</a>
<a href="#manageForm" class="x_btn modalAnchor" data-value="copy">{$lang->copy}</a>
<a href="#manageForm" class="x_btn modalAnchor" data-value="cancelDeclare">{$lang->cmd_cancel_declare}</a>
</div>
</caption>
<thead>
<tr>
<th scope="col" class="title">{$lang->title}</th>
<th scope="col" class="nowr">{$lang->writer}</th>
<th scope="col" class="nowr">{$lang->cmd_declare}</th>
<th scope="col" class="nowr">{$lang->readed_count}</th>
<th scope="col" class="nowr">{$lang->cmd_vote}(+/-)</th>
<th scope="col" class="nowr">{$lang->date}</th>
<th scope="col"><input type="checkbox" name="cart" title="Check All" /></th>
</tr>
</thead>
<tbody>
<tr loop="$document_list => $no,$oDocument">
<td class="title"><a href="{getUrl('','document_srl',$oDocument->document_srl)}" target="_blank">{$oDocument->getTitle()}</a></td>
<td class="nowr"><a href="#popup_menu_area" class="member_{$oDocument->get('member_srl')}">{$oDocument->getNickName()}</a></td>
<td class="nowr">{$oDocument->get('declared_count')}</td>
<td class="nowr">{$oDocument->get('readed_count')}</td>
<td class="nowr">{$oDocument->get('voted_count')}/{$oDocument->get('blamed_count')}</td>
<td class="nowr">{$oDocument->getRegdate("Y-m-d H:i")}</td>
<td><input type="checkbox" name="cart" value="{$oDocument->document_srl}" /></td>
</tr>
</tbody>
</table>
<div class="x_btn-group x_pull-right">
<a href="#manageForm" class="x_btn modalAnchor" data-value="trash">{$lang->trash}</a>
<a href="#manageForm" class="x_btn modalAnchor" data-value="delete">{$lang->delete}</a>
<a href="#manageForm" class="x_btn modalAnchor" data-value="move">{$lang->move}</a>
<a href="#manageForm" class="x_btn modalAnchor" data-value="copy">{$lang->copy}</a>
<a href="#manageForm" class="x_btn modalAnchor" data-value="cancelDeclare">{$lang->cmd_cancel_declare}</a>
</div>
</form>
<form action="./" class="x_pagination">
<input type="hidden" name="error_return_url" value="" />
<input type="hidden" name="module" value="{$module}" />
<input type="hidden" name="act" value="{$act}" />
<input cond="$search_keyword" type="hidden" name="search_keyword" value="{$search_keyword}" />
<input cond="$search_target" type="hidden" name="search_target" value="{$search_target}" />
<a href="{getUrl('page', '')}" class="direction">&laquo; {$lang->first_page}</a>
<block cond="$page_navigation->first_page + $page_navigation->page_count > $page_navigation->last_page && $page_navigation->page_count != $page_navigation->total_page">
<ul>
<li class="x_disabled"|cond="!$page || $page == 1"><a href="{getUrl('page', '')}">&laquo; {$lang->first_page}</a></li>
<block cond="$page_navigation->first_page != 1 && $page_navigation->first_page + $page_navigation->page_count > $page_navigation->last_page - 1 && $page_navigation->page_count != $page_navigation->total_page">
{@$isGoTo = true}
<a href="{getUrl('page', '')}">1</a>
<a href="#goTo" class="tgAnchor" title="{$lang->cmd_go_to_page}">...</a>
</block>
<!--@while($page_no = $page_navigation->getNextPage())-->
<li>
<a href="#goTo" data-toggle title="{$lang->cmd_go_to_page}">&hellip;</a>
<span cond="$isGoTo" id="goTo" class="x_input-append">
<input type="number" min="1" max="{$page_navigation->last_page}" required name="page" title="{$lang->cmd_go_to_page}" />
<button type="submit" class="x_add-on">Go</button>
</span>
</li>
</block>
<!--@while($page_no = $page_navigation->getNextPage())-->
{@$last_page = $page_no}
<strong cond="$page_no == $page">{$page_no}</strong>
<a cond="$page_no != $page" href="{getUrl('page', $page_no)}">{$page_no}</a>
<!--@end-->
<block cond="$last_page != $page_navigation->last_page">
<li class="x_active"|cond="$page_no == $page"><a href="{getUrl('page', $page_no)}">{$page_no}</a></li>
<!--@end-->
<block cond="$last_page != $page_navigation->last_page && $last_page + 1 != $page_navigation->last_page">
{@$isGoTo = true}
<a href="#goTo" class="tgAnchor" title="{$lang->cmd_go_to_page}">...</a>
<a href="{getUrl('page', $page_navigation->last_page)}">{$page_navigation->last_page}</a>
</block>
<a href="{getUrl('page', $page_navigation->last_page)}" class="direction">{$lang->last_page} &raquo;</a>
<span cond="$isGoTo" id="goTo" class="tgContent">
<input name="page" title="{$lang->cmd_go_to_page}" />
<button type="submit">Go</button>
</span>
<li>
<a href="#goTo" data-toggle title="{$lang->cmd_go_to_page}">&hellip;</a>
<span cond="$isGoTo" id="goTo" class="x_input-append">
<input type="number" min="1" max="{$page_navigation->last_page}" required name="page" title="{$lang->cmd_go_to_page}" />
<button type="submit" class="x_add-on">Go</button>
</span>
</li>
</block>
<li class="x_disabled"|cond="$page == $page_navigation->last_page"><a href="{getUrl('page', $page_navigation->last_page)}" title="{$page_navigation->last_page}">{$lang->last_page} &raquo;</a></li>
</ul>
</form>
<form action="./" method="post" class="x_modal" id="manageForm">
<input type="hidden" name="module" value="document" />
<input type="hidden" name="act" value="procDocumentManageCheckedDocument" />
<input type="hidden" name="type" value="" />
<input type="hidden" name="module_srl" value="" />
<input type="hidden" name="success_return_url" value="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminDeclared')}" />
<input type="hidden" name="xe_validator_id" value="modules/document/tpl/declared_list/1" />
<div class="x_modal-header">
<h1>{$lang->document_manager}: <span class="_sub"></span></h1>
</div>
<div class="x_modal-body">
<section class="moveList">
<table width="100%" id="documentManageListTable" class="x_table x_table-striped x_table-hover">
<caption><strong>{$lang->selected_document} <span id="selectedDocumentCount"></span></strong></caption>
<thead>
<tr>
<th scope="col" class="title">{$lang->title}</th>
<th scope="col" class="nowr">{$lang->writer}</th>
<th scope="col" class="nowr">{$lang->status}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<div class="x_control-group _moveTarget" style="position:relative" hidden>
<label>{$lang->selected_document_move}</label>
<input type="text" name="module_srl" class="module_search" />
</div>
<div class="x_control-group" style="padding-right:14px;border-top:0">
<label for="message">{$lang->message_notice}</label>
<textarea rows="4" cols="42" name="message_content" id="message" style="width:100%"></textarea>
</div>
</section>
<section class="moveTree">
<h1>{$lang->msg_select_menu}</h1>
<p>{$lang->selected_document_move}</p>
<div class="tree _menuSelector">
<select class="site_selector" style="width:100%;display:none"></select><div class="tree" style="height:250px;overflow-y:scroll;border:1px solid #aaa"></div>
</div>
</section>
</div>
<div class="x_modal-footer">
<button type="submit" name="type" value="" class="x_btn x_btn-inverse x_pull-right">{$lang->cmd_confirm}</button>
<!-- value="trash|delete|move|copy|cancelDeclare" -->
</div>
</form>
<script>
jQuery(function($){
// Modal anchor activation
var $docTable = $('#documentListTable');
$docTable.find(':checkbox').change(function(){
var $modalAnchor = $('a[data-value]');
if($docTable.find('tbody :checked').length == 0){
$modalAnchor.removeAttr('href').addClass('x_disabled');
} else {
$modalAnchor.attr('href','#manageForm').removeClass('x_disabled');
}
}).change();
// Button action
$('a[data-value]').click(function(){
if($docTable.find('tbody :checked').length == 0){
$('body').css('overflow','auto');
alert('{$lang->msg_not_selected_document}');
return false;
} else {
var $this = $(this);
var $manageForm = $('#manageForm');
var $modalBody = $manageForm.find('.x_modal-body');
var thisValue = $this.attr('data-value');
var thisText = $this.text();
getDocumentList();
$manageForm.find('.x_modal-header ._sub').text(thisText).end().find('[type="submit"]').val(thisValue).text(thisText);
if(thisValue == 'trash' || thisValue == 'delete' || thisValue == 'cancelDeclare'){
$modalBody.removeClass('showTree');
} else if(thisValue == 'move' || thisValue == 'copy') {
$.xeShowMenuSelectorIn($('._menuSelector'));
$modalBody.addClass('showTree');
$tree = $('._menuSelector .tree');
$tree.bind('select_node.jstree', function(a,b){
var aSelected = [];
$tree.find('.jstree-clicked').each(function(idx, el){
var htParam = $.parseJSON($(this).attr('data-param'));
aSelected.push({browser_title: htParam.sMenuTitle, mid: htParam.sMenuUrl, module_srl: htParam.sModuleSrl, menu_id: htParam.sMenuId, type: htParam.sType});
//module_srl
});
$('#manageForm input[name=module_srl]').val(aSelected[0].module_srl);
});
$('._menuSelector').bind('site_changed', function(){
$('#manageForm input[name=module_srl]').val('');
});
}
}
});
});
</script>

View file

@ -8,7 +8,7 @@
<input type="hidden" name="document_srl" value="{$document_srl}" />
</form>
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/document/tpl/document_alias/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<form ruleset="insertAlias" action="{Context::getRequestUri()}" method="post">
@ -16,40 +16,39 @@
<input type="hidden" name="act" value="procDocumentAdminInsertAlias" />
<input type="hidden" name="document_srl" value="{$document_srl}" />
<input type="hidden" name="module_srl" value="{$oDocument->get('module_srl')}" />
<input type="hidden" name="xe_validator_id" value="modules/document/tpl/document_alias/1" />
<h3 class="h3">{$lang->alias}</h3>
<div class="table">
<table width="100%" border="1" cellspacing="0">
<thead>
<tr>
<th scope="col">{$lang->title}</th>
<th scope="col">{$lang->alias}</th>
<th scope="col"></th>
</tr>
<h1>{$lang->alias}</h1>
<table class="x_table x_table-striped x_table-hover">
<thead>
<tr>
<th scope="col">{$lang->title}</th>
<th scope="col">{$lang->alias}</th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="{count($aliases)+1}">{$oDocument->getTitle()}</td>
{@ $bFirst = true; }
<!--@foreach($aliases as $val)-->
<!--@if(!$bFirst)-->
<tr>
{@ $bFirst = false; }
<!--@end-->
<td>{$val->alias_title}</td>
<td><button type="button" onclick="deleteByFilter('{$val->alias_srl}', delete_alias);">Delete</button>
</td>
</tr>
<!--@end-->
<!--@if(!$bFirst)-->
<tr>
<!--@end-->
<td>
<input type="text" name="alias_title" />
</td>
<td><span class="btn"><input type="submit" value="{$lang->cmd_registration}" /></span></td>
</tr>
<tr>
<td rowspan="{count($aliases)+1}">{$oDocument->getTitle()}</td>
{@ $bFirst = true; }
<!--@foreach($aliases as $val)-->
<!--@if(!$bFirst)-->
<tr>
{@ $bFirst = false; }
<!--@end-->
<td>{$val->alias_title}</td>
<td><button type="button" onclick="deleteByFilter('{$val->alias_srl}', delete_alias);">Delete</button>
</td>
</tr>
<!--@end-->
<!--@if(!$bFirst)-->
<tr>
<!--@end-->
<td>
<input type="text" name="alias_title" />
</td>
<td><input class="btn" type="submit" value="{$lang->cmd_registration}" /></td>
</tr>
</tbody>
</table>
</div>
</table>
</form>

View file

@ -3,8 +3,7 @@
<form action="./" method="post">
<input type="hidden" name="module" value="document" />
<input type="hidden" name="act" value="procDocumentAdminInsertConfig" />
<div class="table">
<table width="100%" border="1" cellspacing="0">
<table class="x_table x_table-striped x_table-hover">
<tr>
<th scope="col">{$lang->thumbnail_type}</th>
</tr>
@ -14,10 +13,9 @@
<input type="radio" name="thumbnail_type" value="ratio" <!--@if($config->thumbnail_type == 'ratio')-->checked="checked"<!--@end-->/> {$lang->thumbnail_ratio}
</td>
</tr>
</table>
</div>
</table>
<div class="btnArea">
<span class="btn"><input type="submit" value="{$lang->cmd_registration}" /></span>
<span class="btn"><input type="button" value="{$lang->cmd_delete_all_thumbnail}" onclick="doDeleteAllThumbnail(); return false;"/></span>
<input class="btn" type="submit" value="{$lang->cmd_registration}" />
<input class="btn" type="button" value="{$lang->cmd_delete_all_thumbnail}" onclick="doDeleteAllThumbnail()"/>
</div>
</form>
</form>

View file

@ -1,181 +1,214 @@
<script type="text/javascript">
<script>
xe.lang.msg_empty_search_target = '{$lang->msg_empty_search_target}';
xe.lang.msg_empty_search_keyword = '{$lang->msg_empty_search_keyword}';
</script>
<load target="js/document_admin.js" usecdn="true" />
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
<div class="x_page-header">
<h1>{$lang->document} <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_content_document" target="_blank">{$lang->help}</a></h1>
</div>
<form id="fo_list" action="./" method="get" class="form">
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/document/tpl/document_list/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<form id="fo_list" action="./" method="get">
<input type="hidden" name="module" value="document" />
<input type="hidden" name="page" value="{$page}" />
<h1 class="h1">{$lang->document}</h1>
<div class="table even">
<div class="cnb">
<a href="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminList')}" <!--@if($search_keyword == '')-->class="active"<!--@end-->>{$lang->all}</a>
| <a href="{getUrl('search_target', 'is_secret', 'search_keyword', 'N')}" <!--@if($search_target == 'is_secret' && $search_keyword == 'N')-->class="active"<!--@end-->>{$status_name_list['PUBLIC']}</a>
| <a href="{getUrl('search_target', 'is_secret', 'search_keyword', 'Y')}" <!--@if($search_target == 'is_secret' && $search_keyword == 'Y')-->class="active"<!--@end-->>{$status_name_list['SECRET']}</a>
| <a href="{getUrl('search_target', 'is_secret', 'search_keyword', 'temp')}" <!--@if($search_target == 'is_secret' && $search_keyword == 'temp')-->class="active"<!--@end-->>{$status_name_list['TEMP']}</a>
| <a href="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminDeclared')}">{$lang->cmd_declared_list}</a>
</div>
<table width="100%" border="1" cellspacing="0" id="documentListTable">
<caption>
<!--@if($search_keyword == '')-->
{$lang->all}
<!--@elseif($search_target == 'is_secret' && $search_keyword == 'N')-->
{$status_name_list['PUBLIC']}
<!--@elseif($search_target == 'is_secret' && $search_keyword == 'Y')-->
{$status_name_list['SECRET']}
<!--@elseif($search_target == 'is_secret' && $search_keyword == 'temp')-->
{$status_name_list['TEMP']}
<!--@end-->
({number_format($total_count)})
<div class="side">
<span class="btn"><a href="#listManager" class="modalAnchor" onclick="getDocumentList();">{$lang->document_manager}...</a></span>
</div>
</caption>
<thead>
<tr>
<th scope="col" class="title">{$lang->title}</th>
<th scope="col" class="nowr">{$lang->writer}</th>
<th scope="col" class="nowr">{$lang->readed_count}</th>
<th scope="col" class="nowr">{$lang->cmd_vote}(+/-)</th>
<th scope="col" class="nowr">{$lang->date}</th>
<th scope="col" class="nowr">{$lang->ipaddress}</th>
<th scope="col" class="nowr">{$lang->status}</th>
<th scope="col"><input type="checkbox" data-name="cart" title="Check All" /></th>
</tr>
</thead>
<tfoot>
<tr>
<th scope="col" class="title">{$lang->title}</th>
<th scope="col" class="nowr">{$lang->writer}</th>
<th scope="col" class="nowr">{$lang->readed_count}</th>
<th scope="col" class="nowr">{$lang->cmd_vote}(+/-)</th>
<th scope="col" class="nowr">{$lang->date}</th>
<th scope="col" class="nowr">{$lang->ipaddress}</th>
<th scope="col" class="nowr">{$lang->status}</th>
<th scope="col"><input type="checkbox" data-name="cart" title="Check All" /></th>
</tr>
</tfoot>
<tbody>
<!--@foreach($document_list as $no => $oDocument)-->
<tr>
<td class="title"><a href="{getUrl('','document_srl',$oDocument->document_srl)}" target="_blank"><!--@if(trim($oDocument->getTitle()))-->{$oDocument->getTitle()}<!--@else--><em>{$lang->no_title_document}</em><!--@end--></a></td>
<td class="nowr"><a href="#popup_menu_area" class="member_{$oDocument->get('member_srl')}">{$oDocument->getNickName()}</a></td>
<td class="nowr">{$oDocument->get('readed_count')}</td>
<td class="nowr">{$oDocument->get('voted_count')}/{$oDocument->get('blamed_count')}</td>
<td class="nowr">{$oDocument->getRegdate("Y-m-d H:i")}</td>
<td class="nowr"><a href="{getUrl('search_target','ipaddress','search_keyword',$oDocument->get('ipaddress'))}">{$oDocument->get('ipaddress')}</a></td>
<td class="nowr">{$status_name_list[$oDocument->get('status')]}</td>
<td><input type="checkbox" name="cart" value="{$oDocument->document_srl}" /></td>
</tr>
<!--@end-->
</tbody>
</table>
<div class="btnArea">
<span class="btn"><a href="#listManager" class="modalAnchor" onclick="getDocumentList();">{$lang->document_manager}...</a></span>
</div>
</div>
</form>
<div class="modal" id="listManager">
<form action="./" method="post" class="fg form" id="manageForm">
<input type="hidden" name="module" value="document" />
<input type="hidden" name="act" value="procDocumentManageCheckedDocument" />
<input type="hidden" name="type" value="" />
<input type="hidden" name="success_return_url" value="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminList', 'is_secret', $is_secret, 'search_target', $search_target, 'search_keyword', $search_keyword)}" cond="!empty($search_target) && !empty($search_keyword)" />
<h2 class="h2">{$lang->document_manager}</h2>
<div class="table even">
<table width="100%" border="1" cellspacing="0" id="documentManageListTable">
<caption>{$lang->selected_document} <strong id="selectedDocumentCount"></strong></caption>
<thead>
<tr>
<th scope="col" class="title">{$lang->title}</th>
<th scope="col" class="nowr">{$lang->writer}</th>
<th scope="col" class="nowr">{$lang->status}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<p class="q"><label for="site">{$lang->selected_document_move}</label></p>
<div class="a">
<input type="text" name="site_keyword" id="site" />
<span class="desc"><a href="#suggestion" class="tgAnchor" onclick="getModuleList();">{$lang->find_site}</a></span>
<p>
<select name="target_module" id="module_list" style="width:290px">
<option>{$lang->select_module}</option>
</select>
</p>
<p>
<select name="module_srl" id="mid_list" style="width:290px">
<option>{$lang->select_module_id}</option>
</select>
</p>
<p>
<select id="target_category" name="target_category" style="width:290px">
<option>{$lang->select_category}</option>
</select>
</p>
</div>
<p class="q"><label for="message">{$lang->message_notice}</label></p>
<p>
<textarea rows="8" cols="42" name="message_content" id="message" style="width:98%"></textarea>
</p>
<div class="btnArea">
<span class="btn"><button type="submit" name="type" value="trash">{$lang->cmd_trash}</button></span>
<span class="btn"><button type="submit" name="type" value="delete">{$lang->cmd_delete}</button></span>
<span class="btn"><button type="submit" name="type" value="move">{$lang->cmd_move}</button></span>
<span class="btn"><button type="submit" name="type" value="copy">{$lang->cmd_copy}</button></span>
</div>
</form>
</div>
<div class="search">
<table id="documentListTable" class="x_table x_table-striped x_table-hover">
<caption>
<a href="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminList')}" class="active"|cond="$search_keyword == ''">{$lang->all}<block cond="$search_keyword == ''">({number_format($total_count)})</block></a>
<i>|</i>
<a href="{getUrl('search_target', 'is_secret', 'search_keyword', 'N')}" class="active"|cond="$search_target == 'is_secret' && $search_keyword == 'N'">{$status_name_list['PUBLIC']}<block cond="$search_target == 'is_secret' && $search_keyword == 'N'">({number_format($total_count)})</block></a>
<i>|</i>
<a href="{getUrl('search_target', 'is_secret', 'search_keyword', 'Y')}" class="active"|cond="$search_target == 'is_secret' && $search_keyword == 'Y'">{$status_name_list['SECRET']}<block cond="$search_target == 'is_secret' && $search_keyword == 'Y'">({number_format($total_count)})</block></a>
<i>|</i>
<a href="{getUrl('search_target', 'is_secret', 'search_keyword', 'temp')}" class="active"|cond="$search_target == 'is_secret' && $search_keyword == 'temp'">{$status_name_list['TEMP']}<block cond="$search_target == 'is_secret' && $search_keyword == 'temp'">({number_format($total_count)})</block></a>
<a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_faq_temp_document" target="_blank">{$lang->help}</a>
<i>|</i>
<a href="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminDeclared')}">{$lang->cmd_declared_list}</a>
<i cond="$search_target == 'ipaddress'">|</i>
<a href="{getUrl('search_target', 'ipaddress')}" class="active" cond="$search_target == 'ipaddress'">{$lang->ipaddress}:{$search_keyword}({number_format($total_count)})</a>
<form action="./" class="pagination">
<div class="x_btn-group x_pull-right">
<a href="#manageForm" class="x_btn modalAnchor" data-value="trash">{$lang->trash}</a>
<a href="#manageForm" class="x_btn modalAnchor" data-value="delete">{$lang->delete}</a>
<a href="#manageForm" class="x_btn modalAnchor" data-value="move">{$lang->move}</a>
<a href="#manageForm" class="x_btn modalAnchor" data-value="copy">{$lang->copy}</a>
</div>
</caption>
<thead>
<tr>
<th scope="col" class="title">{$lang->title}</th>
<th scope="col" class="nowr">{$lang->writer}</th>
<th scope="col" class="nowr">{$lang->readed_count}</th>
<th scope="col" class="nowr">{$lang->cmd_vote}(+/-)</th>
<th scope="col" class="nowr">{$lang->date}</th>
<th scope="col" class="nowr">{$lang->ipaddress}</th>
<th scope="col" class="nowr">{$lang->status}</th>
<th scope="col"><input type="checkbox" title="Check All" /></th>
</tr>
</thead>
<tbody>
<tr loop="$document_list => $no, $oDocument">
<td class="title"><a href="{getUrl('','document_srl',$oDocument->document_srl)}" target="_blank"><!--@if(trim($oDocument->getTitleText()))-->{$oDocument->getTitleText()}<!--@else--><em>{$lang->no_title_document}</em><!--@end--></a></td>
<td class="nowr"><a href="#popup_menu_area" class="member_{$oDocument->get('member_srl')}">{$oDocument->getNickName()}</a></td>
<td class="nowr">{$oDocument->get('readed_count')}</td>
<td class="nowr">{$oDocument->get('voted_count')}/{$oDocument->get('blamed_count')}</td>
<td class="nowr">{$oDocument->getRegdate("Y-m-d H:i")}</td>
<td class="nowr"><a href="{getUrl('search_target','ipaddress','search_keyword',$oDocument->get('ipaddress'))}">{$oDocument->get('ipaddress')}</a></td>
<td class="nowr">{$status_name_list[$oDocument->get('status')]}</td>
<td><input type="checkbox" name="cart" value="{$oDocument->document_srl}" /></td>
</tr>
</tbody>
</table>
<div class="x_clearfix">
<div class="x_btn-group x_pull-right">
<a href="#manageForm" class="x_btn modalAnchor" data-value="trash">{$lang->trash}</a>
<a href="#manageForm" class="x_btn modalAnchor" data-value="delete">{$lang->delete}</a>
<a href="#manageForm" class="x_btn modalAnchor" data-value="move">{$lang->move}</a>
<a href="#manageForm" class="x_btn modalAnchor" data-value="copy">{$lang->copy}</a>
</div>
</div>
</form>
<form action="./" class="x_pagination x_pull-left" style="margin:-36px 0 0 0">
<input type="hidden" name="error_return_url" value="" />
<input type="hidden" name="module" value="{$module}" />
<input type="hidden" name="act" value="{$act}" />
<input cond="$search_keyword" type="hidden" name="search_keyword" value="{$search_keyword}" />
<input cond="$search_target" type="hidden" name="search_target" value="{$search_target}" />
<a href="{getUrl('page', '')}" class="direction">&laquo; {$lang->first_page}</a>
<block cond="$page_navigation->first_page + $page_navigation->page_count > $page_navigation->last_page && $page_navigation->page_count != $page_navigation->total_page">
<ul>
<li class="x_disabled"|cond="!$page || $page == 1"><a href="{getUrl('page', '')}">&laquo; {$lang->first_page}</a></li>
<block cond="$page_navigation->first_page != 1 && $page_navigation->first_page + $page_navigation->page_count > $page_navigation->last_page - 1 && $page_navigation->page_count != $page_navigation->total_page">
{@$isGoTo = true}
<a href="{getUrl('page', '')}">1</a>
<a href="#goTo" class="tgAnchor" title="{$lang->cmd_go_to_page}">...</a>
</block>
<!--@while($page_no = $page_navigation->getNextPage())-->
<li>
<a href="#goTo" data-toggle title="{$lang->cmd_go_to_page}">&hellip;</a>
<span cond="$isGoTo" id="goTo" class="x_input-append">
<input type="number" min="1" max="{$page_navigation->last_page}" required name="page" title="{$lang->cmd_go_to_page}" />
<button type="submit" class="x_add-on">Go</button>
</span>
</li>
</block>
<!--@while($page_no = $page_navigation->getNextPage())-->
{@$last_page = $page_no}
<strong cond="$page_no == $page">{$page_no}</strong>
<a cond="$page_no != $page" href="{getUrl('page', $page_no)}">{$page_no}</a>
<!--@end-->
<block cond="$last_page != $page_navigation->last_page">
{@$isGoTo = true}
<a href="#goTo" class="tgAnchor" title="{$lang->cmd_go_to_page}">...</a>
<a href="{getUrl('page', $page_navigation->last_page)}">{$page_navigation->last_page}</a>
</block>
<a href="{getUrl('page', $page_navigation->last_page)}" class="direction">{$lang->last_page} &raquo;</a>
<span cond="$isGoTo" id="goTo" class="tgContent">
<input name="page" title="{$lang->cmd_go_to_page}" />
<button type="submit">Go</button>
</span>
</form>
<li class="x_active"|cond="$page_no == $page"><a href="{getUrl('page', $page_no)}">{$page_no}</a></li>
<!--@end-->
<form action="./" method="get" class="adminSearch" onsubmit="return checkSearch(this)">
<input type="hidden" name="module" value="{$module}" />
<input type="hidden" name="act" value="{$act}" />
<input type="hidden" name="module_srl" value="{$module_srl}" />
<input type="hidden" name="error_return_url" value="" />
<select name="search_target">
<option value="">{$lang->search_target}</option>
<!--@foreach($lang->search_target_list as $key => $val)-->
<option value="{$key}" <!--@if($search_target==$key)-->selected="selected"<!--@end-->>{$val}</option>
<!--@end-->
</select>
<input type="text" name="search_keyword" value="{htmlspecialchars($search_keyword)}" />
<input type="submit" value="{$lang->cmd_search}" />
<a href="#">{$lang->cmd_cancel}</a>
</form>
<block cond="$last_page != $page_navigation->last_page && $last_page + 1 != $page_navigation->last_page">
{@$isGoTo = true}
<li>
<a href="#goTo" data-toggle title="{$lang->cmd_go_to_page}">&hellip;</a>
<span cond="$isGoTo" id="goTo" class="x_input-append">
<input type="number" min="1" max="{$page_navigation->last_page}" required name="page" title="{$lang->cmd_go_to_page}" />
<button type="submit" class="x_add-on">Go</button>
</span>
</li>
</block>
<li class="x_disabled"|cond="$page == $page_navigation->last_page"><a href="{getUrl('page', $page_navigation->last_page)}" title="{$page_navigation->last_page}">{$lang->last_page} &raquo;</a></li>
</ul>
</form>
<form action="./" method="get" class="search center x_input-append x_clearfix">
<input type="hidden" name="module" value="{$module}" />
<input type="hidden" name="act" value="{$act}" />
<input type="hidden" name="module_srl" value="{$module_srl}" />
<input type="hidden" name="error_return_url" value="" />
<select name="search_target" title="{$lang->search_target}" style="margin-right:4px">
<!--@foreach($lang->search_target_list as $key => $val)-->
<option value="{$key}" <!--@if($search_target==$key)-->selected="selected"<!--@end-->>{$val}</option>
<!--@end-->
</select>
<input type="search" name="search_keyword" value="{htmlspecialchars($search_keyword)}" title="{$lang->cmd_search}" />
<button type="submit" class="x_btn x_btn-inverse">{$lang->cmd_search}</button>
<a href="{getUrl('','module',$module,'act',$act)}" class="x_btn">{$lang->cmd_cancel}</a>
</form>
<form action="./" method="post" class="x_modal" id="manageForm">
<input type="hidden" name="module" value="document" />
<input type="hidden" name="act" value="procDocumentManageCheckedDocument" />
<input type="hidden" name="type" value="" />
<input type="hidden" name="module_srl" value="" />
<input type="hidden" name="success_return_url" value="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminList', 'is_secret', $is_secret, 'search_target', $search_target, 'search_keyword', $search_keyword)}" cond="!empty($search_target) && !empty($search_keyword)" />
<input type="hidden" name="xe_validator_id" value="modules/document/tpl/document_list/1" />
<div class="x_modal-header">
<h1>{$lang->document_manager}: <span class="_sub"></span></h1>
</div>
<div class="x_modal-body">
<section class="moveList">
<table width="100%" id="documentManageListTable" class="x_table x_table-striped x_table-hover">
<caption><strong>{$lang->selected_document} <span id="selectedDocumentCount"></span></strong></caption>
<thead>
<tr>
<th scope="col" class="title">{$lang->title}</th>
<th scope="col" class="nowr">{$lang->writer}</th>
<th scope="col" class="nowr">{$lang->status}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<div class="x_control-group" style="padding-right:14px;border-top:0">
<label for="message">{$lang->message_notice}</label>
<textarea rows="4" cols="42" name="message_content" id="message" style="width:100%"></textarea>
</div>
</section>
<section class="moveTree" hidden>
<h1>{$lang->msg_select_menu}</h1>
<p>{$lang->selected_document_move}</p>
<div class="tree _menuSelector">
<select class="site_selector" style="width:100%;display:none"></select><div class="tree" style="height:250px;overflow-y:scroll;border:1px solid #aaa"></div>
</div>
</section>
</div>
<div class="x_modal-footer">
<button type="submit" name="type" value="" class="x_btn x_btn-inverse x_pull-right">{$lang->cmd_confirm}</button>
<!-- value="trash|delete|move|copy" -->
</div>
</form>
<script>
jQuery(function($){
// Modal anchor activation
var $docTable = $('#documentListTable');
$docTable.find(':checkbox').change(function(){
var $modalAnchor = $('a[data-value]');
if($docTable.find('tbody :checked').length == 0){
$modalAnchor.removeAttr('href').addClass('x_disabled');
} else {
$modalAnchor.attr('href','#manageForm').removeClass('x_disabled');
}
}).change();
// Button action
$('a[data-value]').bind('before-open.mw', function(){
if($docTable.find('tbody :checked').length == 0){
$('body').css('overflow','auto');
alert('{$lang->msg_not_selected_document}');
return false;
} else {
var $this = $(this);
var $manageForm = $('#manageForm');
var $modalBody = $manageForm.find('.x_modal-body');
var thisValue = $this.attr('data-value');
var thisText = $this.text();
getDocumentList();
$manageForm.find('.x_modal-header ._sub').text(thisText).end().find('[type="submit"]').val(thisValue).text(thisText);
if(thisValue == 'trash' || thisValue == 'delete'){
$modalBody.removeClass('showTree');
} else if(thisValue == 'move' || thisValue == 'copy') {
$.xeShowMenuSelectorIn($('._menuSelector'));
$modalBody.addClass('showTree');
$tree = $('._menuSelector .tree');
$tree.bind('select_node.jstree', function(a,b){
var aSelected = [];
$tree.find('.jstree-clicked').each(function(idx, el){
var htParam = $.parseJSON($(this).attr('data-param'));
aSelected.push({browser_title: htParam.sMenuTitle, mid: htParam.sMenuUrl, module_srl: htParam.sModuleSrl, menu_id: htParam.sMenuId, type: htParam.sType});
//module_srl
});
$('#manageForm input[name=module_srl]').val(aSelected[0].module_srl);
});
$('._menuSelector').bind('site_changed', function(){
$('#manageForm input[name=module_srl]').val('');
});
}
}
});
});
</script>

View file

@ -1,46 +1,44 @@
<!--%import("filter/insert_document_module_config.xml")-->
<form action="./" method="post" class="form">
<input type="hidden" name="module" value="document" />
<input type="hidden" name="act" value="procDocumentInsertModuleConfig" />
<input type="hidden" name="success_return_url" value="{getRequestUriByServerEnviroment()}" />
<input type="hidden" name="target_module_srl" value="{$module_info->module_srl?$module_info->module_srl:$module_srls}" />
<h3 class="h3">{$lang->document}</h3>
<div class="table">
<table width="100%" border="1" cellspacing="0">
<tr>
<th scope="row"><label for="use_history">{$lang->history}</label></th>
<td class="text">
<select name="use_history" id="use_history">
<option value="N" selected="selected"|cond="$document_config->use_history=='N'">{$lang->notuse}</option>
<option value="Y" selected="selected"|cond="$document_config->use_history=='Y'">{$lang->use}</option>
<option value="Trace" selected="selected"|cond="$document_config->use_history=='Trace'">{$lang->trace_only}</option>
</select>
<span class="desc">{$lang->about_use_history}</span>
</td>
</tr>
<tr>
<th scope="row"><label for="use_vote_up">{$lang->cmd_vote}</label></th>
<td class="text">
<select name="use_vote_up" id="use_vote_up">
<option value="Y" selected="selected"|cond="$document_config->use_vote_up=='Y'">{$lang->use}</option>
<option value="S" selected="selected"|cond="$document_config->use_vote_up=='S'">{$lang->use_and_display}</option>
<option value="N" selected="selected"|cond="$document_config->use_vote_up=='N'">{$lang->notuse}</option>
</select>
</td>
</tr>
<tr>
<th scope="row"><label for="use_vote_down">{$lang->cmd_vote_down}</label></th>
<td class="text">
<select name="use_vote_down" id="use_vote_down">
<option value="Y" selected="selected"|cond="$document_config->use_vote_down=='Y'">{$lang->use}</option>
<option value="S" selected="selected"|cond="$document_config->use_vote_down=='S'">{$lang->use_and_display}</option>
<option value="N" selected="selected"|cond="$document_config->use_vote_down=='N'">{$lang->notuse}</option>
</select>
</td>
</tr>
</table>
</div>
<div class="btnArea">
<span class="btn"><input type="submit" value="{$lang->cmd_save}"/></span>
</div>
</form>
<section class="section">
<h1>{$lang->document}</h1>
<form action="./" method="post" class="x_form-horizontal">
<input type="hidden" name="module" value="document" />
<input type="hidden" name="act" value="procDocumentInsertModuleConfig" />
<input type="hidden" name="success_return_url" value="{getRequestUriByServerEnviroment()}" />
<input type="hidden" name="target_module_srl" value="{$module_info->module_srl?$module_info->module_srl:$module_srls}" />
<div class="x_control-group">
<label for="use_history" class="x_control-label">{$lang->history}</label>
<div class="x_controls">
<select name="use_history" id="use_history">
<option value="N" selected="selected"|cond="$document_config->use_history=='N'">{$lang->notuse}</option>
<option value="Y" selected="selected"|cond="$document_config->use_history=='Y'">{$lang->use}</option>
<option value="Trace" selected="selected"|cond="$document_config->use_history=='Trace'">{$lang->trace_only}</option>
</select>
<p class="x_help-inline">{$lang->about_use_history}</p>
</div>
</div>
<div class="x_control-group">
<label for="use_vote_up" class="x_control-label">{$lang->cmd_vote}</label>
<div class="x_controls">
<select name="use_vote_up" id="use_vote_up">
<option value="Y" selected="selected"|cond="$document_config->use_vote_up=='Y'">{$lang->use}</option>
<option value="S" selected="selected"|cond="$document_config->use_vote_up=='S'">{$lang->use_and_display}</option>
<option value="N" selected="selected"|cond="$document_config->use_vote_up=='N'">{$lang->notuse}</option>
</select>
</div>
</div>
<div class="x_control-group">
<label for="use_vote_down" class="x_control-label">{$lang->cmd_vote_down}</label>
<div class="x_controls">
<select name="use_vote_down" id="use_vote_down">
<option value="Y" selected="selected"|cond="$document_config->use_vote_down=='Y'">{$lang->use}</option>
<option value="S" selected="selected"|cond="$document_config->use_vote_down=='S'">{$lang->use_and_display}</option>
<option value="N" selected="selected"|cond="$document_config->use_vote_down=='N'">{$lang->notuse}</option>
</select>
</div>
</div>
<div class="btnArea">
<button type="submit" class="x_btn x_btn-primary">{$lang->cmd_save}</button>
</div>
</form>
</section>

View file

@ -12,49 +12,47 @@
<!-- 모듈 선택 -->
<div class="btnArea">
<span class="btn"><a href="{getUrl('','module','module','act','dispModuleSelectList','id','target_module','type','single')}" onclick="popopen(this.href,'ModuleSelect');return false;">{$lang->cmd_find_module}</a></span>
<a class="btn" href="{getUrl('','module','module','act','dispModuleSelectList','id','target_module','type','single')}" onclick="popopen(this.href,'ModuleSelect');return false;">{$lang->cmd_find_module}</a>
</div>
<!-- 목록 -->
<div class="table">
<table width="100%" border="1" cellspacing="0">
<caption>Total {number_format($total_count)}, Page {number_format($page)}/{number_format($total_page)}</caption>
<thead>
<tr>
<th scope="col">{$lang->no}</th>
<th scope="col" >{$lang->document}</th>
<th scope="col">{$lang->trash_nick_name}</th>
<th scope="col">{$lang->trash_date}</th>
<th scope="col">{$lang->ipaddress}</th>
<th scope="col">{$lang->trash_description}</th>
<th scope="col">{$lang->cmd_restore}</th>
</tr>
</thead>
<tbody>
<!--@foreach($document_list as $no => $oDocument)-->
<tr>
<td>{$no}</td>
<td>
{$oDocument->getTitle()}
<!--@if($oDocument->getCommentCount())-->
[{$oDocument->getCommentCount()}]
<!--@end-->
<!--@if($oDocument->getTrackbackCount())-->
[{$oDocument->getTrackbackCount()}]
<!--@end-->
</td>
<td><a href="#popup_menu_area" class="member_{$oDocument->get('trash_member_srl')}">{htmlspecialchars($oDocument->get('trash_nick_name'))}</a></td>
<td>{zdate($oDocument->get('trash_date'), "Y-m-d H:i:s")}</td>
<td>{$oDocument->get('ipaddress')}</td>
<td >{$oDocument->get('trash_description')}</td>
<td><button type="button" onclick="executeFilterByTargetSrl('restore_form', {$oDocument->get('trash_srl')}, restore_trash);">{$lang->cmd_restore}</button></td>
</tr>
<!--@end-->
</tbody>
</table>
</div>
<table class="x_table x_table-striped x_table-hover">
<caption>Total {number_format($total_count)}, Page {number_format($page)}/{number_format($total_page)}</caption>
<thead>
<tr>
<th scope="col">{$lang->no}</th>
<th scope="col" >{$lang->document}</th>
<th scope="col">{$lang->trash_nick_name}</th>
<th scope="col">{$lang->trash_date}</th>
<th scope="col">{$lang->ipaddress}</th>
<th scope="col">{$lang->trash_description}</th>
<th scope="col">{$lang->restore}</th>
</tr>
</thead>
<tbody>
<!--@foreach($document_list as $no => $oDocument)-->
<tr>
<td>{$no}</td>
<td>
{$oDocument->getTitle()}
<!--@if($oDocument->getCommentCount())-->
[{$oDocument->getCommentCount()}]
<!--@end-->
<!--@if($oDocument->getTrackbackCount())-->
[{$oDocument->getTrackbackCount()}]
<!--@end-->
</td>
<td><a href="#popup_menu_area" class="member_{$oDocument->get('trash_member_srl')}">{htmlspecialchars($oDocument->get('trash_nick_name'))}</a></td>
<td>{zdate($oDocument->get('trash_date'), "Y-m-d H:i:s")}</td>
<td>{$oDocument->get('ipaddress')}</td>
<td >{$oDocument->get('trash_description')}</td>
<td><button type="button" onclick="executeFilterByTargetSrl('restore_form', {$oDocument->get('trash_srl')}, restore_trash);">{$lang->restore}</button></td>
</tr>
<!--@end-->
</tbody>
</table>
</form>

View file

@ -2,122 +2,142 @@
<!--%import("filter/insert_extra_var.xml")-->
<!--%import("filter/delete_extra_var.xml")-->
<!--@if($selected_var_idx && $extra_keys[$selected_var_idx])-->
<block cond="$selected_var_idx && $extra_keys[$selected_var_idx]">
{@ $selected_var = $extra_keys[$selected_var_idx] }
<!--@end-->
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</block>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/document/tpl/extra_keys/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<!--@if($type == 'insertExtraForm' || $selected_var_idx)-->
<form ruleset="insertExtraVar" action="./" method="post">
<input type="hidden" name="module" value="document" />
<input type="hidden" name="act" value="procDocumentAdminInsertExtraVar" />
<input type="hidden" name="module_srl" value="{$module_srl}" />
<input type="hidden" name="var_idx" value="{$selected_var_idx}" />
<input type="hidden" name="success_return_url" value="{getUrl('type', '')}" />
<section class="section">
<h1>{$lang->extra_vars}</h1>
<form ruleset="insertExtraVar" action="./" method="post" class="x_form-horizontal">
<input type="hidden" name="module" value="document" />
<input type="hidden" name="act" value="procDocumentAdminInsertExtraVar" />
<input type="hidden" name="module_srl" value="{$module_srl}" />
<input type="hidden" name="var_idx" value="{$selected_var_idx}" />
<input type="hidden" name="success_return_url" value="{getUrl('type', '')}" />
<input type="hidden" name="xe_validator_id" value="modules/document/tpl/extra_keys/1" />
<div class="x_control-group">
<label class="x_control-label" for="eid">{$lang->eid}</label>
<div class="x_controls">
<input type="text" name="eid" id="eid" value="{$selected_var->eid}" placeholder="Ex) extra_vars_1" />
<p class="x_help-inline">{$lang->about_extra_vars_eid_value}</p>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label" for="lang_name">{$lang->column_name}</label>
<div class="x_controls">
<input type="text" name="name" id="name" value="<!--@if(strpos($selected_var->name, '$user_lang->') === false)-->{$selected_var->name}<!--@else-->{htmlspecialchars($selected_var->name)}<!--@end-->" class="lang_code" placeholder="Ex) Your favorite color." />
</div>
</div>
<div class="x_control-group">
<label class="x_control-label" for="type">{$lang->column_type}</label>
<div class="x_controls">
<select name="type" id="type">
<option loop="$lang->column_type_list => $k, $v" value="{$k}" selected="selected"|cond="$selected_var->type == $k">{$lang->column_type_list[$k]}</option>
</select>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->is_required}</label>
<div class="x_controls">
<label class="x_inline" for="is_required_y"><input type="radio" name="is_required" id="is_required_y" value="Y" checked="checked"|cond="$selected_var->is_required == 'Y'" /> {$lang->yes}</label>
<label class="x_inline" for="is_required_n"><input type="radio" name="is_required" id="is_required_n" value="N" checked="checked"|cond="$selected_var->is_required != 'Y'" /> {$lang->not}</label>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label" for="default">{$lang->default_value}</label>
<div class="x_controls">
<input type="text" name="default" id="default" value="{$selected_var->default}" placeholder="Ex) Red, Green, Blue" />
<p class="x_help-inline">{$lang->about_extra_vars_default_value}</p>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label" for="lang_desc">{$lang->description}</label>
<div class="x_controls">
<input type="text" name="desc" id="desc" value="{$selected_var->desc}" class="lang_code" placeholder="Ex) Displayed as your choice." />
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->cmd_search}</label>
<div class="x_controls">
<label class="x_inline" for="search_y"><input type="radio" name="search" id="search_y" value="Y" checked="checked"|cond="$selected_var->search=='Y'" /> {$lang->yes}</label>
<label class="x_inline" for="search_n"><input type="radio" name="search" id="search_n" value="N" checked="checked"|cond="$selected_var->search!='Y'" /> {$lang->not}</label>
</div>
</div>
<div class="x_clearfix btnArea">
<div class="x_pull-left">
<a class="x_btn" href="{getUrl('type','','selected_var_idx','')}">{$lang->cmd_back}</a>
</div>
<div class="x_pull-right">
<!--@if($selected_var)-->
<button type="submit" class="x_btn x_btn-primary">{$lang->cmd_modify}</button>
<!--@else-->
<button type="submit" class="x_btn x_btn-primary">{$lang->cmd_insert}</button>
<!--@end-->
</div>
</div>
</form>
</section>
<h3 class="h3">{$lang->extra_vars} {$selected_var_idx}</h3>
<div class="table">
<table width="100%" border="1" cellspacing="0">
<tr>
<th>{$lang->eid}</th>
<td >
<input type="text" name="eid" value="{$selected_var->eid}" id="eid" /><p>{$lang->about_extra_vars_eid_value}</p>
</td>
</tr>
<tr>
<th>{$lang->column_name}</th>
<td >
<input type="text" name="name" value="{htmlspecialchars($selected_var->name)}" id="name" /><a href="{getUrl('','module','module','act','dispModuleAdminLangcode','target','name')}" onclick="popopen(this.href);return false;" class="buttonSet buttonSetting"><span>{$lang->cmd_find_langcode}</span></a>
</td>
</tr>
<tr>
<th>{$lang->column_type}</th>
<td>
<select name="type">
<!--@foreach($lang->column_type_list as $k => $v)-->
<!--@if($key != 'kr_zip')-->
<option value="{$k}" <!--@if($selected_var->type==$k)-->selected="selected"<!--@end-->>{$lang->column_type_list[$k]}</option>
<!--@end-->
<!--@end-->
</select>
</td>
</tr>
<tr>
<th>{$lang->is_required}</th>
<td><input type="checkbox" name="is_required" value="Y" <!--@if($selected_var->is_required=='Y')-->checked="checked"<!--@end--> /></td>
</tr>
<tr>
<th>{$lang->default_value}</th>
<td><input type="text" name="default" value="{$selected_var->default}" /><p>{$lang->about_extra_vars_default_value}</p></td>
</tr>
<tr>
<th>{$lang->description}</th>
<td><input type="text" name="desc" value="{$selected_var->desc}" id="desc" /><a href="{getUrl('','module','module','act','dispModuleAdminLangcode','target','desc')}" onclick="popopen(this.href);return false;" class="buttonSet buttonSetting"><span>{$lang->cmd_find_langcode}</span></a></td>
</tr>
<tr>
<th>{$lang->cmd_search}</th>
<td><input type="checkbox" name="search" value="Y" <!--@if($selected_var->search=='Y')-->checked="checked"<!--@end--> /></td>
</tr>
</table>
</div>
<div class="btnArea">
<!--@if($selected_var)-->
<span class="btn"><input type="submit" value="{$lang->cmd_modify}" /></span>
<!--@else-->
<span class="btn"><input type="submit" value="{$lang->cmd_insert}" /></span>
<!--@end-->
<span class="btn"><a href="{getUrl('type','','selected_var_idx','')}">{$lang->cmd_back}</a></span>
</div>
</form>
<!--@else-->
<h3 class="h3">{$lang->extra_vars}</h3>
<div class="table">
<table width="100%" border="1" cellspacing="0">
<thead>
<tr>
<th>{$lang->no}</th>
<th>{$lang->eid}</th>
<th>{$lang->column_name}</th>
<th>{$lang->column_type}</th>
<th>{$lang->is_required}</th>
<th>{$lang->cmd_search}</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
<!--@foreach($extra_keys as $key => $val)-->
<tr>
<td rowspan="3">{$val->idx}</td>
<td rowspan="3">{$val->eid}</td>
<td><b>{$val->name}</b></td>
<td>{$lang->column_type_list[$val->type]}</td>
<td rowspan="3"><!--@if($val->is_required=='Y')--><b>{$lang->is_required}</b><!--@else-->N<!--@end--></td>
<td rowspan="3"><!--@if($val->search=='Y')--><b>{$lang->search_target}</b><!--@else-->N<!--@end--></td>
<td rowspan="3">
<!--@if($val->idx>1)--><a href="#" onclick="moveVar('up','{$module_srl}','{$val->idx}'); return false;" class="buttonSet buttonUp"><span>{$lang->cmd_move_up}</span></a><!--@end-->
<a cond="count($extra_keys) > $val->idx" href="#" onclick="moveVar('down','{$module_srl}','{$val->idx}');return false;" class="buttonSet buttonDown">{$lang->cmd_move_down}</a>
<a href="{getUrl('selected_var_idx',$val->idx)}" class="buttonSet buttonSetting"><span>{$lang->cmd_modify}...</span></a>
<a href="#" onclick="return doDeleteExtraKey('{$module_srl}','{$val->idx}');" class="buttonSet buttonDelete"><span>{$lang->cmd_delete}</span></a>
</td>
</tr>
<tr>
<td>{$lang->default_value}</td>
<td >{$val->default}&nbsp;</td>
</tr>
<tr>
<td>{$lang->description}</td>
<td >{$val->desc}&nbsp;</td>
</tr>
<!--@end-->
</tbody>
</table>
<section class="section">
<div class="x_clearfix">
<div class="x_btn-group x_pull-right">
<a class="x_btn" href="{getUrl('type','insertExtraForm','selected_var_idx','')}">{$lang->cmd_insert}</a>
</div>
</div>
<div class="btnArea">
<span class="btn"><a href="{getUrl('type','insertExtraForm','selected_var_idx','')}">{$lang->cmd_insert}</a></span>
<table class="x_table x_table-striped x_table-hover">
<thead>
<tr class="nowr">
<th>{$lang->no}</th>
<th>{$lang->eid}</th>
<th>{$lang->column_name}</th>
<th>{$lang->column_type}</th>
<th>{$lang->default_value}</th>
<th>{$lang->is_required}</th>
<th>{$lang->cmd_search}</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
<block loop="$extra_keys => $key,$val">
<tr>
<td rowspan="2"|cond="$val->desc">{$val->idx}</td>
<td>{$val->eid}</td>
<td class="nowr"><strong>{$val->name}</strong></td>
<td class="nowr">{$lang->column_type_list[$val->type]}</td>
<td>{$val->default}&nbsp;</td>
<td class="nowr"><!--@if($val->is_required=='Y')--><strong>Y</strong><!--@else-->N<!--@end--></td>
<td class="nowr"><!--@if($val->search=='Y')--><strong>Y</strong><!--@else-->N<!--@end--></td>
<td class="nowr" style="text-align:right">
<block cond="$val->idx > 1">
<button type="button" class="x_icon-arrow-up" onclick="moveVar('up','{$module_srl}','{$val->idx}')">{$lang->cmd_move_up}</button>
</block>
<block cond="count($extra_keys) > $val->idx">
<button type="button" class="x_icon-arrow-down" onclick="moveVar('down','{$module_srl}','{$val->idx}')">{$lang->cmd_move_down}</button>
</block>
<a href="{getUrl('selected_var_idx',$val->idx)}" class="x_icon-wrench">{$lang->cmd_modify}</a>
<button type="button" class="x_icon-trash" onclick="return doDeleteExtraKey('{$module_srl}','{$val->idx}');">{$lang->cmd_delete}</button>
</td>
</tr>
<tr cond="$val->desc">
<td colspan="7">{$val->desc}</td>
</tr>
</block>
</tbody>
</table>
<div class="x_clearfix">
<div class="x_pull-right">
<a class="x_btn" href="{getUrl('type','insertExtraForm','selected_var_idx','')}">{$lang->cmd_insert}</a>
</div>
</div>
</section>
<!--@end-->
<form id="fo_delete" name="fo_delete" method="post" action="./">

View file

@ -1,9 +1,9 @@
<load target="js/document_admin.js" usecdn="true" />
<h3 class="h3">{$lang->document} {$lang->cmd_management}</h3>
<div class="cnb">
<ul>
<li <!--@if($act=='dispDocumentAdminList')-->class="active"<!--@end-->><a href="{getUrl('act','dispDocumentAdminList')}">{$lang->document_list}</a></li>
<li <!--@if($act=='dispDocumentAdminConfig')-->class="active"<!--@end-->><a href="{getUrl('act','dispDocumentAdminConfig')}">{$lang->cmd_module_config}</a></li>
<li <!--@if($act=='dispDocumentAdminDeclared')-->class="active"<!--@end-->><a href="{getUrl('act','dispDocumentAdminDeclared')}">{$lang->cmd_declared_list}</a></li>
</ul>
</div>
<h1>{$lang->document} {$lang->cmd_management}</h1>
<p>
<a href="{getUrl('act','dispDocumentAdminList')}" class="active"|cond="$act=='dispDocumentAdminList'">{$lang->document_list}</a>
<i>|</i>
<a href="{getUrl('act','dispDocumentAdminConfig')}" class="active"|cond="$act=='dispDocumentAdminConfig'">{$lang->cmd_module_config}</a>
<i>|</i>
<a href="{getUrl('act','dispDocumentAdminDeclared')}" class="active"|cond="$act=='dispDocumentAdminDeclared'">{$lang->cmd_declared_list}</a>
</p>

View file

@ -53,7 +53,7 @@ function insertSelectedModule(id, module_srl, mid, browser_title) {
}
function completeInsertExtraVar(ret_obj) {
alert(ret_obj['message']);
// alert(ret_obj['message']);
location.href = current_url.setQuery('type','').setQuery('selected_var_idx','');
}
@ -255,3 +255,4 @@ function checkSearch(form)
return false;
}
}

View file

@ -5,68 +5,88 @@
**/
function Tree(url){
var $ = jQuery;
// clear tree;
jQuery('#menu > ul > li > ul').remove();
if(jQuery("ul.simpleTree > li > a").size() ==0)jQuery('<a href="#" class="add"><img src="./common/js/plugins/ui.tree/images/iconAdd.gif" /></a>').bind("click",function(e){addNode(0,e);}).appendTo("ul.simpleTree > li");
$('#menu > ul > li > ul').remove();
if($("ul.simpleTree > li > a").size() == 0){
$('<a href="#__category_info" class="add modalAnchor"><img src="./common/js/plugins/ui.tree/images/iconAdd.gif" /></a>')
.bind('before-open.mw', function(e){
addNode(0,e);
})
.appendTo("ul.simpleTree > li")
.xeModalWindow();
}
//ajax get data and transeform ul il
jQuery.get(url,function(data){
jQuery(data).find("node").each(function(i){
var text = jQuery(this).attr("text");
var node_srl = jQuery(this).attr("node_srl");
var parent_srl = jQuery(this).attr("parent_srl");
var color = jQuery(this).attr("color");
var url = jQuery(this).attr("url");
$.get(url,function(data){
$(data).find("node").each(function(i){
var text = $(this).attr("text");
var node_srl = $(this).attr("node_srl");
var parent_srl = $(this).attr("parent_srl");
var color = $(this).attr("color");
var url = $(this).attr("url");
// node
var node = '';
if(color && color !='transparent'){
node = jQuery('<li id="tree_'+node_srl+'"><span style="color:'+color+';">'+text+'</span></li>');
node = $('<li id="tree_'+node_srl+'"></li>');
var $span = $('<span></span>').css('color', color).text(text);
node.append($span);
}else{
node = jQuery('<li id="tree_'+node_srl+'"><span>'+text+'</span></li>');
node = $('<li id="tree_'+node_srl+'"></li>');
var $span = $('<span></span>').text(text);
node.append($span);
}
// button
jQuery('<a href="#" class="add"><img src="./common/js/plugins/ui.tree/images/iconAdd.gif" /></a>').bind("click",function(e){
jQuery("#tree_"+node_srl+" > span").click();
$('<a href="#__category_info" class="add modalAnchor"><img src="./common/js/plugins/ui.tree/images/iconAdd.gif" /></a>').bind("click",function(e){
$("#tree_"+node_srl+" > span").click();
})
.bind('before-open.mw', function(e){
addNode(node_srl,e);
return false;
}).appendTo(node);
})
.appendTo(node)
.xeModalWindow();
jQuery('<a href="#" class="modify"><img src="./common/js/plugins/ui.tree/images/iconModify.gif" /></a>').bind("click",function(e){
jQuery("#tree_"+node_srl+" > span").click();
$('<a href="#__category_info" class="modify modalAnchor"><img src="./common/js/plugins/ui.tree/images/iconModify.gif" /></a>').bind("click",function(e){
$("#tree_"+node_srl+" > span").click();
})
.bind('before-open.mw', function(e){
modifyNode(node_srl,e);
return false;
}).appendTo(node);
})
.appendTo(node)
.xeModalWindow();
jQuery('<a href="#" class="delete"><img src="./common/js/plugins/ui.tree/images/iconDel.gif" /></a>').bind("click",function(e){
$('<a href="#" class="delete"><img src="./common/js/plugins/ui.tree/images/iconDel.gif" /></a>').bind("click",function(e){
deleteNode(node_srl);
return false;
}).appendTo(node);
// insert parent child
if(parent_srl>0){
if(jQuery('#tree_'+parent_srl+'>ul').length==0) jQuery('#tree_'+parent_srl).append(jQuery('<ul>'));
jQuery('#tree_'+parent_srl+'> ul').append(node);
if($('#tree_'+parent_srl+'>ul').length==0) $('#tree_'+parent_srl).append($('<ul>'));
$('#tree_'+parent_srl+'> ul').append(node);
}else{
if(jQuery('#menu ul.simpleTree > li > ul').length==0) jQuery("<ul>").appendTo('#menu ul.simpleTree > li');
jQuery('#menu ul.simpleTree > li > ul').append(node);
if($('#menu ul.simpleTree > li > ul').length==0) $("<ul>").appendTo('#menu ul.simpleTree > li');
$('#menu ul.simpleTree > li > ul').append(node);
}
});
//button show hide
jQuery("#menu li").each(function(){
if(jQuery(this).parents('ul').size() > max_menu_depth) jQuery("a.add",this).hide();
if(jQuery(">ul",this).size()>0) jQuery(">a.delete",this).hide();
$("#menu li").each(function(){
if($(this).parents('ul').size() > max_menu_depth) $("a.add",this).hide();
if($(">ul",this).size()>0) $(">a.delete",this).hide();
});
// draw tree
simpleTreeCollection = jQuery('.simpleTree').simpleTree({
simpleTreeCollection = $('.simpleTree').simpleTree({
autoclose: false,
afterClick:function(node){
jQuery('#category_info').html("");
$('#category_info').html("");
//alert("text-"+jQuery('span:first',node).text());
},
afterDblClick:function(node){
@ -77,7 +97,7 @@ function Tree(url){
Tree(xml_url);
return;
}
var module_srl = jQuery("#fo_category input[name=module_srl]").val();
var module_srl = $("#fo_category input[name=module_srl]").val();
var parent_srl = destination.attr('id').replace(/.*_/g,'');
var source_srl = source.attr('id').replace(/.*_/g,'');
@ -88,9 +108,9 @@ function Tree(url){
parent_srl = 0;
}
jQuery.exec_json("document.procDocumentMoveCategory",{ "module_srl":module_srl,"parent_srl":parent_srl,"target_srl":target_srl,"source_srl":source_srl},
$.exec_json("document.procDocumentMoveCategory",{ "module_srl":module_srl,"parent_srl":parent_srl,"target_srl":target_srl,"source_srl":source_srl},
function(data){
jQuery('#category_info').html('');
$('#category_info').html('');
if(data.error > 0) Tree(xml_url);
});
@ -98,12 +118,12 @@ function Tree(url){
// i want you !! made by sol
beforeMovedToLine : function(destination, source, pos){
return (jQuery(destination).parents('ul').size() + jQuery('ul',source).size() <= max_menu_depth);
return ($(destination).parents('ul').size() + jQuery('ul',source).size() <= max_menu_depth);
},
// i want you !! made by sol
beforeMovedToFolder : function(destination, source, pos){
return (jQuery(destination).parents('ul').size() + jQuery('ul',source).size() <= max_menu_depth-1);
return ($(destination).parents('ul').size() + jQuery('ul',source).size() <= max_menu_depth-1);
},
afterAjax:function()
{
@ -117,30 +137,71 @@ function Tree(url){
// open all node
nodeToggleAll();
},"xml");
}
function addNode(node,e){
var params ={
"category_srl":0
,"parent_srl":node
,"module_srl":jQuery("#fo_category [name=module_srl]").val()
};
jQuery.exec_json('document.getDocumentCategoryTplInfo', params, function(data){
jQuery('#category_info').html(data.tpl).css('left',e.pageX).css('top',e.pageY);
});
function clearValue(){
var $ = jQuery;
var $w = $('#__category_info');
// clear value
$w.find('input[type="text"], textarea').val('');
$w.find('input[type="checkbox"]').removeAttr('checked');
$w.find('.lang_code').trigger('reload-multilingual');
$w.find('.color-indicator').trigger('keyup');
}
function addNode(node,e){
var $ = jQuery;
var $w = $('#__category_info');
clearValue();
// set value
$w.find('input[name="category_srl"]').val(0);
$w.find('input[name="parent_srl"]').val(node);
if(node){
$('#__parent_category_info').show().next('.x_control-group').css('borderTop','1px dotted #ddd');
$('#__parent_category_title').text($('#tree_' + node + ' > span').text());
}else{
$('#__parent_category_info').hide().next('.x_control-group').css('borderTop','0');
}
}
function modifyNode(node,e){
var params ={
"category_srl":node
,"parent_srl":0
,"module_srl":jQuery("#fo_category [name=module_srl]").val()
};
var $ = jQuery;
var $w = $('#__category_info');
jQuery.exec_json('document.getDocumentCategoryTplInfo', params, function(data){
jQuery('#category_info').html(data.tpl).css('left',e.pageX).css('top',e.pageY);
});
clearValue();
// set value
$w.find('input[name="category_srl"]').val(node);
var module_srl = $w.find('input[name="module_srl"]').val();
$.exec_json('document.getDocumentCategoryTplInfo', {'module_srl': module_srl, 'category_srl': node}, function(data){
if(!data || !data.category_info) return;
if(data.error){
alert(data.message);
return;
}
$w.find('input[name="parent_srl"]').val(data.category_info.parent_srl);
$w.find('input[name="category_title"]').val(data.category_info.title).trigger('reload-multilingual');
$w.find('input[name="category_color"]').val(data.category_info.color).trigger('keyup');
$w.find('textarea[name="category_description"]').val(data.category_info.description).trigger('reload-multilingual');
for(var i in data.category_info.group_srls){
var group_srl = data.category_info.group_srls[i];
$w.find('input[name="group_srls[]"][value="' + group_srl + '"]').attr('checked', 'checked');
}
if(data.category_info.expand == 'Y'){
$w.find('input[name="expand"]').attr('checked', 'checked');
}
});
$('#__parent_category_info').hide().next('.x_control-group').css('borderTop','0');
}
@ -183,7 +244,3 @@ function doReloadTreeCategory(module_srl) {
var response_tags = new Array('error','message', 'xml_file');
exec_xml('document', 'procDocumentMakeXmlFile', params, completeInsertCategory, response_tags, params);
}
function doCategoryFormMove() {
jQuery(function($){ $('#fo_category').appendTo(document.body); $('#category_info').css('width', '550px'); });
}

View file

@ -1,5 +1,5 @@
<load target="./js/document_admin.js" usecdn="true" />
{$content}
<div class="btnArea">
<span class="btn"><button type="button" onclick="window.close();return false;">{$lang->cmd_close}</button></span>
<button class="btn" type="button" onclick="window.close();return false;">{$lang->cmd_close}</button>
</div>

View file

@ -8,7 +8,7 @@
<!--@end-->
<!--@end-->
{$oDocument->getContent(false, false)}
<script type="text/javascript">
<script>
//<![CDATA[
jQuery(window).load(function() { window.print(); } );
//]]>

View file

@ -1,28 +1,26 @@
<h1 class="h1">{$lang->cmd_view_saved_document}</h1>
<!-- 목록 -->
<div class="table">
<table width="100%" border="1" cellspacing="0">
<table class="x_table x_table-striped x_table-hover">
<caption>Total : {number_format($total_count)}, Page {number_format($page)}/{number_format($total_page)}</caption>
<thead>
<tr>
<th class="title">{$lang->date}</th>
<th class="title">{$lang->title}</th>
<th class="title">{$lang->cmd_select}</th>
</tr>
</thead>
<tbody>
<!--@foreach($document_list as $no => $val)-->
<tr>
<td>{$val->getRegdate("Y-m-d H:i:s")}</td>
<td > <a href="#" onclick="jQuery('#saved_document_{$val->document_srl}').toggle(); setFixedPopupSize(); return false;">{$val->getTitle()}</a>
<div id="saved_document_{$val->document_srl}" class="saved_content" style="display:none;">{$val->getContent(false)}</div>
</td>
<td><a href="#" onclick="doDocumentSelect('{$val->document_srl}'); return false;" class="buttonSet buttonActive"><span>{$lang->cmd_select}</span></a></td>
</tr>
<!--@end-->
</tbody>
<thead>
<tr>
<th class="title">{$lang->date}</th>
<th class="title">{$lang->title}</th>
<th class="title">{$lang->cmd_select}</th>
</tr>
</thead>
<tbody>
<!--@foreach($document_list as $no => $val)-->
<tr>
<td>{$val->getRegdate("Y-m-d H:i:s")}</td>
<td > <a href="#" onclick="jQuery('#saved_document_{$val->document_srl}').toggle(); setFixedPopupSize(); return false;">{$val->getTitle()}</a>
<div id="saved_document_{$val->document_srl}" class="saved_content" style="display:none;">{$val->getContent(false)}</div>
</td>
<td><a href="#" onclick="doDocumentSelect('{$val->document_srl}'); return false;" class="buttonSet buttonActive"><span>{$lang->cmd_select}</span></a></td>
</tr>
<!--@end-->
</tbody>
</table>
</div>
<!-- 페이지 네비게이션 -->
<div class="pagination">
<a href="{getUrl('page','','module_srl','')}" class="direction">&lsaquo; {$lang->first_page}</a>