mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-12 13:32:16 +09:00
widget module(not completed)
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8987 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
6285e0b316
commit
1f6fe648a8
11 changed files with 555 additions and 69 deletions
|
|
@ -7,9 +7,12 @@
|
||||||
<action name="dispWidgetGenerateCode" type="view" standalone="true" />
|
<action name="dispWidgetGenerateCode" type="view" standalone="true" />
|
||||||
<action name="dispWidgetGenerateCodeInPage" type="view" standalone="true" />
|
<action name="dispWidgetGenerateCodeInPage" type="view" standalone="true" />
|
||||||
<action name="dispWidgetStyleGenerateCodeInPage" type="view" standalone="true" />
|
<action name="dispWidgetStyleGenerateCodeInPage" type="view" standalone="true" />
|
||||||
<action name="dispWidgetAdminDownloadedList" type="view" standalone="true" admin_index="true" />
|
|
||||||
|
<action name="dispWidgetAdminDownloadedList" type="view" standalone="true" admin_index="true" menu_name="installedWidget" menu_index="true" />
|
||||||
<action name="dispWidgetAdminAddContent" type="view" standalone="true" />
|
<action name="dispWidgetAdminAddContent" type="view" standalone="true" />
|
||||||
<action name="procWidgetGenerateCode" type="controller" standalone="true" />
|
<action name="dispWidgetAdminGenerateCode" type="view" menu_name="installedWidget" />
|
||||||
|
|
||||||
|
<action name="procWidgetGenerateCode" type="controller" standalone="true" />
|
||||||
<action name="procWidgetStyleExtraImageUpload" type="controller" standalone="true" />
|
<action name="procWidgetStyleExtraImageUpload" type="controller" standalone="true" />
|
||||||
<action name="procWidgetStyleGenerateCodeInPage" type="controller" standalone="true" />
|
<action name="procWidgetStyleGenerateCodeInPage" type="controller" standalone="true" />
|
||||||
<action name="procWidgetAddContent" type="controller" standalone="true" />
|
<action name="procWidgetAddContent" type="controller" standalone="true" />
|
||||||
|
|
@ -25,7 +28,7 @@
|
||||||
<menus>
|
<menus>
|
||||||
<menu name="installedWidget">
|
<menu name="installedWidget">
|
||||||
<title xml:lang="en">Installed Widget</title>
|
<title xml:lang="en">Installed Widget</title>
|
||||||
<title xml:lang="ko">위젯</title>
|
<title xml:lang="ko">설치된 위젯</title>
|
||||||
<title xml:lang="zh-CN">Installed Widget</title>
|
<title xml:lang="zh-CN">Installed Widget</title>
|
||||||
<title xml:lang="jp">Installed Widget</title>
|
<title xml:lang="jp">Installed Widget</title>
|
||||||
<title xml:lang="es">Installed Widget</title>
|
<title xml:lang="es">Installed Widget</title>
|
||||||
|
|
|
||||||
|
|
@ -617,4 +617,8 @@ Sin la necesidad de utilizar los módulos de página o del diseño de XE, Usted
|
||||||
<value xml:lang="tr"><![CDATA[Y Konum]]></value>
|
<value xml:lang="tr"><![CDATA[Y Konum]]></value>
|
||||||
<value xml:lang="vi"><![CDATA[Vị trí Y]]></value>
|
<value xml:lang="vi"><![CDATA[Vị trí Y]]></value>
|
||||||
</item>
|
</item>
|
||||||
</lang>
|
<item name="installed_widget">
|
||||||
|
<value xml:lang="ko"><![CDATA[설치된 위젯]]></value>
|
||||||
|
<value xml:lang="en"><![CDATA[Installed Widget]]></value>
|
||||||
|
</item>
|
||||||
|
</lang>
|
||||||
|
|
|
||||||
|
|
@ -1,44 +1,38 @@
|
||||||
<h3 class="xeAdmin">{$lang->widget} <span class="gray">{$lang->cmd_management}</span></h3>
|
<include target="header.html" />
|
||||||
|
|
||||||
<!-- 설명 -->
|
<div class="table even easyList">
|
||||||
<div class="infoText">{nl2br($lang->about_widget)}</div>
|
<table width="100%" border="1" cellspacing="0">
|
||||||
|
<caption>All({$tCount})</caption>
|
||||||
<!-- 위젯의 목록 -->
|
<thead>
|
||||||
<table cellspacing="0" class="crossTable">
|
<tr>
|
||||||
<thead>
|
<th scope="col" class="title">{$lang->widget_name}</th>
|
||||||
<tr>
|
<th scope="col">{$lang->version}</th>
|
||||||
<th scope="col"><div>{$lang->widget_name}<div></th>
|
<th scope="col">{$lang->author}</th>
|
||||||
<th scope="col"><div>{$lang->version}<div></th>
|
<th scope="col">{$lang->path}</th>
|
||||||
<th scope="col"><div>{$lang->author}<div></th>
|
<th scope="col">{$lang->cmd_generate_code}</th>
|
||||||
<th scope="col"><div>{$lang->date}<div></th>
|
<th scope="col">{$lang->cmd_delete}</th>
|
||||||
<th scope="col"><div>{$lang->path}<div></th>
|
</tr>
|
||||||
<th scope="col"><div>{$lang->cmd_generate_code}<div></th>
|
</thead>
|
||||||
</tr>
|
<tbody>
|
||||||
</thead>
|
<tr loop="$widget_list => $widget">
|
||||||
<tbody>
|
<td class="title">
|
||||||
<!--@foreach($widget_list as $key => $val)-->
|
<p><strong>{$widget->title}</strong></p>
|
||||||
<tr class="row{$cycle_idx}">
|
<p>{$widget->description}</p>
|
||||||
<th scope="row" rowspan="2">
|
<p cond="$widget->need_update == 'Y'" class="update">
|
||||||
<div>
|
{$lang->msg_avail_update} <a href="{$widget->update_url}&return_url={urlencode(getRequestUriByServerEnviroment())}">{$lang->msg_do_you_like_update}</a>
|
||||||
<a href="{getUrl('','module','widget','act','dispWidgetInfo','selected_widget',$val->widget)}" onclick="popopen(this.href,'widget_info');return false">{$val->title}</a><br />
|
</p>
|
||||||
({$val->widget})
|
</td>
|
||||||
</div>
|
<td>{$widget->version}</td>
|
||||||
</th>
|
<td>
|
||||||
<td class="number center">{$val->version}</td>
|
<block loop="$widget->author => $author">
|
||||||
<td class="nowrap">
|
<a cond="$author->homepage" href="{$author->homepage}" target="_blank">{$author->name}</a>
|
||||||
<!--@foreach($val->author as $author)-->
|
<block cond="!$author->homepage">{$author->name}</block>
|
||||||
<!--@if($author->homepage)--><a href="{$author->homepage}" onclick="window.open(this.href);return false;"><!--@end-->{$author->name}<!--@if($author->homepage)--></a><!--@end-->
|
</block>
|
||||||
<!--@endforeach-->
|
</td>
|
||||||
</td>
|
<td>{$widget->path}</td>
|
||||||
<td class="date nowrap center">{zdate($val->date, 'Y-m-d')}</td>
|
<td><a href="{getUrl('act', 'dispWidgetAdminGenerateCode', 'selected_widget', $widget->widget)}">{$lang->cmd_generate_code}</a></td>
|
||||||
<td class="number">{$val->path}</td>
|
<td><a cond="$widget->remove_url" href="{$widget->remove_url}&return_url={urlencode(getRequestUriByServerEnviroment())}">{$lang->cmd_delete}</a></td>
|
||||||
<td class="center"><a href="{getUrl('','module','widget','act','dispWidgetGenerateCode','selected_widget',$val->widget)}" onclick="popopen(this.href,'widget_code_generate');return false">{$lang->cmd_generate_code}</a></td>
|
</tr>
|
||||||
</tr>
|
</tbody>
|
||||||
<tr>
|
</table>
|
||||||
<td colspan="5" class="left">
|
</div>
|
||||||
{nl2br(trim($val->description))}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<!--@end-->
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
|
||||||
4
modules/widget/tpl/header.html
Normal file
4
modules/widget/tpl/header.html
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
<h1 class="h1">{$lang->installed_widget}</h1>
|
||||||
|
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||||
|
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||||
|
</div>
|
||||||
57
modules/widget/tpl/js/generate_code.js
Normal file
57
modules/widget/tpl/js/generate_code.js
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
function doDisplaySkinColorset()
|
||||||
|
{
|
||||||
|
var skin = jQuery('select[name=skin]').val();
|
||||||
|
if(!skin) {
|
||||||
|
doHideSkinColorset();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var params = new Array();
|
||||||
|
params["selected_widget"] = jQuery('input[name=selected_widget]').val();
|
||||||
|
params["skin"] = skin;
|
||||||
|
params["colorset"] = jQuery('select[name=colorset]').val();
|
||||||
|
|
||||||
|
var response_tags = new Array("error","message","colorset_list");
|
||||||
|
|
||||||
|
exec_xml("widget", "procWidgetGetColorsetList", params, completeGetSkinColorset, response_tags, params);
|
||||||
|
}
|
||||||
|
|
||||||
|
function completeGetSkinColorset(ret_obj)
|
||||||
|
{
|
||||||
|
var sel = jQuery("select[name=colorset]").get(0);
|
||||||
|
var length = sel.options.length;
|
||||||
|
var selected_colorset = jQuery('select[name=colorset]').val();
|
||||||
|
for(var i=0;i<length;i++) sel.remove(0);
|
||||||
|
|
||||||
|
if(!ret_obj["colorset_list"]) return;
|
||||||
|
|
||||||
|
var colorset_list = ret_obj["colorset_list"].split("\n");
|
||||||
|
var selected_index = 0;
|
||||||
|
for(var i=0;i<colorset_list.length;i++) {
|
||||||
|
var tmp = colorset_list[i].split("|@|");
|
||||||
|
if(selected_colorset && selected_colorset==tmp[0]) selected_index = i;
|
||||||
|
var opt = new Option(tmp[1], tmp[0], false, false);
|
||||||
|
sel.options.add(opt);
|
||||||
|
}
|
||||||
|
|
||||||
|
sel.selectedIndex = selected_index;
|
||||||
|
|
||||||
|
doShowSkinColorset();
|
||||||
|
}
|
||||||
|
|
||||||
|
function doHideSkinColorset()
|
||||||
|
{
|
||||||
|
jQuery('select[name=colorset]').parents('li').hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
function doShowSkinColorset()
|
||||||
|
{
|
||||||
|
jQuery('select[name=colorset]').parents('li').show();
|
||||||
|
}
|
||||||
|
|
||||||
|
jQuery(document).ready(function($){
|
||||||
|
$('select[name=skin]').next('span').children().bind('click', function(e){
|
||||||
|
doDisplaySkinColorset();
|
||||||
|
});
|
||||||
|
doHideSkinColorset();
|
||||||
|
});
|
||||||
104
modules/widget/tpl/js/module_list.js
Normal file
104
modules/widget/tpl/js/module_list.js
Normal file
|
|
@ -0,0 +1,104 @@
|
||||||
|
var ModuleListManager = xe.createApp("ModuleListManager", {
|
||||||
|
values: null,
|
||||||
|
keyObj: null,
|
||||||
|
moduleNameObj: null,
|
||||||
|
moduleSrlObj: null,
|
||||||
|
selectedObj: null,
|
||||||
|
|
||||||
|
init: function(key, values){
|
||||||
|
var values = this.values = values;
|
||||||
|
var keyObj = this.keyObj = jQuery('input[name='+key+']');
|
||||||
|
var moduleNameObj = this.moduleNameObj = keyObj.parent().find('.moduleList');
|
||||||
|
var moduleSrlObj = this.moduleSrlObj = keyObj.parent().find('.moduleIdList');
|
||||||
|
var selectedObj = this.selectedObj = keyObj.parent().find('.modulelist_selected');
|
||||||
|
|
||||||
|
var thisObj = this;
|
||||||
|
keyObj.parent().find('.modulelist_add').bind('click', function(){ thisObj.cast('MODULELIST_ADD'); return false; });
|
||||||
|
keyObj.parent().find('.modulelist_del').bind('click', function(){ thisObj.cast('MODULELIST_DEL'); return false; });
|
||||||
|
keyObj.parent().find('.modulelist_up').bind('click', function(){ thisObj.cast('MODULELIST_UP'); return false; });
|
||||||
|
keyObj.parent().find('.modulelist_down').bind('click', function(){ thisObj.cast('MODULELIST_DOWN'); return false; });
|
||||||
|
},
|
||||||
|
|
||||||
|
API_MODULELIST_ADD: function(){
|
||||||
|
var module = this.moduleNameObj.children('option:selected').text();
|
||||||
|
var moduleSrl = this.moduleSrlObj.val();
|
||||||
|
var browserTitle = this.moduleSrlObj.children('option:selected').text();
|
||||||
|
|
||||||
|
if (this.addValue(moduleSrl, module, browserTitle)) this.apply();
|
||||||
|
},
|
||||||
|
|
||||||
|
API_MODULELIST_DEL: function(){
|
||||||
|
var index = this.selectedObj.get(0).selectedIndex;
|
||||||
|
if (index == -1) return;
|
||||||
|
|
||||||
|
if (this.delValue(index)) this.apply();
|
||||||
|
},
|
||||||
|
|
||||||
|
API_MODULELIST_UP: function(){
|
||||||
|
var index = this.selectedObj.get(0).selectedIndex;
|
||||||
|
if (index == -1) return;
|
||||||
|
|
||||||
|
if (this.up(index)) this.apply();
|
||||||
|
},
|
||||||
|
|
||||||
|
API_MODULELIST_DOWN: function(){
|
||||||
|
var index = this.selectedObj.get(0).selectedIndex;
|
||||||
|
if (index == -1) return;
|
||||||
|
|
||||||
|
if (this.down(index)) this.apply();
|
||||||
|
},
|
||||||
|
|
||||||
|
addValue: function(moduleSrl, module, browserTitle){
|
||||||
|
var value = {'moduleSrl': moduleSrl, 'module': module, 'browserTitle': browserTitle};
|
||||||
|
|
||||||
|
if (this.values == undefined) this.values = new Array();
|
||||||
|
for (var i in this.values){
|
||||||
|
if (this.values[i].moduleSrl == value.moduleSrl) return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.values.push(value);
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
|
||||||
|
delValue: function(index){
|
||||||
|
this.values.splice(index, 1);
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
|
||||||
|
up: function(index){
|
||||||
|
if (index == 0) return false;
|
||||||
|
|
||||||
|
var targets = this.values.splice(index-1, 2);
|
||||||
|
for(var i in targets){
|
||||||
|
this.values.splice(index-1, 0, targets[i]);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
|
||||||
|
down: function(index){
|
||||||
|
if (index == this.values.length-1) return false;
|
||||||
|
|
||||||
|
var targets = this.values.splice(index, 2);
|
||||||
|
for(var i in targets){
|
||||||
|
this.values.splice(index, 0, targets[i]);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
|
||||||
|
apply: function(){
|
||||||
|
var keys = new Array();
|
||||||
|
for (var i in this.values){
|
||||||
|
keys.push(this.values[i].moduleSrl);
|
||||||
|
}
|
||||||
|
this.keyObj.val(keys.join(','));
|
||||||
|
|
||||||
|
var prevValue = this.selectedObj.val();
|
||||||
|
this.selectedObj.empty();
|
||||||
|
for (var i in this.values){
|
||||||
|
var module = this.values[i];
|
||||||
|
var html = '<option value="'+module.moduleSrl+'">'+module.browserTitle+'('+module.module+')</option>';
|
||||||
|
this.selectedObj.append(html);
|
||||||
|
}
|
||||||
|
this.selectedObj.val(prevValue);
|
||||||
|
}
|
||||||
|
});
|
||||||
117
modules/widget/tpl/js/multi_order.js
Normal file
117
modules/widget/tpl/js/multi_order.js
Normal file
|
|
@ -0,0 +1,117 @@
|
||||||
|
var MultiOrderManager = xe.createApp("MultiOrderManager", {
|
||||||
|
options: null,
|
||||||
|
values: null,
|
||||||
|
keyObj: null,
|
||||||
|
showObj: null,
|
||||||
|
selectedObj: null,
|
||||||
|
|
||||||
|
init: function(key, options, values){
|
||||||
|
var opstions = this.options = options;
|
||||||
|
var values = this.values = values;
|
||||||
|
var keyObj = this.keyObj = jQuery('input[name='+key+']');
|
||||||
|
var showObj = this.showObj = keyObj.parent().find('.multiorder_show');
|
||||||
|
var selectedObj = this.selectedObj = keyObj.parent().find('.multiorder_selected');
|
||||||
|
|
||||||
|
for (var key in options){
|
||||||
|
var option = options[key];
|
||||||
|
var html = '<option value="'+key+'">'+option.value+'</option>';
|
||||||
|
showObj.append(html);
|
||||||
|
|
||||||
|
if (option.init){
|
||||||
|
this.addValue(key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.apply();
|
||||||
|
|
||||||
|
var thisObj = this;
|
||||||
|
keyObj.parent().find('.multiorder_add').bind('click', function(){ thisObj.cast('MULTIORDER_ADD'); return false; });
|
||||||
|
keyObj.parent().find('.multiorder_del').bind('click', function(){ thisObj.cast('MULTIORDER_DEL'); return false; });
|
||||||
|
keyObj.parent().find('.multiorder_up').bind('click', function(){ thisObj.cast('MULTIORDER_UP'); return false; });
|
||||||
|
keyObj.parent().find('.multiorder_down').bind('click', function(){ thisObj.cast('MULTIORDER_DOWN'); return false; });
|
||||||
|
},
|
||||||
|
|
||||||
|
API_MULTIORDER_ADD: function(){
|
||||||
|
var index = this.showObj.get(0).selectedIndex;
|
||||||
|
if (index == -1) return;
|
||||||
|
|
||||||
|
if (this.addValue(index)) this.apply();
|
||||||
|
},
|
||||||
|
|
||||||
|
API_MULTIORDER_DEL: function(){
|
||||||
|
var index = this.selectedObj.get(0).selectedIndex;
|
||||||
|
if (index == -1) return;
|
||||||
|
|
||||||
|
if (this.delValue(index)) this.apply();
|
||||||
|
},
|
||||||
|
|
||||||
|
API_MULTIORDER_UP: function(){
|
||||||
|
var index = this.selectedObj.get(0).selectedIndex;
|
||||||
|
if (index == -1) return;
|
||||||
|
|
||||||
|
if (this.up(index)) this.apply();
|
||||||
|
},
|
||||||
|
|
||||||
|
API_MULTIORDER_DOWN: function(){
|
||||||
|
var index = this.selectedObj.get(0).selectedIndex;
|
||||||
|
if (index == -1) return;
|
||||||
|
|
||||||
|
if (this.down(index)) this.apply();
|
||||||
|
},
|
||||||
|
|
||||||
|
addValue: function(index){
|
||||||
|
var option = this.options[index];
|
||||||
|
if (!option) return false;
|
||||||
|
|
||||||
|
if (this.values == undefined) this.values = new Array();
|
||||||
|
for (var i in this.values){
|
||||||
|
if (this.values[i].key == option.key) return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.values.push(option);
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
|
||||||
|
delValue: function(index){
|
||||||
|
if (this.options[index].default) return false;
|
||||||
|
|
||||||
|
this.values.splice(index, 1);
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
|
||||||
|
up: function(index){
|
||||||
|
if (index == 0) return false;
|
||||||
|
|
||||||
|
var targets = this.values.splice(index-1, 2);
|
||||||
|
for(var i in targets){
|
||||||
|
this.values.splice(index-1, 0, targets[i]);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
|
||||||
|
down: function(index){
|
||||||
|
if (index == this.values.length-1) return false;
|
||||||
|
|
||||||
|
var targets = this.values.splice(index, 2);
|
||||||
|
for(var i in targets){
|
||||||
|
this.values.splice(index, 0, targets[i]);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
|
||||||
|
apply: function(){
|
||||||
|
var keys = new Array();
|
||||||
|
for (var i in this.values){
|
||||||
|
keys.push(this.values[i].key);
|
||||||
|
}
|
||||||
|
this.keyObj.val(keys.join(','));
|
||||||
|
|
||||||
|
var prevValue = this.selectedObj.val();
|
||||||
|
this.selectedObj.empty();
|
||||||
|
for (var i in this.values){
|
||||||
|
var option = this.values[i];
|
||||||
|
var html = '<option value="'+option.key+'">'+option.value+'</option>';
|
||||||
|
this.selectedObj.append(html);
|
||||||
|
}
|
||||||
|
this.selectedObj.val(prevValue);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
@ -1,26 +1,194 @@
|
||||||
<!--%import("filter/generate_code.xml")-->
|
<include cond="$in_admin" target="header.html" />
|
||||||
<!--%import("js/widget_admin.js")-->
|
<load target="js/generate_code.js" />
|
||||||
<!--%import("css/widget.css")-->
|
<load target="js/multi_order.js" />
|
||||||
<!--%import("../../admin/tpl/css/admin.css")-->
|
<load target="js/module_list.js" />
|
||||||
|
<!--%load_js_plugin("ui.colorpicker")-->
|
||||||
|
|
||||||
<form action="./" method="get" onsubmit="return procFilter(this, generate_code);" id="fo_widget">
|
<h2 class="h2">{$widget_info->title}</h2>
|
||||||
<div id="popHeader" class="wide">
|
<p>{$widget_info->description}</p>
|
||||||
<h3 class="xeAdmin">{$lang->cmd_generate_code}</h3>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="popBody">
|
<form class="form" action="./" method="post">
|
||||||
{@ $_caption = $lang->about_widget_code}
|
<input type="hidden" name="selected_widget" value="{$widget_info->widget}" />
|
||||||
<!--#include("widget_generate_code.include.html")-->
|
|
||||||
<h3 class="xeAdmin">{$lang->widget_code}</h3>
|
|
||||||
<table cellspacing="0" class="rowTable">
|
|
||||||
<tr>
|
|
||||||
<td class="wide"><textarea readonly="true" id="widget_code" class="inputTypeTextArea fullWidth"></textarea></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="popFooter">
|
<h3 class="h3">{$lang->cmd_generate_code}</h3>
|
||||||
<span class="button black strong"><input type="submit" value="{$lang->cmd_generate_code}" /></span>
|
<p>{$lang->about_widget_code}</p>
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p class="q"><label for="skin">{$lang->skin}</label></p>
|
||||||
|
<a class="a">
|
||||||
|
<select name="skin" id="skin">
|
||||||
|
<option value=""></option>
|
||||||
|
<option loop="$skin_list => $skin_name, $skin" value="{$skin_name}">{$skin->title} ({$skin_name})</option>
|
||||||
|
</select>
|
||||||
|
<span class="btn small"><input type="button" value="{$lang->cmd_select}" /></span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p class="q"><label for="colorset">{$lang->colorset}</label></p>
|
||||||
|
<p class="a">
|
||||||
|
<select name="colorset">
|
||||||
|
</select>
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p class="q"><label for="widget_cache">{$lang->widget_cache}</label></p>
|
||||||
|
<p class="a">
|
||||||
|
<input type="text" name="widget_cache" id="widget_cache" value="0" size="2" style="width: auto;" /> {$lang->unit_min}
|
||||||
|
</p>
|
||||||
|
<p class="desc">{$lang->about_widget_cache}</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
{@$suggestion_id = 0}
|
||||||
|
<block loop="$widget_info->extra_var => $id, $var">
|
||||||
|
{@$suggestion_id++}
|
||||||
|
<block cond="!$not_first && !$var->group"><ul></block>
|
||||||
|
<block cond="$group != $var->group">
|
||||||
|
<block cond="$not_first"></ul></block>
|
||||||
|
<h3 class="h3">{$var->group}</h3>
|
||||||
|
<ul>
|
||||||
|
{@$group = $var->group}
|
||||||
|
</block>
|
||||||
|
{@$not_first = true}
|
||||||
|
<li class="modulefinder"|cond="$var->type == 'mid' || $var->type == 'module_srl_list'">
|
||||||
|
<p class="q"><label for="{$id}">{$var->name}</label></p>
|
||||||
|
<div class="a">
|
||||||
|
<input cond="$var->type == 'text'" type="text" name="{$id}" value="" id="{$id}" />
|
||||||
|
|
||||||
|
<input cond="$var->type == 'color'" type="text" name="{$id}" value="" id="{$id}" class="color-indicator" />
|
||||||
|
|
||||||
|
<textarea cond="$var->type == 'textarea'" name="{$id}" id="{$id}"></textarea>
|
||||||
|
|
||||||
|
<select cond="$var->type == 'select'" name="{$id}" id="{$id}">
|
||||||
|
<option loop="$var->options => $key, $val" value="{$key}">{$val}</option>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<block cond="$var->type == 'select-multi-order'">
|
||||||
|
<input type="hidden" name="{$id}" value="" />
|
||||||
|
<div style="float:left; margin-left: 30px;">
|
||||||
|
<select class="multiorder_show" size="8" style="width: 100px;"></select>
|
||||||
|
</div>
|
||||||
|
<div style="float:left;margin-left:30px;">
|
||||||
|
<a class="multiorder_add" href="#">{$lang->cmd_insert}</a>
|
||||||
|
<br/><br/>
|
||||||
|
<a class="multiorder_del" href="#">{$lang->cmd_delete}</a>
|
||||||
|
</div>
|
||||||
|
<div style="float:left;margin-left:30px;">
|
||||||
|
<select class="multiorder_selected" size="8" style="width: 100px;"></select>
|
||||||
|
</div>
|
||||||
|
<div style="float:left;margin-left:30px;">
|
||||||
|
<a class="multiorder_up" href="#">{$lang->cmd_move_up}</a>
|
||||||
|
<br/><br/>
|
||||||
|
<a class="multiorder_down" href="#">{$lang->cmd_move_down}</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var options = [
|
||||||
|
<block loop="$var->options => $key, $val">
|
||||||
|
{
|
||||||
|
<block cond="$var->init_options[$key]">
|
||||||
|
'init': true,
|
||||||
|
</block>
|
||||||
|
<block cond="!$var->init_options[$key]">
|
||||||
|
'init': false,
|
||||||
|
</block>
|
||||||
|
<block cond="$var->default_options[$key]">
|
||||||
|
'default': true,
|
||||||
|
</block>
|
||||||
|
<block cond="!$var->default_options[$key]">
|
||||||
|
'default': false,
|
||||||
|
</block>
|
||||||
|
'key': '{$key}',
|
||||||
|
'value': '{$val}'
|
||||||
|
},
|
||||||
|
</block>
|
||||||
|
];
|
||||||
|
|
||||||
|
new MultiOrderManager('{$id}', options);
|
||||||
|
</script>
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<block cond="$var->type == 'mid_list'">
|
||||||
|
{@debugPrint($mid_list)}
|
||||||
|
<fieldset loop="$mid_list => $module_category_srl, $modules" style="border: 1px solid #ccc; margin: 0; padding: 4px 7px 9px 7px;">
|
||||||
|
<legend cond="$modules->title">{$modules->title}</legend>
|
||||||
|
<legend cond="!$modules->title">{$lang->none_category}</legend>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
</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>
|
||||||
|
</block>
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<block cond="$var->type == 'module_srl_list'">
|
||||||
|
<input type="hidden" name="{$id}" value="" />
|
||||||
|
<div style="float:left; margin-left: 30px;">
|
||||||
|
<div class="a">
|
||||||
|
<input type="text" /> <a href="#suggestion_{$suggestion_id}" class="tgAnchor findsite">사이트찾기</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></p>
|
||||||
|
</div>
|
||||||
|
<div style="float:left;margin-left:30px;">
|
||||||
|
<a class="modulelist_add" href="#">{$lang->cmd_insert}</a>
|
||||||
|
<br/><br/>
|
||||||
|
<a class="modulelist_del" href="#">{$lang->cmd_delete}</a>
|
||||||
|
</div>
|
||||||
|
<div style="float:left;margin-left:30px;">
|
||||||
|
<select class="modulelist_selected" size="8" style="width: 200px;"></select>
|
||||||
|
</div>
|
||||||
|
<div style="float:left;margin-left:30px;">
|
||||||
|
<a class="modulelist_up" href="#">{$lang->cmd_move_up}</a>
|
||||||
|
<br/><br/>
|
||||||
|
<a class="modulelist_down" href="#">{$lang->cmd_move_down}</a>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
new ModuleListManager('{$id}');
|
||||||
|
</script>
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<block cond="$var->type == 'mid'">
|
||||||
|
<div class="a">
|
||||||
|
<input type="text" /> <a href="#suggestion_{$suggestion_id}" class="tgAnchor findsite">사이트찾기</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 name="{$id}" class="moduleIdList" style="width: 290px;"></select></p>
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<block cond="$var->type == 'filebox'">
|
||||||
|
<div id="filebox_preview_{$id}" style="width:100px;height:100px;display:none" ></div>
|
||||||
|
<input type="hidden" name="{$id}" value="" />
|
||||||
|
<span class="button black"><button type="button" onclick="XE.filebox.open(jQuery('[name={$id}]', '#fo_widget').get(0), '{$var->filter}')">{$lang->cmd_select}</button></span>
|
||||||
|
<span id="filebox_cancel_{$id}" class="button red" style="display:none" ><button type="button" onclick="XE.filebox.cancel('{$id}')">{$lang->cmd_delete}</button></span>
|
||||||
|
<script type="text/javascript">//<![CDATA[
|
||||||
|
XE.filebox.init('{$id}');
|
||||||
|
//]]></script>
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<select cond="$var->type == 'menu'">
|
||||||
|
<option value="">-</option>
|
||||||
|
<option loop="$menu_list => $key, $val" value="{$val->menu_srl}">{$val->title}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<p class="desc" style="clear: both;">{$var->description}</p>
|
||||||
|
</li>
|
||||||
|
</block>
|
||||||
|
</ul>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
||||||
|
|
@ -21,11 +21,29 @@
|
||||||
// Set widget list
|
// Set widget list
|
||||||
$oWidgetModel = &getModel('widget');
|
$oWidgetModel = &getModel('widget');
|
||||||
$widget_list = $oWidgetModel->getDownloadedWidgetList();
|
$widget_list = $oWidgetModel->getDownloadedWidgetList();
|
||||||
|
|
||||||
|
$security = new Security($widget_list);
|
||||||
|
$widget_list = $security->encodeHTML('..', '..author..');
|
||||||
|
|
||||||
|
foreach($widget_list as $no => $widget)
|
||||||
|
{
|
||||||
|
$widget_list[$no]->description = nl2br(trim($widget->description));
|
||||||
|
}
|
||||||
|
|
||||||
Context::set('widget_list', $widget_list);
|
Context::set('widget_list', $widget_list);
|
||||||
|
Context::set('tCount', count($widget_list));
|
||||||
|
|
||||||
$this->setTemplateFile('downloaded_widget_list');
|
$this->setTemplateFile('downloaded_widget_list');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function dispWidgetAdminGenerateCode()
|
||||||
|
{
|
||||||
|
$oView = &getView('widget');
|
||||||
|
Context::set('in_admin', true);
|
||||||
|
$this->setTemplateFile('widget_generate_code');
|
||||||
|
return $oView->dispWidgetGenerateCode();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief For information on direct entry widget popup kkuhim
|
* @brief For information on direct entry widget popup kkuhim
|
||||||
**/
|
**/
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,8 @@
|
||||||
* Download a widget with type (generation and other means)
|
* Download a widget with type (generation and other means)
|
||||||
**/
|
**/
|
||||||
function getDownloadedWidgetList() {
|
function getDownloadedWidgetList() {
|
||||||
|
$oAutoinstallModel = &getModel('autoinstall');
|
||||||
|
|
||||||
// 've Downloaded the widget and the widget's list of installed Wanted
|
// 've Downloaded the widget and the widget's list of installed Wanted
|
||||||
$searched_list = FileHandler::readDir('./widgets');
|
$searched_list = FileHandler::readDir('./widgets');
|
||||||
$searched_count = count($searched_list);
|
$searched_count = count($searched_list);
|
||||||
|
|
@ -61,6 +63,20 @@
|
||||||
// Wanted information on the Widget
|
// Wanted information on the Widget
|
||||||
$widget_info = $this->getWidgetInfo($widget);
|
$widget_info = $this->getWidgetInfo($widget);
|
||||||
|
|
||||||
|
// get easyinstall remove url
|
||||||
|
$packageSrl = $oAutoinstallModel->getPackageSrlByPath($widget_info->path);
|
||||||
|
$widget_info->remove_url = $oAutoinstallModel->getRemoveUrlByPackageSrl($packageSrl);
|
||||||
|
|
||||||
|
// get easyinstall need update
|
||||||
|
$package = $oAutoinstallModel->getInstalledPackages($packageSrl);
|
||||||
|
$widget_info->need_update = $package[$packageSrl]->need_update;
|
||||||
|
|
||||||
|
// get easyinstall update url
|
||||||
|
if ($widget_info->need_update == 'Y')
|
||||||
|
{
|
||||||
|
$widget_info->update_url = $oAutoinstallModel->getUpdateUrlByPackageSrl($packageSrl);
|
||||||
|
}
|
||||||
|
|
||||||
$list[] = $widget_info;
|
$list[] = $widget_info;
|
||||||
}
|
}
|
||||||
return $list;
|
return $list;
|
||||||
|
|
|
||||||
|
|
@ -97,6 +97,7 @@
|
||||||
$this->setLayoutFile('popup_layout');
|
$this->setLayoutFile('popup_layout');
|
||||||
// Set a template file
|
// Set a template file
|
||||||
$this->setTemplateFile('widget_generate_code');
|
$this->setTemplateFile('widget_generate_code');
|
||||||
|
debugPrint($widget_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -127,7 +128,7 @@
|
||||||
if($widgetstyle && $widgetstyle_info){
|
if($widgetstyle && $widgetstyle_info){
|
||||||
Context::set('widgetstyle_info',$widgetstyle_info);
|
Context::set('widgetstyle_info',$widgetstyle_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->dispWidgetGenerateCode();
|
$this->dispWidgetGenerateCode();
|
||||||
$this->setLayoutFile('popup_layout');
|
$this->setLayoutFile('popup_layout');
|
||||||
$this->setTemplateFile('widget_style_generate_code_in_page');
|
$this->setTemplateFile('widget_style_generate_code_in_page');
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue