merge from 1.7.3.5(r13153:r13167)

git-svn-id: http://xe-core.googlecode.com/svn/trunk@13168 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ngleader 2013-09-29 23:32:39 +00:00
parent cc47d2b247
commit 2d3f149b5a
2042 changed files with 129266 additions and 126243 deletions

View file

@ -1,165 +1,216 @@
<load target="js/editor_module_config.js" usecdn="true" />
<script type="text/javascript">
jQuery(function($){
var fontPreview = $('.fontPreview');
var fontRadio = $('.fontSelector>:radio');
var checkedFont = fontRadio.filter(':checked').next('label').css('fontFamily');
fontPreview.css('fontFamily',checkedFont);
fontRadio.change(function(){
var myFont = $(this).next('label').css('fontFamily');
fontPreview.css('fontFamily',myFont);
});
var changedSize = $('#fontSize').val();
fontPreview.css('fontSize',changedSize+'px');
$('#fontSize').keyup(function(){
var mySize = $(this).val();
fontPreview.css('fontSize',mySize+'px');
if(mySize.length==0){ fontPreview.css('fontSize','') };
if(mySize>28){
alert('{$lang->msg_font_too_big}');
$(this).val('28');
fontPreview.css('fontSize','28px');
};
});
});
</script>
<h1 class="h1">{$lang->editor}</h1>
<h2 class="h2">{$lang->editor_preview}</h2>
<div class="x_page-header">
<h1>{$lang->editor} <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_advanced_editor" target="_blank">{$lang->help}</a></h1>
</div>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/editor/tpl/admin_index/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<!-- Editor Preview -->
<a href="{getUrl('module', 'admin', 'act', 'dispEditorConfigPreview')}" target="_blank">{$lang->cmd_preview}</a>
<!-- /Editor Preview -->
<form action="./" method="post" class="form" ruleset="generalConfig">
<input type="hidden" name="module" value="editor" />
<input type="hidden" name="act" value="procEditorAdminGeneralConfig " />
<fieldset class="section">
<h2 class="h2">{$lang->editor_option}</h2>
<ul>
<li>
<p class="q">{$lang->guide_choose_main_editor}</p>
<p class="a">
<!--@foreach($editor_skin_list as $editor)-->
<input type="radio" name="editor_skin" value="{$editor}" id="doc_{$editor}" onClick="getEditorSkinColorList(this.value, null, 'document','doc_{$editor}')" <!--@if($editor==$editor_config->editor_skin)-->checked="checked" <!--@end-->/>
<label for="doc_{$editor}" value='sdf'>{$editor}</label>
<select name="sel_editor_colorset" <!--@if($editor==$editor_config->editor_skin)--> >
<!--@foreach($editor_colorset_list as $key => $val)-->
<option value="{$val->name}" <!--@if($editor_config->sel_editor_colorset == $val->name)-->selected="selected"<!--@end-->>{$val->title}</option>
<!--@end-->
<!--@else-->style="display:none"> <!--@end-->
</select>
<br />
<!--@end-->
</p>
</li>
<li>
<p class="q"><label for="editor_height">{$lang->guide_set_height_main_editor}</label></p>
<p class="a"><input type="text" name="editor_height" id="editor_height" value="<!--@if($editor_config->editor_height)-->{$editor_config->editor_height}<!--@else-->{$editor_config_default['editor_height']}<!--@end-->" style="width:30px" /> px</p>
</li>
<li>
<p class="q">{$lang->guide_choose_comment_editor}</p>
<p class="a">
<!--@foreach($editor_skin_list as $editor)-->
<input type="radio" name="comment_editor_skin" value="{$editor}" id="com_{$editor}" onclick="getEditorSkinColorList(this.value, null, 'reply','com_{$editor}')" <!--@if($editor == $editor_config->comment_editor_skin)-->checked="checked" <!--@end-->/>
<label for="com_{$editor}">{$editor}</label>
<select name="sel_comment_editor_colorset" <!--@if($editor==$editor_config->comment_editor_skin)--> >
<!--@foreach($editor_colorset_list as $key => $val)-->
<option value="{$val->name}" <!--@if($editor_config->sel_comment_editor_colorset == $val->name)-->selected="selected"<!--@end-->>{$val->title}</option>
<!--@end-->
<!--@else-->style="display:none"> <!--@end-->
</select>
<br />
<!--@end-->
</p>
</li>
<li>
<p class="q"><label for="comment_editor_height">{$lang->guide_set_height_comment_editor}</label></p>
<p class="a"><input type="text" name="comment_editor_height"id="comment_editor_height" value="<!--@if($editor_config->comment_editor_height)-->{$editor_config->comment_editor_height}<!--@else-->{$editor_config_default['comment_editor_height']}<!--@end-->" style="width:30px" /> px</p>
</li>
<li>
<p class="q">{$lang->guide_choose_text_formatting}</p>
<p class="a">
<!--@foreach($content_style_list as $key => $val)-->
<input type="radio" name="content_style" value="{$key}" id="style_{$key}" checked="checked"|cond="$key==$editor_config->content_style||!$editor_config->content_style && $key=='default'"> <label for="style_{$key}">{$key}</label>
<!--@end-->
</p>
</li>
<li>
<p class="q">{$lang->guide_choose_font_body}</p>
<textarea rows="8" cols="42" class="fontPreview" title="Font Preview">{$lang->font_preview}</textarea>
<p class="answer fontSelector">
<input type="radio" name="content_font" id="font_noFont" value="" <!--@if(!$editor_config->content_font)-->checked="checked" <!--@end-->/> <label for="font_noFont" style="font-family:''">none(inherit)</label><br />
<!--@foreach($lang->edit->fontlist as $name => $detail)-->
<input type="radio" name="content_font" id="font_{$name}" value="{$name}" <!--@if($editor_config->content_font==$name)-->checked="checked" <!--@end-->/> <label for="font_{$name}" style="font-family:{$detail}">{$detail}</label><br />
<!--@end-->
</p>
</li>
<li>
<p class="q"><label for="fontSize">{$lang->guide_choose_font_size_body}</label></p>
<textarea rows="8" cols="42" class="fontPreview" title="Font Preview">{$lang->font_preview}</textarea>
<p class="a"><input type="text" id="fontSize" name="content_font_size" value="<!--@if($editor_config->content_font_size)-->{str_replace('px','',$editor_config->content_font_size)}<!--@else-->{str_replace('px','',$editor_config_default['content_font_size'])}<!--@end-->" style="width:30px" /> px</p>
</li>
<section class="section">
<h1>{$lang->editor_now}</h1>
<div class="x_tabbable _preview">
<ul class="x_nav x_nav-tabs" style="margin-bottom:0;border-bottom:0">
<li class="x_active"><a href="#pre_document">{$lang->main_editor}</a></li>
<li><a href="#pre_comment">{$lang->comment_editor}</a></li>
</ul>
<div class="btnArea">
<span class="btn"><input type="submit" value="{$lang->cmd_save}" /></span>
<div class="x_tab-content x_thumbnail">
<div class="x_tab-pane x_active" id="pre_document">
<iframe src="{getUrl('','act', 'dispEditorConfigPreview','mode','main')}" id="pre_document_frame" frameborder="0" style="border:0"></iframe>
</div>
<div class="x_tab-pane" id="pre_comment">
<iframe src="{getUrl('','act', 'dispEditorConfigPreview','mode','comment')}" id="pre_comment_frame" frameborder="0" style="border:0"></iframe>
</div>
</div>
</fieldset>
</form>
<form action="./" method="post" class="form" ruleset="componentOrderAndUse">
<input type="hidden" name="module" value="editor" />
<input type="hidden" name="act" value="procEditorAdminCheckUseListOrder" />
<fieldset class="section">
<h2 class="h2">{$lang->editor_component}</h2>
<div class="table even easyList">
<table id="sortable_table" class="sortable"width="100%" border="1" cellspacing="0">
<caption>
{$lang->total_count}({$component_count})
</caption>
<thead>
<tr>
<th scope="col">{$lang->cmd_move}</th>
<th scope="col" class="title">{$lang->component_name} {$lang->user_name}</th>
<th scope="col">{$lang->version}</th>
<th scope="col">{$lang->author}</th>
<th scope="col">{$lang->path}</th>
<th scope="col">{$lang->use}</th>
<th scope="col">{$lang->cmd_setup}</th>
<th scope="col">{$lang->cmd_delete}</th>
</tr>
</thead>
<tbody class="uDrag">
<!--@foreach($component_list as $component_name => $xml_info)-->
<tr>
<td><div class="wrap" style="height:80px"><button type="button" class="dragBtn">Move to</button></div></td>
<td class="title">
<input type="hidden" name="component_names[]" value="{$xml_info->component_name}" />
<p><b>{$xml_info->title}</b></p>
<p>{nl2br($xml_info->description)}</p>
<!--@if($xml_info->version && $xml_info->need_update == 'Y')-->
<p class="update">{$lang->msg_avail_easy_update}<a href="{getUrl('act','dispAutoinstallAdminInstall','package_srl',$xml_info->package_srl)}">{$lang->msg_do_you_like_update}</a></p>
<!--@end-->
</td>
<td>{$xml_info->version}</td>
<td>
<!--@foreach($xml_info->author as $author)-->
<a href="{$author->homepage}" target="_blank">{$author->name}</a>
<!--@endforeach-->
</td>
<td>{$xml_info->path}</td>
<td><input type="checkbox" name="enables[]" id="enable" value="{$xml_info->component_name}" title="Use this component " <!--@if($xml_info->enabled=='Y')--> checked="checked"<!--@end--> /></td>
<td><a href="{getUrl('', 'module', 'admin', 'act', 'dispEditorAdminSetupComponent', 'component_name', $xml_info->component_name)}">{$lang->cmd_setup}</a>
<td>
<!--@if($xml_info->version && $xml_info->delete_url)-->
<a href="{$xml_info->delete_url}">{$lang->cmd_delete}</a>
<!--@end-->
</td>
</tr>
</div>
</section>
<!-- Editor Option -->
<section class="section">
<h1>{$lang->editor_option}</h1>
<form action="./" method="post" ruleset="generalConfig" class="x_form-horizontal">
<input type="hidden" name="module" value="editor" />
<input type="hidden" name="act" value="procEditorAdminGeneralConfig" />
<input type="hidden" name="xe_validator_id" value="modules/editor/tpl/admin_index/1" />
<div class="x_control-group">
<label for="change_lang_type" class="x_control-label">{$lang->guide_choose_main_editor}</label>
<div class="x_controls">
<!--@foreach($editor_skin_list as $editor)-->
<label class="x_inline" id="label_doc_{$editor}">
<input type="radio" name="editor_skin" value="{$editor}" id="doc_{$editor}" onClick="getEditorSkinColorList(this.value, null, 'document','label_doc_{$editor}')" checked="checked"|cond="$editor==$editor_config->editor_skin" /> {$editor}
</label>
<label class="x_inline">
<select name="sel_editor_colorset" style="display:none"|cond="$editor!=$editor_config->editor_skin">
<option value="{$val->name}" selected="selected"|cond="$editor_config->sel_editor_colorset == $val->name" cond="$editor==$editor_config->editor_skin" loop="$editor_colorset_list=>$key,$val">{$val->title}</option>
</select>
</label>
<br />
<!--@end-->
</div>
</div>
<div class="x_control-group">
<label for="editor_height" class="x_control-label">{$lang->guide_set_height_main_editor}</label>
<div class="x_controls">
<input type="number" name="editor_height" id="editor_height" value="{$editor_config->editor_height}"|cond="$editor_config->editor_height" value="{$editor_config_default['editor_height']}"|cond="!$editor_config->editor_height" /> px
</div>
</div>
<div class="x_control-group">
<label for="sel_comment_editor_colorset" class="x_control-label">{$lang->guide_choose_comment_editor}</label>
<div class="x_controls">
<!--@foreach($editor_skin_list as $editor)-->
<label class="x_inline" id="label_com_{$editor}">
<input type="radio" name="comment_editor_skin" value="{$editor}" id="com_{$editor}" onclick="getEditorSkinColorList(this.value, null, 'reply','label_com_{$editor}')" checked="checked"|cond="$editor == $editor_config->comment_editor_skin" /> {$editor}
</label>
<label class="x_inline">
<select name="sel_comment_editor_colorset" style="display:none"|cond="$editor!=$editor_config->comment_editor_skin">
<option value="{$val->name}" selected="selected"|cond="$editor_config->sel_comment_editor_colorset == $val->name" cond="$editor==$editor_config->comment_editor_skin" loop="$editor_colorset_list=>$key,$val">{$val->title}</option>
</select>
</label>
<br />
<!--@end-->
</div>
</div>
<div class="x_control-group">
<label for="comment_editor_height" class="x_control-label">{$lang->guide_set_height_comment_editor}</label>
<div class="x_controls">
<input type="number" name="comment_editor_height"id="comment_editor_height" value="{$editor_config->comment_editor_height}"|cond="$editor_config->comment_editor_height" value="{$editor_config_default['comment_editor_height']}"|cond="!$editor_config->comment_editor_height" /> px
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->guide_choose_text_formatting}</label>
<div class="x_controls">
<!--@foreach($content_style_list as $key => $val)-->
<label class="x_inline">
<input type="radio" name="content_style" value="{$key}" id="style_{$key}" checked="checked"|cond="$key==$editor_config->content_style||!$editor_config->content_style && $key=='default'"> {$val->title}
</label>
<!--@end-->
</tbody>
</table>
</div>
</div>
<div class="btnArea">
<span class="btn"><input type="submit" value="{$lang->cmd_save}" /></span>
<div class="x_control-group">
<label class="x_control-label">{$lang->guide_choose_font_body}</label>
<div class="x_controls">
{@
if($editor_config->content_font_size) $fontSize = str_replace('px','',$editor_config->content_font_size);
else $fontSize = str_replace('px','',$editor_config_default['content_font_size']);
}
<div style="margin-right:14px">
<textarea rows="4" cols="42" class="fontPreview" style="font-family:{$editor_config->content_font};font-size:{$fontSize}px;width:100%" title="Font Preview">{$lang->font_preview}</textarea>
</div>
<label style="font-family:''" class="fontSelector">
<input type="radio" name="content_font" id="font_noFont" value="" checked="checked"|cond="!$editor_config->content_font && $editor_config->font_defined!= 'Y'" />none(inherit)
</label>
<label style="font-family:{$detail}" class="fontSelector" loop="$lang->edit->fontlist=>$name,$detail">
<input type="radio" name="content_font" id="font_{$name}" value="{$detail}" checked="checked"|cond="stripcslashes($editor_config->content_font)==$detail && $editor_config->font_defined!= 'Y'" />{$detail}
</label>
<label>
<input type="radio" name="font_defined" id="font_defined" value="Y" checked="checked"|cond="$editor_config->font_defined== 'Y'" />{$lang->by_you} :
<input type="text" name="content_font_defined" value="{stripcslashes($editor_config->content_font)}"|cond="$editor_config->font_defined == 'Y'" />
</label>
<label>
</div>
</div>
</fieldset>
</form>
<div class="x_control-group">
<label class="x_control-label" for="fontSize">{$lang->guide_choose_font_size_body}</label>
<div class="x_controls">
<input type="number" id="fontSize" name="content_font_size" value="{$fontSize}" /> px
</div>
</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>
</section>
<!-- Editor Preview -->
<section class="section">
<h1>{$lang->editor_component}</h1>
<form action="./" method="post" ruleset="componentOrderAndUse">
<input type="hidden" name="module" value="editor" />
<input type="hidden" name="act" value="procEditorAdminCheckUseListOrder" />
<input type="hidden" name="xe_validator_id" value="modules/editor/tpl/admin_index/1" />
<table class="x_table x_table-striped x_table-hover sortable">
<caption><strong>{$lang->total_count}({$component_count})</strong></caption>
<thead>
<tr>
<th class="nowr">{$lang->cmd_move}</th>
<th>{$lang->component_name}</th>
<th class="nowr">{$lang->version}</th>
<th class="nowr">{$lang->author}</th>
<th class="nowr">{$lang->path}</th>
<th class="nowr">{$lang->use}</th>
<th class="nowr">{$lang->cmd_delete}</th>
</tr>
</thead>
<tbody class="uDrag">
<!--@foreach($component_list as $component_name => $xml_info)-->
<tr>
<td><div class="wrap" style="height:70px"><button type="button" class="dragBtn">Move to</button></div></td>
<td class="title">
<input type="hidden" name="component_names[]" value="{$xml_info->component_name}" />
<p><b><a href="{getUrl('', 'module', 'admin', 'act', 'dispEditorAdminSetupComponent', 'component_name', $xml_info->component_name)}">{$xml_info->title}</a></b></p>
<p>{nl2br($xml_info->description)}</p>
<!--@if($xml_info->version && $xml_info->need_update == 'Y')-->
<p class="update">{$lang->msg_avail_easy_update}<a href="{getUrl('act','dispAutoinstallAdminInstall','package_srl',$xml_info->package_srl)}">{$lang->msg_do_you_like_update}</a></p>
<!--@end-->
</td>
<td>{$xml_info->version}</td>
<td class="nowr">
<a href="{$author->homepage}" target="_blank" loop="$xml_info->author => $author">{$author->name}</a>
</td>
<td>{$xml_info->path}</td>
<td><input type="checkbox" name="enables[]" id="enable" value="{$xml_info->component_name}" title="Use this component " <!--@if($xml_info->enabled=='Y')--> checked="checked"<!--@end--> /></td>
<td>
<!--@if($xml_info->version && $xml_info->delete_url)-->
<a href="{$xml_info->delete_url}">{$lang->cmd_delete}</a>
<!--@end-->
</td>
</tr>
<!--@end-->
</tbody>
</table>
<div class="x_clearfix">
<div class="x_pull-right">
<button type="submit" class="x_btn x_btn-primary">{$lang->cmd_save}</button>
</div>
</div>
</form>
</section>
<script>
jQuery(function($){
// Editor Preview
function preview(){
$('._preview iframe').css({
width : "100%",
height : "450px"
});
}
preview();
$('._preview li>a').click(preview);
//init
var fontPreview = $('.fontPreview');
var fontSelector = $('.fontSelector');
var checkedFont = fontSelector.filter(':checked').css('fontFamily');
var changedSize = $('#fontSize').val();
//change event
fontSelector.change(function(){
var myFont = $(this).css('fontFamily');
fontPreview.css('fontFamily',myFont);
});
$('#fontSize').keyup(function(){
var mySize = $(this).val();
fontPreview.css('fontSize',mySize+'px');
}).change(function(){$(this).keyup()});
$('input[name=font_defined]').click(function(){
$('input[name=content_font]').removeAttr('checked');
});
$('input[name=content_font]').click(function(){
$('input[name=font_defined]').removeAttr('checked');
});
});
</script>

