Merge pull request #673 from misol/develop

Member simple skin
This commit is contained in:
Min-Soo Kim 2017-02-05 23:12:36 +09:00 committed by GitHub
commit f17fa23598
33 changed files with 1716 additions and 16 deletions

View file

@ -13,7 +13,7 @@
$material_colors = array(
'red' => '#f44336',
'crimson' => '#66001f',
'crimson' => '#aa0000',
'pink' => '#e91e63',
'purple' => '#9c27b0',
'deep-purple' => '#673ab7',
@ -52,7 +52,7 @@
<load target="layout.scss" vars="$layout_scss_value" />
<load target="layout.js" />
<div class="skip"><a href="#content">{$lang->skip_to_content}</a></div>
<div class="skip"><a href="#content">{lang('skip_to_content')}</a></div>
<header class="layout_frame">
<div class="layout_header layout_canvas">
<h1>
@ -65,7 +65,7 @@
</h1>
<div id="layout_menu_toggle">
<button class="layout_mobile_menu layout_mobile_menu--htx" data-target="layout_gnb">
<span>{$lang->menu}</span>
<span>{lang('common.menu')}</span>
</button>
</div>
<div class="hside layout_pc">
@ -75,8 +75,8 @@
<input type="hidden" name="vid" value="{$vid}" />
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="act" value="IS" />
<input type="text" name="is_keyword" value="{$is_keyword}" required placeholder="{$lang->cmd_search}" title="{$lang->cmd_search}" />
<input type="submit" value="{$lang->cmd_search}" />
<input type="text" name="is_keyword" value="{$is_keyword}" required placeholder="{lang('common.cmd_search')}" title="{lang('common.cmd_search')}" />
<input type="submit" value="{lang('common.cmd_search')}" />
</form>
<!--// Search -->
</div>
@ -86,18 +86,18 @@
<nav class="layout_frame layout_menu" id="layout_gnb">
<ul>
<li class="layout_dropdown">
<a href="{getUrl('act', 'dispMemberLoginForm')}" cond="!$is_logged">{sprintf($lang->simple_hello, $lang->simple_guest)}</a>
<a href="{getUrl('act', 'dispMemberLoginForm')}" cond="!$is_logged">{sprintf(lang('simple_hello'), lang('simple_guest'))}</a>
<ul class="layout_dropdown-content" cond="!$is_logged">
<li><a href="{getUrl('act', 'dispMemberLoginForm')}">{$lang->cmd_login}...</a></li>
<li><a href="{getUrl('act', 'dispMemberSignUpForm')}" cond="$member_config->enable_join === 'Y'">{$lang->cmd_signup}...</a></li>
<li><a href="{getUrl('act', 'dispMemberLoginForm')}">{lang('member.cmd_login')}...</a></li>
<li><a href="{getUrl('act', 'dispMemberSignUpForm')}" cond="$member_config->enable_join === 'Y'">{lang('member.cmd_signup')}...</a></li>
</ul>
<a href="{getUrl('act', 'dispMemberInfo')}" cond="$is_logged">{sprintf($lang->simple_hello, $logged_info->nick_name)}</a>
<a href="{getUrl('act', 'dispMemberInfo')}" cond="$is_logged">{sprintf(lang('simple_hello'), $logged_info->nick_name)}</a>
<ul class="layout_dropdown-content" cond="$is_logged">
<li><a href="{getUrl('act', 'dispMemberInfo')}">{$lang->cmd_view_member_info}</a></li>
<li><a href="{getUrl('act', 'dispMemberInfo')}">{lang('member.cmd_view_member_info')}</a></li>
<li cond="$logged_info->is_admin == 'Y'">
<a href="{getUrl('', 'module','admin')}">{$lang->cmd_management}</a>
<a href="{getUrl('', 'module','admin')}">{lang('common.cmd_management')}</a>
</li>
<li><a href="{getUrl('act', 'dispMemberLogout')}">{$lang->cmd_logout}</a></li>
<li><a href="{getUrl('act', 'dispMemberLogout')}">{lang('member.cmd_logout')}</a></li>
</ul>
</li>
<li loop="$GNB->list=>$key1,$val1" class="<!--@if($val1['selected'])-->active <!--@endif--><!--@if($val1['list'])-->layout_dropdown<!--@endif-->">
@ -107,7 +107,7 @@
</ul>
</li>
<li id="layout_search_link">
<a href="{getUrl('vid', $vid, 'mid', $mid, 'act', 'IS')}"><span>{$lang->cmd_search}</span></a>
<a href="{getUrl('vid', $vid, 'mid', $mid, 'act', 'IS')}"><span>{lang('common.cmd_search')}</span></a>
</li>
</ul>
</nav>

View file

@ -0,0 +1 @@
</section>

View file

@ -0,0 +1,67 @@
<load target="js/member.js" />
<!--// Check layout. If it is Simple World, select layout primary colors as a primary color of this skin -->
{@
$material_colors = array(
'red' => '#f44336',
'crimson' => '#aa0000',
'pink' => '#e91e63',
'purple' => '#9c27b0',
'deep-purple' => '#673ab7',
'indigo' => '#3f51b5',
'deep-blue' => '#00397f',
'blue' => '#2196f3',
'light-blue' => '#03a9f4',
'cyan' => '#00bcd4',
'teal' => '#009688',
'green' => '#4caf50',
'light-green' => '#8bc34a',
'lime' => '#cddc39',
'yellow' => '#ffeb3b',
'amber' => '#ffc107',
'orange' => '#ff9800',
'deep-orange' => '#ff5722',
'brown' => '#795548',
'grey' => '#9e9e9e',
'blue-grey' => '#607d8b',
'black' => '#000000',
'white' => '#ffffff',
'customized' => $layout_info->customized_primary_color,
);
}
<block cond="$layout_info->extra_var->primary_color->type === 'select' || $layout_info->extra_var->customized_primary_color->type === 'colorpicker'">
{@
if(!$layout_info->primary_color && $layout_info->customized_primary_color)
$layout_info->primary_color = 'customized';
if(!$layout_info->primary_color)
$layout_info->primary_color = 'red';
if(!$layout_info->customized_primary_color)
$layout_info->customized_primary_color = '#f44336';
}
</block>
<block cond="$layout_info->extra_var->primary_color->type !== 'select' && $layout_info->extra_var->customized_primary_color->type !== 'colorpicker'">
{@$layout_info->primary_color = 'blue';}
</block>
<!--// Load styles -->
{@$skin_color = $material_colors[$layout_info->primary_color];}
<block cond="!$skin_color">
<!--@if(preg_match("/#([a-f0-9]{3}){1,2}/i", $layout_info->primary_color))-->
{@$skin_color = $layout_info->primary_color}
<!--@if(strlen($layout_info->primary_color) === 4)-->
{@$skin_color = $layout_info->primary_color[1].$layout_info->primary_color[1].$layout_info->primary_color[2].$layout_info->primary_color[2].$layout_info->primary_color[3].$layout_info->primary_color[3]}
<!--@endif-->
<!--@else-->
{@$skin_color = '#f44336'}
<!--@endif-->
</block>
{Context::set('simple_less_value', array('red' => hexdec(substr($skin_color, 1, 2)), 'green' => hexdec(substr($skin_color, 3, 2)), 'blue' => hexdec(substr($skin_color, 5, 2)) ))}
<load target="css/css.less" vars="$simple_less_value" />
<section class="rx_simple_member">
<div class="rx_simple_tab" cond="$is_logged && $logged_info->menu_list && (!$member_srl || $member_srl == $logged_info->member_srl)">
<ul class="rx_simple_tab">
<li loop="$logged_info->menu_list=>$key,$val" class="active"|cond="$key==$act">
<a href="{getUrl('', 'act',$key, 'mid', $mid, 'vid', $vid)}"><span>{lang($val)}</span></a>
</li>
</ul>
</div>

View file

@ -0,0 +1,19 @@
<section style="font-size: 14px;margin: 8px 0px;padding: 0 15px;">
<section style="box-sizing:border-box;background-color:#ffffff;margin: 0 0 20px;border: 1px solid #e0e0e0;">
<h1 style="border-bottom: 1px solid #e0e0e0;margin: 0;padding: 20px;">{lang('member.msg_confirm_account_info')}</h1>
<dl style="border: 0 none;margin: 0;padding: 20px;">
<dt style="border: 0 none;font-weight: bold;box-sizing: border-box;display: block;margin: 10px 0 0;min-height: 25px;position: relative;width: 100%;">{lang('member.site')}</dt>
<dd style="border-bottom: 1px solid #e0e0e0;list-style: outside none none;box-sizing: border-box;display: block;margin: 10px 0 0;min-height: 25px;position: relative;width: 100%;">
<a href="{getUrl()}" target="_blank" style="color: #2196f3;text-decoration: none;">{getUrl()}</a>
</dd>
<block loop="$memberInfo=>$name,$value" cond="!is_object($value)&&!is_array($value)">
<dt style="border: 0 none;font-weight: bold;box-sizing: border-box;display: block;margin: 10px 0 0;min-height: 25px;position: relative;width: 100%;">{lang($name)}</dt>
<dl style="border-bottom: 1px solid #e0e0e0;list-style: outside none none;box-sizing: border-box;display: block;margin: 10px 0 0;min-height: 25px;position: relative;width: 100%;">{$value}</dl>
</block>
</dl>
<p style="border: 0 none;margin: 0;padding: 20px;">
{lang('member.msg_confirm_account_comment')}<br />
<a href="{$auth_url}" target="_blank" style="color: #2196f3;text-decoration: none;">{$auth_url}</a>
</p>
</section>
</section>

View file

@ -0,0 +1,19 @@
<section style="font-size: 14px;margin: 8px 0px;padding: 0 15px;">
<section style="box-sizing:border-box;background-color:#ffffff;margin: 0 0 20px;border: 1px solid #e0e0e0;">
<h1 style="border-bottom: 1px solid #e0e0e0;margin: 0;padding: 20px;">{lang('member.msg_confirm_account_info')}</h1>
<dl style="border: 0 none;margin: 0;padding: 20px;">
<dt style="border: 0 none;font-weight: bold;box-sizing: border-box;display: block;margin: 10px 0 0;min-height: 25px;position: relative;width: 100%;">{lang('member.site')}</dt>
<dd style="border-bottom: 1px solid #e0e0e0;list-style: outside none none;box-sizing: border-box;display: block;margin: 10px 0 0;min-height: 25px;position: relative;width: 100%;">
<a href="{getUrl()}" target="_blank" style="color: #2196f3;text-decoration: none;">{getUrl()}</a>
</dd>
<block loop="$memberInfo=>$name,$value" cond="!is_object($value)&&!is_array($value)">
<dt style="border: 0 none;font-weight: bold;box-sizing: border-box;display: block;margin: 10px 0 0;min-height: 25px;position: relative;width: 100%;">{lang($name)}</dt>
<dl style="border-bottom: 1px solid #e0e0e0;list-style: outside none none;box-sizing: border-box;display: block;margin: 10px 0 0;min-height: 25px;position: relative;width: 100%;">{$value}</dl>
</block>
</dl>
<p style="border: 0 none;margin: 0;padding: 20px;">
{sprintf($lang->msg_confirm_email_address_change, $newEmail)}<br />
<a href="{$auth_url}" target="_blank" style="color: #2196f3;text-decoration: none;">{$auth_url}</a>
</p>
</section>
</section>

View file

@ -0,0 +1,279 @@
@charset "UTF-8";
/* Automatically produced CSS file based on css.less by misol<misol.kr@gmail.com> with light blue (#03a9f4) as the primary color */
script, style {
display: none !important;
}
.rx_simple_member {
font-family: "맑은 고딕", "Apple SD Gothic Neo", "나눔고딕", NanumGothic, 'Nanum Gothic', Arial, Helvetica, sans-serif;
font-size: 14px;
margin: 8px 0px;
padding: 0 5px;
}
.rx_simple_member a {
color: #03a9f4;
text-decoration: none;
}
.rx_simple_member .pos-right {
position: absolute;
right: 0;
}
.rx_member-notice,
.rx_member-notice.info {
background: #d4f1fe;
color: #000;
padding: 15px;
margin: 0;
margin-top: 0;
text-align: justify;
}
.rx_member-notice.error {
background: #fff3e0;
color: #000;
}
.rx_member-notice.update {
background: #e8f5e9;
color: #000;
}
.rx_member-notice>* {
padding: 0;
margin: 0;
}
.rx_simple_member .signin {
max-width: 400px;
margin: 30px auto;
box-sizing: border-box;
}
.rx_simple_member .sw-body {
box-sizing: border-box;
background: #ffffff;
margin: 0 0 20px;
box-shadow: 0 1px 2px rgba(0,0,0,0.16), 0 1px 2px rgba(0,0,0,0.23);
}
.rx_simple_member .sw-body>* {
padding: 20px;
margin: 0;
border: 0;
}
.rx_simple_member .sw-body h1 {
margin: 0;
border-bottom: 1px solid #e0e0e0;
}
.rx_simple_member form div.control-group>*,
.rx_simple_member .sw-body dl>* {
display: block;
position: relative;
box-sizing: border-box;
width: 100%;
min-height: 25px;
margin: 0px;
margin-top: 10px;
}
.rx_simple_member form div.control-group>*:first-child {
margin-top: 0;
}
.rx_simple_member form div.control-group>input,
.rx_simple_member form div.control-group>select {
border: 1px solid #bdbdbd;
border-radius: 0;
font-size: 14px;
line-height: 18px;
margin-top: 0;
padding: 8px 8px 6px;
-webkit-appearance: none;
}
.rx_simple_member .sw-body dl>* {
list-style: none;
border-bottom: 1px solid #e0e0e0;
}
.rx_simple_member .sw-body dl dt,
.rx_simple_member form>div.control-group>label,
.rx_simple_member form>div.control-group>div.control-label {
font-weight: bold;
border: 0;
}
.rx_simple_member form {
overflow: hidden;
width: 100%;
white-space: normal;
box-sizing: border-box;
}
.rx_simple_member form div.control-group>input[type="submit"],
.rx_simple_member form div.control-group>input.btn.dateRemover,
.rx_simple_member .sw-footer>a,
.rx_simple_member .sw-anchor-buttons a {
display: block;
padding: 10px;
vertical-align: bottom;
darken: #000c11;
background: #2ebcfc;
font-weight: bold;
border: 0;
box-shadow: 0 1px 2px rgba(0,0,0,0.16), 0 1px 2px rgba(0,0,0,0.23);
color: #000c11;
}
.rx_simple_member form div.control-group>input[type="submit"],
.rx_simple_member .sw-footer {
margin: 20px 0 0;
}
.rx_simple_member div.rx_simple_tab {
background: #ffffff;
margin: 5px 0;
height: 52px;
overflow: hidden;
white-space: nowrap;
box-shadow: 0 1px 2px rgba(0,0,0,0.16), 0 1px 2px rgba(0,0,0,0.23);
box-sizing: border-box;
}
.rx_simple_member ul.rx_simple_tab {
list-style: outside none none;
margin: 0;
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
padding: 6px 0px 100px;
text-decoration: none;
}
.rx_simple_member ul.rx_simple_tab>li {
display: inline-block;
height: 40px;
line-height: 18px;
position: relative;
}
.rx_simple_member ul.rx_simple_tab>li a {
display: inline-block;
color: #000;
font-weight: 400;
letter-spacing: -1px;
line-height: 40px;
text-decoration: none;
}
.rx_simple_member ul.rx_simple_tab>li a:hover,
.rx_simple_member ul.rx_simple_tab>li a:focus,
.rx_simple_member ul.rx_simple_tab>li.active a {
color: #14b4fc;
font-weight: 700;
}
.rx_simple_member ul.rx_simple_tab>li a span {
border-left: 1px solid #e0e0e0;
padding: 0 15px;
}
.rx_simple_member ul.rx_simple_tab>li:first-child a span {
border-left: 0 none;
}
.rx_simple_member .sw-footer.sw-anchor-buttons {
text-align: right;
}
.rx_simple_member .sw-footer.sw-anchor-buttons>a {
display: inline-block;
}
.rx_simple_member .rx_sw_list .cont_a {
color: #222;
display: block;
letter-spacing: -1px;
line-height: 18px;
margin: 0;
overflow: hidden;
padding: 0.667em 70px 0.733em 15px;
text-overflow: ellipsis;
white-space: nowrap;
text-decoration: none;
}
.rx_simple_member .rx_sw_list .cont_a.no_delete {
padding-right: 15px;
}
.rx_simple_member .rx_sw_list .cont_a:hover,
.rx_simple_member .rx_sw_list .cont_a:focus {
color: #14b4fc;
}
.rx_simple_member .content_basic {
position: relative;
display: inline-block;
max-width: 100%;
vertical-align: middle;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.rx_simple_member .content_subinfo {
color: #9e9e9e;
font-size: 12px;
margin: 0 3px 0 7px;
overflow: hidden;
}
.rx_simple_member ul.rx_sw_list {
list-style: outside none none;
padding: 0;
margin: 0;
border-bottom: 1px solid #e0e0e0;
}
.rx_simple_member .rx_sw_list li {
position: relative;
border-top: 1px solid #e0e0e0;
overflow: hidden;
padding: 0;
}
.rx_simple_member .rx_sw_list .content_delete {
position: absolute;
top: 0;
right: 2px;
}
.rx_simple_member .rx_sw_list .content_delete button {
background: #92dcfe;
font-size: 14px;
border: 0;
color: #000;
box-shadow: 0 1px 2px rgba(0,0,0,0.16), 0 1px 2px rgba(0,0,0,0.23);
padding: 10px;
vertical-align: bottom;
}
.rx_simple_member .pagination ul,
.rx_simple_member .pagination ul li {
display: inline-block;
list-style: outside none none;
padding: 0;
margin: 0;
border: 0;
}
.rx_simple_member .pagination ul {
display: block;
text-align: center;
}
.rx_simple_member .pagination ul li>a,
.rx_simple_member .sw-footer>a {
display: inline-block;
background: #fff;
font-size: 14px;
box-shadow: 0 1px 2px rgba(0,0,0,0.16), 0 1px 2px rgba(0,0,0,0.23);
color: #000;
font-weight: bold;
padding: 10px;
min-width: 25px;
text-decoration: none;
text-align: center;
}
.rx_simple_member .sw-footer>a {
display: block;
}
.rx_simple_member .pagination ul li.active>a {
background: #47c4fd;
font-weight: bold;
color: #000;
}
.rx_simple_member form div.control-group>input[type="submit"]:hover,
.rx_simple_member form div.control-group>input.btn.dateRemover:hover,
.rx_simple_member .sw-footer>a:hover,
.rx_simple_member .sw-anchor-buttons a:hover,
.rx_simple_member .pagination ul li>a:hover,
.rx_simple_member .rx_sw_list .content_delete button:hover,
.rx_simple_member form div.control-group>input[type="submit"]:focus,
.rx_simple_member form div.control-group>input.btn.dateRemover:focus,
.rx_simple_member .sw-footer>a:focus,
.rx_simple_member .sw-anchor-buttons a:focus,
.rx_simple_member .pagination ul li>a:focus,
.rx_simple_member .rx_sw_list .content_delete button:focus {
background: #027cb3;
font-weight: bold;
color: #fff;
box-shadow: 0 2px 4px rgba(0,0,0,0.16), 0 2px 4px rgba(0,0,0,0.23);
}

View file

@ -0,0 +1,348 @@
@charset "UTF-8";
/*
@method .text-contrast()
@author misol <misol.kr@gmail.com>
@brief Select a text color according to WCAG 2.0 contrast guideline. The calcualtion of contrast follows the formula on the guideline.
*/
.text-contrast(@bg_color; @bright_color:#fff; @dark_color:#000; @multi:1; @i:0) when (@i >= 100) and ( ( (luma(@bg_color) + 0.05) / (luma(@dark_color) + 0.05) ) =< ( ( luma(@bright_color) + 0.05) / ( luma(@bg_color) + 0.05) )) {
color: @bright_color;
}
.text-contrast(@bg_color; @bright_color:#fff; @dark_color:#000; @multi:1; @i:0) when (@i >= 100) and ( ( (luma(@bg_color) + 0.05) / (luma(@dark_color) + 0.05) ) > ( ( luma(@bright_color) + 0.05) / ( luma(@bg_color) + 0.05) )) {
color: @dark_color;
}
.text-contrast(@bg_color; @bright_color:#fff; @dark_color:#000; @multi:1; @i:0) when (@i < 100) and ( ( (luma(@bg_color) + 0.05) / (luma(@dark_color) + 0.05) ) =< ( ( luma(@bright_color) + 0.05) / ( luma(@bg_color) + 0.05) )) and ( ( ( luma(@bright_color) + 0.05) / ( luma(@bg_color) + 0.05) ) > 4.5 * @multi ) {
color: @bright_color;
}
.text-contrast(@bg_color; @bright_color:#fff; @dark_color:#000; @multi:1; @i:0) when (@i < 100) and ( ( (luma(@bg_color) + 0.05) / (luma(@dark_color) + 0.05) ) =< ( ( luma(@bright_color) + 0.05) / ( luma(@bg_color) + 0.05) ) ) and ( ( ( luma(@bright_color) + 0.05) / ( luma(@bg_color) + 0.05) ) =< 4.5 * @multi ) {
.text-contrast(@bg_color; lighten(@bright_color, 5%); @dark_color; @multi; @i + 1);
}
.text-contrast(@bg_color; @bright_color:#fff; @dark_color:#000; @multi:1; @i:0) when (@i < 100) and ( ( (luma(@bg_color) + 0.05) / (luma(@dark_color) + 0.05) ) > ( ( luma(@bright_color) + 0.05) / ( luma(@bg_color) + 0.05) )) and ( ( (luma(@bg_color) + 0.05) / (luma(@dark_color) + 0.05) ) > 4.5 * @multi ) {
color: @dark_color;
}
.text-contrast(@bg_color; @bright_color:#fff; @dark_color:#000; @multi:1; @i:0) when (@i < 100) and (( (luma(@bg_color) + 0.05) / (luma(@dark_color) + 0.05) ) > ( ( luma(@bright_color) + 0.05) / ( luma(@bg_color) + 0.05) )) and ( ( (luma(@bg_color) + 0.05) / (luma(@dark_color) + 0.05) ) =< 4.5 * @multi ) {
.text-contrast(@bg_color; @bright_color; darken(@dark_color, 5%); @multi; @i + 1);
}
/*
@method .bg-contrast()
@author misol <misol.kr@gmail.com>
@brief Select a background color, which has less contrast background color than WCAG 2.0 contrast guideline. On the WCAG 2.0 guideline, bigger string can have less contrast as 3.0.
*/
.bg-contrast(@text_color; @bright_color:#fff; @dark_color:#000; @multi:1; @i:0) when (@i >= 100) and ( ( (luma(@text_color) + 0.05) / (luma(@dark_color) + 0.05) ) =< ( ( luma(@bright_color) + 0.05) / ( luma(@text_color) + 0.05) )) {
background: @bright_color;
}
.bg-contrast(@text_color; @bright_color:#fff; @dark_color:#000; @multi:1; @i:0) when (@i >= 100) and ( ( (luma(@text_color) + 0.05) / (luma(@dark_color) + 0.05) ) > ( ( luma(@bright_color) + 0.05) / ( luma(@text_color) + 0.05) )) {
background: @dark_color;
}
.bg-contrast(@text_color; @bright_color:#fff; @dark_color:#000; @multi:1; @i:0) when (@i < 100) and ( ( (luma(@text_color) + 0.05) / (luma(@dark_color) + 0.05) ) =< ( ( luma(@bright_color) + 0.05) / ( luma(@text_color) + 0.05) )) and ( ( ( luma(@bright_color) + 0.05) / ( luma(@text_color) + 0.05) ) > 3 * @multi ) {
background: @bright_color;
}
.bg-contrast(@text_color; @bright_color:#fff; @dark_color:#000; @multi:1; @i:0) when (@i < 100) and ( ( (luma(@text_color) + 0.05) / (luma(@dark_color) + 0.05) ) =< ( ( luma(@bright_color) + 0.05) / ( luma(@text_color) + 0.05) ) ) and ( ( ( luma(@bright_color) + 0.05) / ( luma(@text_color) + 0.05) ) =< 3 * @multi ) {
.bg-contrast(@text_color; lighten(@bright_color,3%); @dark_color; @multi; @i + 1);
}
.bg-contrast(@text_color; @bright_color:#fff; @dark_color:#000; @multi:1; @i:0) when (@i < 100) and ( ( (luma(@text_color) + 0.05) / (luma(@dark_color) + 0.05) ) > ( ( luma(@bright_color) + 0.05) / ( luma(@text_color) + 0.05) )) and ( ( (luma(@text_color) + 0.05) / (luma(@dark_color) + 0.05) ) > 3 * @multi ) {
background: @dark_color;
}
.bg-contrast(@text_color; @bright_color:#fff; @dark_color:#000; @multi:1; @i:0) when (@i < 100) and (( (luma(@text_color) + 0.05) / (luma(@dark_color) + 0.05) ) > ( ( luma(@bright_color) + 0.05) / ( luma(@text_color) + 0.05) )) and ( ( (luma(@text_color) + 0.05) / (luma(@dark_color) + 0.05) ) =< 3 * @multi ) {
.bg-contrast(@text_color; @bright_color; darken(@dark_color, 3%); @multi; @i + 1);
}
/* As LESS library in Rhymix substitude variables as an strings, convert colors as the color objects of LESS. */
@color: rgb(@red, @green, @blue);
/* As this file handle some wild-selectors to control display settings, hide inline script and style codes. */
script, style
{
display:none!important;
}
/* Member skin container, default settings */
.rx_simple_member
{
font-family: "맑은 고딕", "Apple SD Gothic Neo","나눔고딕",NanumGothic,'Nanum Gothic',Arial,Helvetica,sans-serif;
font-size: 14px;
margin: 8px 0px;
padding: 0 5px;
}
.rx_simple_member a
{
color: @color;
text-decoration: none;
}
/* Horizontal align */
.rx_simple_member .pos-right
{
position:absolute;
right:0
}
/* message; error, info, update */
.rx_member-notice, .rx_member-notice.info
{
.bg-contrast(#000; lighten(@color, 5%); darken(@color, 5%); 5.0);
color: #000;
padding: 15px;
margin:0;
margin-top:0;
text-align: justify;
}
.rx_member-notice.error
{
background: #fff3e0;
.text-contrast(#fff3e0);
}
.rx_member-notice.update
{
background: #e8f5e9;
.text-contrast(#e8f5e9);
}
.rx_member-notice>*
{
padding: 0;
margin:0;
}
/* member forms */
.rx_simple_member .signin
{
max-width:400px;
margin:30px auto;
box-sizing:border-box
}
.rx_simple_member .sw-body
{
box-sizing:border-box;
background:#ffffff;
margin: 0 0 20px;
box-shadow: 0 1px 2px rgba(0,0,0,0.16), 0 1px 2px rgba(0,0,0,0.23);
}
.rx_simple_member .sw-body>*
{
padding: 20px;
margin:0;
border: 0;
}
.rx_simple_member .sw-body h1
{
margin:0;
border-bottom: 1px solid #e0e0e0;
}
.rx_simple_member form div.control-group>*, .rx_simple_member .sw-body dl>*
{
display:block;
position:relative;
box-sizing: border-box;
width:100%;
min-height:25px;
margin:0px;
margin-top: 10px;
}
.rx_simple_member form div.control-group>*:first-child
{
margin-top: 0;
}
.rx_simple_member form div.control-group>input, .rx_simple_member form div.control-group>select
{
border: 1px solid #bdbdbd;
border-radius: 0;
font-size:14px;
line-height: 18px;
margin-top: 0;
padding:8px 8px 6px;
-webkit-appearance: none;
}
.rx_simple_member .sw-body dl>*
{
list-style:none;
border-bottom: 1px solid #e0e0e0;
}
.rx_simple_member .sw-body dl dt, .rx_simple_member form>div.control-group>label, .rx_simple_member form>div.control-group>div.control-label
{
font-weight: bold;
border:0;
}
.rx_simple_member form
{
overflow: hidden;
width:100%;
white-space: normal;
box-sizing: border-box;
}
.rx_simple_member form div.control-group>input[type="submit"], .rx_simple_member form div.control-group>input.btn.dateRemover, .rx_simple_member .sw-footer>a, .rx_simple_member .sw-anchor-buttons a
{
display:block;
padding: 10px;
vertical-align: bottom;
.bg-contrast(#000; lighten(@color,5%); darken(@color,5%); 2.0);
font-weight: bold;
text-shadow: none;
border:0;
box-shadow: 0 1px 2px rgba(0,0,0,0.16), 0 1px 2px rgba(0,0,0,0.23);
color: #000;
}
.rx_simple_member form div.control-group>input[type="submit"], .rx_simple_member .sw-footer{
margin: 20px 0 0;
}
/* Tab over the main content. */
.rx_simple_member div.rx_simple_tab{
background: #ffffff;
margin: 5px 0;
height: 52px;
overflow: hidden;
white-space: nowrap;
box-shadow: 0 1px 2px rgba(0,0,0,0.16), 0 1px 2px rgba(0,0,0,0.23);
box-sizing: border-box;
}
.rx_simple_member ul.rx_simple_tab{
list-style: outside none none;
margin: 0;
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
padding: 6px 0px 100px;
text-decoration: none;
}
.rx_simple_member ul.rx_simple_tab>li {
display:inline-block;
height: 40px;
line-height: 18px;
position: relative;
}
.rx_simple_member ul.rx_simple_tab>li a {
display:inline-block;
color: #000;
font-weight: 400;
letter-spacing: -1px;
line-height: 40px;
text-decoration: none;
}
.rx_simple_member ul.rx_simple_tab>li a:hover, .rx_simple_member ul.rx_simple_tab>li a:focus, .rx_simple_member ul.rx_simple_tab>li.active a {
.text-contrast(#fff; darken(@color,5%); lighten(@color,5%));
font-weight: 700;
}
.rx_simple_member ul.rx_simple_tab>li a span {
border-left: 1px solid #e0e0e0;
padding: 0 15px;
}
.rx_simple_member ul.rx_simple_tab>li:first-child a span {
border-left: 0 none;
}
.rx_simple_member .sw-footer.sw-anchor-buttons {
text-align:right;
}
.rx_simple_member .sw-footer.sw-anchor-buttons>a {
display:inline-block;
}
/* The list of document style */
.rx_simple_member .rx_sw_list .cont_a {
color: #222;
display: block;
letter-spacing: -1px;
line-height: 18px;
margin: 0;
overflow: hidden;
padding: 0.667em 70px 0.733em 15px;
text-overflow: ellipsis;
white-space: nowrap;
text-decoration: none;
}
.rx_simple_member .rx_sw_list .cont_a.no_delete {
padding-right: 15px;
}
.rx_simple_member .rx_sw_list .cont_a:hover, .rx_simple_member .rx_sw_list .cont_a:focus {
.text-contrast(#fff; darken(@color,5%); lighten(@color,5%));
}
.rx_simple_member .content_basic{
position:relative;
display:inline-block;
max-width:100%;
vertical-align: middle;
overflow:hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.rx_simple_member .content_subinfo
{
color: #9e9e9e;
font-size: 12px;
margin: 0 3px 0 7px;
overflow:hidden;
}
.rx_simple_member ul.rx_sw_list {
list-style: outside none none;
padding: 0;
margin: 0;
border-bottom: 1px solid #e0e0e0;
}
.rx_simple_member .rx_sw_list li {
position:relative;
border-top: 1px solid #e0e0e0;
overflow: hidden;
padding:0;
}
.rx_simple_member .rx_sw_list .content_delete{
position:absolute;
top:0;
right:2px;
}
.rx_simple_member .rx_sw_list .content_delete button{
background: lighten(@color, 5%);
font-size: 14px;
border:0;
.text-contrast(lighten(@color, 5%));
box-shadow: 0 1px 2px rgba(0,0,0,0.16), 0 1px 2px rgba(0,0,0,0.23);
padding: 10px;
vertical-align: bottom;
}
.rx_simple_member .pagination ul, .rx_simple_member .pagination ul li
{
display:inline-block;
list-style: outside none none;
padding: 0;
margin: 0;
border:0;
}
.rx_simple_member .pagination ul
{
display:block;
text-align:center;
}
.rx_simple_member .pagination ul li>a, .rx_simple_member .sw-footer>a
{
display: inline-block;
background: #fff;
font-size: 14px;
box-shadow: 0 1px 2px rgba(0,0,0,0.16), 0 1px 2px rgba(0,0,0,0.23);
color: #000;
font-weight: bold;
padding: 10px;
min-width:25px;
text-decoration: none;
text-align: center;
}
.rx_simple_member .sw-footer>a
{
display: block;
}
.rx_simple_member .pagination ul li.active>a
{
.bg-contrast(#000; lighten(@color, 5%); darken(@color, 5%));
font-weight:bold;
color:#000;
}
/* button hover */
.rx_simple_member form div.control-group>input[type="submit"]:hover, .rx_simple_member form div.control-group>input.btn.dateRemover:hover, .rx_simple_member .sw-footer>a:hover, .rx_simple_member .sw-anchor-buttons a:hover, .rx_simple_member .pagination ul li>a:hover, .rx_simple_member .rx_sw_list .content_delete button:hover,
.rx_simple_member form div.control-group>input[type="submit"]:focus, .rx_simple_member form div.control-group>input.btn.dateRemover:focus, .rx_simple_member .sw-footer>a:focus, .rx_simple_member .sw-anchor-buttons a:focus, .rx_simple_member .pagination ul li>a:focus, .rx_simple_member .rx_sw_list .content_delete button:focus
{
.bg-contrast(#000; lighten(@color,5%); darken(@color,5%); 4.0);
color: #000;
box-shadow: 0 2px 4px rgba(0,0,0,0.16), 0 2px 4px rgba(0,0,0,0.23);
}

View file

@ -0,0 +1,43 @@
<include target="./common_header.html" />
<section class="sw-body">
<h1>{$member_title = lang('member.cmd_view_own_document')}</h1>
<div class="rx_member-notice">
{lang('common.total')}: {number_format($total_count)}
</div>
<div>
<ul class="rx_sw_list">
<li loop="$document_list => $key, $item">
<a href="{getUrl('','document_srl',$item->document_srl)}" class="cont_a no_delete" onclick="window.open(this.href);return false;">
<span class="content_basic">
<span class="content_title">
{escape($item->getTitle())}
</span>
<span class="content_subinfo">
{$item->getRegdate("Y-m-d")}
<!--@if($item->getCommentCount())-->
[{$item->getCommentCount()}]
<!--@end-->
<!--@if($item->get('voted_count'))-->
[{$item->get('voted_count')}]
<!--@end-->
</span>
</span>
</a>
</li>
</ul>
</div>
</section>
<div class="pagination pagination-centered">
<ul>
<li><a href="{getUrl('page','','module_srl','')}" class="direction">&lsaquo; {lang('common.first_page')}</a></li>
<!--@while($page_no = $page_navigation->getNextPage())-->
<li class="active"|cond="$page == $page_no"><a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a></li>
<!--@end-->
<li><a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="direction">{lang('common.last_page')} &rsaquo;</a></li>
</ul>
</div>
<div class="sw-footer sw-anchor-buttons">
<a href="{getUrl('','module','module','act','dispModuleSelectList','id','target_module','type','single')}" onclick="popopen(this.href,'ModuleSelect');return false;">{lang('module.cmd_find_module')}</a>
<a href="{getUrl('selected_module_srl','')}" cond="$selected_module_srl">{lang('common.cmd_cancel')}</a>
</div>
<include target="./common_footer.html" />

View file

@ -0,0 +1,86 @@
<include target="./common_header.html" />
<section class="sw-body">
<h1>{lang('member.cmd_find_member_account_with_email')}</h1>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skin/simple_world/find_member_account/1'" class="rx_member-notice {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<p class="rx_member-notice">{lang('member.about_find_member_account')}</p>
<form action="{getUrl('', 'act', 'procMemberFindAccount')}" method="get" ruleset="findAccount">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="act" value="procMemberFindAccount" />
<input type="hidden" name="document_srl" value="{$document_srl}" />
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="xe_validator_id" value="modules/member/skin/simple_world/find_member_account/1" />
<div class="control-group">
<label for="uid">
{lang('common.email_address')}
</label>
<input type="email" name="email_address" id="uid" required title="{lang('common.email_address')}" />
<block cond="$captcha">{$captcha}<br /></block>
<input type="submit" value="{lang('member.cmd_find_member_account')}" />
</div>
</form>
</section>
<section class="sw-body" cond="count(lang('member.find_account_question_items'))>1 && $enable_find_account_question == 'Y'">
<h1>{$lang->cmd_find_member_account_with_email_question}</h1>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skin/simple_world/find_member_account/2'" class="rx_member-notice {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<p class="rx_member-notice">{lang('member.about_find_account_question')}</p>
<form action="{getUrl('', 'act', 'procMemberFindAccountByQuestion')}" method="get" ruleset="@find_member_account_by_question">
<input type="hidden" name="module" value="member" />
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="document_srl" value="{$document_srl}" />
<input type="hidden" name="act" value="procMemberFindAccountByQuestion" />
<input type="hidden" name="success_return_url" value="{getUrl('', 'act', 'dispMemberGetTempPassword')}" />
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="xe_validator_id" value="modules/member/skin/simple_world/find_member_account/2" />
<div class="control-group">
<label for="user_id" cond="$identifier == 'user_id'">
{lang('common.user_id')}
</label>
<input type="text" name="user_id" id="user_id" required title="{lang('common.user_id')}" cond="$identifier == 'user_id'" />
<label for="email_address2">
{lang('common.email_address')}
</label>
<input type="email" name="email_address" id="email_address2" required title="{lang('common.email_address')}" />
<label for="find_account_question">
{lang('member.find_account_question')}
</label>
<select name="find_account_question" id="find_account_question">
<!--@for($i=1,$c=count(lang('member.find_account_question_items'));$i<=$c;$i++)-->
<option value="{$i}">{lang('member.find_account_question_items')[$i]}</option>
<!--@end-->
</select>
</div>
<div class="control-group">
<input type="text" name="find_account_answer" value="" required title="{lang('member.find_account_question')}" />
</div>
<div class="control-group">
<block cond="$captcha">{$captcha}<br /></block>
<input type="submit" value="{lang('member.cmd_get_temp_password')}" />
</div>
</form>
</section>
<section class="sw-body">
<h1>{lang('member.cmd_resend_auth_mail')}</h1>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skin/simple_world/find_member_account/3'" class="rx_member-notice {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<p class="rx_member-notice">{lang('member.about_resend_auth_mail')}</p>
<form ruleset="resendAuthMail" action="{getUrl('', 'act', 'procMemberResendAuthMail')}" method="post">
<input type="hidden" name="module" value="member" />
<input type="hidden" name="act" value="procMemberResendAuthMail" />
<input type="hidden" name="success_return_url" value="{getUrl(act, $act)}" />
<input type="hidden" name="xe_validator_id" value="modules/member/skin/simple_world/find_member_account/3" />
<div class="control-group">
<label for="email_address3">
{lang('common.email_address')}
</label>
<input type="email" id="email_address3" name="email_address" value="" required title="{lang('common.email_address')}" /><br />
<block cond="$captcha">{$captcha}<br /></block>
<input type="submit" value="{lang('member.cmd_resend_auth_mail')}" />
</div>
</form>
</section>
<include target="./common_footer.html" />

View file

@ -0,0 +1,21 @@
<section style="font-size: 14px;margin: 8px 0px;padding: 0 15px;">
<section style="box-sizing:border-box;background-color:#ffffff;margin: 0 0 20px;border: 1px solid #e0e0e0;">
<h1 style="border-bottom: 1px solid #e0e0e0;margin: 0;padding: 20px;">{lang('member.msg_find_account_info')}</h1>
<dl style="border: 0 none;margin: 0;padding: 20px;">
<dt style="border: 0 none;font-weight: bold;box-sizing: border-box;display: block;margin: 10px 0 0;min-height: 25px;position: relative;width: 100%;">{lang('member.site')}</dt>
<dd style="border-bottom: 1px solid #e0e0e0;list-style: outside none none;box-sizing: border-box;display: block;margin: 10px 0 0;min-height: 25px;position: relative;width: 100%;">
<a href="{getUrl()}" target="_blank" style="color: #2196f3;text-decoration: none;">{getUrl()}</a>
</dd>
<block loop="$memberInfo=>$name,$value" cond="!is_object($value)&&!is_array($value)">
<dt style="border: 0 none;font-weight: bold;box-sizing: border-box;display: block;margin: 10px 0 0;min-height: 25px;position: relative;width: 100%;">{lang($name)}</dt>
<dl style="border-bottom: 1px solid #e0e0e0;list-style: outside none none;box-sizing: border-box;display: block;margin: 10px 0 0;min-height: 25px;position: relative;width: 100%;">{$value}</dl>
</block>
<dt style="border: 0 none;font-weight: bold;box-sizing: border-box;display: block;margin: 10px 0 0;min-height: 25px;position: relative;width: 100%;">{lang('common.password')}</dt>
<dl style="border-bottom: 1px solid #e0e0e0;list-style: outside none none;box-sizing: border-box;display: block;margin: 10px 0 0;min-height: 25px;position: relative;width: 100%;color:red">{$auth_args->new_password}</dl>
</dl>
<p style="border: 0 none;margin: 0;padding: 20px;">
{lang('member.msg_find_account_comment')}<br />
<a href="{$find_url}" target="_blank" style="color: #2196f3;text-decoration: none;">{$find_url}</a>
</p>
</section>
</section>

View file

@ -0,0 +1,12 @@
<include target="./common_header.html" />
<section class="sw-body">
<h1>{lang('member.cmd_find_member_account')}</h1>
<div class="rx_member-notice">{lang('member.about_temp_password')}</div>
<dl>
<dt>{lang('common.user_id')}</dt>
<dd>{$user_id}</dd>
<dt>{lang('member.temp_password')}</dt>
<dd>{$temp_password}</dd>
</dl>
</section>
<include target="./common_footer.html" />

View file

@ -0,0 +1,163 @@
/* 사용자 추가 */
function completeInsert(ret_obj, response_tags, args, fo_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var redirect_url = ret_obj['redirect_url'];
alert(message);
if(current_url.getQuery('popup')==1) {
if(typeof(opener)!='undefined') opener.location.reload();
window.close();
} else {
if(redirect_url) location.href = redirect_url;
else location.href = current_url.setQuery('act','');
}
}
/* 정보 수정 */
function completeModify(ret_obj, response_tags, args, fo_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
alert(message);
location.href = current_url.setQuery('act','dispMemberInfo');
}
/* 회원 탈퇴 */
function completeLeave(ret_obj, response_tags, args, fo_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
alert(message);
location.href = current_url.setQuery('act','');
}
/* 이미지 업로드 */
function _doUploadImage(fo_obj, act) {
fo_obj.act.value = act;
fo_obj.submit();
}
/* 프로필 이미지/ 이미지 이름/마크 등록 */
function doUploadProfileImage() {
var fo_obj = get_by_id("fo_insert_member");
if(!fo_obj.profile_image.value) return;
_doUploadImage(fo_obj, 'procMemberInsertProfileImage');
}
function doUploadImageName() {
var fo_obj = get_by_id("fo_insert_member");
if(!fo_obj.image_name.value) return;
_doUploadImage(fo_obj, 'procMemberInsertImageName');
}
function doUploadImageMark() {
var fo_obj = get_by_id("fo_insert_member");
if(!fo_obj.image_mark.value) return;
_doUploadImage(fo_obj, 'procMemberInsertImageMark');
}
/* 로그인 후 */
function completeLogin(ret_obj, response_tags, params, fo_obj) {
if(fo_obj.remember_user_id && fo_obj.remember_user_id.checked) {
var expire = new Date();
expire.setTime(expire.getTime()+ (7000 * 24 * 3600000));
setCookie('user_id', fo_obj.user_id.value, expire);
}
var url = current_url.setQuery('act','');
location.href = current_url.setQuery('act','');
}
/* 로그아웃 후 */
function completeLogout(ret_obj) {
location.href = current_url.setQuery('act','');
}
/* 인증 메일 재발송 후 */
function completeResendAuthMail(ret_obj, response_tags) {
var error = ret_obj['error'];
var message = ret_obj['message'];
if(message) alert(message);
if(error != 0) alert(error);
}
/* 프로필 이미지, 이미지 이름, 마크 삭제 */
function doDeleteProfileImage(member_srl) {
if (!member_srl) return;
if (!confirm(xe.lang.deleteProfileImage)) return false;
exec_xml(
'member',
'procMemberDeleteProfileImage',
{member_srl:member_srl},
function(){jQuery('#profile_imagetag').remove()},
['error','message']
);
}
function doDeleteImageName(member_srl) {
if (!member_srl) return;
if (!confirm(xe.lang.deleteImageName)) return false;
exec_xml(
'member',
'procMemberDeleteImageName',
{member_srl:member_srl},
function(){jQuery('#image_nametag').remove()},
['error','message']
);
}
function doDeleteImageMark(member_srl) {
if (!member_srl) return;
if (!confirm(xe.lang.deleteImageMark)) return false;
exec_xml(
'member',
'procMemberDeleteImageMark',
{member_srl:member_srl},
function(){jQuery('#image_marktag').remove()},
['error','message']
);
}
/* 스크랩 삭제 */
function doDeleteScrap(document_srl) {
var params = new Array();
params['document_srl'] = document_srl;
exec_xml('member', 'procMemberDeleteScrap', params, function() { location.reload(); });
}
/* 비밀번호 찾기 후 */
function completeFindMemberAccount(ret_obj, response_tags) {
alert(ret_obj['message']);
}
/* 임시 비밀번호 생성 */
function completeFindMemberAccountByQuestion(ret_obj, response_tags) {
if(ret_obj['error'] != 0){
alert(ret_obj['message']);
}else{
location.href = current_url.setQuery('act','dispMemberGetTempPassword').setQuery('user_id',ret_obj['user_id']);
}
}
/* 저장글 삭제 */
function doDeleteSavedDocument(document_srl, confirm_message) {
if(!confirm(confirm_message)) return false;
var params = new Array();
params['document_srl'] = document_srl;
exec_xml('member', 'procMemberDeleteSavedDocument', params, function() { location.reload(); });
}
function insertSelectedModule(id, module_srl, mid, browser_title) {
location.href = current_url.setQuery('selected_module_srl',module_srl);
}

View file

@ -0,0 +1,38 @@
/**
* @brief 회원 가입시나 정보 수정시 항목의 중복 검사하고 화면에 바로 나타냄
* @author misol <misol.kr@gmail.com>
* @author NAVER (developer@xpressengine.com)
**/
// body 에서 불러오면 가능
$('#rx_insert_member :input').filter('[name=user_id],[name=nick_name],[name=email_address]').blur(rxMemberCheckValue);
// 실제 서버에 특정 필드의 value check를 요청하고 이상이 있으면 메세지를 뿌려주는 함수
function rxMemberCheckValue(event) {
var field = event.target;
var _name = field.name;
var _value = field.value;
if(!_name || !_value) return;
var params = {name:_name, value:_value};
var response_tags = ['error','message','message_type'];
exec_xml('member','procMemberCheckValue', params, dispMemberValueCheck, response_tags, field);
}
// 서버에서 응답이 올 경우 이상이 있으면 메세지를 출력
function dispMemberValueCheck(response, response_tags, field) {
var _id = 'rx_sw_dummy-'+field.name;
var dummy = $('#'+_id);
if(response['message']=='success') {
dummy.html('').hide();
return;
}
if (!dummy.length) {
dummy = $('<p class="rx_member-notice error" />').attr('id', _id)
$(field).after(dummy);
}
dummy.html(response['message']).show();
}

View file

@ -0,0 +1,2 @@
<?php
$lang->member_simple_world_about_star = 'Items with an asterisk <sup>*</sup> are required.';

View file

@ -0,0 +1,2 @@
<?php
$lang->member_simple_world_about_star = 'アスタリスク<sup>*</sup>のある項目は必須項目です。';

View file

@ -0,0 +1,2 @@
<?php
$lang->member_simple_world_about_star = '별표<sup>*</sup>가 있는 항목은 필수 항목입니다.';

View file

@ -0,0 +1,30 @@
<include target="./common_header.html" />
<div class="signin">
<section class="sw-body">
<h1>{$member_title = $lang->msg_leave_member}</h1>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skin/simple_world/1'" class="rx_member-notice {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<p class="rx_member-notice">{$lang->about_rechecked_password}</p>
<form ruleset="leaveMember" id="fo_insert_member" action="./" method="post">
<input type="hidden" name="module" value="member" />
<input type="hidden" name="act" value="procMemberLeave" />
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="document_srl" value="{$document_srl}" />
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="xe_validator_id" value="modules/member/skin/simple_world/1" />
<div class="control-group">
<label for="uid">
{lang($identifier)}
</label>
<input type="text" id="uid" value="{$formValue}" readonly title="{lang($identifier)}" />
<label for="pw">
{lang('common.password')}
</label>
<input type="password" name="password" id="pw" required title="{$lang->password}" />
<input type="submit" value="{$lang->cmd_leave}" />
</div>
</form>
</section>
</div>
<include target="./common_footer.html" />

View file

@ -0,0 +1,53 @@
<include target="./common_header.html" />
<div class="signin">
<section class="sw-body">
<h1>{$lang->cmd_login}</h1>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skins'" class="rx_member-notice {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<form ruleset="@login" action="{getUrl('', 'act', 'procMemberLogin')}" method="post" id="fo_member_login">
<input type="hidden" name="success_return_url" value="{$referer_url}" />
<input type="hidden" name="act" value="procMemberLogin" />
<input type="hidden" name="xe_validator_id" value="modules/member/skins" />
<div class="control-group">
<label for="uid">
<block cond="$identifier == 'user_id'">
{lang('common.user_id')}
</block>
<block cond="$identifier != 'user_id'">
{lang('common.email_address')}
</block>
</label>
<input type="text" cond="$identifier == 'user_id'" name="user_id" id="uid" required title="{lang('common.user_id')}" />
<input type="email" cond="$identifier != 'user_id'" name="user_id" id="uid" required title="{lang('common.email_address')}" />
<label for="upw">{lang('common.password')}<a class="pos-right" href="{getUrl('act','dispMemberFindAccount')}">{lang('member.cmd_find_member_account')}</a></label>
<input type="password" name="password" id="upw" required title="{lang('common.password')}" />
<label for="keepid_opt">
<input type="checkbox" name="keep_signed" id="keepid_opt" value="Y" />
{lang('member.keep_signed')}
</label>
<div id="rx_member-warning" class="rx_member-notice">
{lang('member.about_keep_warning')}
</div>
<input type="submit" value="{$lang->cmd_login}" />
</div>
</form>
</section>
<div class="sw-footer">
<a href="{getUrl('act','dispMemberSignUpForm')}">{lang('member.cmd_signup')}</a>
</div>
</div>
<script>
jQuery(function($){
var keep_msg = $('#rx_member-warning');
keep_msg.hide();
$('#keepid_opt').change(function(){
if($(this).is(':checked')){
keep_msg.slideDown(200);
} else {
keep_msg.slideUp(200);
}
});
});
</script>
<include target="./common_footer.html" />

View file

@ -0,0 +1,16 @@
<include target="./common_header.html" />
<div class="signin">
<section class="sw-body">
<h1>{lang('member.cmd_logout')}</h1>
<p class="rx_member-notice">{lang('common.confirm_logout')}</p>
<form action="./" method="post">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="module" value="member" />
<input type="hidden" name="act" value="procMemberLogout" />
<div class="control-group">
<input type="submit" value="{lang('member.cmd_logout')}" />
</div>
</form>
</section>
</div>
<include target="./common_footer.html" />

View file

@ -0,0 +1,30 @@
<include target="./common_header.html" />
<section class="sw-body">
<h1>{$lang->member_info}</h1>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skins/simple_world/1'" class="rx_member-notice {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<dl>
<block loop="$displayDatas => $item">
<dt>{$item->title}<sup cond="$item->required || $item->mustRequired">*</sup></dt>
<dd cond="$item->value">{$item->value}</dd>
<dd cond="!$item->value" style="color:#ccc">&hellip;</dd>
</block>
<dt>{$lang->member_group}</dt>
<dd>{implode(', ', $memberInfo['group_list'])}</dd>
<dt>{$lang->signup_date}</dt>
<dd>{zdate($memberInfo[regdate],"Y-m-d")}</dd>
<block cond="$memberInfo[member_srl] == $logged_info->member_srl || $logged_info->is_admin == 'Y'">
<dt>{$lang->last_login}</dt>
<dd>{zdate($memberInfo[last_login],"Y-m-d")}</dd>
</block>
</dl>
</section>
<div class="sw-footer sw-anchor-buttons" cond="$memberInfo['member_srl'] == $logged_info->member_srl">
<a href="{getUrl('act', 'dispMemberModifyEmailAddress')}" cond="$member_config->identifier == 'email_address'">{$lang->cmd_modify_member_email_address}</a>
<a href="{getUrl('act','dispMemberModifyInfo','member_srl','')}">{$lang->cmd_modify_member_info}</a>
<a href="{getUrl('act','dispMemberModifyPassword','member_srl','')}">{$lang->cmd_modify_member_password}</a>
<a href="{getUrl('act','dispMemberLeave','member_srl','')}">{$lang->cmd_leave}</a>
</div>
<include target="./common_footer.html" />

View file

@ -0,0 +1,37 @@
<include target="./common_header.html" />
<section class="sw-body">
<h1>{$member_title = $lang->cmd_modify_nickname_log}</h1>
<table class="table table-striped table-hover">
<thead>
<tr>
<th>{$lang->date}</th>
<th>{$lang->nick_name_before_changing}</th>
<th class="title">{$lang->nick_name_after_changing}</th>
</tr>
</thead>
<tbody>
<tr loop="$nickname_list => $val">
<td>
{zdate($val->regdate,"Y-m-d H:i:s")}
</td>
<td>
{$val->before_nick_name}
</td>
<td>
{$val->after_nick_name}
</td>
</tr>
</tbody>
</table>
</section>
<div class="pagination pagination-centered">
<ul>
<li><a href="{getUrl('page','','module_srl','')}" class="direction">&lsaquo; {$lang->first_page}</a></li>
<!--@while($page_no = $page_navigation->getNextPage())-->
<li class="active"|cond="$page == $page_no"><a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a></li>
<!--@end-->
<li><a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="direction">{$lang->last_page} &rsaquo;</a></li>
</ul>
</div>
<include target="./common_footer.html" />

View file

@ -0,0 +1,17 @@
<include target="./common_header.html" />
<h1>{$lang->cmd_modify_member_email_address}</h1>
<p>{$lang->about_modify_member_email_address}</p>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skins/simple_world/1'" class="rx_member-notice {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<form ruleset="modifyEmailAddress" action="./" method="post">
<input type="hidden" name="module" value="member" />
<input type="hidden" name="act" value="procMemberModifyEmailAddress" />
<input type="hidden" name="success_return_url" value="{getRequestUriByServerEnviroment()}" />
<input type="hidden" name="xe_validator_id" value="modules/member/skins/simple_world/1" />
<span class="input-append">
<input type="email" id="email_address" name="email_address" value="" required placeholder="{$lang->email_address}" title="{$lang->email_address}" />
<input type="submit" value="{$lang->cmd_send_auth_new_emaill_address}" class="btn btn-inverse" />
</span>
</form>
<include target="./common_footer.html" />

View file

@ -0,0 +1,87 @@
<include target="./common_header.html" />
<load target="../../tpl/js/signup_check.js" />
<load target="./lang" />
<!--// datepicker javascript plugin load -->
<!--%load_js_plugin("ui")-->
<!--%load_js_plugin("ui.datepicker")-->
<section class="sw-body">
<h1 style="border-bottom:1px solid #ccc">{$lang->msg_update_member}</h1>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skins/simple_world/1'" class="rx_member-notice {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<div class="rx_member-notice info">
<p>{lang('member_simple_world_about_star')}</p>
</div>
<form ruleset="@insertMember" id="fo_insert_member" action="./" method="post" enctype="multipart/form-data" class="form-horizontal">
<input type="hidden" name="act" value="procMemberModifyInfo" />
<input type="hidden" name="module" value="member" />
<input type="hidden" name="member_srl" value="{$member_info->member_srl}" />
<input type="hidden" name="signature" value="{htmlspecialchars($member_info->signature, ENT_COMPAT | ENT_HTML401, 'UTF-8', false)}" />
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="xe_validator_id" value="modules/member/skins/simple_world/1" />
<div class="control-group">
<label for="{$identifierForm->name}">{$identifierForm->title}<sup style="color:red">*</sup></label>
<input type="text" name="{$identifierForm->name}" id="{$identifierForm->name}" value="{$identifierForm->value}" readonly />
<block loop="$formTags=>$formTag">
<label for="{$formTag->name}" class="control-label">{trim(str_replace('*','',strip_tags($formTag->title)))}<!--@if(strpos($formTag->title,'<em style="color:red">*</em>') !== false)--><sup style="color:red">*</sup><!--@endif--></label>
<block cond="$formTag->name != 'signature'">{$formTag->inputTag}</block>
<block cond="$formTag->name =='signature'">{$editor}</block>
</block>
<label class="control-label">{$lang->allow_mailing}</label>
<div class="controls">
<label for="mailingYes"><input type="radio" name="allow_mailing" id="mailingYes" value="Y" checked="checked"|cond="$member_info->allow_mailing == 'Y'"> {$lang->cmd_yes}</label>
<label for="mailingNo"><input type="radio" name="allow_mailing" id="mailingNo" value="N" checked="checked"|cond="$member_info->allow_mailing != 'Y'" > {$lang->cmd_no}</label>
</div>
<label class="control-label">{$lang->allow_message}</label>
<div class="controls">
<label for="allow_{$key}" loop="$lang->allow_message_type=>$key,$val"><input type="radio" name="allow_message" value="{$key}" checked="checked"|cond="$member_info->allow_message == $key" id="allow_{$key}" /> {$val}</label>
</div>
<input type="submit" value="{$lang->cmd_registration}" />
</div>
</form>
</section>
<script>
xe.lang.deleteProfileImage = '{$lang->msg_delete_extend_form}';
xe.lang.deleteImageMark = '{$lang->msg_delete_extend_form}';
xe.lang.deleteImageName = '{$lang->msg_delete_extend_form}';
jQuery(function($){
// label for setup
$('.control-label[for]').each(function(){
var $this = $(this);
if($this.attr('for') == ''){
$this.attr('for', $this.next().children(':visible:first').attr('id'));
}
});
});
(function($){
$(function(){
// check if the browser support type date.
if ( $(".inputDate").prop('type') != 'date' ) {
var option = {
changeMonth: true,
changeYear: true,
gotoCurrent: false,
yearRange:'-200:+10',
dateFormat:'yy-mm-dd',
defaultDate: new Date("{date('Y-m-d',time())}"),
minDate: new Date("{date('Y-m-d',strtotime('-200 years'))}"),
onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))
}
};
$.extend($.datepicker.regional['{$lang_type}'],option);
//if the browser does not support type date input, start datepicker. If it does, brower's UI will show their datepicker.
$(".inputDate").datepicker(option);
} else {
$(".inputDate").prop('readonly', false);
}
$(".dateRemover").click(function() {
$('#date_birthday,#birthday').val('');
return false;});
});
})(jQuery);
</script>
<include target="./common_footer.html" />

View file

@ -0,0 +1,37 @@
<include target="./common_header.html" />
<div class="sw-body">
<h1>{$member_title = $lang->cmd_modify_member_password}</h1>
<div cond="$XE_VALIDATOR_MESSAGE" class="rx_member-notice {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<form ruleset="modifyPassword" id="fo_insert_member" action="./" method="post">
<input type="hidden" name="module" value="member" />
<input type="hidden" name="act" value="procMemberModifyPassword" />
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="document_srl" value="{$document_srl}" />
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="xe_validator_id" value="modules/member/skins/simple_world/1" />
<input type="hidden" name="success_return_url" value="{getUrl('act','dispMemberInfo')}" />
<div class="control-group">
<label for="uid">
{lang($identifier)}
</label>
<input type="text" disabled="disabled" value="{$formValue}" id="uid" title="{lang($identifier)}" />
<label for="cpw">
{lang('member.current_password')}
</label>
<input type="password" name="current_password" id="cpw" required title="{$lang->current_password}" />
<label for="npw1">
{lang('common.password1')}
</label>
<input type="password" name="password1" id="npw1" required title="{$lang->password1}" /> <span class="rx_member-notice">{$lang->about_password_strength[$member_config->password_strength]}</span>
<label for="npw2">
{lang('common.password2')}
</label>
<input type="password" name="password2" id="npw2" required title="{$lang->password2}" />
<input type="submit" value="{$lang->cmd_registration}" />
</div>
</form>
</div>
<include target="./common_footer.html" />

View file

@ -0,0 +1,28 @@
<include target="./common_header.html" />
<div class="signin">
<section class="sw-body">
<h1>{$lang->msg_rechecked_password}</h1>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skins/simple_world/1'" class="rx_member-notice {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<p class="rx_member-notice">{$lang->about_rechecked_password}</p>
<form action="./index.php" method="post" ruleset="recheckedPassword">
<input type="hidden" name="act" value="procMemberModifyInfoBefore" />
<input type="hidden" name="module" value="member" />
<input type="hidden" name="xe_validator_id" value="modules/member/skins/simple_world/1" />
<input cond="$success_return_url" type="hidden" name="success_return_url" value="{$success_return_url}" />
<div class="control-group">
<label for="uid">
{$identifierTitle}
</label>
<input type="text" id="uid" value="{$identifierValue}" readonly title="{$identifierTitle}" />
<label for="pw">
{lang('common.password')}
</label>
<input type="password" name="password" id="pw" required title="{$lang->password}" />
<input type="submit" value="{$lang->cmd_confirm}" />
</div>
</form>
</section>
</div>
<include target="./common_footer.html" />

View file

@ -0,0 +1,21 @@
<include target="./common_header.html" />
<section class="sw-body">
<h1>{$lang->cmd_resend_auth_mail}</h1>
<div class="rx_member-notice">{lang('member.about_resend_auth_mail')}</div>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skins/simple_world/resend_auth_mail/1'" class="rx_member-notice {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<form ruleset="resendAuthMail" class="form" action="./" method="post">
<input type="hidden" name="module" value="member" />
<input type="hidden" name="act" value="procMemberResendAuthMail" />
<input type="hidden" name="xe_validator_id" value="modules/member/skins/simple_world/resend_auth_mail/1" />
<div class="control-group">
<label for="email_address">
{lang('common.email_address')}
</label>
<input type="email" id="email_address" name="email_address" value="" title="{lang('common.email_address')}" />
<input type="submit" id="resend_button" name="" value="{lang('member.cmd_resend_auth_mail')}" />
</div>
</form>
</section>
<include target="./common_footer.html" />

View file

@ -0,0 +1,41 @@
<include target="./common_header.html" />
<section class="sw-body">
<h1>{$lang->cmd_resend_auth_mail}</h1>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skins/simple_world/reset_mail/1'" class="rx_member-notice {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<div class="rx_member-notice">{sprintf($lang->about_reset_auth_mail, $memberInfo->email_address)}</div>
<form action="./" method="post">
<input type="hidden" name="module" value="member" />
<input type="hidden" name="act" value="procMemberResendAuthMail" />
<input type="hidden" name="email_address" value="{$memberInfo->email_address}" />
<input type="hidden" name="xe_validator_id" value="modules/member/skins/simple_world/reset_mail/1" />
<div class="control-group">
<label for="uid1">
{lang('common.email_address')}
</label>
<input type="text" id="uid1" readonly="readonly" disabled="disabled" value="{$memberInfo->email_address}" title="{$lang->cmd_resend_auth_mail}" />
<input type="submit" id="resend_button" name="" value="{$lang->cmd_resend_auth_mail}" class="btn btn-inverse" />
</div>
</form>
</section>
<section class="sw-body">
<h1>{lang('member.cmd_send_auth_new_emaill_address')}</h1>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skins/simple_world/reset_mail/2'" class="rx_member-notice {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<div class="rx_member-notice">{lang('member.about_reset_auth_mail_submit')}</div>
<form ruleset="resetAuthMail" action="./" method="post">
<input type="hidden" name="module" value="member" />
<input type="hidden" name="act" value="procMemberResetAuthMail" />
<input type="hidden" name="xe_validator_id" value="modules/member/skins/simple_world/reset_mail/2" />
<div class="control-group">
<label for="email_address">
{lang('common.cmd_modify_new_auth_email_address')}
</label>
<input type="text" id="email_address" name="email_address" value="" title="{lang('member.cmd_modify_new_auth_email_address')}" />
<input type="submit" value="{$lang->cmd_send_auth_new_emaill_address}" class="btn btn-inverse" />
</div>
</form>
</section>
<include target="./common_footer.html" />

View file

@ -0,0 +1,34 @@
<include target="./common_header.html" />
<section class="sw-body">
<h1>{$member_title = lang('member.cmd_view_saved_document')}</h1>
<div class="rx_member-notice">{lang('common.total')}: {number_format($total_count)}</div>
<div>
<ul class="rx_sw_list">
<li loop="$document_list => $key, $item">
<a href="{getUrl('','document_srl',$item->document_srl)}" class="cont_a" onclick="window.open(this.href);return false;">
<span class="content_basic">
<span class="content_title">
{escape($item->getTitle())}
</span>
<span class="content_subinfo">
{$item->getRegdate("Y-m-d")}
</span>
</span>
</a>
<span class="content_delete">
<button type="button" class="text" onclick="doDeleteSavedDocument({$item->document_srl},'{lang('common.confirm_delete')}');return false;">{$lang->cmd_delete}</button>
</span>
</li>
</ul>
</div>
</section>
<div class="pagination pagination-centered">
<ul>
<li><a href="{getUrl('page','','module_srl','')}" class="direction">&lsaquo; {$lang->first_page}</a></li>
<!--@while($page_no = $page_navigation->getNextPage())-->
<li class="active"|cond="$page == $page_no"><a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a></li>
<!--@end-->
<li><a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="direction">{$lang->last_page} &rsaquo;</a></li>
</ul>
</div>
<include target="./common_footer.html" />

View file

@ -0,0 +1,34 @@
<include target="./common_header.html" />
<section class="sw-body">
<h1>{$member_title = lang('member.cmd_view_scrapped_document')}</h1>
<div class="rx_member-notice">{lang('common.total')}: {number_format($total_count)}</div>
<div>
<ul class="rx_sw_list">
<li loop="$document_list => $key, $item">
<a href="{getUrl('','document_srl',$item->document_srl)}" class="cont_a" onclick="window.open(this.href);return false;">
<span class="content_basic">
<span class="content_title">
{escape($item->title)}
</span>
<span class="content_subinfo">
{escape($item->nick_name)}, {zdate($item->regdate, "Y-m-d")}
</span>
</span>
</a>
<span class="content_delete">
<button type="button" class="text" onclick="doDeleteScrap({$item->document_srl});return false;">{$lang->cmd_delete}</button>
</span>
</li>
</ul>
</div>
</section>
<div class="pagination pagination-centered">
<ul>
<li><a href="{getUrl('page','','module_srl','')}">&lsaquo; {$lang->first_page}</a></li>
<!--@while($page_no = $page_navigation->getNextPage())-->
<li class="active"|cond="$page == $page_no"><a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a></li>
<!--@end-->
<li><a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}">{$lang->last_page} &rsaquo;</a></li>
</ul>
</div>
<include target="./common_footer.html" />

View file

@ -0,0 +1,110 @@
<load target="./js/signup_check.js" type="body" />
<load target="./lang" />
<!--// datepicker javascript plugin load -->
<!--%load_js_plugin("ui")-->
<!--%load_js_plugin("ui.datepicker")-->
<include target="./common_header.html" />
<section class="sw-body">
<h1>{lang('member.cmd_signup')}</h1>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skins'" class="rx_member-notice {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<div class="rx_member-notice info">
<p>{lang('member_simple_world_about_star')}</p>
</div>
<form ruleset="@insertMember" id="rx_insert_member" action="./" method="post" enctype="multipart/form-data" class="form-horizontal">
<input type="hidden" name="act" value="procMemberInsert" />
<input type="hidden" name="xe_validator_id" value="modules/member/skins" />
<input type="hidden" name="success_return_url" value="{getUrl('act','dispMemberInfo')}" />
<div class="agreement" cond="$member_config->agreement">
<div class="text">
{$member_config->agreement}
</div>
<div class="confirm">
<label for="accept_agree">
<input type="checkbox" name="accept_agreement" value="Y" id="accept_agree" />
{$lang->about_accept_agreement}
</label>
</div>
</div>
<div class="control-group">
<label for="{$identifierForm->name}">{$identifierForm->title}<sup style="color:red">*</sup></label>
<input type="text"|cond="$identifierForm->name!='email_address'" type="email"|cond="$identifierForm->name=='email_address'" name="{$identifierForm->name}" id="{$identifierForm->name}" value="{$identifierForm->value}" required />
<p class="rx_member-notice" cond="$identifierForm->name == 'email_address' && $email_confirmation_required == 'Y'">
{$lang->msg_email_confirmation_required}
</p>
<label for="password" class="control-label">{lang('common.password')}<sup style="color:red">*</sup></label>
<input type="password" name="password" id="password" value="" required />
<p class="rx_member-notice">{lang('member.about_password_strength')[$member_config->password_strength]}</p>
<label for="password2" class="control-label">{lang('common.password3')}<sup style="color:red">*</sup></label>
<input type="password" name="password2" id="password2" value="" required />
<block loop="$formTags=>$formTag">
<label for="{$formTag->name}" class="control-label">{trim(str_replace('*','',strip_tags($formTag->title)))}<!--@if(strpos($formTag->title,'<em style="color:red">*</em>') !== false)--><sup style="color:red">*</sup><!--@endif--></label>
<block cond="$formTag->name != 'signature'">
{$formTag->inputTag}
<p class="rx_member-notice" cond="$formTag->name == 'email_address' && $email_confirmation_required == 'Y'">
{$lang->msg_email_confirmation_required}
</p>
</block>
<block cond="$formTag->name == 'signature'">
<input type="hidden" name="signature" value="" />
{$editor}
</block>
</block>
<div class="control-label">{$lang->allow_mailing}</div>
<div class="controls" style="padding-top:5px">
<label for="mailingYes"><input type="radio" name="allow_mailing" id="mailingYes" value="Y" checked="checked"|cond="$member_info->allow_mailing == 'Y'" /> {$lang->cmd_yes}</label>
<label for="mailingNo"><input type="radio" name="allow_mailing" id="mailingNo" value="N" checked="checked"|cond="$member_info->allow_mailing != 'Y'" /> {$lang->cmd_no}</label>
</div>
<div class="control-label">{$lang->allow_message}</div>
<div class="controls" style="padding-top:5px">
<label for="allow_{$key}" loop="$lang->allow_message_type=>$key,$val"><input type="radio" name="allow_message" value="{$key}" checked="checked"|cond="$member_info->allow_message == $key || (!$member_info && $key == 'Y')" id="allow_{$key}" /> {$val}</label>
</div>
<block cond="$captcha">
<div class="control-label">{$lang->captcha}</div>
<div class="controls">{$captcha}</div>
</block>
<input type="submit" value="{$lang->cmd_registration}" />
</div>
</form>
</section>
<script>
(function($){
// label for setup
$('.control-label[for]').each(function(){
var $this = $(this);
if($this.attr('for') == ''){
$this.attr('for', $this.next().children(':visible:first').attr('id'));
}
});
$(function(){
// check if the browser support type date.
if ( $(".inputDate").prop('type') != 'date' ) {
var option = {
changeMonth: true,
changeYear: true,
gotoCurrent: false,
yearRange:'-200:+10',
dateFormat:'yy-mm-dd',
defaultDate: new Date("{date('Y-m-d',time())}"),
minDate: new Date("{date('Y-m-d',strtotime('-200 years'))}"),
onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))
}
};
$.extend($.datepicker.regional['{$lang_type}'],option);
//if the browser does not support type date input, start datepicker. If it does, brower's UI will show their datepicker.
$(".inputDate").datepicker(option);
} else {
$(".inputDate").prop('readonly', false);
}
$(".dateRemover").click(function() {
$(this).prevAll('input').val('');
return false;});
});
})(jQuery);
</script>
<include target="./common_footer.html" />

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<skin version="0.2">
<title xml:lang="ko">네모의 꿈</title>
<title xml:lang="en">Rectangular World</title>
<description xml:lang="ko">깔끔한 면과 그림자를 이용한 회원 스킨</description>
<description xml:lang="en">Simple rectangular planes and shadows</description>
<version>0.1</version>
<date>2017-01-09</date>
<author email_address="misol.kr@gmail.com" link="https://github.com/misol">
<name xml:lang="ko">misol</name>
<name xml:lang="en">misol</name>
</author>
<colorset type="colorpicker">
</colorset>
</skin>

View file

@ -72,8 +72,16 @@
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->webmaster_email}</label>
<label class="x_control-label" for="webmaster_name">{$lang->webmaster_name}</label>
<div class="x_controls">
<input type="text" id="webmaster_name" name="webmaster_name" value="{$config->webmaster_name}" />
<label>{$lang->about_webmaster_name}</label>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label" for="webmaster_email">{$lang->webmaster_email}</label>
<div class="x_controls">
<input type="email" id="webmaster_email" name="webmaster_email" value="{$config->webmaster_email}" />
<label>{$lang->about_webmaster_email}</label>
</div>
</div>

View file

@ -23,8 +23,7 @@
</tbody>
<tbody cond="!$nickname_list">
<tr>
<td colspan="3" style="text-align: center">{$lang->no_date}</td>
<td colspan="3" style="text-align: center">{$lang->no_data}</td>
</tr>
</tbody>
</table>