관리자 페이지 패키지별 UI 적용을 위한 1차 작업 마무리

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4616 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2008-10-15 11:10:08 +00:00
parent 856ab513ec
commit ba4e9e26e2
248 changed files with 3520 additions and 3424 deletions

View file

@ -0,0 +1,127 @@
<!--%import("./filter/update_env_config.xml")-->
<!--%import("./filter/update_lang_select.xml")-->
<!--%import("./filter/install_ftp_info.xml")-->
<!--%import("../../install/lang")-->
<!--%import("../../install/tpl/js/install_admin.js",optimized=false)-->
<h3 class="bottomGap">{$lang->cmd_setup}</h3>
<div class="adminLeftContent">
<form action="./" method="get" onsubmit="return procFilter(this, update_env_config);">
<table cellspacing="0" class="adminTable">
<caption>{$lang->env_setup}</caption>
<tr>
<th><div>{$lang->use_rewrite}</div></th>
<td>
<input type="checkbox" name="use_rewrite" value="Y" <!--@if($use_rewrite=='Y')-->checked="checked"<!--@end--> />
<p>{$lang->about_rewrite}</p>
</td>
</tr>
<tr class="row2">
<th><div>{$lang->use_optimizer}</div></th>
<td>
<input type="checkbox" name="use_optimizer" value="Y" <!--@if($use_optimizer!='N')-->checked="checked"<!--@end--> />
<p>{$lang->about_optimizer}</p>
</td>
</tr>
<tr>
<th><div>Language Selection</div></th>
<td>
<select name="lang_type">
<!--@foreach($lang_supported as $key => $val)-->
<option value="{$key}" <!--@if($key==$selected_lang)-->selected="selected"<!--@end-->>{$val}</option>
<!--@endforeach-->
</select>
<p>{$lang->about_lang_env}</p>
</td>
</tr>
<tr class="row2">
<th><div>{$lang->time_zone}</div></th>
<td>
<select name="time_zone" class="time_zone">
<!--@foreach($time_zone_list as $key => $val)-->
<option value="{$key}" <!--@if($time_zone==$key)-->selected="selected"<!--@end-->>{$val}</option>
<!--@endforeach-->
</select>
<p>{$lang->about_time_zone}</p>
</td>
</tr>
<tr>
<th><div>{$lang->qmail_compatibility}</div></th>
<td>
<input type="checkbox" name="qmail_compatibility" value="Y" <!--@if($qmail_compatibility=='Y')-->checked="checked"<!--@end--> />
<p>{$lang->about_qmail_compatibility}</p>
</td>
</tr>
<tr class="row2">
<td colspan="2" class="right">
<span class="button"><input type="submit" value="{$lang->cmd_save}" /></span>
</td>
</tr>
</table>
</form>
<form action="./" method="post" onsubmit="return procFilter(this, install_ftp_info);" id="ftp_form">
<table cellspacing="0" class="adminTable">
<caption>{$lang->ftp_form_title}</caption>
<tr>
<td colspan="3">
<p>{$lang->about_ftp_info}</p>
</td>
</tr>
<tr>
<th><div><label for="textfield21">{$lang->user_id}</label></div></th>
<th><div><label for="textfield22">{$lang->password}</label></div></th>
<th><div><label for="textfield24">{$lang->ftp_port}</label></div></th>
</tr>
<tr>
<td><input type="text" id="textfield21" name="ftp_user" value="{$ftp_info->ftp_user}" class="inputTypeText" /></td>
<td><input id="textfield22" type="password" name="ftp_password" value="{$ftp_info->ftp_password}" class="inputTypeText" /></td>
<td><input id="textfield24" type="text" name="ftp_port" value="{$ftp_info->ftp_port}" class="inputTypeText" /></td>
</tr>
<tr>
<td colspan="3" class="right">
<span class="button"><input type="button" value="{$lang->cmd_check_ftp_connect}" onclick="doCheckFTPInfo(); return false;"/></span>
<span class="button"><input type="submit" value="{$lang->cmd_registration}" /></span>
</td>
</tr>
</table>
</form>
</div>
<div class="adminRightExtra">
<form action="./" method="get" onsubmit="return procFilter(this, update_lang_select);">
<table cellspacing="0" class="adminTable">
<caption>{$lang->cmd_lang_select}</caption>
<tr>
<td>
<!--@foreach($lang_supported as $key => $val)-->
<div><input id="lang_{$key}" type="checkbox" name="selected_lang" value="{$key}" <!--@if(isset($lang_selected[$key]))-->checked="checked"<!--@end--> <!--@if($key==$selected_lang)-->disabled="disabled"<!--@end--> /> <label for="lang_{$key}">{$val}</label></div>
<!--@endforeach-->
<p>{$lang->about_cmd_lang_select}</p>
</td>
</tr>
<tr class="row2">
<td class="right">
<span class="button"><input type="submit" value="{$lang->cmd_save}" /></span>
</td>
</tr>
</table>
</form>
<table cellspacing="0" class="adminTable">
<caption>{$lang->cmd_remake_cache}</caption>
<tr>
<td>
<p>{$lang->about_recompile_cache}</p>
</td>
</tr>
<tr class="row2">
<td class="right">
<span class="button"><input type="button" value="{$lang->cmd_remake_cache}" onclick="doRecompileCacheFile(); return false;"/></span>
</td>
</tr>
</table>
</div>

View file