View file

@ -1,4 +1,4 @@
<script type="text/javascript">
<script>
alert("{$message}");
window.close();
</script>

View file

@ -1,17 +1,5 @@
<load target="../../admin/tpl/css/admin.css" usecdn="true" />
<div class="x" style="padding: 10px;">
<h2 class="h2">{$lang->editor_preview}</h2>
<h2 class="h3">{$lang->main_editor}</h2>
<form onSubmit="return false">
<input type="hidden" name="dummy_content" />
<input type="hidden" name="dummy_key" value="1" />
<p>{$editor}</p>
</form><br />
<h2 class="h3">{$lang->comment_editor}</h2>
<form onSubmit="return false">
<input type="hidden" name="dummy_content2" />
<input type="hidden" name="dummy_key2" value="1" />
<p>{$editor_comment}</p>
</form>
</div>

View file

@ -1,178 +1,122 @@
<!--%import("filter/insert_editor_module_config.xml")-->
<load target="js/editor_module_config.js" usecdn="true" />
<form action="./" method="post" class="form">
<form action="./" method="post" class="section">
<input type="hidden" name="act" value="procEditorInsertModuleConfig" />
<input type="hidden" name="module" value="editor" />
<input type="hidden" name="target_module_srl" value="{$module_info->module_srl?$module_info->module_srl:$module_srls}" />
<input type="hidden" name="success_return_url" value="{getRequestUriByServerEnviroment()}" />
<h3 class="h3">{$lang->editor}</h3>
<div class="table">
<table width="100%" border="1" cellspacing="0">
<thead>
<h1>{$lang->editor}</h1>
<table class="x_table x_table-striped x_table-hover">
<thead>
<tr>
<th scope="col">&nbsp;</th>
<th scope="col" style="width:160px">&nbsp;</th>
<th scope="col">{$lang->document}</th>
<th scope="col">{$lang->comment}</th>
</tr>
</thead>
<tbody>
<tr>
<th rowspan="2" scope="row">{$lang->editor_skin}</th>
<td colspan="2">{$lang->about_editor_skin}</td>
</tr>
</thead>
<tbody>
<tr>
<th scope="row" style="text-align:right">{$lang->editor_skin}</th>
<td>
<select name="editor_skin" onchange="getEditorSkinColorList(this.value, null, 'document')">
<!--@foreach($editor_skin_list as $editor)-->
<option value="{$editor}" <!--@if($editor==$editor_config->editor_skin)-->selected="selected"<!--@end-->>{$editor}</option>
<!--@end-->
<option loop="$editor_skin_list => $editor" value="{$editor}" selected="selected"|cond="$editor==$editor_config->editor_skin">{$editor}</option>
</select>
<br/>
<select name="sel_editor_colorset" id="sel_editor_colorset"<!--@if(!count($editor_colorset_list))--> style="display:none"<!--@end-->>
<!--@foreach($editor_colorset_list as $key => $val)-->
<option value="{$val->name}" <!--@if($editor_config->sel_editor_colorset == $val->name)-->selected="selected"<!--@end-->>{$val->title}</option>
<!--@end-->
<select name="sel_editor_colorset" id="sel_editor_colorset" data-display="none"|cond="!count($editor_colorset_list)">
<option loop="$editor_colorset_list => $key, $val" value="{$val->name}" selected="selected"|cond="$editor_config->sel_editor_colorset == $val->name">{$val->title}</option>
</select>
</td>
<td>
<select name="comment_editor_skin" onchange="getEditorSkinColorList(this.value, null, 'comment')">
<!--@foreach($editor_skin_list as $editor)-->
<option value="{$editor}" <!--@if($editor==$editor_config->comment_editor_skin)-->selected="selected"<!--@end-->>{$editor}</option>
<!--@end-->
<option loop="$editor_skin_list => $editor" value="{$editor}" selected="selected"|cond="$editor==$editor_config->comment_editor_skin">{$editor}</option>
</select>
<br/>
<select name="sel_comment_editor_colorset" id="sel_comment_editor_colorset"<!--@if(!count($editor_comment_colorset_list))--> style="display:none"<!--@end-->>
<!--@foreach($editor_comment_colorset_list as $key => $val)-->
<option value="{$val->name}" <!--@if($editor_config->sel_comment_editor_colorset == $val->name)-->selected="selected"<!--@end-->>{$val->title}</option>
<!--@end-->
<select name="sel_comment_editor_colorset" id="sel_comment_editor_colorset" data-display="none"|cond="!count($editor_comment_colorset_list)">
<option loop="$editor_comment_colorset_list => $key, $val" value="{$val->name}" selected="selected"|cond="$editor_config->sel_comment_editor_colorset == $val->name">{$val->title}</option>
</select>
</td>
</tr>
<tr>
<th rowspan="2" scope="row">{$lang->content_style}</th>
<td colspan="2"><p>{$lang->about_content_style}</p></td>
</tr>
<tr>
<th scope="row" style="text-align:right">{$lang->content_style}</th>
<td>
<select name="content_style">
<!--@foreach($content_style_list as $key => $val)-->
<option value="{$key}" <!--@if($key==$editor_config->content_style||!$editor_config->content_style&&$key=='default')-->selected="selected"<!--@end-->>{$val->title}</option>
<!--@end-->
<option loop="$content_style_list => $key, $val" value="{$key}" selected="selected"|cond="$key==$editor_config->content_style||!$editor_config->content_style&&$key=='default'">{$val->title}</option>
</select>
</td>
<td>
<select name="comment_content_style">
<!--@foreach($content_style_list as $key => $val)-->
<option value="{$key}" <!--@if($key==$editor_config->comment_content_style||!$editor_config->comment_content_style&&$key=='default')-->selected="selected"<!--@end-->>{$val->title}</option>
<!--@end-->
<option loop="$content_style_list => $key, $val" value="{$key}" selected="selected"|cond="$key==$editor_config->comment_content_style||!$editor_config->comment_content_style&&$key=='default'">{$val->title}</option>
</select>
</td>
</tr>
<tr>
<th rowspan="2" scope="row"><label for="content_font">{$lang->content_font}</label></th>
<td colspan="2">{$lang->about_content_font}</td>
<th scope="row" style="text-align:right">{$lang->editor_height}</th>
<td>
<input type="number" min="0" name="editor_height" value="{$editor_config->editor_height}" /> px
</td>
<td>
<input type="number" min="0" name="comment_editor_height" value="{$editor_config->comment_editor_height}" /> px
</td>
</tr>
<tr>
<th scope="row" style="text-align:right"><label for="content_font">{$lang->content_font}</label></th>
<td colspan="2">
<input type="text" name="content_font" id="content_font" value="{str_replace(array('"','\''),'',$editor_config->content_font)}" />
<input type="text" name="content_font" id="content_font" value="{str_replace(array('"','\''),'',$editor_config->content_font)}" placeholder="Ex) Tahoma, Geneva, sans-serif" />
{$lang->about_content_font}
</td>
</tr>
<tr>
<th rowspan="2" scope="row"><label for="content_font_size">{$lang->content_font_size}</label></th>
<td colspan="2">{$lang->about_content_font_size}</td>
<th scope="row" style="text-align:right"><label for="content_font_size">{$lang->content_font_size}</label></th>
<td colspan="2"><input type="text" name="content_font_size" id="content_font_size" value="{$editor_config->content_font_size}" style="width:50px" /> {$lang->about_content_font_size}</td>
</tr>
<tr>
<th scope="row" style="text-align:right">{$lang->enable_autosave}</th>
<td colspan="2">
<input type="text" name="content_font_size" id="content_font_size" value="{$editor_config->content_font_size}" style="width:50px" />
<label for="enable_autosave" class="x_inline">
<input type="checkbox" value="Y" id="enable_autosave" name="enable_autosave" checked="checked"|cond="$editor_config->enable_autosave=='Y'" />
{$lang->about_enable_autosave}
</label>
</td>
</tr>
<tr>
<th rowspan="2" scope="row">{$lang->editor_height}</th>
<td colspan="2">{$lang->about_editor_height}</td>
</tr>
<tr>
<th scope="row" style="text-align:right">{$lang->enable_html_grant}</th>
<td>
<input type="text" name="editor_height" value="{$editor_config->editor_height}" style="width:30px" /> px
<label loop="$group_list => $k, $v" for="enable_html_{$k}" class="x_inline"><input type="checkbox" name="enable_html_grant[]" value="{$k}" id="enable_html_{$k}" checked="checked"|cond="in_array($k, $editor_config->enable_html_grant)" /> {$v->title}</label>
</td>
<td>
<input type="text" name="comment_editor_height" value="{$editor_config->comment_editor_height}" style="width:30px" /> px
<label loop="$group_list => $k, $v" for="enable_comment_html_{$k}" class="x_inline"><input type="checkbox" name="enable_comment_html_grant[]" value="{$k}" id="enable_comment_html_{$k}" checked="checked"|cond="in_array($k, $editor_config->enable_comment_html_grant)" /> {$v->title}</label>
</td>
</tr>
<tr>
<th rowspan="2" scope="row">{$lang->enable_autosave}</th>
<td colspan="2">{$lang->about_enable_autosave}</td>
</tr>
<tr>
<td colspan="2"><input type="checkbox" value="Y" name="enable_autosave" <!--@if($editor_config->enable_autosave=='Y')-->checked="checked"<!--@end-->/></td>
</tr>
<tr>
<th rowspan="2" scope="row">{$lang->enable_html_grant}</th>
<td colspan="2">{$lang->about_enable_html_grant}</td>
</tr>
<tr>
<th scope="row" style="text-align:right">{$lang->upload_file_grant}</th>
<td>
<!--@foreach($group_list as $k => $v)-->
<input type="checkbox" name="enable_html_grant[]" value="{$k}" id="enable_html_{$k}" <!--@if(in_array($k, $editor_config->enable_html_grant))-->checked="checked"<!--@end-->/> <label for="enable_html_{$k}">{$v->title}</label>
<!--@end-->
<label loop="$group_list => $k, $v" for="fileupload_{$k}" class="x_inline"><input type="checkbox" name="upload_file_grant[]" value="{$k}" id="fileupload_{$k}" checked="checked"|cond="in_array($k, $editor_config->upload_file_grant)" /> {$v->title}</label>
</td>
<td>
<!--@foreach($group_list as $k => $v)-->
<input type="checkbox" name="enable_comment_html_grant[]" value="{$k}" id="enable_comment_html_{$k}" <!--@if(in_array($k, $editor_config->enable_comment_html_grant))-->checked="checked"<!--@end-->/> <label for="enable_comment_html_{$k}">{$v->title}</label>
<!--@end-->
<label loop="$group_list => $k, $v" for="comment_fileupload_{$k}" class="x_inline"><input type="checkbox" name="comment_upload_file_grant[]" value="{$k}" id="comment_fileupload_{$k}" checked="checked"|cond="in_array($k, $editor_config->comment_upload_file_grant)" /> {$v->title}</label>
</td>
</tr>
<tr>
<th rowspan="2" scope="row">{$lang->upload_file_grant}</th>
<td colspan="2">{$lang->about_upload_file_grant}</td>
</tr>
<tr>
<th scope="row" style="text-align:right">{$lang->enable_default_component_grant}</th>
<td>
<!--@foreach($group_list as $k => $v)-->
<input type="checkbox" name="upload_file_grant[]" value="{$k}" id="fileupload_{$k}" <!--@if(in_array($k, $editor_config->upload_file_grant))-->checked="checked"<!--@end-->/> <label for="fileupload_{$k}">{$v->title}</label>
<!--@end-->
<label loop="$group_list => $k, $v" for="default_componen_{$k}" class="x_inline"><input type="checkbox" name="enable_default_component_grant[]" value="{$k}" id="default_componen_{$k}" checked="checked"|cond="in_array($k, $editor_config->enable_default_component_grant)" /> {$v->title}</label>
</td>
<td>
<!--@foreach($group_list as $k => $v)-->
<input type="checkbox" name="comment_upload_file_grant[]" value="{$k}" id="comment_fileupload_{$k}" <!--@if(in_array($k, $editor_config->comment_upload_file_grant))-->checked="checked"<!--@end-->/> <label for="comment_fileupload_{$k}">{$v->title}</label>
<!--@end-->
<label loop="$group_list => $k, $v" for="comment_default_component_{$k}" class="x_inline"><input type="checkbox" name="enable_comment_default_component_grant[]" value="{$k}" id="comment_default_component_{$k}" checked="checked"|cond="in_array($k, $editor_config->enable_comment_default_component_grant)" /> {$v->title}</label>
</td>
</tr>
<tr>
<th rowspan="2" scope="row">{$lang->enable_default_component_grant}</th>
<td colspan="2">{$lang->about_default_component_grant}</td>
</tr>
<tr>
<th scope="row" style="text-align:right">{$lang->enable_extra_component_grant}</th>
<td>
<!--@foreach($group_list as $k => $v)-->
<input type="checkbox" name="enable_default_component_grant[]" value="{$k}" id="default_componen_{$k}" <!--@if(in_array($k, $editor_config->enable_default_component_grant))-->checked="checked"<!--@end-->/> <label for="default_componen_{$k}">{$v->title}</label>
<!--@end-->
<label loop="$group_list => $k, $v" for="componen_{$k}" class="x_inline"><input type="checkbox" name="enable_component_grant[]" value="{$k}" id="componen_{$k}" checked="checked"|cond="in_array($k, $editor_config->enable_component_grant)" /> {$v->title}</label>
</td>
<td>
<!--@foreach($group_list as $k => $v)-->
<input type="checkbox" name="enable_comment_default_component_grant[]" value="{$k}" id="comment_default_component_{$k}" <!--@if(in_array($k, $editor_config->enable_comment_default_component_grant))-->checked="checked"<!--@end-->/> <label for="comment_default_component_{$k}">{$v->title}</label>
<!--@end-->
<label loop="$group_list => $k, $v" for="comment_component_{$k}" class="x_inline"><input type="checkbox" name="enable_comment_component_grant[]" value="{$k}" id="comment_component_{$k}" checked="checked"|cond="in_array($k, $editor_config->enable_comment_component_grant)" /> {$v->title}</label>
</td>
</tr>
<tr>
<th rowspan="2" scope="row">{$lang->enable_component_grant}</th>
<td colspan="2">{$lang->about_component_grant}</td>
</tr>
<tr>
<td>
<!--@foreach($group_list as $k => $v)-->
<input type="checkbox" name="enable_component_grant[]" value="{$k}" id="componen_{$k}" <!--@if(in_array($k, $editor_config->enable_component_grant))-->checked="checked"<!--@end-->/> <label for="componen_{$k}">{$v->title}</label>
<!--@end-->
</td>
<td>
<!--@foreach($group_list as $k => $v)-->
<input type="checkbox" name="enable_comment_component_grant[]" value="{$k}" id="comment_component_{$k}" <!--@if(in_array($k, $editor_config->enable_comment_component_grant))-->checked="checked"<!--@end-->/> <label for="comment_component_{$k}">{$v->title}</label>
<!--@end-->
</td>
</tr>
</tbody>
</table>
</div>
<div class="btnArea">
<span class="btn"><input type="submit" value="{$lang->cmd_save}"/></span>
</tbody>
</table>
<div class="x_clearfix">
<button class="x_btn x_btn-primary x_pull-right" type="submit">{$lang->cmd_save}</button>
</div>
</form>

