mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-08 19:21:40 +09:00
Issue 2385: Admin UI Refactoring - Advanced - Widgets
git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@11685 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
41d3059d66
commit
5a450211ba
23 changed files with 446 additions and 663 deletions
|
|
@ -311,10 +311,12 @@ class HTMLDisplayHandler {
|
|||
$oContext->loadFile(array('./modules/admin/tpl/css/admin.css', 'all', '', 100000), true);
|
||||
$oContext->loadFile(array("./modules/admin/tpl/css/admin_{$lang_type}.css", 'all', '', 100000), true);
|
||||
$oContext->loadFile('./modules/admin/tpl/js/admin.js', true);
|
||||
$oContext->loadFile(array('./common/css/bootstrap.css', 'all', '', 1), true);
|
||||
} else {
|
||||
$oContext->loadFile(array('./modules/admin/tpl/css/admin.min.css', 'all', '', 100000), true);
|
||||
$oContext->loadFile(array("./modules/admin/tpl/css/admin_{$lang_type}.css", 'all', '',10000), true);
|
||||
$oContext->loadFile('./modules/admin/tpl/js/admin.min.js', true);
|
||||
$oContext->loadFile(array('./common/css/bootstrap.min.css', 'all', '', 1), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ var default_url = "{Context::getDefaultUrl()}";
|
|||
<block cond="Context::get('_https_port')">var https_port = {Context::get("_https_port")};</block>
|
||||
<block cond="Context::get('_use_ssl') && Context::get('_use_ssl') == 'always'">var enforce_ssl = true;</block>
|
||||
xe.current_lang = "{$lang_type}";
|
||||
xe.cmd_find = "{$lang->cmd_find}";
|
||||
//]]>
|
||||
</script>
|
||||
</head>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
{@Context::addHtmlHeader('<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" />
|
||||
')}
|
||||
<load target="../../../common/css/bootstrap.min.css" index="1" usecdn="true" />
|
||||
<div class="x">
|
||||
<p class="skipNav"><a href="#content">{$lang->skip_to_content}</a></p>
|
||||
<header class="header">
|
||||
|
|
|
|||
|
|
@ -15,31 +15,9 @@
|
|||
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="_target_module">{$lang->start_module}</label>
|
||||
<div class="x_controls moduleSearch">
|
||||
<input type="text" name="_target_module" id="_target_module" value="{$start_module->browser_title} ({$start_module->mid})" readonly />
|
||||
<input type="hidden" name="index_module_srl" id="index_module_srl" value="{$start_module->index_module_srl}" />
|
||||
<a href="#msw" class="tgAnchor moduleTrigger x_btn">{$lang->cmd_find}</a> {$lang->about_start_module}
|
||||
<div id="msw" class="tgContent moduleWindow x_well">
|
||||
<div class="siteList x_control-group">
|
||||
<label for="siteFinder">1. {$lang->select_site}</label>
|
||||
<input type="search" class="siteFinder" id="siteFinder" name="site_filter" placeholder="URL">
|
||||
<ul class="x_nav x_nav-tabs x_nav-stacked">
|
||||
</ul>
|
||||
</div>
|
||||
<div class="moduleList x_control-group">
|
||||
<label for>2. {$lang->select_module_type}</label>
|
||||
<ul class="x_nav x_nav-tabs x_nav-stacked">
|
||||
</ul>
|
||||
</div>
|
||||
<div class="instanceList x_control-group">
|
||||
<label for="instanceList">3. {$lang->select_module_instance}</label>
|
||||
<select size="8" id="instanceList" multiple>
|
||||
</select>
|
||||
</div>
|
||||
<div class="x_pull-right">
|
||||
<button type="button" class="moduleSearch_ok x_btn x_btn-inverse">{$lang->cmd_select}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_controls">
|
||||
<input class="module_search" type="text" name="index_module_srl" value="{$start_module->index_module_srl}" />
|
||||
{$lang->about_start_module}
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
|
|
@ -234,18 +212,5 @@ jQuery(function($){
|
|||
}
|
||||
});
|
||||
});
|
||||
|
||||
jQuery(function($){
|
||||
$('.moduleSearch').bind('moduleSelect', function(e, aSelected){
|
||||
var sType, sName, sSrl;
|
||||
|
||||
sType = aSelected[0].type;
|
||||
sName = aSelected[0].browser_title;
|
||||
sSrl = aSelected[0].module_srl;
|
||||
|
||||
$('#_target_module').val(sName);
|
||||
$('#index_module_srl').val(sSrl);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -482,10 +482,22 @@ $('.modulefinder').xeModuleFinder();
|
|||
// Module Search : A New Version Of Module Finder
|
||||
jQuery(function($){
|
||||
|
||||
var tmpCount = 0;
|
||||
_xeModuleSearch = function(){
|
||||
var t = this;
|
||||
var $t = $(this);
|
||||
var $moduleWindow = $t.find(".moduleWindow");
|
||||
var is_multiple = $t.data('multiple');
|
||||
if(!is_multiple) is_multiple = '';
|
||||
var id = '__module_searcher_' + tmpCount;
|
||||
tmpCount++;
|
||||
|
||||
// add html
|
||||
$.exec_json('module.getModuleAdminModuleSearcherHtml', {'id': id, 'is_multiple': is_multiple}, function(data){
|
||||
if(!data || !data.html) return;
|
||||
|
||||
$t.after(data.html).addClass('tgAnchor').attr('href', '#' + id).xeContentToggler();
|
||||
|
||||
var $moduleWindow = $t.next(".moduleWindow");
|
||||
var $siteListDiv = $moduleWindow.find('.siteList');
|
||||
var $moduleListDiv = $moduleWindow.find('.moduleList');
|
||||
var $instanceListDiv = $moduleWindow.find('.instanceList');
|
||||
|
|
@ -499,7 +511,7 @@ _xeModuleSearch = function(){
|
|||
function setListSize($UL, nHeight){
|
||||
var nWidth, $div;
|
||||
$UL.find('li div').width('');
|
||||
$UL.css('height', '');
|
||||
$UL.css('height', 'auto');
|
||||
$UL.css('overflow-y', '');
|
||||
if($UL.height() > nHeight){
|
||||
$div = $UL.find('li div');
|
||||
|
|
@ -545,6 +557,7 @@ _xeModuleSearch = function(){
|
|||
$t
|
||||
.not('.xe-module-search')
|
||||
.addClass('xe-module-search')
|
||||
.parent()
|
||||
.find('a.moduleTrigger')
|
||||
.bind('before-open.tc', function(){
|
||||
var $this;
|
||||
|
|
@ -571,9 +584,9 @@ _xeModuleSearch = function(){
|
|||
$moduleListDiv.hide();
|
||||
$instanceListDiv.hide();
|
||||
$.exec_json('admin.getSiteAllList', {domain:""}, on_complete);
|
||||
})
|
||||
.end()
|
||||
.find('.tgContent .siteList>ul')
|
||||
});
|
||||
$moduleWindow
|
||||
.find('.siteList>ul')
|
||||
.delegate('a','click',function(oEvent){
|
||||
var $this, $finder;
|
||||
|
||||
|
|
@ -624,7 +637,7 @@ _xeModuleSearch = function(){
|
|||
for(var x in list) {
|
||||
if(!list.hasOwnProperty(x)) continue;
|
||||
|
||||
$li = $('<option />').html(list[x].browser_title).appendTo($instanceList).val(list[x].module_srl).data('mid', list[x].module_srl)
|
||||
$li = $('<option />').html(list[x].browser_title + ' (' + list[x].mid + ')').appendTo($instanceList).val(list[x].module_srl).data('mid', list[x].mid)
|
||||
.data('module_srl', list[x].module_srl).data('layout_srl', list[x].layout_srl).data('browser_title', list[x].browser_title);
|
||||
}
|
||||
|
||||
|
|
@ -639,12 +652,13 @@ _xeModuleSearch = function(){
|
|||
.end()
|
||||
.find('.moduleSearch_ok').click(function(oEvent){
|
||||
var aSelected = [];
|
||||
$t.find('select>option:selected').each(function(){
|
||||
$instanceList.find('option:selected').each(function(){
|
||||
aSelected.push({
|
||||
'type' : t.sSelectedModuleType,
|
||||
'module_srl' : $(this).data('module_srl'),
|
||||
'layout_srl' : $(this).data('layout_srl'),
|
||||
'browser_title' : $(this).data('browser_title')
|
||||
'browser_title' : $(this).data('browser_title'),
|
||||
'mid' : $(this).data('mid')
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -653,7 +667,7 @@ _xeModuleSearch = function(){
|
|||
|
||||
oEvent.preventDefault();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
return this;
|
||||
};
|
||||
|
|
@ -662,7 +676,45 @@ $.fn.xeModuleSearch = function(){
|
|||
$(this).each(_xeModuleSearch);
|
||||
};
|
||||
|
||||
$('.moduleSearch').xeModuleSearch();
|
||||
$('.moduleTrigger').xeModuleSearch();
|
||||
|
||||
// Add html for .module_search
|
||||
$.fn.xeModuleSearchHtml = function(){
|
||||
var tmpCount = 0;
|
||||
|
||||
$(this).each(function(){
|
||||
var $this = $(this);
|
||||
var id = $this.attr('id');
|
||||
if(!id) id = '__module_search_' + tmpCount;
|
||||
tmpCount++;
|
||||
|
||||
// add html
|
||||
var $btn = $('<a class="x_btn moduleTrigger">' + xe.cmd_find + '</a>');
|
||||
var $displayInput = $('<input type="text" readonly>');
|
||||
$this.after($btn).after(' ').after($displayInput).hide();
|
||||
$btn.xeModuleSearch();
|
||||
|
||||
// on selected module
|
||||
$btn.bind('moduleSelect', function(e, selected){
|
||||
$displayInput.val(selected[0].browser_title + ' (' + selected[0].mid + ')');
|
||||
$this.val(selected[0].module_srl);
|
||||
});
|
||||
|
||||
// get module info
|
||||
if($this.val()){
|
||||
$.exec_json('module.getModuleAdminModuleInfo', {'module_srl': $this.val()}, function(data){
|
||||
if(!data || !data.module_info) return;
|
||||
|
||||
$displayInput.val(data.module_info.browser_title + ' (' + data.module_info.mid + ')');
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
$('.module_search').xeModuleSearchHtml();
|
||||
|
||||
});
|
||||
|
||||
// Sortable table
|
||||
|
|
@ -937,14 +989,14 @@ $('.filebox')
|
|||
$displayInput.val($hiddenInput.val());
|
||||
var pattern = /^\$user_lang->/;
|
||||
if(pattern.test($displayInput.val())){
|
||||
$.exec_json('module.getModuleAdminLangCode', {'name': $displayInput.val().replace('$user_lang->', '')}, on_complete);
|
||||
|
||||
function on_complete(data){
|
||||
function on_complete2(data){
|
||||
if(!data || !data.langs) return;
|
||||
|
||||
$displayInput.closest('.g11n').addClass('active');
|
||||
$displayInput.val(data.langs[xe.current_lang]).attr('disabled', 'disabled').width(135);
|
||||
}
|
||||
|
||||
$.exec_json('module.getModuleAdminLangCode', {'name': $displayInput.val().replace('$user_lang->', '')}, on_complete2);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -163,7 +163,5 @@
|
|||
<input class="x_btn x_btn-primary" type="submit" value="{$lang->cmd_insert}"|cond="$act == 'dispLayoutAdminInsert'" value="{$lang->cmd_save}"|cond="$act == 'dispLayoutAdminModify'" onclick="doSubmitConfig()"/>
|
||||
</span>
|
||||
</div>
|
||||
<include target="include.multilang.html" />
|
||||
<include target="include.multilang.textarea.html" />
|
||||
</div>
|
||||
<iframe name="hiddenIframe" src="about:blank" width="1000px" height="1000px" frameborder="0" style="position:absolute;top:-9999px;left:-9999px"></iframe>
|
||||
|
|
|
|||
|
|
@ -39,6 +39,8 @@
|
|||
<action name="getModuleAdminMultilingualHtml" type="model" />
|
||||
<action name="getModuleAdminLangListHtml" type="model" />
|
||||
<action name="getModuleInfoByMenuItemSrl" type="model" />
|
||||
<action name="getModuleAdminModuleSearcherHtml" type="model" />
|
||||
<action name="getModuleAdminModuleInfo" type="model" />
|
||||
|
||||
<action name="procModuleAdminInsertCategory" type="controller" standalone="true" ruleset="insertCategory" />
|
||||
<action name="procModuleAdminUpdateCategory" type="controller" standalone="true" ruleset="updateCategory" />
|
||||
|
|
|
|||
|
|
@ -461,5 +461,30 @@
|
|||
|
||||
$this->add('html', $tpl);
|
||||
}
|
||||
|
||||
/**
|
||||
* return module searcher html
|
||||
*/
|
||||
function getModuleAdminModuleSearcherHtml()
|
||||
{
|
||||
Context::loadLang('./modules/admin/lang');
|
||||
$oTemplate = TemplateHandler::getInstance();
|
||||
$tpl = $oTemplate->compile('./modules/module/tpl', 'module_searcher_v17.html');
|
||||
|
||||
$this->add('html', $tpl);
|
||||
}
|
||||
|
||||
/**
|
||||
* return module info.
|
||||
*/
|
||||
function getModuleAdminModuleInfo()
|
||||
{
|
||||
$module_srl = Context::get('module_srl');
|
||||
|
||||
$model = getModel('module');
|
||||
$module_info = $model->getModuleInfoByModuleSrl($module_srl);
|
||||
|
||||
$this->add('module_info', $module_info);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
21
modules/module/tpl/module_searcher_v17.html
Normal file
21
modules/module/tpl/module_searcher_v17.html
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
<div id="{$id}" class="tgContent moduleWindow x_well xe-toggling-content" style="display:none;">
|
||||
<div class="siteList x_control-group">
|
||||
<label for="siteFinder">{$lang->select_site}</label>
|
||||
<input type="search" class="siteFinder" id="siteFinder" name="site_filter" placeholder="URL">
|
||||
<ul class="x_nav x_nav-tabs x_nav-stacked" style="">
|
||||
</ul>
|
||||
</div>
|
||||
<div class="moduleList x_control-group">
|
||||
<label>{$lang->select_module_type}</label>
|
||||
<ul class="x_nav x_nav-tabs x_nav-stacked">
|
||||
</ul>
|
||||
</div>
|
||||
<div class="instanceList x_control-group">
|
||||
<label for="instanceList">{$lang->select_module_instance}</label>
|
||||
<select size="8" id="instanceList" <!--@if($is_multiple)-->multiple<!--@endif--> style="height:auto!important">
|
||||
</select>
|
||||
<div class="x_pull-right">
|
||||
<button type="button" class="moduleSearch_ok x_btn_ x_btn-inverse">{$lang->cmd_select}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
unset($lang_supported[$lang_type]);
|
||||
$lang_supported = array_merge($a, $lang_supported);
|
||||
}
|
||||
<p>{sprintf($lang->about_multilingual_search_result, $total_count)}</p>
|
||||
<p cond="!$name">{sprintf($lang->about_multilingual_search_result, $total_count)}</p>
|
||||
<fieldset class="list">
|
||||
<form loop="$lang_code_list => $no, $val" action="" class="item">
|
||||
<a href="#lang-{$no}" data-toggle="#lang-{$no}" data-lang_code="{$val->name}"><span>{$val->value}<span></a>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
<include target="header.html" />
|
||||
|
||||
<div class="table even easyList dsTg">
|
||||
<table width="100%" border="1" cellspacing="0">
|
||||
<table class="x_table x_table-striped x_table-hover dsTg">
|
||||
<caption>
|
||||
All({$tCount})
|
||||
<span class="side"><button type="button" class="text"><span class="hide">{$lang->simple_view}</span><span class="show">{$lang->detail_view}</span></button></span>
|
||||
<div class="x_pull-right x_btn-group">
|
||||
<button class="x_btn x_btn-mini x_active __simple">{$lang->simple_view}</button>
|
||||
<button class="x_btn x_btn-mini __detail">{$lang->detail_view}</button>
|
||||
</div>
|
||||
</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
|
|
@ -33,9 +35,8 @@
|
|||
</block>
|
||||
</td>
|
||||
<td class="nowr">{$widget->path}</td>
|
||||
<td class="nowr"><a href="{getUrl('act', 'dispWidgetAdminGenerateCode', 'selected_widget', $widget->widget)}">{$lang->cmd_generate_code}</a></td>
|
||||
<td class="nowr"><a cond="$widget->remove_url" href="{$widget->remove_url}&return_url={urlencode(getRequestUriByServerEnviroment())}">{$lang->cmd_delete}</a></td>
|
||||
<td class="nowr"><a class="x_btn" href="{getUrl('act', 'dispWidgetAdminGenerateCode', 'selected_widget', $widget->widget)}">{$lang->cmd_generate_code}</a></td>
|
||||
<td class="nowr"><a class="x_btn x_btn-danger" cond="$widget->remove_url" href="{$widget->remove_url}&return_url={urlencode(getRequestUriByServerEnviroment())}">{$lang->cmd_delete}</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
<h1 class="h1">{$lang->installed_widgets}</h1>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<div class="x_page-header">
|
||||
<h1>{$lang->installed_widgets}</h1>
|
||||
</div>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="x_alert x_alert-{$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
|
|
@ -41,12 +41,12 @@ function doDisplaySkinColorset(colorset)
|
|||
|
||||
function doHideSkinColorset()
|
||||
{
|
||||
jQuery('select[name=colorset]').parents('li').hide();
|
||||
jQuery('select[name=colorset]').closest('.x_control-group').hide();
|
||||
}
|
||||
|
||||
function doShowSkinColorset()
|
||||
{
|
||||
jQuery('select[name=colorset]').parents('li').show();
|
||||
jQuery('select[name=colorset]').closest('.x_control-group').show();
|
||||
}
|
||||
|
||||
function completeGenerateCodeInPage(widget_code) {
|
||||
|
|
@ -219,7 +219,7 @@ jQuery(document).ready(function($){
|
|||
if(src instanceof Object ) {
|
||||
for(var i=0;i<src.length;i++){
|
||||
if(src[i].id) {
|
||||
htmlCode += '<img src="'+src[i].id+'" alt="" style="border: 1px solid #ccc; padding: 5px; max-height: 200px; max-width: 200px;"><button class="filebox_del text" type="button">'+xe.lang.cmd_delete+'</button>';
|
||||
htmlCode += '<img src="'+src[i].id+'" alt="" style="border: 1px solid #ccc; padding: 5px; max-height: 200px; max-width: 200px;"><button class="filebox_del x_btn x_btn-mini x_btn-danger" type="button">'+xe.lang.cmd_delete+'</button> ';
|
||||
if(i==0) $(this).siblings('input').val(src[i].id);
|
||||
else {
|
||||
var aux = $(this).siblings('input').val();
|
||||
|
|
@ -228,7 +228,7 @@ jQuery(document).ready(function($){
|
|||
}
|
||||
else {
|
||||
if(src[i]){
|
||||
htmlCode += '<img src="'+src[i]+'" alt="" style="border: 1px solid #ccc; padding: 5px; max-height: 200px; max-width: 200px;"><button class="filebox_del text" type="button">'+xe.lang.cmd_delete+'</button>';
|
||||
htmlCode += '<img src="'+src[i]+'" alt="" style="border: 1px solid #ccc; padding: 5px; max-height: 200px; max-width: 200px;"><button class="filebox_del x_btn x_btn-mini x_btn-danger" type="button">'+xe.lang.cmd_delete+'</button> ';
|
||||
if(i==0) $(this).siblings('input').val(src[i]);
|
||||
else {
|
||||
var aux = $(this).siblings('input').val();
|
||||
|
|
@ -238,7 +238,7 @@ jQuery(document).ready(function($){
|
|||
}
|
||||
}
|
||||
} else {
|
||||
htmlCode = '<img src="'+src+'" alt="" style="border: 1px solid #ccc; padding: 5px; max-height: 200px; max-width: 200px;"> <button class="filebox_del text" type="button">'+xe.lang.cmd_delete+'</button>';
|
||||
htmlCode = '<img src="'+src+'" alt="" style="border: 1px solid #ccc; padding: 5px; max-height: 200px; max-width: 200px;"> <button class="filebox_del x_btn x_btn-mini x_btn-danger" type="button">'+xe.lang.cmd_delete+'</button> ';
|
||||
$(this).siblings('input').val(src);
|
||||
}
|
||||
$(this).before(htmlCode);
|
||||
|
|
|
|||
|
|
@ -6,31 +6,20 @@ xe.MidManager = xe.createApp("MidManager", {
|
|||
init: function(key){
|
||||
var self = this;
|
||||
var $keyObj = this.$keyObj = $('.extra_vars input[name='+key+']');
|
||||
var $finder = $keyObj.siblings('.finder');
|
||||
|
||||
$keyObj.siblings('button.search').bind('click', function(){
|
||||
$finder.slideDown(100);
|
||||
return false;
|
||||
});
|
||||
|
||||
$keyObj.parent().find('button.delete,a.delete').bind('click', function(){
|
||||
$keyObj.val('').next().val('');
|
||||
return false;
|
||||
});
|
||||
|
||||
$finder.find('.moduleIdList').siblings('button').bind('click', function(){
|
||||
$keyObj.val($finder.find('.moduleIdList').val());
|
||||
self.cast('MID_SYNC');
|
||||
$finder.slideUp(100);
|
||||
return false;
|
||||
});
|
||||
|
||||
jQuery(function($){
|
||||
$('.moduleSearch').bind('moduleSelect', function(e, aSelected){
|
||||
$keyObj.siblings('.moduleTrigger').bind('moduleSelect', function(e, aSelected){
|
||||
self.cast('MID_SYNC_NEW', aSelected);
|
||||
});
|
||||
});
|
||||
|
||||
self.cast('MID_SYNC');
|
||||
|
||||
},
|
||||
|
||||
API_MID_SYNC: function(){
|
||||
|
|
@ -61,17 +50,8 @@ xe.MidManager = xe.createApp("MidManager", {
|
|||
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);
|
||||
self.$keyObj.val(htSelected.module_srl);
|
||||
self.$keyObj.next().val(htSelected.browser_title+' ('+htSelected.mid+', '+htSelected.type+')');
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ xe.ModuleListManager = xe.createApp("ModuleListManager", {
|
|||
|
||||
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()
|
||||
.filter('.modulelist_up').bind('click', function(){ self.cast('MODULELIST_UP'); return false; }).end()
|
||||
.filter('.modulelist_down').bind('click', function(){ self.cast('MODULELIST_DOWN'); return false; }).end()
|
||||
|
|
@ -24,6 +23,17 @@ xe.ModuleListManager = xe.createApp("ModuleListManager", {
|
|||
$(this).nextAll().show();
|
||||
});
|
||||
|
||||
this.$selectedObj.nextAll('a').filter('.moduleTrigger').bind('moduleSelect', function(e, aSelected){
|
||||
var sType, sName, sSrl;
|
||||
|
||||
for(var i=0, nLen=aSelected.length; i<nLen; i++){
|
||||
sType = aSelected[i].mid + ', ' + aSelected[i].type;
|
||||
sName = aSelected[i].browser_title;
|
||||
sSrl = aSelected[i].module_srl;
|
||||
self.cast("ADD_MODULE_TO_MODULELIST_MANAGER", [sType, sName, sSrl]);
|
||||
}
|
||||
}).end()
|
||||
|
||||
this.cast('MODULELIST_SYNC');
|
||||
},
|
||||
|
||||
|
|
@ -74,7 +84,7 @@ xe.ModuleListManager = xe.createApp("ModuleListManager", {
|
|||
for(var i in data.module_list){
|
||||
var module = data.module_list[i];
|
||||
var obj = $(document.createElement('option'));
|
||||
obj.val(module.module_srl).html(module.browser_title+' ('+module.module_name+')').appendTo(self.$selectedObj);
|
||||
obj.val(module.module_srl).html(module.browser_title + ' (' + module.mid + ', ' + module.module_name + ')').appendTo(self.$selectedObj);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,30 +0,0 @@
|
|||
(function($){
|
||||
|
||||
xe.MultiLangManager = xe.createApp("MultiLangManager", {
|
||||
$keyObj: null,
|
||||
|
||||
init: function(key){
|
||||
var $keyObj = this.$keyObj = $('.extra_vars input[name='+key+']');
|
||||
},
|
||||
|
||||
API_MULTILANG_SYNC: function(){
|
||||
var self = this;
|
||||
var regexp = /^\$user_lang\-\>/;
|
||||
|
||||
var langCode = this.$keyObj.val();
|
||||
if (!regexp.test(langCode)) return;
|
||||
|
||||
function on_complete(data){
|
||||
if (data.error){
|
||||
alert(data.message);
|
||||
return;
|
||||
}
|
||||
|
||||
$('#' + self.$keyObj.attr('name')).val(data.lang);
|
||||
}
|
||||
|
||||
$.exec_json('module.getLangByLangcode', {'langCode': langCode}, on_complete);
|
||||
}
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
|
|
@ -11,8 +11,8 @@ xe.MultiOrderManager = xe.createApp("MultiOrderManager", {
|
|||
this.$showObj = $keyObj.parent().find('.multiorder_show');
|
||||
this.$selectedObj = $keyObj.parent().find('.multiorder_selected');
|
||||
|
||||
this.$showObj
|
||||
.nextAll('button')
|
||||
this.$keyObj.parent()
|
||||
.find('button')
|
||||
.filter('.multiorder_add').bind('click', function(){ self.cast('MULTIORDER_ADD'); return false; }).end()
|
||||
.filter('.multiorder_del').bind('click', function(){ self.cast('MULTIORDER_DEL'); return false; }).end()
|
||||
.filter('.multiorder_up').bind('click', function(){ self.cast('MULTIORDER_UP'); return false; }).end()
|
||||
|
|
|
|||
|
|
@ -1,103 +0,0 @@
|
|||
<block cond="$use_filebox">
|
||||
<style>
|
||||
.filebox_item { border: 1px solid #ccc!important; padding: 5px; max-height: 200px; max-width: 200px; }
|
||||
</style>
|
||||
|
||||
<div class="modal" id="modalFilebox">
|
||||
<div class="fg portlet">
|
||||
<h2 class="h2">FileBox</h2>
|
||||
<div class="filebox_list"></div>
|
||||
<h2 class="h2">Upload</h2>
|
||||
<form id="filebox_upload" class="form" action="./" method="post" enctype="multipart/form-data">
|
||||
<input type="hidden" name="module" value="module" />
|
||||
<input type="hidden" name="act" value="procModuleFileBoxAdd" />
|
||||
<input type="hidden" name="ajax" value="true" />
|
||||
<table cellspacing="0" id="attributes">
|
||||
<tr>
|
||||
<td>
|
||||
<label for="attribute_name1">{$lang->attribute_name} </label><input type="text" name="attribute_name1" id="attribute_name1" />
|
||||
</td>
|
||||
<td>
|
||||
<label for="attribute_value1">{$lang->attribute_value} </label><input type="text" name="attribute_value1" id="attribute_value1" />
|
||||
</td>
|
||||
<td><a href="javascript:addRow('attributes')">{$lang->add}</a></td>
|
||||
<td><a href="javascript:clearRow('attributes',1)">{$lang->delete}</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<label for="file">{$lang->file}</label><input type="file" name="addfile" id="file"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="btnArea">
|
||||
<span class="btn small"><input type="submit" value="{$lang->cmd_submit}" /></span>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
xe.lang.cmd_delete = '{$lang->cmd_delete}';
|
||||
function addRow(tableID){
|
||||
|
||||
var table = document.getElementById(tableID);
|
||||
var rowCount = table.rows.length;
|
||||
var initial = table.rows(0);
|
||||
var text1 = initial.cells(0).children(0).innerHTML;
|
||||
var text2 = initial.cells(1).children(0).innerHTML;
|
||||
var addrow = table.rows(rowCount-2).cells(2).children(0);
|
||||
var deleteLink = table.rows(rowCount-2).cells(3).children(0).cloneNode(true);
|
||||
var row = table.insertRow(rowCount-1);
|
||||
|
||||
//cell for attribute name
|
||||
var cell0= row.insertCell(0)
|
||||
var element0 = document.createElement("label");
|
||||
element0.innerHTML = text1;
|
||||
element0.htmlFor = "attribute_name"+rowCount;
|
||||
cell0.appendChild(element0);
|
||||
var element1 = document.createElement("input");
|
||||
element1.type = "text";
|
||||
element1.name="attribute_name"+rowCount;
|
||||
element1.id="attribute_name"+rowCount;
|
||||
cell0.appendChild(element1);
|
||||
|
||||
//cell for attribute value
|
||||
var cell1 = row.insertCell(1);
|
||||
var element2 = document.createElement("label");
|
||||
element2.innerHTML = text2;
|
||||
element2.htmlFor = "attribute_value"+rowCount;
|
||||
cell1.appendChild(element2);
|
||||
var element3 = document.createElement("input");
|
||||
element3.type = "text";
|
||||
element3.id="attribute_value"+rowCount;
|
||||
element3.name="attribute_value"+rowCount;
|
||||
cell1.appendChild(element3);
|
||||
|
||||
//cell for addrow link
|
||||
var cell2 = row.insertCell(2);
|
||||
cell2.appendChild(addrow);
|
||||
|
||||
//cell for delete link
|
||||
var cell3 = row.insertCell(3);
|
||||
deleteLink.href = "javascript:clearRow('attributes',"+rowCount+")";
|
||||
cell3.appendChild(deleteLink);
|
||||
}
|
||||
|
||||
function clearRow(tableID,rowNumber){
|
||||
var table = document.getElementById(tableID);
|
||||
var text = "attribute_name"+rowNumber;
|
||||
var rowCount = table.rows.length;
|
||||
var sw = 0;
|
||||
for(i=0;i<rowCount-2;i++){
|
||||
if(table.rows(i).cells[0].children(1).id == text) {
|
||||
table.deleteRow(i);
|
||||
sw = 1;
|
||||
}
|
||||
}
|
||||
if(!sw){
|
||||
var addrow = table.rows(rowCount-2).cells(2).children(0);
|
||||
table.rows(rowCount-3).cells(2).appendChild(addrow);
|
||||
table.deleteRow(rowCount-2);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</block>
|
||||
|
|
@ -1,25 +1,32 @@
|
|||
<include cond="$in_admin" target="header.html" />
|
||||
<load target="js/generate_code.js" usecdn="true" />
|
||||
|
||||
<h2 class="h2">{$widget_info->title}</h2>
|
||||
<p>{$widget_info->description}</p>
|
||||
<form id="widget_code_form" class="form" action="./" method="post">
|
||||
<div class="x_well">
|
||||
<h2>{$widget_info->title}</h2>
|
||||
<p>{$widget_info->description}</p>
|
||||
</div>
|
||||
|
||||
<form id="widget_code_form" class="x_form-horizontal x_well" action="./" method="post">
|
||||
<input type="hidden" name="module" value="widget" />
|
||||
<input type="hidden" name="act" value="procWidgetGenerateCode" />
|
||||
<input type="hidden" name="selected_widget" value="{$widget_info->widget}" />
|
||||
|
||||
<h3 class="h3">{$lang->cmd_generate_code}</h3>
|
||||
<h3>{$lang->cmd_generate_code}</h3>
|
||||
<p>{$lang->about_widget_code}</p>
|
||||
<include target="widget_generate_code.include.html" />
|
||||
|
||||
<div class="btnArea">
|
||||
<span class="btn small"><input type="submit" value="{$lang->cmd_generate_code}" /></span>
|
||||
<input type="submit" class="x_btn x_btn-primary" value="{$lang->cmd_generate_code}" />
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<h3 class="h3">{$lang->widget_code}</h3>
|
||||
<p><textarea id="widget_code" rows="8" cols="42" style="width: 100%; height: 50px;" readonly="readonly"></textarea>
|
||||
<div class="x_well">
|
||||
<h3>{$lang->widget_code}</h3>
|
||||
<p><textarea id="widget_code" rows="8" cols="42" style="width: 100%; height: 50px;" readonly="readonly"></textarea>
|
||||
</div>
|
||||
|
||||
<div class="btnArea">
|
||||
<a href="{getUrl('', 'module', 'admin', 'act', 'dispWidgetAdminDownloadedList')}" class="x_btn">{$lang->cmd_list}</a>
|
||||
</div>
|
||||
|
||||
<include target="../../module/tpl/include.filebox.html" />
|
||||
<include target="widget_generate_code.multilang.html" />
|
||||
<include target="widget_generate_code.multilang.textarea.html" />
|
||||
|
|
|
|||
|
|
@ -4,66 +4,58 @@
|
|||
<load target="js/multi_lang.js" usecdn="true" />
|
||||
<!--%load_js_plugin("ui.colorpicker")-->
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p class="q"><label for="skin">{$lang->skin}</label></p>
|
||||
<p class="a">
|
||||
<select name="skin" id="skin" style="width:280px">
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="skin">{$lang->skin}</label>
|
||||
<div class="x_controls">
|
||||
<select name="skin" id="skin" style="width:220px">
|
||||
<option value="">{$lang->select}</option>
|
||||
<option loop="$skin_list => $skin_name, $skin" value="{$skin_name}">{$skin->title} ({$skin_name})</option>
|
||||
</select>
|
||||
<input type="button" value="{$lang->cmd_select}" />
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="colorset">{$lang->colorset}</label></p>
|
||||
<p class="a">
|
||||
<select name="colorset" id="widget_colorset" style="width:280px">
|
||||
<input type="button" class="x_btn" value="{$lang->cmd_select}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="colorset">{$lang->colorset}</label>
|
||||
<div class="x_controls">
|
||||
<select name="colorset" id="widget_colorset" style="width:220px">
|
||||
</select>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="widget_cache">{$lang->widget_cache}</label></p>
|
||||
<p class="a">
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="widget_cache">{$lang->widget_cache}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="widget_cache" id="widget_cache" value="0" size="2" style="width:auto" /> {$lang->unit_min}
|
||||
({$lang->about_widget_cache})
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<span class="x_help-block">{$lang->about_widget_cache}</span>
|
||||
</div>
|
||||
</div>
|
||||
{@$suggestion_id = 0}
|
||||
<block loop="$widget_info->extra_var => $id, $var">
|
||||
{@$suggestion_id++}
|
||||
<block cond="!$not_first && !$var->group"><ul class="extra_vars"></block>
|
||||
<block cond="!$not_first && !$var->group"><section class="extra_vars section"></block>
|
||||
<block cond="$group != $var->group">
|
||||
<block cond="$not_first"></ul></block>
|
||||
<h3 class="h3">{$var->group}</h3>
|
||||
<ul class="extra_vars">
|
||||
<block cond="$not_first"></section></block>
|
||||
<section class="extra_vars section">
|
||||
<h1>{$var->group}</h3>
|
||||
{@$group = $var->group}
|
||||
</block>
|
||||
{@$not_first = true}
|
||||
<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">
|
||||
{@$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>
|
||||
<div class="x_control-group <!--@if($var->type == 'mid' || $var->type == 'module_srl_list')-->moduleSearch moduleSearch1 modulefinder<!--@end-->">
|
||||
<label class="x_control-label" for="{$id}">{$var->name}</label>
|
||||
<div class="x_controls">
|
||||
<div cond="$var->type == 'text'">
|
||||
<input type="text" name="{$id}" class="lang_code" />
|
||||
<script>
|
||||
xe.registerApp(new xe.MultiLangManager('{$id}'));
|
||||
</script>
|
||||
</div>
|
||||
<input cond="$var->type == 'color'" type="text" name="{$id}" value="" id="{$id}" class="color-indicator" />
|
||||
<div cond="$var->type == 'textarea'" class="multiLangEdit">
|
||||
{@$use_multilang_textarea = true}
|
||||
<input type="hidden" name="{$id}" value="" class="vLang" />
|
||||
<textarea cond="$var->type == 'textarea'" id="{$id}" class="vLang" rows="8" cols="42"></textarea>
|
||||
<span class="desc"><a href="#langEditTextarea" class="editUserLang tgAnchor">{$lang->cmd_set_multilingual}</a></span>
|
||||
<input cond="$var->type == 'color'" type="text" name="{$id}" value="" id="{$id}" class="color-indicator" style="width:178px" />
|
||||
<div cond="$var->type == 'textarea'">
|
||||
<textarea cond="$var->type == 'textarea'" name="{$id}" id="{$id}" class="lang_code" rows="8" cols="42"></textarea>
|
||||
<script>
|
||||
xe.registerApp(new xe.MultiLangManager('{$id}'));
|
||||
</script>
|
||||
</div>
|
||||
<select cond="$var->type == 'select'" name="{$id}" id="{$id}" style="width:290px">
|
||||
<select cond="$var->type == 'select'" name="{$id}" id="{$id}" style="width:220px">
|
||||
<option loop="$var->options => $key, $val" value="{$key}">{$val}</option>
|
||||
</select>
|
||||
<block cond="$var->type == 'select-multi-order'">
|
||||
|
|
@ -73,168 +65,75 @@
|
|||
<!--@else-->
|
||||
<input type="hidden" name="{$id}" value="" />
|
||||
<!--@end-->
|
||||
<select class="multiorder_show" size="8" multiple="multiple" style="width:290px;vertical-align:top">
|
||||
<div style="display:inline-block">
|
||||
<select class="multiorder_show" size="8" multiple="multiple" style="width:220px;vertical-align:top">
|
||||
<option loop="$var->options => $key, $val" cond="!$var->init_options[$key]" value="{$key}" default="true"|cond="$var->default_options[$key]">{$val}</option>
|
||||
</select>
|
||||
<button type="button" class="text multiorder_add" style="vertical-align:top">{$lang->cmd_insert}</button>
|
||||
<select class="multiorder_selected" size="8" multiple="multiple" style="width:290px;vertical-align:top">
|
||||
</select><br />
|
||||
<button type="button" class="x_btn x_btn-mini multiorder_add" style="vertical-align:top">{$lang->cmd_insert}</button>
|
||||
</div>
|
||||
<div style="display:inline-block">
|
||||
<select class="multiorder_selected" size="8" multiple="multiple" style="width:220px;vertical-align:top">
|
||||
<option loop="$var->options => $key, $val" cond="$var->init_options[$key]" value="{$key}" default="true"|cond="$var->default_options[$key]">{$val}</option>
|
||||
</select>
|
||||
<button type="button" class="text multiorder_up" style="vertical-align:top">{$lang->cmd_move_up}</button>
|
||||
<button type="button" class="text multiorder_down" style="vertical-align:top">{$lang->cmd_move_down}</button>
|
||||
<button type="button" class="text multiorder_del" style="vertical-align:top">{$lang->cmd_delete}</button>
|
||||
</select><br />
|
||||
<button type="button" class="x_btn x_btn-mini multiorder_up" style="vertical-align:top">{$lang->cmd_move_up}</button>
|
||||
<button type="button" class="x_btn x_btn-mini multiorder_down" style="vertical-align:top">{$lang->cmd_move_down}</button>
|
||||
<button type="button" class="x_btn x_btn-mini x_btn-danger multiorder_del" style="vertical-align:top">{$lang->cmd_delete}</button>
|
||||
</div>
|
||||
<script>
|
||||
xe.registerApp(new xe.MultiOrderManager('{$id}'));
|
||||
</script>
|
||||
</block>
|
||||
<block cond="$var->type == 'mid_list'">
|
||||
<fieldset loop="$mid_list => $module_category_srl, $modules" style="border: 1px solid #ccc; margin:1em 0; padding:.5em 1em">
|
||||
<fieldset loop="$mid_list => $module_category_srl, $modules">
|
||||
<block cond="count($mid_list) > 1">
|
||||
<legend cond="$modules->title">{$modules->title}</legend>
|
||||
<legend cond="!$modules->title">{$lang->none_category}</legend>
|
||||
</block>
|
||||
<div loop="$modules->list => $key, $val">
|
||||
<input type="checkbox" value="{$key}" name="{$id}" id="chk_mid_list_{$key}" />
|
||||
<label for="chk_mid_list_{$key}">{$key} ({$val->browser_title})</label>
|
||||
<label class="x_inline"><input type="checkbox" value="{$key}" name="{$id}" /> {$key} ({$val->browser_title})</label>
|
||||
</div>
|
||||
</fieldset>
|
||||
</block>
|
||||
<block cond="$var->type == 'member_group'">
|
||||
<block loop="$group_list => $key, $val">
|
||||
<input type="checkbox" value="{$key}" name="{$id}" id="chk_member_gruop_{$id}_{$key}" />
|
||||
<label for="chk_member_gruop_{$id}_{$key}">{$val->title}</label>
|
||||
<label class="x_inline"><input type="checkbox" value="{$key}" name="{$id}" id="chk_member_gruop_{$id}_{$key}" /> {$val->title}</label>
|
||||
</block>
|
||||
</block>
|
||||
<block cond="$var->type == 'module_srl_list'">
|
||||
<p class="desc">{$var->description}</p>
|
||||
<input type="hidden" name="{$id}" value="" />
|
||||
<select class="modulelist_selected" size="8" multiple="multiple" style="width:290px;"></select>
|
||||
<select class="modulelist_selected" size="8" multiple="multiple" style="width:220px;"></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>
|
||||
<a href="#" type="button" id="__module_srl_list_{$id}" class="x_btn x_btn-mini moduleTrigger" data-multiple="true">{$lang->cmd_add}</a>
|
||||
<button type="button" class="x_btn x_btn-mini modulelist_up">{$lang->cmd_move_up}</button>
|
||||
<button type="button" class="x_btn x_btn-mini modulelist_down">{$lang->cmd_move_down}</button>
|
||||
<button type="button" class="x_btn x_btn-mini x_btn-danger modulelist_del">{$lang->cmd_delete}</button>
|
||||
<script>
|
||||
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-->
|
||||
<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>
|
||||
<div id="suggestion_{$suggestion_id}" class="tgContent suggestion">
|
||||
<ul>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<p class="a"><select class="moduleList" style="width:290px;"></select></p>
|
||||
<p class="a"><select class="moduleIdList" style="width:290px;"></select> <button class="text">{$lang->cmd_select}</button></p>
|
||||
</div>
|
||||
<input type="text" style="width:220px" readonly="readonly" />
|
||||
<a href="#" class="x_btn x_btn-mini moduleTrigger">{$lang->cmd_select}</a>
|
||||
<button type="button" class="x_btn x_btn-mini x_btn-danger delete">{$lang->cmd_delete}</button>
|
||||
<script>
|
||||
xe.registerApp(new xe.MidManager('{$id}'));
|
||||
</script>
|
||||
|
||||
|
||||
</block>
|
||||
<block cond="$var->type == 'filebox'">
|
||||
{@$use_filebox = true}
|
||||
<input type="hidden" name="{$id}" />
|
||||
<a class="modalAnchor filebox" href="#modalFilebox">{$lang->cmd_select}</a>
|
||||
<a class="x_btn x_btn-mini modalAnchor filebox" href="#modalFilebox">{$lang->cmd_select}</a>
|
||||
</block>
|
||||
<select cond="$var->type == 'menu'" name="{$id}" style="width:290px">
|
||||
<select cond="$var->type == 'menu'" name="{$id}" style="width:220px">
|
||||
<option value="">-</option>
|
||||
<option loop="$menu_list => $key, $val" value="{$val->menu_srl}">{$val->title}</option>
|
||||
</select>
|
||||
</div>
|
||||
</li>
|
||||
</div>
|
||||
</block>
|
||||
</ul>
|
||||
</section>
|
||||
<script>
|
||||
xe.current_lang = "{$lang_type}";
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,23 +0,0 @@
|
|||
<block cond="$use_multilang">
|
||||
<div id="langEdit" class="langEdit tgContent">
|
||||
<ul class="langList"></ul>
|
||||
<div class="langInput form">
|
||||
<h2>{$lang->multilingual} <strong>{$lang->cmd_modify}...</strong> | <a href="#langEdit">{$lang->cmd_insert}</a></h2>
|
||||
<ul>
|
||||
{@
|
||||
/* move current language to the top */
|
||||
$a = array($lang_type=>$lang_supported[$lang_type]);
|
||||
unset($lang_supported[$lang_type]);
|
||||
$lang_supported = array_merge($a, $lang_supported);
|
||||
}
|
||||
<li loop="$lang_supported=>$code,$name" class="{$code}"><label for="{$code}_var1">{$name}</label> <input type="text" value="" id="{$code}_var1" /></li>
|
||||
</ul>
|
||||
<div class="action">
|
||||
<div class="btnArea">
|
||||
<span class="btn small"><input type="submit" value="{$lang->use}|{$lang->use_after_save}" /></span>
|
||||
</div>
|
||||
<p><a href="{getUrl('act','dispModuleAdminLangcode')}">{$lang->multilingual_manager}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</block>
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
<block cond="$use_multilang_textarea">
|
||||
<style>
|
||||
#langEditTextarea textarea { width: 258px; }
|
||||
</style>
|
||||
|
||||
<div id="langEditTextarea" class="langEdit tgContent">
|
||||
<ul class="langList"></ul>
|
||||
<div class="langInput form">
|
||||
<h2>{$lang->multilingual} <strong>{$lang->cmd_modify}...</strong> | <a href="#langEdit">{$lang->cmd_insert}</a></h2>
|
||||
<ul>
|
||||
{@
|
||||
/* move current language to the top */
|
||||
$a = array($lang_type=>$lang_supported[$lang_type]);
|
||||
unset($lang_supported[$lang_type]);
|
||||
$lang_supported = array_merge($a, $lang_supported);
|
||||
}
|
||||
<li loop="$lang_supported=>$code,$name" class="{$code}"><label for="{$code}_var1">{$name}</label> <textarea id="{$code}_var1" rows="8" cols="42"></textarea></li>
|
||||
</ul>
|
||||
<div class="action">
|
||||
<div class="btnArea">
|
||||
<span class="btn small"><input type="submit" value="{$lang->use}|{$lang->use_after_save}" /></span>
|
||||
</div>
|
||||
<p><a href="{getUrl('act','dispModuleAdminLangcode')}">{$lang->multilingual_manager}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</block>
|
||||
|
|
@ -33,14 +33,17 @@
|
|||
</ul>
|
||||
</form>
|
||||
</div>
|
||||
<div class="x" style="padding: 0 10px;">
|
||||
<h2 class="h2">{$widget_info->title}</h2>
|
||||
<div class="x" style="padding: 10px">
|
||||
<div class="x_page-header">
|
||||
<h1>{$widget_info->title}</h1>
|
||||
</div>
|
||||
<p>{$widget_info->description}</p>
|
||||
|
||||
<h3 class="h3">{$lang->cmd_generate_code}</h3>
|
||||
<div id="content" class="x_well">
|
||||
<h2>{$lang->cmd_generate_code}</h2>
|
||||
<p>{$lang->about_widget_code_in_page}</p>
|
||||
|
||||
<form class="form" action="./" method="post" id="fo_widget">
|
||||
<form class="x_form x_form-horizontal" action="./" method="post" id="fo_widget">
|
||||
<input type="hidden" name="module" value="widget" />
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
<input type="hidden" name="widget_sequence" value="" />
|
||||
|
|
@ -54,11 +57,10 @@
|
|||
<include target="widget_generate_code.include.html" />
|
||||
|
||||
<div class="btnArea">
|
||||
<span class="btn small"><input type="submit" value="{$lang->cmd_generate_code}" /></span>
|
||||
<input type="submit" class="x_btn x_btn-primary" value="{$lang->cmd_generate_code}" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<include target="../../module/tpl/include.filebox.html" />
|
||||
<include target="widget_generate_code.multilang.html" />
|
||||
<include target="widget_generate_code.multilang.textarea.html" />
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue