Issue 2380: Admin UI Refactoring - Advanced - Layouts

git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@11636 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
flyskyko 2012-10-09 02:37:16 +00:00
parent 683b48658e
commit 01a0d56e32
12 changed files with 306 additions and 448 deletions

View file

@ -235,10 +235,13 @@
if(!$force)
{
$layoutInfo = $oLayoutModel->getLayout($layout_srl);
$layoutList = $oLayoutModel->getLayoutInstanceList($layoutInfo->site_srl, $layoutInfo->layout_type, $layoutInfo->layout, array('layout_srl'));
if(count($layoutList) <= 1)
if($layoutInfo)
{
return new Object(-1, 'msg_at_least_one_layout');
$layoutList = $oLayoutModel->getLayoutInstanceList($layoutInfo->site_srl, $layoutInfo->layout_type, $layoutInfo->layout, array('layout_srl'));
if(count($layoutList) <= 1)
{
return new Object(-1, 'msg_at_least_one_layout');
}
}
}

View file

@ -354,28 +354,6 @@
}
/**
* Pop-up details of the layout(conf/info.xml)
* @deprecated
* @return void
**/
function dispLayoutAdminInfo() {
// Get the layout information
$oLayoutModel = &getModel('layout');
$layout_info = $oLayoutModel->getLayoutInfo(Context::get('selected_layout'));
Context::set('layout_info', $layout_info);
// Set the layout to be pop-up
$this->setLayoutFile('popup_layout');
$security = new Security();
$security->encodeHTML('layout_list..');
$security->encodeHTML('layout_list..author..');
$security->encodeHTML('layout_list..history..');
$security->encodeHTML('layout_list..history..author..');
// Set a template file
$this->setTemplateFile('layout_detail_info');
}
/**
* Modify admin layout of faceoff
* @deprecated
@ -424,26 +402,6 @@
$this->setTemplateFile('faceoff_layout_edit');
}
/**
* display used images info for faceoff
* @deprecated
* @return void
**/
function dispLayoutAdminLayoutImageList(){
$layout_srl = Context::get('layout_srl');
$oLayoutModel = &getModel('layout');
// Image List
$layout_image_list = $oLayoutModel->getUserLayoutImageList($layout_srl);
Context::set('layout_image_list',$layout_image_list);
// Path
$layout_image_path = $oLayoutModel->getUserLayoutImagePath($layout_srl);
Context::set('layout_image_path',$layout_image_path);
$this->setLayoutFile('popup_layout');
$this->setTemplateFile('layout_image_list');
}
/**
* Copy layout instance
* @return void

View file

@ -1,7 +0,0 @@
<script>
<!--@if($msg)-->
alert('{$msg}');
<!--@else-->
parent.afterDeleteConfigImage('{$name}');
<!--@end-->
</script>

View file

@ -1,3 +0,0 @@
.uploaded_image_list {list-style: none; margin: 0; padding: 0;}
.uploaded_image_list li {display: inline-block; margin-right: 10px;}
.uploaded_image_list img {border: 1px #ccc solid; padding: 3px; width: 96px; height: 96px;}

View file

@ -36,7 +36,7 @@
</block>
</td>
<td class="nowr">{$layout->path}</td>
<td class="nowr"><a cond="$layout->remove_url" class="x_btn x_btn-primary" href="{$layout->remove_url}&amp;return_url={urlencode(getRequestUriByServerEnviroment())}">{$lang->cmd_delete}</a></td>
<td class="nowr"><a cond="$layout->remove_url" class="x_btn x_btn-danger" href="{$layout->remove_url}&amp;return_url={urlencode(getRequestUriByServerEnviroment())}">{$lang->cmd_delete}</a></td>
</block>
<block cond="!$layout->title">
<td class="title">
@ -48,7 +48,7 @@
<td class="nowr">-</td>
<td class="nowr">-</td>
<td class="nowr">{$layout->path}</td>
<td class="nowr"><a cond="$layout->remove_url" class="x_btn x_btn-primary" href="{$layout->remove_url}&amp;return_url={urlencodegetRequestUriByServerEnviroment()}">{$lang->cmd_delete}</a></td>
<td class="nowr"><a cond="$layout->remove_url" class="x_btn x_btn-danger" href="{$layout->remove_url}&amp;return_url={urlencodegetRequestUriByServerEnviroment()}">{$lang->cmd_delete}</a></td>
</block>
</tr>
</block>

View file

@ -2,8 +2,8 @@ jQuery(document).ready(function($){
$('.uploaded_image').css('cursor', 'pointer');
$('.uploaded_image_path').hide();
$('.uploaded_image').bind('click', function(e){
var path = $(this).siblings('.uploaded_image_path').html();
var html = '<div class="selected_image_path">' + path + '</div>';
var path = $(this).find('.uploaded_image_path').html();
var html = '<div class="x_well selected_image_path">' + path + '</div>';
$('.selected_image_path').remove();
$('.uploaded_image_list').after(html);
@ -21,4 +21,4 @@ function doPreviewLayoutCode()
$form.removeAttr('target');
$act.val(og_act);
}
}

View file

@ -3,48 +3,44 @@
</script>
<include target="header.html" />
<load target="js/adminList.js" usecdn="true" />
<div class="table even easyList">
<include target="sub_tab.html" />
<table width="100%" border="1" cellspacing="0">
<caption>
<span class="side"><button type="button" class="text"><span class="hide">{$lang->simple_view}</span><span class="show">{$lang->detail_view}</span></button></span>
</caption>
<thead>
<tr>
<th scope="col" class="nowr">{$lang->number}</th>
<th scope="col" class="nowr">{$lang->layout_name}</th>
<th scope="col" class="title">{$lang->title}</th>
<th scope="col" class="nowr">{$lang->regdate}</th>
<th scope="col" class="nowr">{$lang->cmd_layout_management}</th>
<th scope="col" class="nowr">{$lang->cmd_layout_edit}</th>
<th scope="col" class="nowr">{$lang->cmd_copy}</th>
<th scope="col" class="nowr">{$lang->cmd_delete}</th>
</tr>
</thead>
<tbody>
<table class="x_table x_table-striped x_table-hover">
<thead>
<tr>
<th scope="col" class="nowr">{$lang->number}</th>
<th scope="col" class="nowr">{$lang->layout_name}</th>
<th scope="col" class="title">{$lang->title}</th>
<th scope="col" class="nowr">{$lang->regdate}</th>
<th scope="col" class="nowr">{$lang->cmd_layout_management}</th>
<th scope="col" class="nowr">{$lang->cmd_layout_edit}</th>
<th scope="col" class="nowr">{$lang->cmd_copy}</th>
<th scope="col" class="nowr">{$lang->cmd_delete}</th>
</tr>
</thead>
<tbody>
{@$count=1}
<!--@foreach($layout_list as $layout)-->
<!--@foreach($layout_list as $layout)-->
{@$layout_name = $layout['title']}
{@unset($layout['title'])}
<tr loop="$layout => $no, $item">
<td class="nowr" rowspan="{count($layout)}" cond="$no === 0" >{$count++}</td>
<td class="nowr" rowspan="{count($layout)}" cond="$no === 0" >{$layout_name}</td>
<td class="title">{$item->title}</td>
<td class="nowr">{zdate($item->regdate, "Y-m-d")}</td>
<td class="nowr"><a href="{getUrl('act', 'dispLayoutAdminModify', 'layout_srl', $item->layout_srl)}">{$lang->cmd_layout_management}</a></td>
<td class="nowr"><a href="{getUrl('act', 'dispLayoutAdminEdit', 'layout_srl', $item->layout_srl)}">{$lang->cmd_layout_edit}</a></td>
<td class="nowr"><a href="{getUrl('', 'module', 'layout', 'act', 'dispLayoutAdminCopyLayout', 'layout_srl', $item->layout_srl)}" onclick="popopen(this.href);return false;" title="{$lang->cmd_copy}">{$lang->cmd_copy}</a></td>
<td class="nowr">
<form class="layout_delete_form" ruleset="deleteLayout" action="./" method="post">
<input type="hidden" name="module" value="layout" />
<input type="hidden" name="act" value="procLayoutAdminDelete" />
<input type="hidden" name="layout_srl" value="{$item->layout_srl}" />
<tr loop="$layout => $no, $item">
<td class="nowr" rowspan="{count($layout)}" cond="$no === 0" >{$count++}</td>
<td class="nowr" rowspan="{count($layout)}" cond="$no === 0" >{$layout_name}</td>
<td class="title">{$item->title}</td>
<td class="nowr">{zdate($item->regdate, "Y-m-d")}</td>
<td class="nowr"><a href="{getUrl('act', 'dispLayoutAdminModify', 'layout_srl', $item->layout_srl)}">{$lang->cmd_layout_management}</a></td>
<td class="nowr"><a href="{getUrl('act', 'dispLayoutAdminEdit', 'layout_srl', $item->layout_srl)}">{$lang->cmd_layout_edit}</a></td>
<td class="nowr"><a href="{getUrl('', 'module', 'layout', 'act', 'dispLayoutAdminCopyLayout', 'layout_srl', $item->layout_srl)}" onclick="popopen(this.href);return false;" title="{$lang->cmd_copy}">{$lang->cmd_copy}</a></td>
<td class="nowr">
<form cond="count($layout) > 1" class="layout_delete_form" ruleset="deleteLayout" action="./" method="post">
<input type="hidden" name="module" value="layout" />
<input type="hidden" name="act" value="procLayoutAdminDelete" />
<input type="hidden" name="layout_srl" value="{$item->layout_srl}" />
<input class="text" type="submit" value="{$lang->cmd_delete}" />
</form>
</td>
</tr>
<!--@end-->
</tbody>
</table>
</div>
<input class="x_btn x_btn-danger" type="submit" value="{$lang->cmd_delete}" />
</form>
</td>
</tr>
<!--@end-->
</tbody>
</table>

View file

@ -1,79 +0,0 @@
<h1 class="h1">{$lang->layout_maker}</h1>
<div class="table">
<table width="100%" border="1" cellspacing="0">
<tr>
<th scope="row"><div>{$lang->title}</div></th>
<td>{$layout_info->title} ver {$layout_info->version}</td>
</tr>
<tr>
<th scope="row"><div>{$lang->author}</div></th>
<td>
<!--@foreach($layout_info->author as $author)-->
{$author->name} <!--@if($author->homepage || $author->email_address)-->(<!--@if($author->homepage)--><a href="{$author->homepage}" onclick="window.open(this.href);return false;">{$author->homepage}</a><!--@end--><!--@if($author->homepage && $author->email_address)-->, <!--@end--><!--@if($author->email_address)--><a href="mailto:{$author->email_address}">{$author->email_address}</a><!--@end-->)<!--@end--><br />
<!--@endforeach-->
</td>
</tr>
<!--@if($layout_info->homepage)-->
<tr>
<th scope="row"><div>{$lang->homepage}</div></th>
<td><a href="{$layout_info->author->homepage}" onclick="window.open(this.href);return false;">{$layout_info->homepage}</a></td>
</tr><!--@end-->
<tr>
<th scope="row"><div>{$lang->regdate}</div></th>
<td>{zdate($layout_info->date, 'Y-m-d')}</td>
</tr>
<!--@if($layout_info->license || $layout_info->license_link)-->
<tr>
<th scope="row"><div>{$lang->layout_license}</div></th>
<td>
{nl2br(trim($layout_info->license))}
<!--@if($layout_info->license_link)-->
<p><a href="{$layout_info->license_link}" onclick="window.close(); return false;">{$layout_info->license_link}</a></p>
<!--@end-->
&nbsp;
</td>
</tr><!--@end-->
<!--@if($layout_info->description)-->
<tr>
<th scope="row"><div>{$lang->description}</div></th>
<td>{nl2br(trim($layout_info->description))}</td>
</tr><!--@end-->
</table>
</div>
<!--@if($layout_info->history)-->
<h1 class="h1">{$lang->layout_history}</h1>
<div class="table">
<table width="100%" border="1" cellspacing="0">
<!--@foreach($layout_info->history as $history)-->
<tr class="row{$cycle_idx}">
<th scope="row"><div>
{$history->version}<br />
{zdate($history->date, 'Y-m-d')}
</div></th>
<td>
<!--@foreach($history->author as $author)-->
<p>{$author->name} (<a href="{$author->homepage}" onclick="window.open(this.href);return false;">{$author->homepage}</a> / <a href="mailto:{$author->email_address}">{$author->email_address}</a>)</p>
<!--@endforeach-->
<!--@if($history->description)-->
<p>{nl2br(trim($history->description))}</p>
<!--@endif-->
<!--@if($history->logs)-->
<ul>
<!--@foreach($history->logs as $log)-->
<!--@if($log->link)-->
<li><a href="{$log->link}" onclick="window.close(); return false;">{$log->text}</a></li>
<!--@else-->
<li>{$log->text}</li>
<!--@endif-->
<!--@endforeach-->
</ul>
<!--@endif-->
</td>
</tr>
<!--@endforeach-->
</table>
</div>
<!--@endif-->

View file

@ -1,89 +1,93 @@
<include target="header.html" />
<load target="css/adminEdit.css" usecdn="true" />
<load target="js/adminEdit.js" usecdn="true" />
<h2 class="h2">{$selected_layout->layout_title}</h2>
<h2>{$selected_layout->layout_title}</h2>
<h3 class="h3">{$selected_layout->title} ver {$selected_layout->version} ({$selected_layout->layout})</h3>
<h3>{$selected_layout->title} ver {$selected_layout->version} ({$selected_layout->layout})</h3>
<p>{nl2br($lang->about_layout_code)}</p>
<h3 class="h3">{$lang->layout_image_repository}</h3>
<p>{nl2br($lang->about_layout_image_repository)}</p>
<section class="section">
<h1>{$lang->layout_image_repository}</h1>
<p>{nl2br($lang->about_layout_image_repository)}</p>
<fieldset class="section">
<ul class="uploaded_image_list">
<li loop="$layout_image_list => $no, $file">
<ul class="x_thumbnails uploaded_image_list">
<li loop="$layout_image_list => $no, $file" class="x_span2">
{@$ext=substr(strrchr($file,'.'),1)}
<div class="a uploaded_image">
<div class="x_thumbnail a uploaded_image">
<script cond="$ext == 'swf' || $ext == 'flv'">
//<![CDATA[
displayMultimedia('{getUrl('')}{$layout_image_path}{$file}', '100px', '100px');
//]]>
</script>
<img cond="$ext != 'swf' && $ext != 'flv'" src="{getUrl('')}{$layout_image_path}{$file}" />
</div>
<div class="uploaded_image_path">{$layout_image_path}{$file}</div>
<form action="./" method="post">
<input type="hidden" name="module" value="layout" />
<input type="hidden" name="act" value="procLayoutAdminUserImageDelete" />
<input type="hidden" name="layout_srl" value="{$layout_srl}" />
<input type="hidden" name="filename" value="{$file}" />
<div class="x_caption">
<p class="uploaded_image_path">{$layout_image_path}{$file}</p>
<form action="./" method="post" style="margin:0;padding:0">
<input type="hidden" name="module" value="layout" />
<input type="hidden" name="act" value="procLayoutAdminUserImageDelete" />
<input type="hidden" name="layout_srl" value="{$layout_srl}" />
<input type="hidden" name="filename" value="{$file}" />
<input class="text" type="submit" value="{$lang->cmd_delete}" />
</form>
<input class="x_btn x_btn-mini x_btn-danger" type="submit" value="{$lang->cmd_delete}" />
</form>
</div>
</div>
</li>
</ul>
<form class="form" ruleset="imageUpload" action="./" method="post" enctype="multipart/form-data">
<input type="hidden" name="module" value="layout" />
<input type="hidden" name="act" value="procLayoutAdminUserImageUpload" />
<input type="hidden" name="layout_srl" value="{$layout_srl}" />
<ul>
<li>
<p class="a"><input type="file" name="user_layout_image" value="" /> <span class="desc">{$lang->msg_layout_image_target}</span></p>
</li>
</ul>
<div class="btnArea">
<span class="btn medium"><input type="submit" value="{$lang->cmd_save}" /></span>
<form ruleset="imageUpload" action="./" method="post" enctype="multipart/form-data">
<input type="hidden" name="module" value="layout" />
<input type="hidden" name="act" value="procLayoutAdminUserImageUpload" />
<input type="hidden" name="layout_srl" value="{$layout_srl}" />
<div class="x_control-group">
<input type="file" name="user_layout_image" value="" />
<span class="x_help-block">{$lang->msg_layout_image_target}</span>
</div>
<div class="x_clearfix btnArea">
<div class="x_pull-right">
<button type="submit" class="x_btn x_btn-primary">{$lang->cmd_save}</button>
</div>
</div>
</form>
</fieldset>
</section>
<block cond="$selected_layout->type == 'faceoff'">
<fieldset class="section">
<h3 class="h3">{$lang->faceoff_export}</h3>
<section class="section">
<h1>{$lang->faceoff_export}</h1>
<p>{nl2br($lang->about_faceoff_export)}</p>
<ul class="form">
<li>
<p class="q">{$lang->layout_export}</p>
<p class="a"><span class="btn small"><a href="{getUrl('', 'act', 'procLayoutAdminUserLayoutExport', 'layout_srl', $layout_srl)}">{$lang->layout_btn_export}</a></span></p>
<p class="desc">{$lang->about_layout_export}</p>
</li>
</ul>
</fieldset>
<p>
<a class="x_btn" href="{getUrl('', 'act', 'procLayoutAdminUserLayoutExport', 'layout_srl', $layout_srl)}">{$lang->layout_btn_export}</a>
</p>
</section>
</block>
<fieldset class="section">
<form id="fo_layout" class="form" ruleset="codeUpdate" action="./" method="post">
<form id="fo_layout" class="form" ruleset="codeUpdate" action="./" method="post">
<input type="hidden" name="module" value="layout" />
<input type="hidden" name="layout_srl" value="{$layout_srl}" />
<input type="hidden" name="act" value="procLayoutAdminCodeUpdate" />
<h3 class="h3">HTML</h3>
<div>
<textarea name="code" rows="8" cols="42" style="width:100%;height:300px;font-size:11px;">{$layout_code}</textarea>
<span loop="$widget_list => $widget" class="btn"><a href="{getUrl('','module','admin','act','dispWidgetAdminGenerateCode','selected_widget',$widget->widget)}" target="_blank">{$widget->title}</a></span>
<section class="section">
<h1>HTML</h1>
<textarea name="code" rows="8" cols="42" style="width:100%;height:300px;font-size:11px;">{$layout_code}</textarea>
<div class="x_btn-group">
<a loop="$widget_list => $widget" class="x_btn x_btn-mini" href="{getUrl('','module','admin','act','dispWidgetAdminGenerateCode','selected_widget',$widget->widget)}" target="_blank">{$widget->title}</a>
</div>
</section>
<h3 class="h3">CSS</h3>
<div>
<textarea name="code_css" rows="8" cols="42" style="width:100%;height:300px;font-size:11px;">{$layout_code_css}</textarea>
</div>
<div class="btnArea" style="float: left" >
<span class="btn medium"><button type="submit" name="mode" value="reset">{$lang->cmd_reset}</button></span>
</div>
<div class="btnArea">
<span class="btn medium"><button type="button" onclick="doPreviewLayoutCode();">{$lang->cmd_preview}</button></span>
<span class="btn medium"><button type="submit" name="mode" value="save">{$lang->cmd_save}</button></span>
</div>
</form>
</fieldset>
<section class="section">
<h1>CSS</h1>
<textarea name="code_css" rows="8" cols="42" style="width:100%;height:300px;font-size:11px;">{$layout_code_css}</textarea>
</section>
<div class="x_clearfix btnArea">
<span class="x_pull-left">
<button type="submit" class="x_btn" name="mode" value="reset">{$lang->cmd_reset}</button>
</span>
<span class="x_pull-right x_btn-group">
<button type="button" class="x_btn" onclick="doPreviewLayoutCode()">{$lang->cmd_preview}</button>
<button type="submit" class="x_btn x_btn-primary" name="mode" value="save">{$lang->cmd_save}</button>
</span>
</div>
</form>

View file

@ -1,26 +0,0 @@
<!--%import("js/layout_image_list.js")-->
<!--%import("js/layout_admin.js")-->
<!--%import("../../admin/tpl/css/admin.css")-->
<h1 class="h1">레이아웃 이미지 목록</h1>
<!--@foreach($layout_image_list as $no => $file)-->
{@$ext=substr(strrchr($file,'.'),1)}
<div class="filebox_preview_{$val->module_filebox_srl}" style="width:100px;height:100px;float:left; position:relative;margin-right:10px; ">
<!--@if($ext=='swf'||$ext=='flv')-->
<script>//<![CDATA[
displayMultimedia('{getUrl('')}{$layout_image_path}{$file}', '100%', '100%');
//]]></script>
<!--@elseif(in_array($ext,array('gif','png','jpg','jpeg')))-->
<img src="{getUrl('')}{$layout_image_path}{$file}" width="100%" height="100%" />
<!--@end-->
<span class="btn"><button type="button" onclick="selectLayoutImage(request_uri+'{$layout_image_path}{$file}');">{$lang->cmd_select}</button></span>
</div>
<!--@end-->
<form action="{Context::getRequestUri()}" target="hidden_iframe" method="post" onsubmit="return checkFile(this)" enctype="multipart/form-data">
<input type="hidden" name="module" value="layout" />
<input type="hidden" name="act" value="procLayoutAdminUserImageUpload" />
<input type="hidden" name="layout_srl" value="{$layout_srl}" />
<input name="user_layout_image" type="file" />
<span class="button black strong"><button type="submit">{$lang->cmd_save}</button></span>
</form>
<iframe name="hidden_iframe" style="width:0;height:0;border:0"></iframe>

View file

@ -3,81 +3,104 @@
<script>
xe.lang.confirm_delete = '{$lang->confirm_delete}';
</script>
<h2 class="h2">{$layout_info->title} ver {$layout_info->version} ({$layout_info->layout})</h2>
<div class="table even easyList">
<table width="100%" border="1" cellspacing="0">
<thead>
<tr>
<th scope="col" class="nowr">{$lang->no}</th>
<th scope="col" class="title">{$lang->title}</th>
<th scope="col" class="nowr">{$lang->regdate}</th>
<th scope="col" class="nowr">{$lang->cmd_layout_management}</th>
<th scope="col" class="nowr">{$lang->cmd_layout_edit}</th>
<th scope="col" class="nowr">{$lang->cmd_copy}</th>
<th scope="col" class="nowr">{$lang->cmd_delete}</th>
</tr>
</thead>
<tbody>
<tr loop="$layout_list => $no, $layout">
<td class="nowr">{$no+1}</td>
<td class="title">{$layout->title}</td>
<td class="nowr">{zdate($layout->regdate, "Y-m-d")}</td>
<td class="nowr"><a href="{getUrl('act', 'dispLayoutAdminModify', 'layout_srl', $layout->layout_srl)}">{$lang->cmd_layout_management}</a></td>
<td class="nowr"><a href="{getUrl('act', 'dispLayoutAdminEdit', 'layout_srl', $layout->layout_srl)}">{$lang->cmd_layout_edit}</a></td>
<td class="nowr"><a href="{getUrl('', 'module', 'layout', 'act', 'dispLayoutAdminCopyLayout', 'layout_srl', $layout->layout_srl)}" onclick="popopen(this.href);return false;" title="{$lang->cmd_copy}">{$lang->cmd_copy}</a></td>
<td class="nowr">
<form class="layout_delete_form" ruleset="deleteLayout" action="./" method="post">
<input type="hidden" name="module" value="layout" />
<input type="hidden" name="act" value="procLayoutAdminDelete" />
<input type="hidden" name="layout_srl" value="{$layout->layout_srl}" />
<input class="text" type="submit" value="{$lang->cmd_delete}" />
</form>
</td>
</tr>
</tbody>
</table>
</div>
<div cond="$layout_info->layout != 'faceoff'" class="btnArea">
<span class="btn"><a href="#insertLayout" class="modalAnchor">{$lang->cmd_insert}...</a></span>
</div>
<div id="insertLayout" class="modal">
<div class="fg">
<h2></h2>
<form ruleset="insertLayout" action="./" class="form">
<input type="hidden" name="module" value="layout" />
<input type="hidden" name="act" value="procLayoutAdminInsert" />
<input type="hidden" name="layout" value="{$layout_info->layout}" />
<input type="hidden" name="_layout_type" value="{$type}" />
<input type="hidden" name="success_return_url" value="{getUrl('act', 'dispLayoutAdminInstanceList')}" />
<ul>
<li>
<p class="q">{$lang->layout}</p>
<p class="a">{$layout_info->title} ver {$layout_info->version} ({$layout_info->layout})</p>
</li>
<li cond="$layout_info->path">
<p class="q">{$lang->path}</p>
<p class="a">{$layout_info->path}</p>
</li>
<li cond="$layout_info->description">
<p class="q">{$lang->description}</p>
<p class="a">{$layout_info->description}</p>
</li>
<li>
<p class="q">{$lang->author}</p>
<p class="a"><a href="{$layout_info->author->homepage}" target="_blank">{$layout_info->layout->author->name}</a></p>
</li>
<li>
<p class="q">{$lang->title}</p>
<p class="a">
<input type="text" name="title" value="" />
</p>
<p class="desc">{$lang->about_title}</p>
</li>
</ul>
<div class="btnArea">
<span class="btn"><input type="submit" value="{$lang->cmd_insert}" /></span>
</div>
</form>
<h2>{$layout_info->title} ver {$layout_info->version} ({$layout_info->layout})</h2>
<div cond="$layout_info->layout != 'faceoff'" class="x_clearfix" style="margin-bottom:-13px">
<div class="x_btn-group x_pull-right">
<a href="#insertLayout" class="x_btn modalAnchor">{$lang->cmd_insert}&hellip;</a>
</div>
</div>
{@ $isDeletable = count($layout_list) > 1 ? TRUE : FALSE}
<table class="x_table x_table-striped x_table-hover">
<thead>
<tr>
<th scope="col" class="nowr">{$lang->no}</th>
<th scope="col" class="title">{$lang->title}</th>
<th scope="col" class="nowr">{$lang->regdate}</th>
<th scope="col" class="nowr">{$lang->cmd_layout_management}</th>
<th scope="col" class="nowr">{$lang->cmd_layout_edit}</th>
<th scope="col" class="nowr">{$lang->cmd_copy}</th>
<th scope="col" class="nowr">{$lang->cmd_delete}</th>
</tr>
</thead>
<tbody>
<tr loop="$layout_list => $no, $layout">
<td class="nowr">{$no+1}</td>
<td class="title">{$layout->title}</td>
<td class="nowr">{zdate($layout->regdate, "Y-m-d")}</td>
<td class="nowr"><a href="{getUrl('act', 'dispLayoutAdminModify', 'layout_srl', $layout->layout_srl)}">{$lang->cmd_layout_management}</a></td>
<td class="nowr"><a href="{getUrl('act', 'dispLayoutAdminEdit', 'layout_srl', $layout->layout_srl)}">{$lang->cmd_layout_edit}</a></td>
<td class="nowr"><a href="{getUrl('', 'module', 'layout', 'act', 'dispLayoutAdminCopyLayout', 'layout_srl', $layout->layout_srl)}" onclick="popopen(this.href);return false;" title="{$lang->cmd_copy}">{$lang->cmd_copy}</a></td>
<td class="nowr">
<form cond="$isDeletable" class="layout_delete_form" ruleset="deleteLayout" action="./" method="post">
<input type="hidden" name="module" value="layout" />
<input type="hidden" name="act" value="procLayoutAdminDelete" />
<input type="hidden" name="layout_srl" value="{$layout->layout_srl}" />
<input class="x_btn x_btn-danger" type="submit" value="{$lang->cmd_delete}" />
</form>
</td>
</tr>
</tbody>
</table>
<div cond="$layout_info->layout != 'faceoff'" class="x_clearfix" style="margin-top:-12px">
<div class="x_btn-group x_pull-right">
<a href="#insertLayout" class="x_btn modalAnchor">{$lang->cmd_insert}&hellip;</a>
</div>
</div>
<div id="insertLayout" class="x_modal">
<form ruleset="insertLayout" action="./" class="x_form-horizontal">
<input type="hidden" name="module" value="layout" />
<input type="hidden" name="act" value="procLayoutAdminInsert" />
<input type="hidden" name="layout" value="{$layout_info->layout}" />
<input type="hidden" name="_layout_type" value="{$type}" />
<input type="hidden" name="success_return_url" value="{getUrl('act', 'dispLayoutAdminInstanceList')}" />
<div class="x_modal-header">
<h3>{$lang->cmd_insert}</h3>
</div>
<div class="x_modal-body">
<div class="x_control-group">
<label class="x_control-label">{$lang->layout}</label>
<div class="x_controls">
{$layout_info->title} ver {$layout_info->version} ({$layout_info->layout})
</div>
</div>
<div cond="$layout_info->path" class="x_control-group">
<label class="x_control-label">{$lang->path}</label>
<div class="x_controls">
{$layout_info->path}
</div>
</div>
<div cond="$layout_info->description" class="x_control-group">
<label class="x_control-label">{$lang->description}</label>
<div class="x_controls">
{$layout_info->description}
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->author}</label>
<div class="x_controls">
<a href="{$layout_info->author->homepage}" target="_blank">{$layout_info->layout->author->name}</a>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->title}</label>
<div class="x_controls">
<input type="text" name="title" value="" />
<span class="x_help-block">{$lang->about_title}</span>
</div>
</div>
</div>
<div class="x_modal-footer">
<button type="button" class="x_btn x_pull-left" data-hide="#insertLayout">{$lang->cmd_close}</button>
<span class="x_btn-group x_pull-right">
<button type="submit" class="x_btn x_btn-primary">{$lang->cmd_insert}</button>
</span>
</div>
</form>
</div>

View file

@ -1,7 +1,7 @@
<include target="header.html" />
<load target="js/layout_modify.js" />
<h2 cond="$act == 'dispLayoutAdminModify'" class="h2">{$selected_layout->layout_title}</h2>
<h2 cond="$act == 'dispLayoutAdminModify'">{$selected_layout->layout_title}</h2>
<form id="config_form" ruleset="updateLayout"|cond="$act == 'dispLayoutAdminModify'" action="./" class="form" enctype="multipart/form-data" method="post">
<input type="hidden" name="module" value="layout" />
@ -14,52 +14,58 @@
<div></div>
</form>
<div id="layout_config" class="form">
<ul>
<li>
<p class="q">{$lang->layout}</p>
<p class="a">{$selected_layout->title} ver {$selected_layout->version} ({$selected_layout->layout})</p>
</li>
<li cond="$selected_layout->path">
<p class="q">{$lang->path}</p>
<p class="a">{$selected_layout->path}</p>
</li>
<li cond="$selected_layout->description">
<p class="q">{$lang->description}</p>
<p class="a">{$selected_layout->description}</p>
</li>
<li cond="$selected_layout->author->homepage">
<p class="q">{$lang->author}</p>
<p class="a"><a href="{$selected_layout->author->homepage}" target="_blank">{$selected_layout->author->name}</a></p>
</li>
<li>
<p class="q">{$lang->title} <em>*</em></p>
<p class="a">
<input type="text" name="title" value="{$selected_layout->layout_title}" />
</p>
<p class="desc">{$lang->about_title}</p>
</li>
<li>
<p class="q">{$lang->header_script}</p>
<p class="a">
<textarea name="header_script" rows="8" cols="42">{$selected_layout->header_script}</textarea>
</p>
<p class="desc">{$lang->about_header_script}</p>
</li>
</ul>
<div id="layout_config" class="x_form-horizontal">
<div class="x_control-group">
<label class="x_control-label">{$lang->layout}</label>
<div class="x_controls">
{$selected_layout->title} ver {$selected_layout->version} ({$selected_layout->layout})
</div>
</div>
<div cond="$selected_layout->path" class="x_control-group">
<label class="x_control-label">{$lang->path}</label>
<div class="x_controls">
{$selected_layout->path}
</div>
</div>
<div cond="$selected_layout->description" class="x_control-group">
<label class="x_control-label">{$lang->description}</label>
<div class="x_controls">
{$selected_layout->description}
</div>
</div>
<div cond="$selected_layout->author->homepage" class="x_control-group">
<label class="x_control-label">{$lang->author}</label>
<div class="x_controls">
<a href="{$selected_layout->author->homepage}" target="_blank">{$selected_layout->author->name}</a>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label" for="title">{$lang->title} <em>*</em></label>
<div class="x_controls">
<input type="text" id="title" name="title" value="{$selected_layout->layout_title}" />
<span class="x_help-block">{$lang->about_title}</span>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label" for="header_script">{$lang->header_script}</label>
<div class="x_controls">
<textarea name="header_script" id="header_script" rows="8" cols="42">{$selected_layout->header_script}</textarea>
<span class="x_help-block">{$lang->about_header_script}</span>
</div>
</div>
<block cond="$act == 'dispLayoutAdminModify'" loop="$selected_layout->extra_var => $name, $var">
<block cond="!$not_first && !$var->group"><ul></block>
<block cond="!$not_first && !$var->group"><section class="section"></block>
<block cond="$group != $var->group">
<block cond="$not_first"></ul></block>
<h3 class="h3">{$var->group}</h3>
<ul>
<block cond="$not_first"></section></block>
<section class="section">
<h1>{$var->group}</h1>
{@$group = $var->group}
</block>
{@$not_first = true}
<li>
<p class="q">{$var->title}</p>
<div class="a">
<div class="x_control-group">
<label class="x_control-label" for="{$name}">{$var->title}</label>
<div class="x_controls">
<div cond="$var->type == 'text'" class="multiLangEdit">
{@$use_multilang = true}
<input type="hidden" name="{$name}" value="<!--@if(strpos($var->value, "$user_lang->") !== false)-->{htmlspecialchars($var->value)}<!--@else-->{$var->value}<!--@end-->" class="vLang" />
@ -76,9 +82,11 @@
<block cond="$var->type == 'image'">
<input type="hidden" name="{$name}" id="file_{$name}" value="{$var->value}" />
<div id="preview_{$name}" style="display:none;"|cond="!$var->value">
<img src="../../../{$var->value}"|cond="$var->value" alt="" style="max-width: 250px" />
<input type="button" value="{$lang->cmd_delete}" onclick="deleteImage('{$name}')" />
<div id="preview_{$name}" class="x_thumbnail" style="<!--@if(!$var->value)-->display:none;<!--@end-->max-width:250px;margin-bottom:20px;">
<img src="../../../{$var->value}"|cond="$var->value" alt="" style="max-width:250px;" />
<div class="x_caption">
<input class="x_btn x_btn-danger x_btn-mini" type="button" value="{$lang->cmd_delete}" onclick="deleteImage('{$name}')" />
</div>
</div>
<form action="./" enctype="multipart/form-data" method="post" target="hiddenIframe" class="imageUpload">
<input type="hidden" name="module" value="layout" />
@ -87,96 +95,77 @@
<input type="hidden" name="name" value="{$name}" />
<p>
<input type="file" name="img" id="file_select_{$name}" value="" />
<input type="submit" value="{$lang->cmd_submit}" />
<input type="submit" value="{$lang->cmd_submit}" />
</p>
</form>
</block>
<select cond="$var->type == 'select'" name="{$name}">
<select cond="$var->type == 'select'" name="{$name}" id="{$name}" style="width:220px;">
<option loop="$var->options => $key, $val" value="{$key}" selected="selected"|cond="$key == $var->value">{$val->val}</option>
</select>
<block cond="$var->type == 'checkbox'">
<block loop="$var->options => $key, $val">
<label><input type="checkbox" name="{$name}[]" value="{$key}" checked="checked"|cond="@in_array($key, $var->value)" /> {$val->val}</label>
<label class="x_inline"><input type="checkbox" name="{$name}[]" value="{$key}" checked="checked"|cond="@in_array($key, $var->value)" /> {$val->val}</label>
</block>
</block>
<block cond="$var->type == 'radio'">
<div class="x_thumbnails">
<block loop="$var->options => $key, $val">
<block cond="$val->thumbnail">
{@
$_img_info = getImageSize($val->thumbnail);
$_height = $_img_info[1] + 40;
$_width = $img_info[0] + 20;
$_talign = 'center';
}
</block>
<block cond="!$val->thumbnail">
{@
$_width = 200;
$_height = 20;
$_talign = 'left';
}
</block>
<block cond="$var->thumbnail_exist">
<div cond= style="float:left;text-align:{$_talign};margin-bottom:1em;width:{$_width}px;height:{$_height}px;margin-right:10px;">
</block>
<label>
<input type="radio" name="{$name}" value="{$key}" checked="checked"|cond="$key == $var->value"/>{$val->val}
<block cond="$val->thumbnail">
<br />
<img src="../../../{$val->thumbnail}" alt="{$val->val}" style="border:1px solid #888888;padding:2px;margin:2px;"/>
</block>
</label>
<block cond="$var->thumbnail_exist">
<div class="x_span2 <!--@if($val->thumbnail)-->x_thumbnail<!--@end-->">
<img src="../../../{$val->thumbnail}" cond="$val->thumbnail" alt="{$val->val}" />
<div class="x_caption">
<label><input type="radio" name="{$name}" value="{$key}" checked="checked"|cond="$key == $var->value" /> {$val->val}</label>
</div>
</div>
</block>
</block>
</div>
</block>
<span class="x_help-block">{$var->description}</span>
</div>
<p class="desc">{$var->description}</p>
</li>
</div>
</block>
<block cond="$act == 'dispLayoutAdminModify'"></ul></block>
<h3 class="h3" cond="$selected_layout->menu">{$lang->menu}</h3>
<ul cond="$selected_layout->menu">
<li loop="$selected_layout->menu => $menu_name, $menu_info">
<p class="q">{$menu_info->title}({$menu_name})</p>
<p class="a">
<select name="{$menu_name}">
<option value="0">{$lang->cmd_select}</option>
<option loop="$menu_list => $key, $val" value="{$val->menu_srl}" selected="selected"|cond="$val->menu_srl == $menu_info->menu_srl">{$val->title}</option>
</select>
<a href="{getUrl('module','admin','act','dispMenuAdminSiteMap')}">{$lang->cmd_management}</a>
</p>
</li>
<li>
<p class="q">{$lang->not_apply_menu}</p>
<p class="a">
<input type="checkbox" name="apply_layout" id="apply_layout" value="Y" /> <label for="apply_layout">{$lang->about_not_apply_menu}</label>
</p>
</li>
<li cond="$selected_layout->layout_type == 'M'">
<p class="q">{$lang->apply_mobile_view}</p>
<p class="a">
<input type="checkbox" name="apply_mobile_view" id="apply_mobile_layout" value="Y" /> <label for="apply_mobile_layout">{$lang->about_apply_mobile_view}</label>
</p>
</li>
</ul>
<section class="section">
<h1 cond="$selected_layout->menu">{$lang->menu}</h1>
<div cond="$selected_layout->menu" class="x_form-horizontal">
<div loop="$selected_layout->menu => $menu_name, $menu_info" class="x_control-group">
<label class="x_control-label" for="{$menu_name}">{$menu_info->title}({$menu_name})</label>
<div class="x_controls">
<select name="{$menu_name}" id="{$menu_name}" style="width:220px">
<option value="0">{$lang->cmd_select}</option>
<option loop="$menu_list => $key, $val" value="{$val->menu_srl}" selected="selected"|cond="$val->menu_srl == $menu_info->menu_srl">{$val->title}</option>
</select>
<a class="x_btn" href="{getUrl('module','admin','act','dispMenuAdminSiteMap')}">{$lang->cmd_management}</a>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->not_apply_menu}</label>
<div class="x_controls">
<label class="x_inline"><input type="checkbox" name="apply_layout" id="apply_layout" value="Y" /> {$lang->about_not_apply_menu}</label>
</div>
</div>
<div cond="$selected_layout->layout_type == 'M'" class="x_control-group">
<label class="x_control-label">{$lang->apply_mobile_view}</label>
<div class="x_controls">
<label class="x_inline"><input type="checkbox" name="apply_mobile_view" id="apply_mobile_layout" value="Y" /> {$lang->about_apply_mobile_view}</label>
</div>
</div>
</div>
</section>
<div class="btnArea">
<span class="etc">
<div class="x_clearfix btnArea">
<span class="x_btn-group x_pull-left">
<!--@if($layout)-->
<span class="btn"><a href="{getUrl('', 'module', 'admin', 'act', 'dispLayoutAdminInstanceList', 'layout', $selected_layout->layout)}">{$lang->cmd_list}</a></span>
<a class="x_btn" href="{getUrl('', 'module', 'admin', 'act', 'dispLayoutAdminInstanceList', 'layout', $selected_layout->layout)}">{$lang->cmd_list}</a>
<!--@else-->
<span class="btn"><a href="{getUrl('', 'module', 'admin', 'act', 'dispLayoutAdminAllInstanceList')}">{$lang->cmd_list}</a></span>
<a class="x_btn" href="{getUrl('', 'module', 'admin', 'act', 'dispLayoutAdminAllInstanceList')}">{$lang->cmd_list}</a>
<!--@end-->
</span>
<span class="btn medium">
<input type="submit" value="{$lang->cmd_insert}"|cond="$act == 'dispLayoutAdminInsert'" value="{$lang->cmd_save}"|cond="$act == 'dispLayoutAdminModify'" onclick="doSubmitConfig()"/>
<span class="x_btn-group x_pull-right">
<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" />