View file

@ -128,10 +128,10 @@ function editorStart(editor_sequence, primary_key, content_key, editor_height, f
// content 생성
editor_path = editor_path.replace(/^\.\//ig, '');
var contentHtml = ''+
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'+
'<html xmlns="http://www.w3.org/1999/xhtml><head><meta http-equiv="content-type" content="text/html; charset=utf-8"/>'+
'<style type="text/css">'+
'body {font-size:.75em; line-height:1.6; font-family:Sans-serif; height:'+editor_height+'px; padding:0; margin:0; background-color:transparent; color:'+font_color+';}'+
'<!DOCTYPE html>'+
'<html><head><meta charset="utf-8"/>'+
'<style>'+
'body{font-size:.75em;line-height:1.6;font-family:Sans-serif;height:'+editor_height+'px;padding:0;margin:0;background-color:transparent;color:'+font_color+';}'+
'</style>'+
'</head><body editor_sequence="'+editor_sequence+'">'+
content+

View file

@ -10,7 +10,7 @@ function resultGetEditorSkinColorList(ret_obj,response_tags, params) {
var selectbox = null;
jQuery(function($){
if(params.testid){
selectbox = $("#"+params.testid).next('label').next('select');
selectbox = $("#"+params.testid).next('label').children('select');
}else{
selectbox = (params.type == 'document') ? $('select[name=sel_editor_colorset]') : $('select[name=sel_comment_editor_colorset]');
}
@ -36,7 +36,13 @@ function resultGetEditorSkinColorList(ret_obj,response_tags, params) {
}
var selectAttr = "";
for(var i=0;i<it.length;i++){
selectbox.append($('<option value="'+it[i].name+'" >'+it[i].title+'</option>'));
var $options = $('<option value="'+it[i].name+'" >'+it[i].title+'</option>');
if(params.selected_colorset == it[i].name){
$options.attr('selected', 'selected');
}
selectbox.append($options);
}
selectbox.show();
}else{

View file

@ -21,7 +21,7 @@ var defaultHandlers;
function init(cfg, exe) {
var seq = cfg.editorSequence;
if(!is_def(seq)) return;
cfg = $.extend({
@ -437,7 +437,10 @@ function insertUploadedFile(editorSequence) {
// html 모드
if(editorMode[editorSequence]=='html'){
if(text.length>0) get_by_id('editor_textarea_'+editorSequence).value += text.join('');
if(text.length>0 && get_by_id('editor_textarea_'+editorSequence))
{
get_by_id('editor_textarea_'+editorSequence).value += text.join('');
}
// 위지윅 모드
}else{

View file

@ -1,4 +1,4 @@
<script type="text/javascript">
<script>
top.xAddEventListener(window, 'load', function() { top.showPreviewContent({$editor_sequence}); } );
</script>
{$content}

View file

@ -1,90 +1,96 @@
<load target="css/editor.css" usecdn="true" />
<load target="css/editor_admin.css" usecdn="true" />
<load target="js/editor_admin.js" usecdn="true" />
<h1 class="h1">{$lang->cmd_setup}</h1>
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<div class="x_page-header">
<h1>{$lang->editor}</h1>
</div>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/editor/tpl/setup_component/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<form ruleset="setupComponent" action="./" method="post">
<input type="hidden" name="module" value="editor" />
<input type="hidden" name="act" value="procEditorAdminSetupComponent" />
<input type="hidden" name="component_name" value="{$component_name}" />
<div class="table">
<table width="100%" border="1" cellspacing="0">
<tr>
<th scope="row"><div>{$lang->component_name}</div></th>
<td>{$component->title}({$component->component_name}) ver. {$component->version}</td>
</tr>
<tr>
<th scope="row"><div>{$lang->component_author}</div></th>
<td class="blue">
<!--@foreach($component->author as $author)-->
{$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>)<br />
<!--@endforeach-->
</td>
</tr>
<!--@if($component->link)-->
<tr>
<th scope="row"><div>{$lang->component_link}</div></th>
<td><a href="#" onclick="winopen('{$component->link}');return false;">{$component->link}</a></td>
</tr>
<!--@end-->
<!--@foreach($component->extra_vars as $key => $val)-->
<tr class="row{$cycle_idx}">
<th scope="row"><div>{$val->title}</div></th>
<td>
<input type="text" name="{$key}" value="{$val->value}" />
<p>{$val->description}</p>
</td>
</tr>
<!--@end-->
<tr>
<th scope="row"><div>{$lang->grant}</div></th>
<td>
<!--@foreach($group_list as $key => $val)-->
<input type="checkbox" name="target_group" value="{$key}" <!--@if(in_array($key, $component->target_group))-->checked="checked"<!--@end--> id="group_{$key}"> <label for="group_{$key}">{$val->title}</label> &nbsp;
<!--@end-->
<p>{$lang->about_component_grant}</p>
</td>
</tr>
<!--@if($mid_list)-->
<tr>
<th scope="row"><div>
{$lang->module}
<input type="checkbox" onclick="XE.checkboxToggleAll('mid_list'); return false;" />
</div></th>
<td>
<p>{$lang->about_component_mid}</p>
<!--@foreach($mid_list as $module_category_srl => $modules)-->
<div class="module_category_title">
<input type="checkbox" onclick="XE.checkboxToggleAll('mid_list', { wrap:'section_{$module_category_srl}' }); return false;" />
<!--@if($modules->title)-->
{$modules->title}
<!--@else-->
{$lang->none_category}
<!--@end-->
</div>
<div id="section_{$module_category_srl}">
<!--@foreach($modules->list as $key => $val)-->
<div class="module_list">
<input type="checkbox" value="{$key}" name="mid_list" id="chk_mid_list_{$key}" <!--@if(in_array($key, $component->mid_list))-->checked="checked"<!--@end--> />
<label for="chk_mid_list_{$key}">{$key} ({$val->browser_title})</label>
</div>
<!--@end-->
</div>
<!--@end-->
</td>
</tr>
<!--@end-->
</table>
</div>
<div class="btnArea">
<span class="btn"><a href="{getUrl('', 'module', 'admin', 'act', 'dispEditorAdminIndex')}" >{$lang->cmd_back}</a></span>
<span class="btn"><input type="submit" value="{$lang->cmd_apply}" /></span>
</div>
</form>
<section class="section">
<h1>{$lang->cmd_setup}</h1>
<form ruleset="setupComponent" action="./" method="post" class="x_form-horizontal">
<input type="hidden" name="module" value="editor" />
<input type="hidden" name="act" value="procEditorAdminSetupComponent" />
<input type="hidden" name="component_name" value="{$component_name}" />
<input type="hidden" name="xe_validator_id" value="modules/editor/tpl/setup_component/1" />
<div class="x_control-group">
<label class="x_control-label">{$lang->component_name}</label>
<div class="x_controls">{$component->title}({$component->component_name}) ver. {$component->version}</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->component_author}</label>
<div class="x_controls">
<!--@foreach($component->author as $author)-->
{$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>)<br />
<!--@endforeach-->
</div>
</div>
<div class="x_control-group" cond="$component->link">
<label class="x_control-label">{$lang->component_link}</label>
<div class="x_controls">
<a href="#" onclick="winopen('{$component->link}');return false;">{$component->link}</a>
</div>
</div>
<div class="x_control-group" loop="$component->extra_vars=>$key,$val">
<label class="x_control-label">{$val->title}</label>
<div class="x_controls">
<input type="text" name="{$key}" value="{$val->value}" />
<span class="x_help-block">{$val->description}</span>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->grant}</label>
<div class="x_controls">
<label class="x_inline" loop="$group_list=>$key,$val">
<input type="checkbox" name="target_group[]" value="{$key}" <!--@if(in_array($key, $component->target_group))-->checked="checked"<!--@end--> id="group_{$key}"> {$val->title}
</label>
</div>
</div>
<div class="x_control-group" cond="$mid_list">
<label class="x_control-label">
{$lang->module}
</label>
<div class="x_controls">
<span class="x_help-block">{$lang->about_component_mid}</span>
<label class="checked" for="check_all"> <input id="check_all" type="checkbox"/> Check all</label>
<!--@foreach($mid_list as $module_category_srl => $modules)-->
<!--@if(count($mid_list) > 1)-->
<fieldset>
<legend>
<input type="checkbox" />
<!--@if($modules->title)-->{$modules->title}<!--@else-->{$lang->none_category}<!--@end-->
</legend>
<!--@end-->
<div id="section_{$module_category_srl}">
<!--@foreach($modules->list as $key => $val)-->
<label>
<input type="checkbox" value="{$key}" name="mid_list[]" id="chk_mid_list_{$key}" <!--@if(in_array($key, $component->mid_list))-->checked="checked"<!--@end--> />
{$key} ({$val->browser_title})
</label>
<!--@end-->
</div>
<!--@if(count($mid_list) > 1)-->
</fieldset>
<!--@end-->
<!--@end-->
</div>
</div>
<div class="x_clearfix btnArea">
<a class="x_btn x_pull-left" href="{getUrl('', 'module', 'admin', 'act', 'dispEditorAdminIndex')}" >{$lang->cmd_back}</a>
<button type="submit" class="x_btn x_btn-primary x_pull-right">{$lang->cmd_save}</button>
</div>
</form>
</section>
<script>
(function($){
$('#check_all')
.bind('click', function(e){
if (this.checked){
$('input[name=mid_list\\[\\]]').attr('checked', 'checked');
}else{
$('input[name=mid_list\\[\\]]').removeAttr('checked');
}
});
})(jQuery);
</script>

View file

@ -1,76 +1,74 @@
<load target="css/editor.css" usecdn="true" />
<load target="../../../modules/admin/tpl/css/admin.css" usecdn="true" />
<load target="../../../common/css/bootstrap.min.css" usecdn="true" />
<h1 class="h1">{$component->title} ver. {$component->version}</h1>
<div class="table">
<table width="100%" border="1" cellspacing="0">
<tr>
<th scope="row"><div>{$lang->component_author}</div></th>
<td>
<!--@foreach($component->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 />
<!--@end-->
</tr>
<section class="section">
<h1>{$component->title} ver. {$component->version}</h1>
<table class="x_table x_table-striped x_table-hover">
<tr>
<th scope="row"><div>{$lang->component_author}</div></th>
<td>
<!--@foreach($component->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 />
<!--@end-->
</tr>
<!--@if($component->homepage)-->
<tr>
<th scope="row"><div>{$lang->homepage}</div></th>
<td class="blue"><a href="{$component->homepage}" onclick="window.open(this.href);return false;">{$component->homepage}</a></td>
</tr><!--@end-->
<tr>
<th scope="row"><div>{$lang->regdate}</div></th>
<td>{zdate(str_replace('-',"",$component->date), 'Y-m-d')}</td>
</tr>
<tr>
<th scope="row"><div>{$lang->homepage}</div></th>
<td class="blue"><a href="{$component->homepage}" onclick="window.open(this.href);return false;">{$component->homepage}</a></td>
</tr><!--@end-->
<tr>
<th scope="row"><div>{$lang->regdate}</div></th>
<td>{zdate(str_replace('-',"",$component->date), 'Y-m-d')}</td>
</tr>
<!--@if($component->license || $component->license_link)-->
<tr>
<th scope="row"><div>{$lang->component_license}</div></th>
<td>
{nl2br(trim($component->license))}
<!--@if($component->license_link)-->
<p><a href="{$component->license_link}" onclick="window.close(); return false;">{$component->license_link}</a></p>
<!--@end-->
</td>
</tr><!--@end-->
<tr>
<th scope="row"><div>{$lang->component_license}</div></th>
<td>
{nl2br(trim($component->license))}
<!--@if($component->license_link)-->
<p><a href="{$component->license_link}" onclick="window.close(); return false;">{$component->license_link}</a></p>
<!--@end-->
</td>
</tr><!--@end-->
<!--@if($component->description)-->
<tr>
<th scope="row"><div>{$lang->component_description}</div></th>
<td>{nl2br(trim($component->description))}</td>
</tr><!--@end-->
</table>
</div>
<tr>
<th scope="row"><div>{$lang->component_description}</div></th>
<td>{nl2br(trim($component->description))}</td>
</tr><!--@end-->
</table>
<!--@if($component->history)-->
<h1 class="h1">{$lang->component_history}</h1>
<div class="table">
<table width="100%" border="1" cellspacing="0">
<!--@foreach($component->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>
<table class="x_table x_table-striped x_table-hover">
<!--@foreach($component->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>
<!--@endif-->
</section>