@ -1,120 +1,90 @@
@charset "utf-8";
/*
NHN UIT Lab. WebStandardization Team (http://html.nhndesign.com/)
Jeong, Chan Myeong 070601~070630
*/
/*
Used Hack
.topGap { margin-top:10px; }
.rightGap { margin-right:10px; }
.bottomGap { margin-bottom:10px; }
.leftGap { margin-left:10px; }
IE6 & Below
{ property:value; _property:value;}
h3 { margin:0; padding:8px 0 0 10px; border:1px solid #BFBFB8; border-left:1px solid #D8D8D2; border-top:1px solid #D8D8D2; background:url("../images/n_title_bg.png") repeat-x left top; font-size:1em; color:#444444; height:22px;}
h3 .gray { color:#777777;}
.infoText { background:#FFFFFA; padding:10px; color:#444444; border-left:1px solid #D8D8D2; border-bottom:1px solid #BFBFB8; border-right:1px solid #BFBFB8; line-height:1.5; margin-bottom:10px; }
.subInfoText { background:#FFFFFF; padding:10px; color:#444444; border:1px solid #EEEEEE; line-height:1.5; margin-bottom:10px; }
IE7 Only
*:first-child+html #selector
div.summary { clear:both; font:8pt tahoma; color:#636363; margin-bottom:5px; }
div.summary .vr { font-weight:normal; color:#d1d1d1; }
div.summary em { color:#ff1d00; font-style:normal;}
*/
.adminLeftContent { position:absolute; left:10px; right:420px; }
.adminRightExtra { position:absolute; right:10px; width:400px; }
h3 { background:url("../images/top_head_title_bg.gif") repeat-x left top; font-size:1em; border:1px solid #E3E3E2; padding:11px 9px 7px 25px; color:#555555; margin:0; }
h3 .gray { color:#9d9d9d;}
.adminTable caption { background:url("../images/n_caption_head.png") no-repeat left top; padding:8px 0 5px 30px; text-align:left; font-weight:bold; color:#000000; background-color:#F0F0DF; border-bottom:1px solid #FFFFFF; border-right:1px solid #E5E5D4; }
.adminTable { width:100%; border-left:1px solid #E3E3E2; border-top:1px solid #E3E3E2; margin-bottom:10px; }
.adminTable caption { background:url("../images/s_application.gif") no-repeat 3px 5px; padding:6px 5px 4px 22px; text-align:left; border:1px solid #E3E3E2; border-bottom:none; font-weight:bold; background-color:#F9F8F5; color:#5E6266; }
.adminTable th { overflow:hidden; background-color:#FAF8F4; padding:5px; font-weight:normal; text-align:left; color:#606060; border-right:1px solid #E3E3E2; border-bottom:1px solid #E3E3E2; }
.adminTable { width:100%; border:1px solid #E5E4E2; border-bottom:none; border-right:none; margin-bottom:10px; }
.adminTable thead tr th { width:10px; }
.adminTable thead tr th div { white-space:nowrap; margin:0;}
.adminTable thead tr th.wide { width:100%; }
.adminTable thead tr th.half_wide { width:50%; }
.adminTable tbody tr td { white-space:normal; padding:5px; }
.adminTable tbody tr td.nowrap { white-space:nowrap !important; }
.adminTable thead tr th div { text-align:center;}
.adminTable tr th { background-color:#FAF7F2; padding:4px 6px 2px 6px; font-weight:normal; text-align:left; color:#444444; border-right:1px solid #E5E4E2; border-bottom:1px solid #E5E4E2; }
.adminTable tr.row2 th { background-color:#FEFDFB; }
.adminTable tr th { width:10px; }
.adminTable tr th div { white-space:nowrap; margin:0 5px; }
.adminTable tr th select { height:20px; }
.adminTable tr th.wide { width:100%; }
.adminTable tr th.half_wide { width:50%; }
.adminTable tr th.quarter_wide { width:25%; }
.adminTable tr td.wide { width:100%; }
.adminTable th.button { text-align:right; }
.adminTable th.centerButton { text-align:center; }
.adminTable tr td { background-color:#FFFFFF;white-space:normal; background-color:#FFFFFF; font-weight:normal; text-align:left; color:#222222; border-bottom:1px solid #E5E4E2; border-right:1px solid #E5E4E2; padding:4px 6px 4px 6px;}
.adminTable tr.row2 td { background-color:#FFFDFA; }
.adminTable tr a { color:#222222; text-decoration:none; }
.adminTable tr a:hover { color:#3D83B8; }
.adminTable tr td.nowrap { white-space:nowrap !important; }
.adminTable tr td.alert, .adminTable tr td.alert a { color:red; }
.adminTable tr td.number { font-size:8pt; font-family:tahoma; color:#444444; }
.adminTable tr td.date,
.adminTable tr td span.date { font-size:8pt; font-family:tahoma; color:#666666;}
.adminTable tr td.center { text-align:center; }
.adminTable tr td.right { text-align:right; }
.adminTable tr td.paper { background:url("../images/n_paper_bullet.png") no-repeat 6px 8px; padding-left:20px; }
.adminTable tr td.circle { background:url("../images/n_circle_bullet.png") no-repeat 6px 8px; padding-left:20px; }
.adminTable tr td strong.alert { color:red; }
.adminTable tr td p { padding:0; margin:5px 0 0 5px; color:#9F875F; }
.adminTable tr td p a { color:#9F875F; font-weight:bold; text-decoration:underline; }
.adminTable tr td.modify a,
.adminTable tr td.delete a,
.adminTable tr td.copy a,
.adminTable tr td.setup a,
.adminTable tr td.activated a,
.adminTable tr td.deactivated a,
.adminTable tr td.moveupdown a,
.adminTable tr td.selectAll a,
.adminTable tr td.deSelectAll a,
.adminTable tr td.view a { margin:0 auto; }
.adminTable tr td.modify a { width:14px; height:14px; overflow:hidden; display:block; font-size:1px; line-height:100px; background:url("../images/n_icon_modify.gif") no-repeat left top; }
.adminTable tr td.delete a { width:14px; height:14px; overflow:hidden; display:block; font-size:1px; line-height:100px; background:url("../images/n_icon_delete.gif") no-repeat left top; }
.adminTable tr td.copy a { width:16px; height:16px; overflow:hidden; display:block; font-size:1px; line-height:100px; background:url("../images/n_icon_copy.gif") no-repeat left top; }
.adminTable tr td.view a { width:14px; height:14px; overflow:hidden; display:block; font-size:1px; line-height:100px; background:url("../images/n_icon_view.gif") no-repeat left top; }
.adminTable tr td.setup a { width:16px; height:16px; overflow:hidden; display:block; font-size:1px; line-height:100px; background:url("../images/n_setup.png") no-repeat left top; }
.adminTable tr td.activated a { width:16px; height:16px; overflow:hidden; display:block; font-size:1px; line-height:100px; background:url("../images/n_light_on.png") no-repeat left top; }
.adminTable tr td.deactivated a { width:16px; height:16px; overflow:hidden; display:block; font-size:1px; line-height:100px; background:url("../images/n_light_off.png") no-repeat left top; }
.adminTable tr td.selectAll a { width:16px; height:16px; overflow:hidden; display:block; font-size:1px; line-height:100px; background:url("../images/n_icon_select_all.gif") no-repeat left top; }
.adminTable tr td.deSelectAll a { width:16px; height:16px; overflow:hidden; display:block; font-size:1px; line-height:100px; background:url("../images/n_icon_remove.gif") no-repeat left top; }
.adminTable tr td.moveupdown a.up { float:left; width:14px; height:14px; overflow:hidden; display:block; font-size:1px; line-height:100px; background:url("../images/button_up.gif") no-repeat left top; margin-right:5px; }
.adminTable tr td.moveupdown a.down{ float:left; width:14px; height:14px; overflow:hidden; display:block; font-size:1px; line-height:100px; background:url("../images/button_down.gif") no-repeat left top; }
.adminTable tr td.blue, .adminTable tr td.blue a { color:blue; }
.adminTable tr td.red, .adminTable tr td.red a { color:red; }
.adminTable th a { color:#555555; text-decoration:none; }
.adminTable th a:hover { text-decoration:underline; }
ul.localNavigation { position:relative; clear:both; margin:10px 0 10px 0; padding:0 0 0 10px; height:25px; overflow:hidden; border-bottom:1px solid #EEEEEE; }
ul.localNavigation li { list-style:none; background:url("../images/n_small_tab.gif") no-repeat scroll left -26px; float:left; margin-right:10px; position:relative; text-align:center; top:4px; height:25px;}
ul.localNavigation li a { background:url("../images/n_small_tab.gif") no-repeat scroll right -26px; color:#444444; display:block; left:3px; padding:5px 15px 0 10px; position:relative; text-decoration:none; height:25px;}
ul.localNavigation li a:hover { color:#000000; }
ul.localNavigation li.on { background-position:left top; top:0; height:25px; }
ul.localNavigation li.on a { background-position:right top; padding:8px 15px 5px 10px; height:25px; color:#222227; font-weight:bold; }
.adminTable th.tahoma { font-family:tahoma; font-size:7pt; }
.adminTable th.tahoma a { font-family:tahoma; font-size:7pt; }
.adminTable th.blue { color:#1473C3; }
.adminTable th.red { color:#C31414; }
.adminTable th.green { color:#218E08; }
.adminTable th.blue a { color:#1473C3; }
.adminTable th.red a { color:#C31414; }
.adminTable th.green a { color:#218E08; }
.adminTable th a.blue { color:#1473C3; }
.adminTable th a.red { color:#C31414; }
.adminTable th a.green { color:#218E08; }
.adminTable th select { height:20px; }
.adminTable td { overflow:hidden; background-color:#FFFFFF; font-weight:normal; text-align:left; color:#5A5A5A; border-right:1px solid #E3E3E2; border-bottom:1px solid #E3E3E2;}
.adminTable td.tahoma { font-family:tahoma; font-size:7pt; }
.adminTable td.tahoma a { font-family:tahoma; font-size:7pt; }
.adminTable td.blue { color:#1473C3; }
.adminTable td.red { color:#C31414; }
.adminTable td.green { color:#218E08; }
.adminTable td.blue a { color:#1473C3; }
.adminTable td.red a { color:#C31414; }
.adminTable td.green a { color:#218E08; }
.adminTable td a.blue { color:#1473C3; }
.adminTable td a.red { color:#C31414; }
.adminTable td a.green { color:#218E08; }
.adminTable td.tCenter { text-align:center; }
.adminTable td select { height:20px; }
.adminTable td textarea { width:98%; height:120px; }
.adminTable td a { color:#555555; text-decoration:none; }
.adminTable td a:hover { text-decoration:underline; }
.adminTable td p, .adminTable td label { margin:0; padding:0;color:#AAAAAA; font-size:.9em; margin-top:5px; }
.adminTable td p a, .adminTable td label a { text-decoration:underline; color:#999999; }
.adminTable.counter th { font-size:.9em; text-align:center; padding:0;}
.adminTable.counter th em { font:normal 1em Tahoma;}
.adminTable td .graph { width:90%; position:relative;}
.adminTable td .graph .bar { width:100%; position:absolute; margin-top:4px;}
.adminTable td .graph .num { position:relative; background:#ffffff; color:#636363; font:.9em Tahoma; padding-left:10px; white-space:nowrap;}
.admin_news { width:470px; float:left; margin-right:10px; }
.admin_link { width:300px; float:right; }
.admin_link td, .admin_news td { height:18px; }
select.time_zone { width:70%; position:relative; top:4px; }
.gap1 { margin-top:.8em; }
.infoText { clear:both; border:1px solid #f2f2f0; margin-bottom:12px; background:#f9f9f6; padding:1.2em; color:#7b7972; font-size:1em; line-height:1.4em; border-top:none; }
.header4 { overflow:hidden;}
.header4 div.summary { font:.9em Tahoma; color:#636363; float:left; padding:.5em 0 1.2em 2em;}4v
.header4 div.summary .vr { font-weight:normal; color:#d1d1d1; margin:0 .5em;}
.header4 div.summary em { color:#ff1d00; font-style:normal;}
.header4 table.summary { border-right:1px solid #f2f2f2; width:100%; height:35px; margin-bottom:15px;}
.header4 table.summary th { background:#969693; color:#ffffff;}
.header4 table.summary th img { vertical-align:middle;}
.header4 table.summary th .vr { color:#a3a39f; margin:0 4px; font-weight:normal;}
.header4 table.summary td { border-top:1px solid #f2f2f2; border-bottom:1px solid #f2f2f2; font:.9em Tahoma; padding-left:17px;}
h4 { font-size:1em; color:#f2250d; padding-left:10px; margin:0;}
h4 .bracket { font-weight:normal; color:#9d9d9d;}
h4 .vr { font-weight:normal; color:#d1d1d1;}
h4 .view { color:#158692; padding-right:.6em; font:bold .9em Tahoma; background:url(../images/iconView.gif) no-repeat right center; text-decoration:none; }
.localNavigation { float:right; margin-bottom:10px;}
.localNavigation li { float:left; margin-right:.3em; list-style:none;}
.localNavigation li.on { margin-right:.3em;}
.localNavigation li a { padding:.4em 1em .2em 1em; display:block; float:left; font-size:.9em; color:#606060; border:2px solid #e0dfde; text-decoration:none; }
.localNavigation li a:hover { border:2px solid #ff1a00; color:#f2250d; text-decoration:none;}
.localNavigation li.on a { color:#f2250d; border:2px solid #ff1a00; text-decoration:none;}
.tableSummaryType1 { font:bold .9em Tahoma; color:#a0a0a0; margin-bottom:10px;}
.tableSummaryType1 strong { font:bold 1em Tahoma; color:#ff1a00;}
#popHeadder, #popHistoryHeadder { background:url(../images/popupTopBg.png) repeat-x left top; padding:10px; }
#popHeadder h1, #popHistoryHeadder h1 { background:url("../images/top_head_title_bg.gif") repeat-x left top; font-size:1em; border:1px solid #E3E3E2; padding:9px; color:#555555; margin:0; }
#popBody, #popHistoryBody { width:600px; padding:10px; background:#ffffff;}
#popHistoryBody { height: 200px; overflow: auto; padding-right:0; }
#popFooter { width:620px; background:#f7f7f6; border-top:1px solid #e8e8e7; padding:.5em 0 .5em 0; overflow:hidden; }
#popFooter .close { position:relative; left:50%; margin-left:-1em; float:left;}
.pageNavigation { display:block; padding:1.5em 0 2em 0; text-align:center; font:bold .9em Tahoma; }
.pageNavigation a { margin-left:-4px; font:bold 1em Tahoma; color:#666666; display:inline-block; padding:1px 7px 2px 6px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; }
@ -126,19 +96,18 @@ h4 .view { color:#158692; padding-right:.6em; font:bold .9em Tahoma; background:
.pageNavigation a.goToLast img { display:inline-block; padding:2px 0; top:2px; _top:1px;}
.pageNavigation .current { margin-left:-4px; font:bold 1em Tahoma; color:#ff6600; display:inline-block; padding:1px 7px 1px 6px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; }
h4 { text-align:right; font-size:12pt; color:#f2250d; padding-left:10px; margin:0;}
h4 .bracket { font-weight:normal; color:#9d9d9d;}
h4 .vr { font-weight:normal; color:#d1d1d1;}
h4 .view { color:#158692; padding-right:.6em; font:bold 9pt Tahoma; text-decoration:none; }
.adminSearch { text-align:right; clear:both; width:100%;}
.adminSearch fieldset { border:none; display:inline; overflow:visible; }
.adminSearch * { vertical-align:middle;}
.buttonTypeGo { border:none; cursor:pointer; width:24px; height:20px; position:relative; top:-1px; font:.75em Tahoma; text-align:center; background:url(../images/buttonTypeInput24.gif) no-repeat; }
#popHeadder, #popHistoryHeadder { height:40px; background:url(../images/popupTopBg.png) repeat-x left top; padding:10px;}
#popHeadder h1, #popHistoryHeadder h1 { background:url("../images/top_head_title_bg.gif") repeat-x left top; font-size:1em; border:1px solid #E3E3E2; padding:9px; color:#555555; margin:0; }
#popBody, #popHistoryBody { width:600px; padding:10px; background:#ffffff;}
#popHistoryBody { height: 200px; overflow: auto; padding-right:0; }
#popFooter { width:620px; background:#f7f7f6; border-top:1px solid #e8e8e7; padding:.5em 0 .5em 0; overflow:hidden; }
#popFooter .close { position:relative; left:50%; margin-left:-1em; float:left;}
.layout_editor { width:99%; height:500px; border:0px; font-size:1em; }
.layout_editor_box { padding:10px; border:1px solid #DDDDDD; }

View file

@ -1,40 +1,30 @@
@charset "utf-8";
body { background:url("../images/admin_background.gif") repeat-x left top; background-color:#DBD8D3; }
body { background-color:#FFFFFF; }
#adminLayout { background:url("../images/admin_logo.gif") no-repeat left top; background-color:#F8F6F2; overflow:hidden; width:980px; border-right:1px solid #B2B2B2; margin:5px 0 0 5px; }
#adminContentBody { width:780px; float:left; background-color:#FFFFFF; padding:25px 10px 20px 10px; vertical-align:top; background:url(../images/admin_top_bg.gif) repeat-x left top; background-color:#FFFFFF; }
#adminLayoutBottom { background:url("../images/admin_bottom_bg.gif") repeat-x left top; height:3px; clear:both; overflow:hidden; width:981px; margin:0 0 0 5px; }
#adminMenuContent { width:179px; float:left; margin-top:70px; padding-bottom:20px; vertical-align:top; background:none; overflow:hidden; border-right:1px solid #B2B2B2; }
#adminMenuContent .adminInfoBox { border:1px solid #E3E3E2; padding:3px; margin:0 0 0 8px; width:130px; background-color:#FFFFFF; width:154px; margin-bottom:10px;}
#adminMenuContent .adminInfoBox .adminInfo { border:1px solid #E3E3E2; padding:5px 3px 3px 23px; background:url("../images/icon_key.gif") no-repeat 3px 5px; color:#555555; font-weight:bold; background-color:#F8F6F2; }
#adminMenuContent .adminInfoBox .adminInfo div.expandButton { float:right; height:16px; }
#adminMenuContent .adminInfoBox div.logoutButton { margin-top:5px; text-align:center; clear:both; }
#adminMemberInfo { padding:10px 5px 10px 24px; background:url("../images/icon_user.gif") no-repeat 5px 8px; color:#336699; font-weight:bold; letter-spacing:-1px;}
#adminMenuContent h3 { border:1px solid #E3E3E2; border-top:none; color:#555555; font-size:1em; text-indent:none; padding:6px 0 3px 25px; margin:0 0 0 8px; width:135px;}
#adminMenuContent h3 a { color:#555555; text-decoration:none; }
#adminMenuContent h3 span.expandButton { float:right; padding:none; margin:none; height:16px; white-space:nowrap; overflow:hidden;}
#adminMenuContent h3.summary { background:url("../images/icon_summary.gif") no-repeat 3px 5px; background-color:#FFFFFF; margin-top:0px; border-top:1px solid #E3E3E2; }
#adminMenuContent h3.service { background:url("../images/icon_service_module.gif") no-repeat 3px 5px; background-color:#FFFFFF; }
#adminMenuContent h3.manager { background:url("../images/icon_manager_module.gif") no-repeat 3px 5px; background-color:#FFFFFF;}
#adminMenuContent h3.utility { background:url("../images/icon_utility_module.gif") no-repeat 3px 5px; background-color:#FFFFFF;}
#adminMenuContent h3.accessory { background:url("../images/icon_accessory_module.gif") no-repeat 3px 5px; background-color:#FFFFFF;}
#adminMenuContent h3.base { background:url("../images/icon_base_module.gif") no-repeat 3px 5px; background-color:#FFFFFF;}
#adminMenuContent ul { width:170px; margin:0; padding:0;}
#adminMenuContent ul li { background-color:#F8F6F3; list-style:none; padding:5px 10px 3px 10px; margin-left:8px; white-space:nowrap; overflow:hidden; color:#888785; border-bottom:1px solid #E3E3E2; cursor:pointer; }
#adminMenuContent ul li:hover { background-color:#EFE6D3; border-left:1px solid #E3E3E2; border-right:1px solid #E3E3E2;}
#adminMenuContent li.on { background-color:#EFE6D3; border-left:1px solid #E3E3E2; border-right:1px solid #E3E3E2;}
#adminMenuContent ul li a { text-decoration:none; color:#888785; }
#adminMenuContent ul li:hover a { color:#000000; }
#adminMenuContent li.on a { color:#000000; }
#adminLayoutCopyright { width:930px; text-align:right; margin-top:10px; font-size:.8em; font-family:tahoma; color:#888888; padding-bottom:50px; }
#adminLayoutCopyright a { color:#666666; text-decoration:none; }
#adminLayoutCopyright a span.red { color:#9A1827; }
.xeAdmin { width:100%; height:61px; border-bottom:1px solid #000000; background:url("../images/n_top_back.png") repeat-x left top; }
.xeAdmin h1 { margin:0; padding:0; }
.xeAdmin ul.globalNavigator { list-style:none; margin:0; padding:0; position:absolute; right:10px; top:13px; }
.xeAdmin ul.globalNavigator li { float:left; margin-right:20px; }
.xeAdmin div.mainNavigator { position:absolute; right:15px; top:35px; }
.xeAdmin div.mainNavigator img { float:left; display:block; }
.xeAdmin div.mainNavigator ul { float:left; list-style:none; margin:0; padding:0; height:25px; border-top:1px solid #767676; background-color:#1F1F1F; }
.xeAdmin div.mainNavigator ul li { float:left; background:url("../images/n_menu_bar.png") no-repeat left 8px; padding:7px 12px 0 12px; color:#C7C7C7; cursor:pointer; }
.xeAdmin div.mainNavigator ul li:hover { color:#FFFFFF; }
.xeAdmin div.mainNavigator ul li.first { background:none; }
.adminSubMenu { border:1px solid #000000; float:left; position:absolute; left:0; top:0; visibility:hidden; z-index:10; }
.adminSubMenu ul { list-style:none; padding:0 7px 3px 7px; margin:0; border:1px solid #FFFFFF; float:left; background:url("../images/n_submenu_bg.png") repeat-x left top; background-color:#ECECEC; }
.adminSubMenu ul li { white-space:nowrap; padding:8px 4px 4px 4px; background:url("../images/n_submenu_bar.png") repeat-x left top; }
.adminSubMenu ul li a:hover { color:#AAAAAA; }
.adminSubMenu ul li.first { background:none; }
.adminSubMenu ul li a { color:#000000; text-decoration:none; }
.adminFolder { background:url("../images/n_folder_bg.png") repeat-x left top; height:6px; text-align:center; overflow:hidden;}
.adminPackage { background:url("../images/n_package_bg.png") repeat left top; overflow:hidden; height:38;}
.adminPackage ul { position:relative; clear:both; margin:10px 0 0 10px; padding:0; height:28px; overflow:hidden;}
.adminPackage ul li { list-style:none; background:url("../images/n_tab.gif") no-repeat scroll left -35px; float:left; margin-right:10px; position:relative; text-align:center; top:4px; height:28px;}
.adminPackage ul li a { background:url("../images/n_tab.gif") no-repeat scroll right -35px; color:#FFFFFF; font-weight:bold; display:block; left:3px; padding:5px 15px 0 10px; position:relative; text-decoration:none; height:28px;}
.adminPackage ul li a:hover { color:#000000; }
.adminPackage ul li.active { background-position:left top; top:0; height:28px; }
.adminPackage ul li.active a { background-position:right top; padding:8px 15px 5px 10px; height:28px; color:#222227;}
.adminPackage ul li.admin { float:right; margin-right:10px; }
.adminContentBody { margin:10px; }

View file

@ -0,0 +1,11 @@
<filter name="install_ftp_info" module="install" act="procInstallAdminSaveFTPInfo" >
<form>
<node target="ftp_user" required="true" />
<node target="ftp_password" required="true" />
<node target="ftp_port" required="true" />
</form>
<response callback_func="completeMessage">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -2,7 +2,7 @@
<form>
<node target="time_zone" required="true" />
</form>
<response>
<response callback_func="completeMessage">
<tag name="error" />
<tag name="message" />
</response>

View file

@ -0,0 +1,7 @@
<filter name="update_lang_select" module="install" act="procInstallAdminSaveLangSelected" >
<form />
<response callback_func="completeMessage">
<tag name="error" />
<tag name="message" />
</response>
</filter>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 565 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 445 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 434 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 764 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 527 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 821 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 763 B

View file

@ -1,128 +1,183 @@
<!--%import("./filter/update_env_config.xml")-->
<!--%import("../../install/lang")-->
<!--%import("../../module/tpl/js/module_admin.js",optimized=false)-->
<!--%import("../../addon/tpl/js/addon.js",optimized=false)-->
<!--%import("../../addon/tpl/filter/toggle_activate_addon.xml")-->
<h3>{$lang->welcome_to_zeroboard_xe}</h3>
<h3 class="bottomGap">{$lang->welcome_to_xe}</h3>
<div class="gap1"></div>
<div class="adminLeftContent">
<table cellspacing="0" class="adminTable">
<caption>{$lang->env_information}</caption>
<tbody>
<tr class="row2">
<th><div>{$lang->current_version}</div></th>
<td><strong>{$current_version}</strong></td>
</tr>
<tr>
<th><div>{$lang->current_path}</div></th>
<td>{$installed_path}/</td>
</tr>
<tr class="row2">
<th><div>{$lang->time_zone}</div></th>
<td><!--@foreach($time_zone_list as $key => $val)--><!--@if($time_zone==$key)-->{$val}<!--@end--><!--@endforeach--></td>
</tr>
<tr>
<th><div>{$lang->use_rewrite}</div></th>
<td><!--@if($use_rewrite=='Y')-->{$lang->use}<!--@else-->{$lang->notuse}<!--@end--></td>
</tr>
<tr class="row2">
<th><div>{$lang->use_optimizer}</div></th>
<td><!--@if($use_optimizer=='Y')-->{$lang->use}<!--@else-->{$lang->notuse}<!--@end--></td>
</tr>
<tr>
<th><div>Language</div></th>
<td><!--@foreach($lang_supported as $key => $val)--><!--@if($key == $selected_lang)-->{$val}<!--@endif--><!--@endforeach--></td>
</tr>
<tr class="row2">
<th><div>{$lang->qmail_compatibility}</div></th>
<td><!--@if($qmail_compatibility=='Y')-->{$lang->use}<!--@else-->{$lang->notuse}<!--@end--></td>
</tr>
</tbody>
</table>
<table cellspacing="0" class="adminTable">
<col width="150" />
<col />
<caption>{$lang->env_information}</caption>
<!--@if($current_version < $released_version)-->
<tr>
<th scope="row">{$lang->released_version}</th>
<td>
{$released_version}
(<a href="{$download_link}" onclick="window.open(this.href);return false;">download</a>)
<p>{$lang->about_download_link}</p>
</td>
</tr>
<!--@end-->
<tr>
<th scope="row">{$lang->current_version}</th>
<td>
{$current_version}
</td>
</tr>
<tr>
<th scope="row">{$lang->current_path}</th>
<td>{$installed_path}/</td>
</tr>
</table>
<table cellspacing="0" class="adminTable">
<caption>{$lang->module}</caption>
<thead>
<tr>
<th class="wide"><div>{$lang->module_name}</div></th>
<th><div>{$lang->version}</div></th>
<th><div>{$lang->author}</div></th>
<th><div>{$lang->table_count}</div></th>
<th><div>{$lang->module_action}</div></th>
</tr>
</thead>
<tbody>
<!--@foreach($module_list as $key => $val)-->
<tr class="row{$cycle_idx}">
<td class="circle"><a href="{getUrl('','module','module','act','dispModuleAdminInfo','selected_module',$val->module)}" onclick="popopen(this.href,'module_info');return false"title="{trim($val->description)}">{$val->title}</a> ({$val->module})</td>
<td class="number center">{$val->version}</td>
<td class="nowrap">
<!--@foreach($val->author as $author)-->
<a href="{$author->homepage}" onclick="window.open(this.href);return false;">{$author->name}</a>
<!--@endforeach-->
</td>
<td class="number center <!--@if($val->created_table_count != $val->table_count)-->alert<!--@end-->">
{$val->created_table_count}/{$val->table_count}
</td>
<td class="nowrap center <!--@if($val->need_install || $val->need_update)-->alert<!--@end-->">
<!--@if($val->need_install)-->
<a href="#" onclick="doInstallModule('{$val->module}');return false;">{$lang->cmd_install}</a>
<!--@elseif($val->need_update)-->
<a href="#" onclick="doUpdateModule('{$val->module}'); return false;">{$lang->cmd_update}</a>
<!--@else-->
-
<!--@end-->
</td>
</tr>
<!--@end-->
</tbody>
</table>
</div>
<form action="./" method="get" onsubmit="return procFilter(this, update_env_config);">
<table cellspacing="0" class="adminTable">
<col width="150" />
<col />
<caption>{$lang->env_setup}</caption>
<tr>
<th scope="row">{$lang->use_rewrite}</th>
<td>
<input type="checkbox" name="use_rewrite" value="Y" <!--@if($use_rewrite=='Y')-->checked="checked"<!--@end--> />
<p>{$lang->about_rewrite}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->use_optimizer}</th>
<td>
<input type="checkbox" name="use_optimizer" value="Y" <!--@if($use_optimizer!='N')-->checked="checked"<!--@end--> />
<p>{$lang->about_optimizer}</p>
</td>
</tr>
<tr>
<th scope="row">Language Selection</th>
<td>
<select name="lang_type" onchange="doChangeLangType(this)">
<option value="{$lang_type}">{$lang_supported[$lang_type]}</option>
<!--@foreach($lang_supported as $key => $val)-->
<!--@if($key != $lang_type)-->
<option value="{$key}">{$val}</option>
<!--@endif-->
<!--@endforeach-->
</select>
<p>{$lang->about_lang_env}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->time_zone}</th>
<td>
<select name="time_zone" class="time_zone">
<!--@foreach($time_zone_list as $key => $val)-->
<option value="{$key}" <!--@if($time_zone==$key)-->selected="selected"<!--@end-->>{$val}</option>
<!--@endforeach-->
</select>
<p>{$lang->about_time_zone}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->qmail_compatibility}</th>
<td>
<input type="checkbox" name="qmail_compatibility" value="Y" <!--@if($qmail_compatibility=='Y')-->checked="checked"<!--@end--> />
<p>{$lang->about_qmail_compatibility}</p>
</td>
</tr>
<tr>
<th colspan="2" class="button">
<span class="button"><input type="button" value="{$lang->cmd_remake_cache}" onclick="doRecompileCacheFile(); return false;"/></span>
<span class="button"><input type="submit" value="{$lang->cmd_save}" /></span>
</th>
</tr>
</table>
</form>
<div class="admin_news clear">
<div class="adminRightExtra">
<table cellspacing="0" class="adminTable">
<caption>{$lang->released_version}</div></caption>
<tr>
<td class="center">
<!--@if($current_version < $released_version)-->
<strong class="alert">{$released_version}</strong> [<a href="{$download_link}" onclick="window.open(this.href);return false;">download</a>]
<p>{nl2br($lang->about_download_link)}</p>
<!--@else-->
<strong>{$released_version}</strong> [<a href="{$download_link}" onclick="window.open(this.href);return false;">{$lang->cmd_view}</a>]
<!--@end-->
</td>
</tr>
</table>
<!--@if($news)-->
<table cellspacing="0" class="adminTable">
<col width="120" />
<col />
<caption>{$lang->newest_news}</caption>
<tbody>
<!--@foreach($news as $key => $val)-->
<tr>
<th class="tahoma">{zdate($val->date,"Y-m-d H:i")}</th>
<td><a href="{$val->url}" onclick="window.open(this.href);return false;">{$val->title}</a></td>
<tr class="row{$cycle_idx}">
<td class="paper">
<a href="{$val->url}" onclick="window.open(this.href);return false;" class="fl">{$val->title}</a>
<span class="date fr">{zdate($val->date,"Y-m-d")}</span>
</td>
</tr>
<!--@endforeach-->
</tbody>
</table>
<!--@endif-->
</div>
<div class="admin_link">
<!--// 사용자 링크 -->
<table cellspacing="0" class="adminTable">
<caption>{$lang->zeroboard_xe_user_links}</caption>
<!--@foreach($lang->xe_user_links as $key => $val)-->
<caption>{$lang->status}</caption>
<thead>
<tr>
<td><a href="{$val}" onclick="winopen(this.href); return false;">{$key}</a></td>
</tr>
<!--@end-->
<!--@foreach($lang->xe_developer_links as $key => $val)-->
<tr>
<td><a href="{$val}" onclick="winopen(this.href); return false;">{$key}</a></td>
<th class="wide"><div>{$lang->target}</div></th>
<th><div>{$lang->yesterday}</div></th>
<th><div>{$lang->today}</div></th>
<th><div>{$lang->total}</div></th>
</tr>
</thead>
<tbody>
<tr class="row2">
<td class="circle">{$lang->member}</td>
<td class="number center">{$status->member->yesterday}</td>
<td class="number center">{$status->member->today}</td>
<td class="number center">{$status->member->total}</td>
</tr>
<tr>
<td class="circle">{$lang->document}</td>
<td class="number center">{$status->document->yesterday}</td>
<td class="number center">{$status->document->today}</td>
<td class="number center">{$status->document->total}</td>
</tr>
<tr class="row2">
<td class="circle">{$lang->comment}</td>
<td class="number center">{$status->comment->yesterday}</td>
<td class="number center">{$status->comment->today}</td>
<td class="number center">{$status->comment->total}</td>
</tr>
<tr>
<td class="circle">{$lang->trackback}</td>
<td class="number center">{$status->trackback->yesterday}</td>
<td class="number center">{$status->trackback->today}</td>
<td class="number center">{$status->trackback->total}</td>
</tr>
<tr class="row2">
<td class="circle">{$lang->file}</td>
<td class="number center">{$status->file->yesterday}</td>
<td class="number center">{$status->file->today}</td>
<td class="number center">{$status->file->total}</td>
</tr>
</tbody>
</table>
<form id="fo_addon" action="./" method="get">
<input type="hidden" name="addon" value="" />
</form>
<table cellspacing="0" class="adminTable">
<col width="" />
<col width="25" />
<col width="25" />
<caption>{$lang->addon}</caption>
<tbody>
<!--@foreach($addon_list as $key => $val)-->
<tr class="row{$cycle_idx}">
<td class="circle">
<a href="{getUrl('','module','addon','act','dispAddonAdminInfo','selected_addon',$val->addon)}" onclick="popopen(this.href,'addon_info');return false" class="blue">{$val->title}</a>
</td>
<td class="nowrap center"><a href="{getUrl('','module','addon','act','dispAddonAdminSetup','selected_addon',$val->addon)}" onclick="popopen(this.href,'addon_info');return false" class="blue"><img src="./images/n_setup.png" alt="setup" /></a></td>
<td class="nowrap center <!--@if($val->activated)-->activated<!--@else-->deactivated<!--@end-->">
<!--@if($val->activated)-->
<a href="#" onclick="doToggleAddon('{$val->addon}');return false;">{$lang->use}</a>
<!--@else-->
<a href="#" onclick="doToggleAddon('{$val->addon}');return false;">{$lang->notuse}</a>
<!--@end-->
</td>
</tr>
<!--@end-->
</tbody>
</table>
</div>

View file

@ -4,43 +4,45 @@
* @brief admin 모듈의 javascript
**/
xAddEventListener(document,'mouseup',showXESubMenu);
var openedSubMenus = null;
function showXESubMenu(evt) {
var e = new xEvent(evt);
if(e.target && /^adminMainMenu/.test(e.target.id)) {
var key = e.target.id.split('_')[1];
var obj = xGetElementById('adminSubMenu'+key);
if(!obj) return;
if(openedSubMenus) openedSubMenus.style.visibility = 'hidden';
if(openedSubMenus == obj) {
openedSubMenus = null;
return;
}
openedSubMenus = obj;
xLeft(obj, xPageX(e.target) + (xWidth(e.target)-xWidth(obj))/2);
if(xLeft(obj) + xWidth(obj) + 10 > xClientWidth()) xLeft(obj, xClientWidth() - xWidth(obj) - 10);
xTop(obj, xPageY(e.target)+28);
obj.style.visibility = 'visible';
return;
} else if(openedSubMenus) {
openedSubMenus.style.visibility = 'hidden';
openedSubMenus = null;
}
}
// open/close Main Navigator
function toggleXEMainNavigator() {
var obj = xGetElementsByClassName('xeAdmin')[0];
if(!obj) return;
if(obj.style.display == 'none') obj.style.display = 'block';
else obj.style.display = 'none';
var expire = new Date();
expire.setTime(expire.getTime()+ (7000 * 24 * 3600000));
xSetCookie('XEMN', obj.style.display, expire);
}
// 캐시파일 모두 재 생성
function doRecompileCacheFile() {
exec_xml("admin","procAdminRecompileCacheFile");
exec_xml("admin","procAdminRecompileCacheFile", new Array(), completeMessage);
}
// footer를 화면 크기에 맞춰 설정 (폐기)
//xAddEventListener(window, 'load', fixAdminLayoutFooter);
//xAddEventListener(window, 'resize', fixAdminLayoutFooter);
function fixAdminLayoutFooter(height) {
return;
}
function setMenuContentScale() {
var menuHeight = xHeight("adminMenuContent")+70;
var bodyHeight = xHeight("adminContentBody");
if(bodyHeight>menuHeight) xHeight("adminMenuContent", bodyHeight-70);
else if(bodyHeight<menuHeight) xHeight("adminContentBody", menuHeight);
}
// 메뉴 여닫기
function toggleAdminMenu(id) {
var obj = xGetElementById(id);
var rh = 0;
if(obj.style.display == 'none') {
obj.style.display = 'block';
rh = xHeight(obj);
xHeight("adminMenuContent", xHeight('adminMenuContent')+rh);
} else {
rh = xHeight(obj);
obj.style.display = 'none';
xHeight("adminMenuContent", xHeight('adminMenuContent')-rh);
}
var expire = new Date();
expire.setTime(expire.getTime()+ (7000 * 24 * 3600000));
xSetCookie(id, obj.style.display, expire);
setMenuContentScale();
}

View file

@ -1,58 +1,49 @@
<!--%import("css/admin_layout.css")-->
<!--%import("js/admin.js")-->
<div id="adminLayout">
<div id="adminMenuContent">
<div class="adminInfoBox">
<div class="adminInfo">
<div class="fl">{$lang->admin_info}</div>
<div class="expandButton"><a href="#" onclick="toggleDisplay('adminMemberInfo','block'); return false;"><img src="./images/expand.gif" alt="toggle" /></a></div>
<div class="clear"></div>
</div>
<div id="adminMemberInfo" style="display:none;">
{$logged_info->nick_name} ({$logged_info->user_id})
</div>
<div class="logoutButton">
<a href="{getUrl('','module','admin','act','dispMemberLogout')}" class="button"><span>{$lang->cmd_logout}</span></a>
</div>
</div>
<h3 class="summary">
<span><a href="{getUrl('','module','admin')}">{$lang->admin_index}</a></span>
</h3>
<!--@foreach($lang->module_category_title as $key => $val)-->
<h3 class="{$key}">
<span><a href="#" onclick="toggleAdminMenu('amm_{$key}'); return false;">{$val}</a></span>
</h3>
<ul id="amm_{$key}" style="display:{$_COOKIE['amm_'.$key]}">
<!--@foreach($installed_module_list as $k => $v)-->
<!--@if($v->category == $key)-->
<!--@if($v->admin_index_act)-->
<li <!--@if(in_array($act, $v->actions))-->class="on"<!--@end--> onclick="location.href='{getUrl('','module','admin','act',$v->admin_index_act)}'; return false;">
<a href="{getUrl('','module','admin','act',$v->admin_index_act)}" title="{trim($v->description)}">{$v->title}</a>
</li>
<!--@endif-->
<!--@endif-->
<!--@endforeach-->
</ul>
<!--@endforeach-->
<div class="xeAdmin" <!--@if($_COOKIE['XEMN']=='none')-->style="display:none;"<!--@end-->>
<h1><a href="{getUrl('','module','admin')}"><img src="./images/n_logo.png" alt="eXtraEditor" /></a></h1>
<ul class="globalNavigator">
<!--@if($logged_info->is_admin=='Y')--><li><a href="{getUrl('','module','admin','act','dispAdminConfig')}"><img src="./images/n_top_config.png" alt="go Index" /></a></li><!--@end-->
<li><a href="{getUrl('','module','admin','act','dispMemberLogout')}"><img src="./images/n_top_logout.png" alt="go Index" /></a></li>
</ul>
<div class="mainNavigator">
<img src="./images/n_menu_left.png" alt="" />
<ul class="mainNavigator">
<!--@foreach($lang->module_category_title as $key => $val)-->
<li <!--@if(!$__mNIdx)-->class="first"{@$__mNIdx=1}<!--@end--> id="adminMainMenu_{$key}">{$val}</li>
<!--@end-->
</ul>
<img src="./images/n_menu_right.png" alt="" />
</div>
<div id="adminContentBody">{$content}</div>
<div class="clear"></div>
</div>
<div id="adminLayoutBottom"></div>
<!--@foreach($lang->module_category_title as $key => $val)-->
<div class="adminSubMenu" id="adminSubMenu{$key}">
<ul>
{@ $__mNIdx = 0; }
<!--@foreach($installed_module_list as $k => $v)-->
<!--@if($v->category == $key)-->
<!--@if($v->admin_index_act)-->
<li <!--@if(!$__mNIdx)-->class="first"{@$__mNIdx++}<!--@end-->>
<a href="{getUrl('','module','admin','act',$v->admin_index_act)}" title="{trim($v->description)}" class="adminMenu">{$v->title}</a>
</li>
<!--@endif-->
<!--@endif-->
<!--@endforeach-->
</ul>
</div>
<!--@endforeach-->
<div id="adminLayoutCopyright">
© 2007 <a href="http://www.zeroboard.com"><strong>zeroboard <span class="red">XE</span></strong></a>
<div class="adminFolder"><a href="#" onclick="toggleXEMainNavigator(); return false;"><img src="./images/n_folder_btn.png" alt="folding" /></a></div>
<div class="adminPackage">
<ul>
<!--@if($logged_info->is_admin=='Y')-->
<li class="admin <!--@if(!$act||in_array($act,array('dispAdminIndex','dispAdminConfig')))-->active<!--@end-->"><a href="{getUrl('','module','admin')}">{$lang->admin_index}</a></li>
<!--@end-->
</ul>
</div>
<script type="text/javascript">
xAddEventListener(window,"load",setMenuContentScale);
</script>
<div class="adminContentBody">{$content}</div>