diff --git a/classes/db/DBMssql.class.php b/classes/db/DBMssql.class.php
index ec6e4d541..f53b32ac4 100644
--- a/classes/db/DBMssql.class.php
+++ b/classes/db/DBMssql.class.php
@@ -30,11 +30,11 @@ class DBMssql extends DB
var $column_type = array(
'bignumber' => 'bigint',
'number' => 'int',
- 'varchar' => 'varchar',
- 'char' => 'char',
- 'text' => 'text',
- 'bigtext' => 'text',
- 'date' => 'varchar(14)',
+ 'varchar' => 'nvarchar',
+ 'char' => 'nchar',
+ 'text' => 'ntext',
+ 'bigtext' => 'ntext',
+ 'date' => 'nvarchar(14)',
'float' => 'float',
);
diff --git a/modules/admin/lang/lang.xml b/modules/admin/lang/lang.xml
index 3fc63c16b..e93335114 100644
--- a/modules/admin/lang/lang.xml
+++ b/modules/admin/lang/lang.xml
@@ -1590,8 +1590,8 @@
-
- 만약 접근이 차단된 경우 './files/config/db.config.php' 파일에서 `'use_sitelock' => 'Y'`를 `'use_sitelock' => 'N'`으로 변경하여 차단을 해제할 수 있습니다.]]>
- もし接近が遮断された場合、'./files/config/db.config.php' ファイルから `'use_sitelock' => 'Y'`を `'use_sitelock' => 'N'`へ変更すれば遮断が解除できます。]]>
+ 만약 접근이 차단된 경우 './files/config/db.config.php' 파일에서 `'use_sitelock' => 'Y'`를 `'use_sitelock' => 'N'`으로 변경하여 차단을 해제할 수 있습니다.
사이트 잠금 디자인 파일의 위치는 './common/tpl/sitelock.html' 입니다.]]>
+ もし接近が遮断された場合、'./files/config/db.config.php' ファイルから `'use_sitelock' => 'Y'`を `'use_sitelock' => 'N'`へ変更すれば遮断が解除できます。
サイトロックの設計ファイルの場所は、'./commo/tpl/sitelock.html' です。]]>
-
diff --git a/modules/board/board.admin.view.php b/modules/board/board.admin.view.php
index 3f53e5e7d..90cfbee54 100644
--- a/modules/board/board.admin.view.php
+++ b/modules/board/board.admin.view.php
@@ -55,7 +55,7 @@ class boardAdminView extends board {
// install order (sorting) options
foreach($this->order_target as $key) $order_target[$key] = Context::getLang($key);
- $order_target['list_order'] = Context::getLang('document_srl');
+ $order_target['list_order'] = Context::getLang('regdate');
$order_target['update_order'] = Context::getLang('last_update');
Context::set('order_target', $order_target);
}
diff --git a/modules/board/board.class.php b/modules/board/board.class.php
index d3adbd471..cb81e10f7 100644
--- a/modules/board/board.class.php
+++ b/modules/board/board.class.php
@@ -11,7 +11,7 @@ class board extends ModuleObject
{
var $search_option = array('title','content','title_content','comment','user_name','nick_name','user_id','tag'); ///< 검색 옵션
- var $order_target = array('list_order', 'update_order', 'regdate', 'voted_count', 'blamed_count', 'readed_count', 'comment_count', 'title'); // 정렬 옵션
+ var $order_target = array('list_order', 'update_order', 'voted_count', 'blamed_count', 'readed_count', 'comment_count', 'title'); // 정렬 옵션
var $skin = "default"; ///< skin name
var $list_count = 20; ///< the number of documents displayed in a page
diff --git a/modules/board/skins/default/list.html b/modules/board/skins/default/list.html
index bd58261a4..b5b06ed55 100644
--- a/modules/board/skins/default/list.html
+++ b/modules/board/skins/default/list.html
@@ -11,9 +11,9 @@
| {$lang->writer} |
{$lang->user_id} |
{$lang->user_name} |
- {$lang->date} |
- {$lang->last_update} |
- {$lang->last_post} |
+ {$lang->date} |
+ {$lang->last_update} |
+ {$lang->last_post} |
{$lang->readed_count} |
{$lang->voted_count} |
{$lang->blamed_count} |
diff --git a/modules/communication/communication.admin.controller.php b/modules/communication/communication.admin.controller.php
index be289821f..1f9e8b028 100644
--- a/modules/communication/communication.admin.controller.php
+++ b/modules/communication/communication.admin.controller.php
@@ -24,7 +24,7 @@ class communicationAdminController extends communication
function procCommunicationAdminInsertConfig()
{
// get the default information
- $args = Context::gets('skin', 'colorset', 'editor_skin', 'sel_editor_colorset', 'mskin', 'mcolorset', 'layout_srl', 'mlayout_srl');
+ $args = Context::gets('skin', 'colorset', 'editor_skin', 'sel_editor_colorset', 'mskin', 'mcolorset', 'layout_srl', 'mlayout_srl', 'grant_write_default','grant_write_group');
$args->editor_colorset = $args->sel_editor_colorset;
unset($args->sel_editor_colorset);
@@ -53,6 +53,11 @@ class communicationAdminController extends communication
$args->layout_srl = NULL;
}
+ $oCommunicationModel = getModel('communication');
+ $args->grant_write = $oCommunicationModel->getGrantArray($args->grant_write_default, $args->grant_write_group);
+ unset($args->grant_write_default);
+ unset($args->grant_write_group);
+
// create the module module Controller object
$oModuleController = getController('module');
$output = $oModuleController->insertModuleConfig('communication', $args);
diff --git a/modules/communication/communication.admin.view.php b/modules/communication/communication.admin.view.php
index 039a33c99..264161bfe 100644
--- a/modules/communication/communication.admin.view.php
+++ b/modules/communication/communication.admin.view.php
@@ -58,6 +58,10 @@ class communicationAdminView extends communication
$security->encodeHTML('communication_skin_list..title');
$security->encodeHTML('communication_mobile_skin_list..title');
+ $oMemberModel = getModel('member');
+ $group_list = $oMemberModel->getGroups($this->site_srl);
+ Context::set('group_list', $group_list);
+
// specify a template
$this->setTemplatePath($this->module_path . 'tpl');
$this->setTemplateFile('index');
diff --git a/modules/communication/communication.controller.php b/modules/communication/communication.controller.php
index c16f4457f..cbda510a2 100644
--- a/modules/communication/communication.controller.php
+++ b/modules/communication/communication.controller.php
@@ -88,6 +88,12 @@ class communicationController extends communication
// Check if there is a member to receive a message
$oMemberModel = getModel('member');
$oCommunicationModel = getModel('communication');
+ $config = $oCommunicationModel->getConfig();
+
+ if(!$oCommunicationModel->checkGrant($config->grant_write))
+ {
+ return new Object(-1, 'msg_not_permitted');
+ }
$receiver_member_info = $oMemberModel->getMemberInfoByMemberSrl($receiver_srl);
if($receiver_member_info->member_srl != $receiver_srl)
diff --git a/modules/communication/communication.model.php b/modules/communication/communication.model.php
index d5a0f88e3..46e262fd3 100644
--- a/modules/communication/communication.model.php
+++ b/modules/communication/communication.model.php
@@ -51,10 +51,102 @@ class communicationModel extends communication
{
$communication_config->mskin = 'default';
}
+
+ if(!$communication_config->grant_write)
+ {
+ $communication_config->grant_write = array('default_grant'=>'member');
+ }
return $communication_config;
}
+ /**
+ * @brief get grant array for insert to database. table module_config's config field
+ * @param string $default
+ * @param array $group
+ * @return array
+ */
+ function getGrantArray($default, $group)
+ {
+ $grant = array();
+ if($default!="")
+ {
+ switch($default)
+ {
+ case "-2":
+ $grant = array("default_grant"=>"site");
+ break;
+ case "-3":
+ $grant = array("default_grant"=>"manager");
+ break;
+ default :
+ $grant = array("default_grant"=>"member");
+ break;
+ }
+ }
+ else if(is_array($group))
+ {
+ $oMemberModel = getModel('member');
+ $group_list = $oMemberModel->getGroups($this->site_srl);
+
+ $group_grant = array();
+ foreach($group as $group_srl)
+ {
+ $group_grant[$group_srl] = $group_list[$group_srl]->title;
+ }
+ $grant = array('group_grant'=>$group_grant);
+ }
+ return $grant;
+ }
+
+ /**
+ * @brief check member's grant
+ * @param object $member_info
+ * @param array $arrGrant
+ * @return boolean
+ */
+ function checkGrant($arrGrant)
+ {
+ if(!$arrGrant)
+ return false;
+
+ $logged_info = Context::get('logged_info');
+ if(!$logged_info)
+ return false;
+
+ if($logged_info->is_admin == "Y")
+ return true;
+
+ if($arrGrant['default_grant'])
+ {
+ if($arrGrant['default_grant'] == "member" && $logged_info)
+ return true;
+
+ if($arrGrant['default_grant'] == "site" && $this->site_srl == $logged_info->site_srl)
+ return true;
+
+ if($arrGrant['default_grant'] == "manager" && $logged_info->is_admin == "Y")
+ return true;
+ }
+
+ if($arrGrant['group_grant'])
+ {
+ $group_grant = $arrGrant['group_grant'];
+ if(!is_array($group_grant))
+ return false;
+
+ foreach($logged_info->group_list as $group_srl=>$title)
+ {
+ if(isset($group_grant[$group_srl])&&$group_grant[$group_srl]==$title)
+ return true;
+ }
+
+ }
+
+ return false;
+
+ }
+
/**
* get the message contents
* @param int $message_srl
diff --git a/modules/communication/lang/lang.xml b/modules/communication/lang/lang.xml
index 6f31a0b9c..d4bac684f 100644
--- a/modules/communication/lang/lang.xml
+++ b/modules/communication/lang/lang.xml
@@ -376,4 +376,12 @@
+ -
+
+
+
+ -
+
+
+
diff --git a/modules/communication/tpl/index.html b/modules/communication/tpl/index.html
index e099a2f38..7f21fa105 100644
--- a/modules/communication/tpl/index.html
+++ b/modules/communication/tpl/index.html
@@ -1,4 +1,5 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -89,5 +108,7 @@
jQuery(function() {
doGetSkinColorset("{$communication_config->skin}", 'P');
doGetSkinColorset("{$communication_config->mskin}", 'M');
+ jQuery('.grant_default').change( function(event) { doShowGrantZone(); } );
+ doShowGrantZone()
});
diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php
index 709099db8..7e3f9e74a 100644
--- a/modules/document/document.controller.php
+++ b/modules/document/document.controller.php
@@ -793,6 +793,8 @@ class documentController extends document
$oCacheHandler = CacheHandler::getInstance('object');
if($oCacheHandler->isSupport())
{
+ $cache_key = 'document_item:'. getNumberingPath($oDocument->document_srl) . $oDocument->document_srl;
+ $oCacheHandler->delete($cache_key);
}
return $output;
diff --git a/modules/install/lang/lang.xml b/modules/install/lang/lang.xml
index 12fdf353e..75d4b81be 100644
--- a/modules/install/lang/lang.xml
+++ b/modules/install/lang/lang.xml
@@ -405,7 +405,7 @@
innodb để sử dụng MySql Database.
Giao dịch được kích hoạt cho innodb]]>
-
- Manual]]>
+ Manual]]>
Manual for more info]]>
Manual]]>
Manual]]>
diff --git a/modules/layout/tpl/layout_info_view.html b/modules/layout/tpl/layout_info_view.html
index 43cef668c..e270feccc 100644
--- a/modules/layout/tpl/layout_info_view.html
+++ b/modules/layout/tpl/layout_info_view.html
@@ -61,7 +61,6 @@
-
{@$group = ''}
{@$cnt = 1}
@@ -137,7 +136,7 @@
-
+
{$lang->menu}
diff --git a/modules/trash/conf/module.xml b/modules/trash/conf/module.xml
index e6225c9f2..5ffec0ed9 100644
--- a/modules/trash/conf/module.xml
+++ b/modules/trash/conf/module.xml
@@ -11,6 +11,8 @@
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+ -
+
+
+
+ -
+
+
+
+
+
diff --git a/modules/trash/queries/getDocumentExtraVars.xml b/modules/trash/queries/getDocumentExtraVars.xml
new file mode 100644
index 000000000..c02dd3fad
--- /dev/null
+++ b/modules/trash/queries/getDocumentExtraVars.xml
@@ -0,0 +1,32 @@
+
diff --git a/modules/trash/tpl/trash_list.html b/modules/trash/tpl/trash_list.html
index 8f08c3e82..add8cec8a 100644
--- a/modules/trash/tpl/trash_list.html
+++ b/modules/trash/tpl/trash_list.html
@@ -41,7 +41,7 @@ var no_text_comment = '{$lang->no_text_comment}';
|
{$lang->no_text_comment}
- {$oTrashVO->getTitle()}
+ {$oTrashVO->getTitle()}
|
{$lang->document}{$lang->comment} |
{$oTrashVO->getNickName()} |
diff --git a/modules/trash/tpl/trash_view.html b/modules/trash/tpl/trash_view.html
new file mode 100644
index 000000000..8cb422f08
--- /dev/null
+++ b/modules/trash/tpl/trash_view.html
@@ -0,0 +1,73 @@
+
+{$lang->delete_info}
+
+
+
+ | {$lang->trasher} |
+
+ {htmlspecialchars($remover_info->nick_name)} [{$remover_info->user_id}]
+ |
+
+
+ | {$lang->trash_date} |
+ {zdate($oTrashVO->getRegdate(), "Y-m-d H:i:s")} |
+
+
+ | {$lang->trash_description} |
+ {$oTrashVO->getDescription()} |
+
+
+
+{$lang->origin_info}
+
+
+
+ | {$lang->module} |
+
+ {$module_info->browser_title} ({$module_info->mid})
+ |
+
+
+ | {$lang->title} |
+ {$oOrigin->title} |
+
+
+ | {$lang->writer} |
+ {htmlspecialchars($oOrigin->nick_name)} [{$oOrigin->user_id}] |
+
+
+ | {$lang->regdate} |
+ {zdate($oOrigin->regdate,'Y.m.d H:i:s')} |
+
+
+ | {$val->name} |
+ {$val->value} |
+
+
+
+
+ | {$lang->content} |
+ {$oOrigin->content} |
+
+
+
+
+
+
diff --git a/modules/trash/trash.admin.view.php b/modules/trash/trash.admin.view.php
index c68635aad..cb5d2b766 100644
--- a/modules/trash/trash.admin.view.php
+++ b/modules/trash/trash.admin.view.php
@@ -51,6 +51,41 @@ class trashAdminView extends trash
// 템플릿 파일 지정
$this->setTemplateFile('trash_list');
}
+
+
+
+ // Trash View - sejin7940
+ function dispTrashAdminView()
+ {
+ $trash_srl = Context::get('trash_srl');
+
+ $oTrashModel = getModel('trash');
+ $output = $oTrashModel->getTrash($trash_srl);
+ if(!$output->data->getTrashSrl()) return new Object(-1, 'msg_invalid_request');
+
+ $originObject = unserialize($output->data->getSerializedObject());
+ if(is_array($originObject)) $originObject = (object)$originObject;
+
+ Context::set('oTrashVO',$output->data);
+ Context::set('oOrigin',$originObject);
+
+ $oMemberModel = &getModel('member');
+ $remover_info = $oMemberModel->getMemberInfoByMemberSrl($output->data->getRemoverSrl());
+ Context::set('remover_info', $remover_info);
+
+ $oModuleModel = &getModel('module');
+ $module_info = $oModuleModel->getModuleInfoByModuleSrl($originObject->module_srl);
+ Context::set('module_info', $module_info);
+
+ if($originObject) {
+ $args_extra->module_srl = $originObject->module_srl;
+ $args_extra->document_srl = $originObject->document_srl;
+ $output_extra = executeQueryArray('trash.getDocumentExtraVars', $args_extra);
+ Context::set('oOriginExtraVars',$output_extra->data);
+ }
+ $this->setTemplateFile('trash_view');
+ }
+
}
/* End of file trash.admin.view.php */
/* Location: ./modules/trash/trash.admin.view.php */
diff --git a/modules/widget/tpl/js/generate_code.js b/modules/widget/tpl/js/generate_code.js
index 87eb393f6..7d905fc23 100644
--- a/modules/widget/tpl/js/generate_code.js
+++ b/modules/widget/tpl/js/generate_code.js
@@ -133,6 +133,7 @@ function doFillWidgetVars() {
switch(type) {
case "hidden" :
+ case "number" :
case "text" :
case "textarea" :
var val = selected_node.getAttribute(name);