mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-28 15:49:57 +09:00
commit
e817450cd4
21 changed files with 329 additions and 17 deletions
|
|
@ -30,11 +30,11 @@ class DBMssql extends DB
|
||||||
var $column_type = array(
|
var $column_type = array(
|
||||||
'bignumber' => 'bigint',
|
'bignumber' => 'bigint',
|
||||||
'number' => 'int',
|
'number' => 'int',
|
||||||
'varchar' => 'varchar',
|
'varchar' => 'nvarchar',
|
||||||
'char' => 'char',
|
'char' => 'nchar',
|
||||||
'text' => 'text',
|
'text' => 'ntext',
|
||||||
'bigtext' => 'text',
|
'bigtext' => 'ntext',
|
||||||
'date' => 'varchar(14)',
|
'date' => 'nvarchar(14)',
|
||||||
'float' => 'float',
|
'float' => 'float',
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1590,8 +1590,8 @@
|
||||||
<value xml:lang="jp"><![CDATA[HTMLタグを使用できます。]]></value>
|
<value xml:lang="jp"><![CDATA[HTMLタグを使用できます。]]></value>
|
||||||
</item>
|
</item>
|
||||||
<item name="sitelock_warning_whitelist">
|
<item name="sitelock_warning_whitelist">
|
||||||
<value xml:lang="ko"><![CDATA[이곳에 관리자의 IP를 반드시 포함해야 합니다.<br />만약 접근이 차단된 경우 './files/config/db.config.php' 파일에서 `'use_sitelock' => '<strong>Y</strong>'`를 `'use_sitelock' => '<strong>N</strong>'`으로 변경하여 차단을 해제할 수 있습니다.]]></value>
|
<value xml:lang="ko"><![CDATA[이곳에 관리자의 IP를 반드시 포함해야 합니다.<br />만약 접근이 차단된 경우 './files/config/db.config.php' 파일에서 `'use_sitelock' => '<strong>Y</strong>'`를 `'use_sitelock' => '<strong>N</strong>'`으로 변경하여 차단을 해제할 수 있습니다.<br />사이트 잠금 디자인 파일의 위치는 './common/tpl/sitelock.html' 입니다.]]></value>
|
||||||
<value xml:lang="jp"><![CDATA[ここに管理者のIPを必ず記入てください。<br />もし接近が遮断された場合、'./files/config/db.config.php' ファイルから `'use_sitelock' => '<strong>Y</strong>'`を `'use_sitelock' => '<strong>N</strong>'`へ変更すれば遮断が解除できます。]]></value>
|
<value xml:lang="jp"><![CDATA[ここに管理者のIPを必ず記入てください。<br />もし接近が遮断された場合、'./files/config/db.config.php' ファイルから `'use_sitelock' => '<strong>Y</strong>'`を `'use_sitelock' => '<strong>N</strong>'`へ変更すれば遮断が解除できます。<br />サイトロックの設計ファイルの場所は、'./commo/tpl/sitelock.html' です。]]></value>
|
||||||
</item>
|
</item>
|
||||||
<item name="your_ip">
|
<item name="your_ip">
|
||||||
<value xml:lang="ko"><![CDATA[접속하신 IP]]></value>
|
<value xml:lang="ko"><![CDATA[접속하신 IP]]></value>
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ class boardAdminView extends board {
|
||||||
|
|
||||||
// install order (sorting) options
|
// install order (sorting) options
|
||||||
foreach($this->order_target as $key) $order_target[$key] = Context::getLang($key);
|
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');
|
$order_target['update_order'] = Context::getLang('last_update');
|
||||||
Context::set('order_target', $order_target);
|
Context::set('order_target', $order_target);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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 $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 $skin = "default"; ///< skin name
|
||||||
var $list_count = 20; ///< the number of documents displayed in a page
|
var $list_count = 20; ///< the number of documents displayed in a page
|
||||||
|
|
|
||||||
|
|
@ -11,9 +11,9 @@
|
||||||
<th scope="col" cond="$val->type=='nick_name' && $val->idx==-1"><span>{$lang->writer}</span></th>
|
<th scope="col" cond="$val->type=='nick_name' && $val->idx==-1"><span>{$lang->writer}</span></th>
|
||||||
<th scope="col" cond="$val->type=='user_id' && $val->idx==-1"><span>{$lang->user_id}</span></th>
|
<th scope="col" cond="$val->type=='user_id' && $val->idx==-1"><span>{$lang->user_id}</span></th>
|
||||||
<th scope="col" cond="$val->type=='user_name' && $val->idx==-1"><span>{$lang->user_name}</span></th>
|
<th scope="col" cond="$val->type=='user_name' && $val->idx==-1"><span>{$lang->user_name}</span></th>
|
||||||
<th scope="col" cond="$val->type=='regdate' && $val->idx==-1"><span><a href="{getUrl('sort_index','regdate','order_type',$order_type)}">{$lang->date}</a></span></th>
|
<th scope="col" cond="$val->type=='regdate' && $val->idx==-1"><span><a href="{getUrl('sort_index','list_order','order_type',$order_type)}">{$lang->date}</a></span></th>
|
||||||
<th scope="col" cond="$val->type=='last_update' && $val->idx==-1"><span><a href="{getUrl('sort_index','last_update','order_type',$order_type)}">{$lang->last_update}</a></span></th>
|
<th scope="col" cond="$val->type=='last_update' && $val->idx==-1"><span><a href="{getUrl('sort_index','update_order','order_type',$order_type)}">{$lang->last_update}</a></span></th>
|
||||||
<th scope="col" cond="$val->type=='last_post' && $val->idx==-1"><span><a href="{getUrl('sort_index','last_update','order_type',$order_type)}">{$lang->last_post}</a></span></th>
|
<th scope="col" cond="$val->type=='last_post' && $val->idx==-1"><span><a href="{getUrl('sort_index','update_order','order_type',$order_type)}">{$lang->last_post}</a></span></th>
|
||||||
<th scope="col" cond="$val->type=='readed_count' && $val->idx==-1"><span><a href="{getUrl('sort_index','readed_count','order_type',$order_type)}">{$lang->readed_count}</a></span></th>
|
<th scope="col" cond="$val->type=='readed_count' && $val->idx==-1"><span><a href="{getUrl('sort_index','readed_count','order_type',$order_type)}">{$lang->readed_count}</a></span></th>
|
||||||
<th scope="col" cond="$val->type=='voted_count' && $val->idx==-1"><span><a href="{getUrl('sort_index','voted_count','order_type',$order_type)}">{$lang->voted_count}</a></span></th>
|
<th scope="col" cond="$val->type=='voted_count' && $val->idx==-1"><span><a href="{getUrl('sort_index','voted_count','order_type',$order_type)}">{$lang->voted_count}</a></span></th>
|
||||||
<th scope="col" cond="$val->type=='blamed_count' && $val->idx==-1"><span><a href="{getUrl('sort_index','blamed_count','order_type',$order_type)}">{$lang->blamed_count}</a></span></th>
|
<th scope="col" cond="$val->type=='blamed_count' && $val->idx==-1"><span><a href="{getUrl('sort_index','blamed_count','order_type',$order_type)}">{$lang->blamed_count}</a></span></th>
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ class communicationAdminController extends communication
|
||||||
function procCommunicationAdminInsertConfig()
|
function procCommunicationAdminInsertConfig()
|
||||||
{
|
{
|
||||||
// get the default information
|
// 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;
|
$args->editor_colorset = $args->sel_editor_colorset;
|
||||||
unset($args->sel_editor_colorset);
|
unset($args->sel_editor_colorset);
|
||||||
|
|
||||||
|
|
@ -53,6 +53,11 @@ class communicationAdminController extends communication
|
||||||
$args->layout_srl = NULL;
|
$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
|
// create the module module Controller object
|
||||||
$oModuleController = getController('module');
|
$oModuleController = getController('module');
|
||||||
$output = $oModuleController->insertModuleConfig('communication', $args);
|
$output = $oModuleController->insertModuleConfig('communication', $args);
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,10 @@ class communicationAdminView extends communication
|
||||||
$security->encodeHTML('communication_skin_list..title');
|
$security->encodeHTML('communication_skin_list..title');
|
||||||
$security->encodeHTML('communication_mobile_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
|
// specify a template
|
||||||
$this->setTemplatePath($this->module_path . 'tpl');
|
$this->setTemplatePath($this->module_path . 'tpl');
|
||||||
$this->setTemplateFile('index');
|
$this->setTemplateFile('index');
|
||||||
|
|
|
||||||
|
|
@ -88,6 +88,12 @@ class communicationController extends communication
|
||||||
// Check if there is a member to receive a message
|
// Check if there is a member to receive a message
|
||||||
$oMemberModel = getModel('member');
|
$oMemberModel = getModel('member');
|
||||||
$oCommunicationModel = getModel('communication');
|
$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);
|
$receiver_member_info = $oMemberModel->getMemberInfoByMemberSrl($receiver_srl);
|
||||||
if($receiver_member_info->member_srl != $receiver_srl)
|
if($receiver_member_info->member_srl != $receiver_srl)
|
||||||
|
|
|
||||||
|
|
@ -51,10 +51,102 @@ class communicationModel extends communication
|
||||||
{
|
{
|
||||||
$communication_config->mskin = 'default';
|
$communication_config->mskin = 'default';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!$communication_config->grant_write)
|
||||||
|
{
|
||||||
|
$communication_config->grant_write = array('default_grant'=>'member');
|
||||||
|
}
|
||||||
|
|
||||||
return $communication_config;
|
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
|
* get the message contents
|
||||||
* @param int $message_srl
|
* @param int $message_srl
|
||||||
|
|
|
||||||
|
|
@ -376,4 +376,12 @@
|
||||||
<value xml:lang="en"><![CDATA[Friends in a mobile environment is not supported. Please go to the PC page.]]></value>
|
<value xml:lang="en"><![CDATA[Friends in a mobile environment is not supported. Please go to the PC page.]]></value>
|
||||||
<value xml:lang="jp"><![CDATA[モバイル環境では友達リストページをサポートしません。PC画面へ移動してください。]]></value>
|
<value xml:lang="jp"><![CDATA[モバイル環境では友達リストページをサポートしません。PC画面へ移動してください。]]></value>
|
||||||
</item>
|
</item>
|
||||||
|
<item name="cmd_write_communication">
|
||||||
|
<value xml:lang="ko"><![CDATA[작성 권한]]></value>
|
||||||
|
<value xml:lang="en"><![CDATA[Write Grant]]></value>
|
||||||
|
</item>
|
||||||
|
<item name="cmd_manage_base">
|
||||||
|
<value xml:lang="ko"><![CDATA[기본 정보]]></value>
|
||||||
|
<value xml:lang="en"><![CDATA[Basic infomation]]></value>
|
||||||
|
</item>
|
||||||
</lang>
|
</lang>
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
<load target="js/communication_admin.js" usecdn="true" />
|
<load target="js/communication_admin.js" usecdn="true" />
|
||||||
|
<load target="../../module/tpl/js/module_admin.js" />
|
||||||
<load target="../../editor/tpl/js/editor_module_config.js" usecdn="true" />
|
<load target="../../editor/tpl/js/editor_module_config.js" usecdn="true" />
|
||||||
|
|
||||||
<div class="x_page-header">
|
<div class="x_page-header">
|
||||||
|
|
@ -81,6 +82,24 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="x_control-group">
|
||||||
|
<label class="x_control-label" for="mlayout_srl">{$lang->cmd_write_communication}</label>
|
||||||
|
<div class="x_controls">
|
||||||
|
<select name="grant_write_default" class="grant_default">
|
||||||
|
<option value="-1" selected="selected"|cond="$communication_config->grant_write['default_grant']=='member'">{$lang->grant_to_login_user}</option>
|
||||||
|
<option value="-2" selected="selected"|cond="$communication_config->grant_write['default_grant']=='site'">{$lang->grant_to_site_user}</option>
|
||||||
|
<option value="-3" selected="selected"|cond="$communication_config->grant_write['default_grant']=='manager'">{$lang->grant_to_admin}</option>
|
||||||
|
<option value="" selected="selected"|cond="$communication_config->grant_write['default_grant']==''">{$lang->grant_to_group}</option>
|
||||||
|
</select>
|
||||||
|
<div id="zone_grant_write" hidden style="margin:8px 0 0 0">
|
||||||
|
<label loop="$group_list => $group_srl, $group_item" for="grant_write_group_{$group_srl}">
|
||||||
|
<input type="checkbox" class="checkbox" name="grant_write_group[]" value="{$group_item->group_srl}" id="grant_write_group_{$group_item->group_srl}" checked="checked"|cond="isset($communication_config->grant_write['group_grant'][$group_srl])&&$communication_config->grant_write['group_grant'][$group_srl]==$group_item->title"/>
|
||||||
|
{$group_item->title}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="btnArea">
|
<div class="btnArea">
|
||||||
<button class="x_btn x_btn-primary" type="submit">{$lang->cmd_registration}</button>
|
<button class="x_btn x_btn-primary" type="submit">{$lang->cmd_registration}</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -89,5 +108,7 @@
|
||||||
jQuery(function() {
|
jQuery(function() {
|
||||||
doGetSkinColorset("{$communication_config->skin}", 'P');
|
doGetSkinColorset("{$communication_config->skin}", 'P');
|
||||||
doGetSkinColorset("{$communication_config->mskin}", 'M');
|
doGetSkinColorset("{$communication_config->mskin}", 'M');
|
||||||
|
jQuery('.grant_default').change( function(event) { doShowGrantZone(); } );
|
||||||
|
doShowGrantZone()
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -793,6 +793,8 @@ class documentController extends document
|
||||||
$oCacheHandler = CacheHandler::getInstance('object');
|
$oCacheHandler = CacheHandler::getInstance('object');
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
|
$cache_key = 'document_item:'. getNumberingPath($oDocument->document_srl) . $oDocument->document_srl;
|
||||||
|
$oCacheHandler->delete($cache_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $output;
|
return $output;
|
||||||
|
|
|
||||||
|
|
@ -405,7 +405,7 @@
|
||||||
<value xml:lang="vi"><![CDATA[Dùng chức năng <b>innodb</b> để sử dụng MySql Database.<br />Giao dịch được kích hoạt cho innodb]]></value>
|
<value xml:lang="vi"><![CDATA[Dùng chức năng <b>innodb</b> để sử dụng MySql Database.<br />Giao dịch được kích hoạt cho innodb]]></value>
|
||||||
</item>
|
</item>
|
||||||
<item name="cubrid">
|
<item name="cubrid">
|
||||||
<value xml:lang="ko"><![CDATA[CUBRID DB를 이용합니다. <a href="http://xe.xpressengine.net/18180659" target="_blank">Manual</a>]]></value>
|
<value xml:lang="ko"><![CDATA[CUBRID DB를 이용합니다. <a href="http://www.cubrid.com/zbxe/?mid=bbs_developer_tutorial&category=47452" target="_blank">Manual</a>]]></value>
|
||||||
<value xml:lang="en"><![CDATA[Use CUBRID as a database. See <a href="http://www.cubrid.org/wiki_tutorials/entry/cubrid-installation-instructions" target="_blank">Manual</a> for more info]]></value>
|
<value xml:lang="en"><![CDATA[Use CUBRID as a database. See <a href="http://www.cubrid.org/wiki_tutorials/entry/cubrid-installation-instructions" target="_blank">Manual</a> for more info]]></value>
|
||||||
<value xml:lang="jp"><![CDATA[CUBRID DBを利用します。 <a href="http://www.cubrid.org/wiki_tutorials/entry/cubrid-installation-instructions" target="_blank">Manual</a>]]></value>
|
<value xml:lang="jp"><![CDATA[CUBRID DBを利用します。 <a href="http://www.cubrid.org/wiki_tutorials/entry/cubrid-installation-instructions" target="_blank">Manual</a>]]></value>
|
||||||
<value xml:lang="zh-CN"><![CDATA[使用CUBRID DB。 <a href="http://www.cubrid.org/wiki_tutorials/entry/cubrid-installation-instructions" target="_blank">Manual</a>]]></value>
|
<value xml:lang="zh-CN"><![CDATA[使用CUBRID DB。 <a href="http://www.cubrid.org/wiki_tutorials/entry/cubrid-installation-instructions" target="_blank">Manual</a>]]></value>
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,6 @@
|
||||||
</block>
|
</block>
|
||||||
</block>
|
</block>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
|
||||||
|
|
||||||
{@$group = ''}
|
{@$group = ''}
|
||||||
{@$cnt = 1}
|
{@$cnt = 1}
|
||||||
|
|
@ -137,7 +136,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</block>
|
</block>
|
||||||
<block cond="$group"></div></div></block>
|
<block cond="$group"></div></block>
|
||||||
</section>
|
</section>
|
||||||
<section class="section">
|
<section class="section">
|
||||||
<h1 cond="$selected_layout->menu">{$lang->menu}</h1>
|
<h1 cond="$selected_layout->menu">{$lang->menu}</h1>
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,8 @@
|
||||||
<action name="procTrashAdminEmptyTrash" type="controller" ruleset="emptyTrash" />
|
<action name="procTrashAdminEmptyTrash" type="controller" ruleset="emptyTrash" />
|
||||||
<action name="procTrashAdminRestore" type="controller" />
|
<action name="procTrashAdminRestore" type="controller" />
|
||||||
<action name="procTrashAdminGetList" type="controller" />
|
<action name="procTrashAdminGetList" type="controller" />
|
||||||
|
|
||||||
|
<action name="dispTrashAdminView" type="view" />
|
||||||
</actions>
|
</actions>
|
||||||
<menus>
|
<menus>
|
||||||
<menu name="trash">
|
<menu name="trash">
|
||||||
|
|
|
||||||
|
|
@ -83,4 +83,36 @@
|
||||||
<value xml:lang="en"><![CDATA[Remove all trash items. After execute could not be recovered.]]></value>
|
<value xml:lang="en"><![CDATA[Remove all trash items. After execute could not be recovered.]]></value>
|
||||||
<value xml:lang="jp"><![CDATA[ゴミ箱を完全に消去します。実行後には復元できません。]]></value>
|
<value xml:lang="jp"><![CDATA[ゴミ箱を完全に消去します。実行後には復元できません。]]></value>
|
||||||
</item>
|
</item>
|
||||||
|
<item name="title">
|
||||||
|
<value xml:lang="ko"><![CDATA[제목]]></value>
|
||||||
|
<value xml:lang="en"><![CDATA[Subject]]></value>
|
||||||
|
<value xml:lang="jp"><![CDATA[タイトル]]></value>
|
||||||
|
<value xml:lang="zh-TW"><![CDATA[標題]]></value>
|
||||||
|
</item>
|
||||||
|
<item name="content">
|
||||||
|
<value xml:lang="ko"><![CDATA[내용]]></value>
|
||||||
|
<value xml:lang="en"><![CDATA[Content]]></value>
|
||||||
|
<value xml:lang="jp"><![CDATA[内容]]></value>
|
||||||
|
<value xml:lang="zh-TW"><![CDATA[內容]]></value>
|
||||||
|
</item>
|
||||||
|
<item name="trasher">
|
||||||
|
<value xml:lang="ko"><![CDATA[삭제자]]></value>
|
||||||
|
<value xml:lang="en"><![CDATA[Deleter]]></value>
|
||||||
|
<value xml:lang="jp"><![CDATA[削除者]]></value>
|
||||||
|
<value xml:lang="zh-TW"><![CDATA[刪除]]></value>
|
||||||
|
</item>
|
||||||
|
<item name="origin_info">
|
||||||
|
<value xml:lang="ko"><![CDATA[원문 정보]]></value>
|
||||||
|
<value xml:lang="en"><![CDATA[Document Info]]></value>
|
||||||
|
</item>
|
||||||
|
<item name="delete_info">
|
||||||
|
<value xml:lang="ko"><![CDATA[삭제 정보]]></value>
|
||||||
|
<value xml:lang="en"><![CDATA[Trash Info]]></value>
|
||||||
|
</item>
|
||||||
|
<item name="cmd_restore">
|
||||||
|
<value xml:lang="ko"><![CDATA[복원]]></value>
|
||||||
|
<value xml:lang="en"><![CDATA[Restore]]></value>
|
||||||
|
<value xml:lang="jp"><![CDATA[復元]]></value>
|
||||||
|
<value xml:lang="zh-TW"><![CDATA[復原]]></value>
|
||||||
|
</item>
|
||||||
</lang>
|
</lang>
|
||||||
|
|
|
||||||
32
modules/trash/queries/getDocumentExtraVars.xml
Normal file
32
modules/trash/queries/getDocumentExtraVars.xml
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
<query id="getDocumentExtraVars" action="select">
|
||||||
|
<tables>
|
||||||
|
<table name="document_extra_keys" alias="extra_keys" />
|
||||||
|
<table name="document_extra_vars" alias="extra_vars" type="left join">
|
||||||
|
<conditions>
|
||||||
|
<condition operation="equal" column="extra_keys.module_srl" default="extra_vars.module_srl" />
|
||||||
|
<condition operation="equal" column="extra_keys.eid" default="extra_vars.eid" pipe="and" />
|
||||||
|
</conditions>
|
||||||
|
</table>
|
||||||
|
</tables>
|
||||||
|
<columns>
|
||||||
|
<column name="extra_keys.module_srl" alias="module_srl" />
|
||||||
|
<column name="extra_keys.var_name" alias="name" />
|
||||||
|
<column name="extra_keys.var_type" alias="type" />
|
||||||
|
<column name="extra_keys.var_is_required" alias="is_required" />
|
||||||
|
<column name="extra_keys.var_search" alias="search" />
|
||||||
|
<column name="extra_keys.var_default" alias="default" />
|
||||||
|
<column name="extra_keys.var_desc" alias="desc" />
|
||||||
|
<column name="extra_keys.var_idx" alias="idx" />
|
||||||
|
<column name="extra_vars.document_srl" alias="document_srl" />
|
||||||
|
<column name="extra_vars.lang_code" alias="lang_code" />
|
||||||
|
<column name="extra_vars.value" alias="value" />
|
||||||
|
<column name="extra_keys.eid" alias="eid" />
|
||||||
|
</columns>
|
||||||
|
<conditions>
|
||||||
|
<condition operation="equal" column="extra_keys.module_srl" var="module_srl" />
|
||||||
|
<condition operation="in" column="extra_vars.document_srl" var="document_srl" pipe="and" />
|
||||||
|
</conditions>
|
||||||
|
<navigation>
|
||||||
|
<index var="sort_index" default="extra_keys.var_idx" order="asc" />
|
||||||
|
</navigation>
|
||||||
|
</query>
|
||||||
|
|
@ -41,7 +41,7 @@ var no_text_comment = '{$lang->no_text_comment}';
|
||||||
<tr loop="$trash_list => $no, $oTrashVO">
|
<tr loop="$trash_list => $no, $oTrashVO">
|
||||||
<td class="title">
|
<td class="title">
|
||||||
<strong cond="!trim($oTrashVO->getTitle()) && $oTrashVO->getOriginModule() == 'comment'">{$lang->no_text_comment}</strong>
|
<strong cond="!trim($oTrashVO->getTitle()) && $oTrashVO->getOriginModule() == 'comment'">{$lang->no_text_comment}</strong>
|
||||||
<block cond="trim($oTrashVO->getTitle())">{$oTrashVO->getTitle()}</block>
|
<block cond="trim($oTrashVO->getTitle())"><a href="{getUrl('act','dispTrashAdminView','trash_srl',$oTrashVO->getTrashSrl())}">{$oTrashVO->getTitle()}</a></block>
|
||||||
</td>
|
</td>
|
||||||
<td class="nowr"><!--@if($oTrashVO->getOriginModule() == 'document')-->{$lang->document}<!--@else-->{$lang->comment}<!--@end--></td>
|
<td class="nowr"><!--@if($oTrashVO->getOriginModule() == 'document')-->{$lang->document}<!--@else-->{$lang->comment}<!--@end--></td>
|
||||||
<td class="nowr"><a href="#popup_menu_area" class="member_{$oTrashVO->getRemoverSrl()}">{$oTrashVO->getNickName()}</a></td>
|
<td class="nowr"><a href="#popup_menu_area" class="member_{$oTrashVO->getRemoverSrl()}">{$oTrashVO->getNickName()}</a></td>
|
||||||
|
|
|
||||||
73
modules/trash/tpl/trash_view.html
Normal file
73
modules/trash/tpl/trash_view.html
Normal file
|
|
@ -0,0 +1,73 @@
|
||||||
|
<div class="x_page-header">
|
||||||
|
<h1>{$lang->cmd_trash} {$lang->trash_description}</h1>
|
||||||
|
</div>
|
||||||
|
<h2>{$lang->delete_info}</h2>
|
||||||
|
<table class="x_table x_table-striped x_table-hover">
|
||||||
|
<col width="120">
|
||||||
|
<tr>
|
||||||
|
<th scope="col" class="nowr">{$lang->trasher}</th>
|
||||||
|
<td>
|
||||||
|
{htmlspecialchars($remover_info->nick_name)} <a href="#popup_menu_area" class="member_{$oTrashVO->getRemoverSrl()}" onclick="return false">[{$remover_info->user_id}]</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="col" class="nowr">{$lang->trash_date}</th>
|
||||||
|
<td>{zdate($oTrashVO->getRegdate(), "Y-m-d H:i:s")}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">{$lang->trash_description}</th>
|
||||||
|
<td class="text">{$oTrashVO->getDescription()}</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
<h2>{$lang->origin_info}</h2>
|
||||||
|
<table class="x_table x_table-striped x_table-hover">
|
||||||
|
<col width="120">
|
||||||
|
<tr>
|
||||||
|
<th scope="row">{$lang->module}</th>
|
||||||
|
<td class="text">
|
||||||
|
{$module_info->browser_title} ({$module_info->mid})
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">{$lang->title}</th>
|
||||||
|
<td class="text">{$oOrigin->title}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">{$lang->writer}</th>
|
||||||
|
<td class="text">{htmlspecialchars($oOrigin->nick_name)} <a href="#popup_menu_area" class="member_{$oOrigin->member_srl}" onclick="return false">[{$oOrigin->user_id}]</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">{$lang->regdate}</th>
|
||||||
|
<td class="text">{zdate($oOrigin->regdate,'Y.m.d H:i:s')}</td>
|
||||||
|
</tr>
|
||||||
|
<block loop="$oOriginExtraVars=>$key,$val">
|
||||||
|
<tr><th>{$val->name}</th>
|
||||||
|
<td>{$val->value}</td>
|
||||||
|
</tr>
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th scope="row">{$lang->content}</th>
|
||||||
|
<td class="text">{$oOrigin->content}</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
<form action="./" method="post">
|
||||||
|
<input type="hidden" name="module" value="trash" />
|
||||||
|
<input type="hidden" name="act" value="procTrashAdminEmptyTrash" />
|
||||||
|
<input type="hidden" name="page" value="{$page}" />
|
||||||
|
<input type="hidden" name="is_all" value="false" />
|
||||||
|
<input type="hidden" name="origin_module" value="{$oTrashVO->getOriginModule()}" />
|
||||||
|
|
||||||
|
<input type="hidden" name="cart[]" value="{$oTrashVO->getTrashSrl()}" />
|
||||||
|
|
||||||
|
<div class="x_pull-left"><button class="x_btn" type="button" onclick="history.go(-1)">{$lang->cmd_list}</button></div>
|
||||||
|
|
||||||
|
<div class="x_pull-right">
|
||||||
|
<button type="submit" name="is_all" class="x_btn" value="false">{$lang->cmd_delete}</button>
|
||||||
|
<button type="submit" name="act" class="x_btn x_btn-primary" value="procTrashAdminRestore">{$lang->cmd_restore}</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
@ -51,6 +51,41 @@ class trashAdminView extends trash
|
||||||
// 템플릿 파일 지정
|
// 템플릿 파일 지정
|
||||||
$this->setTemplateFile('trash_list');
|
$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 */
|
/* End of file trash.admin.view.php */
|
||||||
/* Location: ./modules/trash/trash.admin.view.php */
|
/* Location: ./modules/trash/trash.admin.view.php */
|
||||||
|
|
|
||||||
|
|
@ -133,6 +133,7 @@ function doFillWidgetVars() {
|
||||||
|
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case "hidden" :
|
case "hidden" :
|
||||||
|
case "number" :
|
||||||
case "text" :
|
case "text" :
|
||||||
case "textarea" :
|
case "textarea" :
|
||||||
var val = selected_node.getAttribute(name);
|
var val = selected_node.getAttribute(name);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue