merge from 1.5.3.2 (~r11225)

git-svn-id: http://xe-core.googlecode.com/svn/trunk@11226 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
flyskyko 2012-09-13 06:14:45 +00:00
parent 54e3a72065
commit 77f5aa2671
313 changed files with 8058 additions and 14251 deletions

View file

@ -13,7 +13,7 @@ xe.MidManager = xe.createApp("MidManager", {
return false;
});
$keyObj.siblings('button.delete').bind('click', function(){
$keyObj.parent().find('button.delete,a.delete').bind('click', function(){
$keyObj.val('').next().val('');
return false;
});
@ -24,6 +24,13 @@ xe.MidManager = xe.createApp("MidManager", {
$finder.slideUp(100);
return false;
});
jQuery(function($){
$('.moduleSearch').bind('moduleSelect', function(e, aSelected){
self.cast('MID_SYNC_NEW', aSelected);
});
});
},
API_MID_SYNC: function(){
@ -43,6 +50,27 @@ xe.MidManager = xe.createApp("MidManager", {
self.$keyObj.next().val(data.module_list[0].browser_title+' ('+data.module_list[0].mid+', '+data.module_list[0].module_name+')');
}
$.exec_json('module.getModuleAdminModuleList', {'module_srls': module_srl}, on_complete);
},
API_MID_SYNC_NEW: function(htBase, aParam){
var self = this;
htSelected = aParam[0];
var module_srl = htSelected.module_srl;
if (!module_srl) return;
function on_complete(data){
if (data.error){
alert(data.message);
return;
}
self.$keyObj.val(data.module_list[0].module_srl);
self.$keyObj.next().val(data.module_list[0].browser_title+' ('+data.module_list[0].mid+', '+data.module_list[0].module_name+')');
}
$.exec_json('module.getModuleAdminModuleList', {'module_srls': module_srl}, on_complete);
}
});

View file

@ -13,7 +13,7 @@ xe.ModuleListManager = xe.createApp("ModuleListManager", {
this.$moduleSrlObj = $keyObj.parent().find('.moduleIdList');
this.$selectedObj = $keyObj.parent().find('.modulelist_selected');
this.$moduleSrlObj
this.$selectedObj
.nextAll('button')
.filter('.modulelist_add').bind('click', function(){ self.cast('MODULELIST_ADD'); return false; }).hide().end()
.filter('.modulelist_del').bind('click', function(){ self.cast('MODULELIST_DEL'); return false; }).end()
@ -27,18 +27,25 @@ xe.ModuleListManager = xe.createApp("ModuleListManager", {
this.cast('MODULELIST_SYNC');
},
API_MODULELIST_ADD: function(){
var moduleTitle = this.$moduleNameObj.find('>option:selected').text();
this.$moduleSrlObj
.find('>option:selected').clone(true)
.text(function(){ return $(this).text() + ' ('+moduleTitle+')'; })
.appendTo(this.$selectedObj);
addModule: function(sModuleType, sModuleInstanceName, sModuleSrl){
$('<OPTION>').val(sModuleSrl).text(sModuleInstanceName + ' ('+sModuleType+')').appendTo(this.$selectedObj);
this.removeDuplicated();
this.refreshValue();
},
API_ADD_MODULE_TO_MODULELIST_MANAGER : function(sender, aParams){
this.addModule(aParams[0], aParams[1], aParams[2]);
},
API_MODULELIST_ADD: function(){
var sModuleType = this.$moduleNameObj.find('>option:selected').text();
var sModuleInstanceName = this.$moduleSrlObj.find('>option:selected').text();
var sModuleSrl = this.$moduleSrlObj.find('>option:selected').val();
this.addModule(sModuleType, sModuleInstanceName, sModuleSrl);
},
API_MODULELIST_DEL: function(){
this.$selectedObj.find('>option:selected').remove();
this.refreshValue();
@ -93,4 +100,4 @@ xe.ModuleListManager = xe.createApp("ModuleListManager", {
}
});
})(jQuery);
})(jQuery);

View file

@ -361,11 +361,11 @@ function doAddWidgetCode(widget_code) {
// css 추가
var tmp = widget_code;
while(tmp.indexOf("<!--Meta:")>-1) {
var pos = tmp.indexOf("<!--Meta:");
while(tmp.indexOf("<!--#Meta:")>-1) {
var pos = tmp.indexOf("<!--#Meta:");
tmp = tmp.substr(pos);
var eos = tmp.indexOf("-->");
var cssfile = tmp.substr(9,eos-9);
var cssfile = tmp.substr(10,eos-10);
if(cssfile.indexOf('.js')>-1) {
tmp = tmp.substr(eos);
continue;
@ -373,7 +373,7 @@ function doAddWidgetCode(widget_code) {
if(!cssfile) break;
tmp = tmp.substr(eos);
var cssfile = request_uri+'/'+cssfile;
var cssfile = request_uri+cssfile;
if(typeof(document.createStyleSheet)=='undefined') {
var css ='<link rel="stylesheet" href="'+cssfile+'" type="text/css" charset="UTF-8" />';
var dummy = xCreateElement("DIV");
@ -400,7 +400,10 @@ function doAddWidgetCode(widget_code) {
script = script.replace(/^<script([^>]*)>/i,'').replace(/<\/script>$/i,'');
writedText = null;
eval(script);
try{
eval(script);
}catch(e){}
widget_code = widget_code.substr(0,pos)+writedText+widget_code.substr(pos+length);
tmp = widget_code.toLowerCase();
}

View file

@ -22,4 +22,4 @@
<include target="widget_generate_code.filebox.html" />
<include target="widget_generate_code.multilang.html" />
<include target="widget_generate_code.multilang.textarea.html" />
<include target="widget_generate_code.multilang.textarea.html" />

View file

@ -41,7 +41,7 @@
{@$group = $var->group}
</block>
{@$not_first = true}
<li class="modulefinder"|cond="$var->type == 'mid' || $var->type == 'module_srl_list'">
<li class="moduleSearch moduleSearch1 modulefinder"|cond="$var->type == 'mid' || $var->type == 'module_srl_list'">
<p class="q"><label for="{$id}">{$var->name}</label></p>
<div class="a">
<div cond="$var->type == 'text'" class="multiLangEdit">
@ -104,33 +104,110 @@
</block>
</block>
<block cond="$var->type == 'module_srl_list'">
<p class="desc">{$var->description}</p>
<input type="hidden" name="{$id}" value="" />
<div class="a">
<input type="text" /> <a href="#suggestion_{$suggestion_id}" class="tgAnchor findsite">{$lang->find_site}</a>
<div id="suggestion_{$suggestion_id}" class="tgContent suggestion">
<ul>
</ul>
</div>
</div>
<p class="a">
<select class="moduleList" style="width:290px"></select>
</p>
<select class="moduleIdList" size="8" multiple="multiple" style="width:290px;vertical-align:top"></select>
<button type="button" class="text modulelist_add" style="vertical-align:top">{$lang->cmd_insert}</button>
<select class="modulelist_selected" size="8" multiple="multiple" style="width:290px;"></select>
<br/>
<span style="padding:1px;margin:1px"><b><a href="#moduleSearchWindow1" class="tgAnchor moduleSearch">{$lang->cmd_add}</a></b></span>
<button type="button" class="text modulelist_up" style="vertical-align:top">{$lang->cmd_move_up}</button>
<button type="button" class="text modulelist_down" style="vertical-align:top">{$lang->cmd_move_down}</button>
<button type="button" class="text modulelist_del" style="vertical-align:top">{$lang->cmd_delete}</button>
<script type="text/javascript">
xe.registerApp(new xe.ModuleListManager('{$id}'));
</script>
<script>
jQuery(function($){
$('.moduleSearch1').bind('moduleSelect', function(e, aSelected){
var sType, sName, sSrl;
for(var i=0, nLen=aSelected.length; i<nLen; i++){
sType = aSelected[i].type;
sName = aSelected[i].browser_title;
sSrl = aSelected[i].module_srl;
xe.broadcast("ADD_MODULE_TO_MODULELIST_MANAGER", [sType, sName, sSrl]);
}
});
});
</script>
<!-- new module search -->
<div id="moduleSearchWindow1" class="moduleSearchWindow tgContent">
<div class="siteList sectionDiv">
<h2>{$lang->select_site}</h2>
<div class="siteListSearchBox">
<div class="siteListSearchBoxBorder">
<div class="searchImg icon-search"></div>
<input type="text" class="siteListSearchInput" name="site_filter">
</div>
</div>
<div class="siteListUL">
<ul>
</ul>
</div>
</div>
<div class="moduleTypeList sectionDiv">
<h2>{$lang->select_module_type}</h2>
<div>
<ul class="moduleTypeListUL">
</ul>
</div>
</div>
<div class="moduleInstanceList sectionDiv">
<h2>{$lang->select_module_instance}</h2>
<div>
<select class="moduleInstanceListSelect" multiple="multiple" size="8">
</select>
</div>
<button class="btn btn_primary moduleSearch_ok">{$lang->cmd_select}</button>
</div>
</div>
<!--// new module search -->
</block>
<block cond="$var->type == 'mid'">
<input type="hidden" name="{$id}" value="" />
<input type="text" readonly="readonly" /> <button class="text search">{$lang->cmd_search}</button> <button class="text delete">{$lang->cmd_delete}</button>
<input type="text" readonly="readonly" /> <!--button class="text search">{$lang->cmd_search}</button> <button class="text delete">{$lang->cmd_delete}</button-->
<span style="padding:1px;margin:1px"><b><a href="#moduleSearchWindow2" class="tgAnchor moduleSearch">{$lang->cmd_select}</a></b></span>
<span style="padding:1px;margin:1px"><b><a href="#" class="text delete">{$lang->cmd_delete}</a></b></span>
<!-- callback function for moduleSearchWindow2 is defined in MidManager -->
<!-- new module search -->
<div id="moduleSearchWindow2" class="moduleSearchWindow tgContent">
<div class="siteList sectionDiv">
<h2>{$lang->select_site}</h2>
<div class="siteListSearchBox">
<div class="siteListSearchBoxBorder">
<div class="searchImg icon-search"></div>
<input type="text" class="siteListSearchInput" name="site_filter">
</div>
</div>
<div class="siteListUL">
<ul>
</ul>
</div>
</div>
<div class="moduleTypeList sectionDiv">
<h2>{$lang->select_module_type}</h2>
<div>
<ul class="moduleTypeListUL">
</ul>
</div>
</div>
<div class="moduleInstanceList sectionDiv">
<h2>{$lang->select_module_instance}</h2>
<div>
<select class="moduleInstanceListSelect"size="8">
</select>
</div>
<button class="btn btn_primary moduleSearch_ok">{$lang->cmd_select}</button>
</div>
</div>
<!--// new module search -->
<div class="finder" style="display: none;">
<div class="a">
<input type="text" class="site_keyword" /> <a href="#suggestion_{$suggestion_id}" class="tgAnchor findsite">{$lang->find_site}</a>
<input type="text" class="site_keyword" /> <a href="#suggestion_{$suggestion_id}" class="tgAnchor findSite">{$lang->find_site}</a>
<div id="suggestion_{$suggestion_id}" class="tgContent suggestion">
<ul>
</ul>
@ -142,6 +219,8 @@
<script type="text/javascript">
xe.registerApp(new xe.MidManager('{$id}'));
</script>
</block>
<block cond="$var->type == 'filebox'">
{@$use_filebox = true}
@ -153,7 +232,6 @@
<option loop="$menu_list => $key, $val" value="{$val->menu_srl}">{$val->title}</option>
</select>
</div>
<p class="desc">{$var->description}</p>
</li>
</block>
</ul>

View file

@ -1,9 +1,10 @@
<load target="../../admin/tpl/js/admin.js" usecdn="true" />
<load target="../../admin/tpl/css/admin.css" usecdn="true" />
<load cond="$lang_type='ko'" target="../../admin/tpl/css/admin_ko.css" usecdn="true" />
<load cond="$lang_type='en'" target="../../admin/tpl/css/admin_en.css" usecdn="true" />
<load cond="$lang_type=='ko'" target="../../admin/tpl/css/admin_ko.css" usecdn="true" />
<load cond="$lang_type=='en'" target="../../admin/tpl/css/admin_en.css" usecdn="true" />
<load target="css/widget.css" usecdn="true" />
<load target="js/generate_code.js" usecdn="true" />
<load target="js/multi_lang.js" usecdn="true" />
<!--%load_js_plugin("ui.colorpicker")-->
<script type="text/javascript">
@ -63,13 +64,29 @@
</block>
{@$not_first = true}
<li>
<p class="q">{$var->name}</p>
<p class="a">
<input cond="$var->type == 'text'" type="text" name="{$id}" />
<p class="q"><label for="{$id}">{$var->name}</label></p>
<div class="a extra_vars">
<div cond="$var->type == 'text'" class="multiLangEdit">
{@$use_multilang = TRUE}
<input type="hidden" name="{$id}" value="" class="vLang" />
<input type="text" id="{$id}" class="vLang" />
<span class="desc"><a href="#langEdit" class="editUserLang tgAnchor">{$lang->cmd_set_multilingual}</a></span>
<script>
xe.registerApp(new xe.MultiLangManager('{$id}'));
</script>
</div>
<input cond="$var->type == 'color'" type="text" name="{$id}" class="color-indicator" />
<textarea cond="$var->type == 'textarea'" name="{$id}" rows="8" cols="42"></textarea>
<div cond="$var->type == 'textarea'" class="multiLangEdit">
{@$use_multilang_textarea = TRUE}
<input type="hidden" name="{$id}" value="" class="vLang" />
<textarea id="{$id}" rows="8" cols="42"></textarea>
<span class="desc"><a href="#langEditTextarea" class="editUserLang tgAnchor">{$lang->cmd_set_multilingaul}</a></span>
<script>
xe.registerApp(new xe.MultiLangManager('{$id}'));
</script>
</div>
<select cond="$var->type == 'select'" name="{$id}">
<option loop="$var->options => $key, $val" value="{$key}">{$val}</option>
@ -80,7 +97,7 @@
<a href="#modalFilebox" class="modalAnchor filebox">{$lang->cmd_select}</a>
{@$use_filebox = TRUE}
</block>
</p>
</div>
<p class="desc">{$var->description}</p>
</li>
</block>
@ -91,6 +108,11 @@
<span class="btn small"><input type="submit" value="{$lang->cmd_setup}" /></span>
</div>
</form>
<script>
xe.current_lang = "{$lang_type}";
</script>
<include target="widget_generate_code.filebox.html" />
<include target="widget_generate_code.multilang.html" />
<include target="widget_generate_code.multilang.textarea.html" />
</div>