mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-07 18:51:41 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@11966 201d5d3c-b55e-5fd7-737f-ddc643e51545
199 lines
5.7 KiB
JavaScript
199 lines
5.7 KiB
JavaScript
/**
|
|
* @file modules/module/js/module_admin.js
|
|
* @author NHN (developers@xpressengine.com)
|
|
* @brief module 모듈의 관리자용 javascript
|
|
**/
|
|
/* 모듈 즐겨찾기 */
|
|
function doToggleFavoriteModule(obj, module_name) {
|
|
function on_complete(data){
|
|
if (data.result == 'on')
|
|
jQuery(obj).removeClass('fvOff').addClass('fvOn').html(xe.lang.favorite_on);
|
|
else
|
|
jQuery(obj).removeClass('fvOn').addClass('fvOff').html(xe.lang.favorite_off);
|
|
}
|
|
|
|
jQuery.exec_json('admin.procAdminToggleFavorite', {'module_name': module_name, 'site_srl': 0}, on_complete);
|
|
}
|
|
|
|
/* 카테고리 관련 작업들 */
|
|
function doUpdateCategory(module_category_srl, message) {
|
|
if(typeof(message)!='undefined'&&!confirm(message)) return;
|
|
|
|
var fo_obj = get_by_id('fo_category_info');
|
|
fo_obj.module_category_srl.value = module_category_srl;
|
|
fo_obj.submit();
|
|
}
|
|
|
|
/* 카테고리 정보 수정 후 */
|
|
function completeUpdateCategory(ret_obj) {
|
|
var error = ret_obj['error'];
|
|
var message = ret_obj['message'];
|
|
|
|
alert(message);
|
|
|
|
location.href = current_url.setQuery('module_category_srl','');
|
|
}
|
|
|
|
/* 선택된 모듈을 관리자 메뉴의 바로가기에 등록 */
|
|
function doAddShortCut(module) {
|
|
var fo_obj = get_by_id("fo_shortcut");
|
|
fo_obj.selected_module.value = module;
|
|
procFilter(fo_obj, insert_shortcut);
|
|
}
|
|
|
|
/* 모듈 설치 */
|
|
function doInstallModule(module) {
|
|
var params = new Array();
|
|
params['module_name'] = module;
|
|
exec_xml('install','procInstallAdminInstall',params, completeInstallModule);
|
|
}
|
|
|
|
function completeInstallModule(ret_obj) {
|
|
alert(ret_obj['message']);
|
|
location.reload();
|
|
}
|
|
|
|
/* 모듈 업그레이드 */
|
|
function doUpdateModule(module) {
|
|
var params = new Array();
|
|
params['module_name'] = module;
|
|
exec_xml('install','procInstallAdminUpdate',params, completeInstallModule);
|
|
}
|
|
|
|
/* 모듈 복사후 */
|
|
function completeCopyModule() {
|
|
if(typeof(opener)!='undefined') opener.location.href = opener.location.href;
|
|
window.close();
|
|
}
|
|
|
|
/* 모듈 선택기에서 선택된 모듈의 입력 */
|
|
function insertModule(id, module_srl, mid, browser_title, multi_select) {
|
|
if(typeof(multi_select)=='undefined') multi_select = true;
|
|
if(!window.opener) window.close();
|
|
|
|
if(multi_select) {
|
|
if(typeof(opener.insertSelectedModules)=='undefined') return;
|
|
opener.insertSelectedModules(id, module_srl, mid, browser_title);
|
|
} else {
|
|
if(typeof(opener.insertSelectedModule)=='undefined') return;
|
|
opener.insertSelectedModule(id, module_srl, mid, browser_title);
|
|
window.close();
|
|
}
|
|
}
|
|
|
|
/* 권한 선택용 */
|
|
function doShowGrantZone() {
|
|
jQuery(".grant_default").each( function() {
|
|
var id = "#zone_"+this.name.replace(/_default$/,'');
|
|
if(!jQuery(this).val()) jQuery(id).css("display","block");
|
|
else jQuery(id).css("display","none");
|
|
} );
|
|
}
|
|
|
|
/* 권한 등록 후 알림 메세지 */
|
|
function completeInsertGrant(ret_obj) {
|
|
// alert(ret_obj['message']);
|
|
location.reload();
|
|
}
|
|
|
|
/* 관리자 아이디 등록/ 제거 */
|
|
function doInsertAdmin() {
|
|
var fo_obj = get_by_id("fo_obj");
|
|
var sel_obj = fo_obj._admin_member;
|
|
var admin_id = fo_obj.admin_id.value;
|
|
if(!admin_id) return;
|
|
|
|
var opt = new Option(admin_id,admin_id,true,true);
|
|
sel_obj.options[sel_obj.options.length] = opt;
|
|
|
|
fo_obj.admin_id.value = '';
|
|
sel_obj.size = sel_obj.options.length;
|
|
sel_obj.selectedIndex = -1;
|
|
|
|
var members = new Array();
|
|
for(var i=0;i<sel_obj.options.length;i++) {
|
|
members[members.length] = sel_obj.options[i].value;
|
|
|
|
}
|
|
fo_obj.admin_member.value = members.join(',');
|
|
|
|
fo_obj.admin_id.focus();
|
|
}
|
|
|
|
function doDeleteAdmin() {
|
|
var fo_obj = get_by_id("fo_obj");
|
|
var sel_obj = fo_obj._admin_member;
|
|
sel_obj.remove(sel_obj.selectedIndex);
|
|
|
|
sel_obj.size = sel_obj.options.length;
|
|
sel_obj.selectedIndex = -1;
|
|
|
|
var members = new Array();
|
|
for(var i=0;i<sel_obj.options.length;i++) {
|
|
members[members.length] = sel_obj.options[i].value;
|
|
|
|
}
|
|
fo_obj.admin_member.value = members.join(',');
|
|
}
|
|
|
|
|
|
function completeModuleSetup(ret_obj) {
|
|
alert(ret_obj['message']);
|
|
window.close();
|
|
}
|
|
|
|
/**
|
|
* 언어 관련
|
|
**/
|
|
function doInsertLangCode(name) {
|
|
var fo_obj = get_by_id("menu_fo");
|
|
var target = fo_obj.target.value;
|
|
if(window.opener && target) {
|
|
var obj = window.opener.get_by_id(target);
|
|
if(obj) obj.value = '$user_lang->'+name;
|
|
}
|
|
window.close();
|
|
}
|
|
|
|
function completeInsertLang(ret_obj) {
|
|
doInsertLangCode(ret_obj['name']);
|
|
}
|
|
|
|
function doDeleteLang(name) {
|
|
var params = new Array();
|
|
params['name'] = name;
|
|
var response_args = new Array('error','message');
|
|
exec_xml('module','procModuleAdminDeleteLang',params, completeDeleteLang);
|
|
}
|
|
|
|
function completeDeleteLang(ret_obj) {
|
|
location.href = current_url.setQuery('name','');
|
|
}
|
|
|
|
function doFillLangName() {
|
|
if (/[\?&]name=/i.test(location.search)) return;
|
|
|
|
var $form = jQuery("#menu_fo");
|
|
var target = $form[0].target.value;
|
|
if(window.opener && window.opener.document.getElementById(target)) {
|
|
var value = window.opener.document.getElementById(target).value;
|
|
if(/^\$user_lang->/.test(value)) {
|
|
var param = new Array();
|
|
param['name'] = value.replace(/^\$user_lang->/,'');
|
|
var response_tags = new Array('error','message','name','langs');
|
|
exec_xml('module','getModuleAdminLangCode',param,completeFillLangName, response_tags);
|
|
}
|
|
}
|
|
}
|
|
|
|
function completeFillLangName(ret_obj, response_tags) {
|
|
var name = ret_obj['name'];
|
|
var langs = ret_obj['langs'];
|
|
if(typeof(langs)=='undefined') return;
|
|
var $form = jQuery("#menu_fo");
|
|
$form[0].lang_code.value = name;
|
|
for(var i in langs) {
|
|
$form[0][i].value = langs[i];
|
|
}
|
|
|
|
}
|