mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-21 04:09:55 +09:00
merge from 1.7.3.5(r13153:r13167)
git-svn-id: http://xe-core.googlecode.com/svn/trunk@13168 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
cc47d2b247
commit
2d3f149b5a
2042 changed files with 129266 additions and 126243 deletions
|
|
@ -9,7 +9,7 @@
|
|||
<title xml:lang="ru">Управление пользователями</title>
|
||||
<title xml:lang="zh-TW">會員管理</title>
|
||||
<title xml:lang="tr">Üye Yönetimi</title>
|
||||
<description xml:lang="ko">회원 관리 및 설정을 하는 모듈입니다.</description>
|
||||
<description xml:lang="ko">회원 관리 및 설정을 합니다.</description>
|
||||
<description xml:lang="zh-CN">对会员进行管理及相关设置的模块。</description>
|
||||
<description xml:lang="jp">会員管理及び会員関連設定などを行うモジュールです。</description>
|
||||
<description xml:lang="en">This module is for managing or configuring members.</description>
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
<module>
|
||||
<grants />
|
||||
<permissions>
|
||||
<permission action="getApiGroups" target="manager" />
|
||||
</permissions>
|
||||
<actions>
|
||||
<action name="dispMemberInfo" type="view" standalone="true" />
|
||||
|
|
@ -21,21 +22,21 @@
|
|||
<action name="dispSavedDocumentList" type="view" standalone="true" />
|
||||
|
||||
<action name="dispMemberAdminList" type="view" standalone="true" index="true" admin_index="true" menu_name="userList" menu_index="true"/>
|
||||
<!--action name="dispMemberAdminConfig" type="view" menu_name="userSetting" menu_index="true" /-->
|
||||
<action name="dispMemberAdminConfig" type="view" menu_name="userSetting" menu_index="true" />
|
||||
<action name="dispMemberAdminSignUpConfig" type="view" menu_name="userSetting" />
|
||||
<action name="dispMemberAdminLoginConfig" type="view" menu_name="userSetting" />
|
||||
<action name="dispMemberAdminDesignConfig" type="view" menu_name="userSetting" />
|
||||
<action name="dispMemberAdminInsert" type="view" menu_name="userList" />
|
||||
<action name="dispMemberAdminDeleteForm" type="view" standalone="true" />
|
||||
<action name="dispMemberAdminGroupList" type="view" menu_name="userGroup" menu_index="true" />
|
||||
<action name="dispMemberAdminJoinFormList" type="view" standalone="true" />
|
||||
<action name="dispMemberAdminInfo" type="view" menu_name="userList" />
|
||||
<action name="dispMemberAdminInsertJoinForm" type="view" standalone="true" />
|
||||
<action name="dispMemberAdminDeniedIDList" type="view" standalone="true" />
|
||||
<action name="dispMemberAdminManageGroup" type="view" standalone="true" />
|
||||
<action name="dispMemberAdminDeleteMembers" type="view" standalone="true" />
|
||||
|
||||
<action name="getMemberMenu" type="model" standalone="true" />
|
||||
<action name="getMemberAdminColorset" type="model" standalone="true" />
|
||||
<action name="getMemberAdminInsertJoinForm" type="model" />
|
||||
<action name="getMemberAdminIPCheck" type="model" standalone="true" />
|
||||
<action name="getApiGroups" type="model" standalone="true" />
|
||||
|
||||
<action name="procMemberLogin" type="controller" standalone="true" ruleset="@login" />
|
||||
<action name="procMemberLogout" type="controller" standalone="true" />
|
||||
|
|
@ -62,15 +63,18 @@
|
|||
|
||||
<action name="procMemberFindAccount" type="controller" standalone="true" />
|
||||
<action name="procMemberFindAccountByQuestion" type="controller" standalone="true" />
|
||||
<action name="procMemberAuthAccount" type="controller" standalone="true" />
|
||||
<action name="procMemberAuthEmailAddress" type="controller" />
|
||||
<action name="procMemberAuthAccount" type="controller" standalone="true" method="GET|POST" />
|
||||
<action name="procMemberAuthEmailAddress" type="controller" method="GET|POST" />
|
||||
<action name="procMemberUpdateAuthMail" type="controller" standalone="true" />
|
||||
<action name="procMemberResendAuthMail" type="controller" standalone="true" ruleset="resendAuthMail" />
|
||||
<action name="procMemberResetAuthMail" type="controller" ruleset="resetAuthMail" />
|
||||
|
||||
<action name="procMemberAdminInsert" type="controller" standalone="true" ruleset="insertAdminMember" />
|
||||
<action name="procMemberAdminDelete" type="controller" standalone="true" />
|
||||
<action name="procMemberAdminInsertConfig" type="controller" standalone="true" ruleset="insertConfig" />
|
||||
<action name="procMemberAdminInsertDefaultConfig" type="controller" ruleset="insertDefaultConfig" />
|
||||
<action name="procMemberAdminInsertSignupConfig" type="controller" />
|
||||
<action name="procMemberAdminInsertLoginConfig" type="controller" />
|
||||
<action name="procMemberAdminInsertDesignConfig" type="controller" />
|
||||
<action name="procMemberAdminInsertGroup" type="controller" standalone="true" ruleset="insertGroup" />
|
||||
<action name="procMemberAdminUpdateGroup" type="controller" standalone="true" ruleset="updateGroup" />
|
||||
<action name="procMemberAdminDeleteGroup" type="controller" standalone="true" ruleset="deleteGroup" />
|
||||
|
|
|
|||
|
|
@ -12,6 +12,18 @@
|
|||
<value xml:lang="tr"><![CDATA[Üye]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Thành viên]]></value>
|
||||
</item>
|
||||
<item name="site">
|
||||
<value xml:lang="ko"><![CDATA[사이트]]></value>
|
||||
<value xml:lang="en"><![CDATA[Site]]></value>
|
||||
<value xml:lang="jp"><![CDATA[Site]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[Site]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[Site]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Site]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Site]]></value>
|
||||
<value xml:lang="es"><![CDATA[Site]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Site]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Site]]></value>
|
||||
</item>
|
||||
<item name="member_default_info">
|
||||
<value xml:lang="ko"><![CDATA[기본 정보]]></value>
|
||||
<value xml:lang="en"><![CDATA[Basic Info]]></value>
|
||||
|
|
@ -60,6 +72,11 @@
|
|||
<value xml:lang="tr"><![CDATA[Sıradan Üye]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Moderator]]></value>
|
||||
</item>
|
||||
<item name="default_group">
|
||||
<value xml:lang="ko"><![CDATA[기본그룹]]></value>
|
||||
<value xml:lang="en"><![CDATA[Default Group]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[基本群组]]></value>
|
||||
</item>
|
||||
<item name="admin_group">
|
||||
<value xml:lang="ko"><![CDATA[관리그룹]]></value>
|
||||
<value xml:lang="en"><![CDATA[Managing Group]]></value>
|
||||
|
|
@ -122,6 +139,7 @@
|
|||
<item name="denied_nick_name">
|
||||
<value xml:lang="ko"><![CDATA[사용 금지된 닉네임입니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You have entered a prohibited nick name.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[被禁止的昵称。]]></value>
|
||||
</item>
|
||||
<item name="null_user_id">
|
||||
<value xml:lang="ko"><![CDATA[회원 아이디를 입력해주세요.]]></value>
|
||||
|
|
@ -162,6 +180,7 @@
|
|||
<item name="invalid_email_address">
|
||||
<value xml:lang="ko"><![CDATA[이메일 주소와 일치하는 회원이 없습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You have entered an invalid email address. There is no member who has the email, entered.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[找不到跟邮箱地址一致的会员!]]></value>
|
||||
</item>
|
||||
<item name="invalid_user_id">
|
||||
<value xml:lang="ko"><![CDATA[존재하지 않는 회원 아이디입니다.]]></value>
|
||||
|
|
@ -191,6 +210,7 @@
|
|||
<value xml:lang="ko"><![CDATA[이전 비밀번호와 같습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Please enter a password you haven't previously used.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[以前のパスワードと同じパスワードを使うことはできません。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[新密码不能跟旧密码相同]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[新密碼不能與舊密碼相同]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Yeni şifre, eski şifreyle aynı olmamalı.]]></value>
|
||||
</item>
|
||||
|
|
@ -258,12 +278,14 @@
|
|||
<value xml:lang="ko"><![CDATA[그룹 우선순위]]></value>
|
||||
<value xml:lang="en"><![CDATA[Gropu Priority]]></value>
|
||||
<value xml:lang="jp"><![CDATA[グループ優先順位]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[群组优先顺序]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[群組優先順序]]></value>
|
||||
</item>
|
||||
<item name="group_order_change">
|
||||
<value xml:lang="ko"><![CDATA[그룹 우선순위 변경]]></value>
|
||||
<value xml:lang="en"><![CDATA[Change Group Priority]]></value>
|
||||
<value xml:lang="jp"><![CDATA[グループ優先順位変更]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[变更优先顺序]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[變更優先順序]]></value>
|
||||
</item>
|
||||
<item name="signature">
|
||||
|
|
@ -646,11 +668,16 @@
|
|||
<value xml:lang="tr"><![CDATA[Giriş yapmış Kullanıcılar]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Thành viên đăng nhập]]></value>
|
||||
</item>
|
||||
<item name="msg_mail_authorization">
|
||||
<value xml:lang="ko"><![CDATA[메일 인증을 사용하려면 웸마스터의 이름과 메일주소가 유효해야 합니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[메일 인증을 사용하려면 웸마스터의 이름과 메일주소가 유효해야 합니다.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[如果想使用邮箱认证,必须是有效的管理员名称和邮箱地址]]></value>
|
||||
</item>
|
||||
<item name="webmaster_name">
|
||||
<value xml:lang="ko"><![CDATA[웹마스터 이름]]></value>
|
||||
<value xml:lang="en"><![CDATA[Webmaster Name]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ウェブマスターの名前]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[管理员名]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[管理员名称]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[管理員名稱]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Nom de Webmestre]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Имя веб-мастера]]></value>
|
||||
|
|
@ -673,24 +700,31 @@
|
|||
<item name="column_id">
|
||||
<value xml:lang="ko"><![CDATA[입력항목 ID]]></value>
|
||||
<value xml:lang="en"><![CDATA[The column id]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[输入项目 ID]]></value>
|
||||
</item>
|
||||
<item name="about_column_id">
|
||||
<value xml:lang="ko"><![CDATA[입력항목의 구분자로 사용될 ID입니다. 영문으로 시작하고 영문 숫자만 사용가능합니다.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[使用与区分输入项目的 ID, 只能用英文字母]]></value>
|
||||
</item>
|
||||
<item name="options">
|
||||
<value xml:lang="ko"><![CDATA[선택 옵션]]></value>
|
||||
<value xml:lang="en"><![CDATA[Options]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[选项选择]]></value>
|
||||
</item>
|
||||
<item name="about_keep_signed">
|
||||
<value xml:lang="ko"><![CDATA[브라우저를 닫더라도 로그인이 계속 유지될 수 있습니다.\n\n로그인 유지 기능을 사용할 경우 다음 접속부터는 로그인을 하실 필요가 없습니다.\n\n단, 게임방, 학교 등 공공장소에서 이용 시 개인정보가 유출될 수 있으니 꼭 로그아웃을 해주세요.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[브라우저를 닫더라도 로그인이 계속 유지될 수 있습니다.\n\n로그인 유지 기능을 사용할 경우 다음 접속부터는 로그인할 필요가 없습니다.\n\n단, 게임방, 학교 등 공공장소에서 이용 시 개인정보가 유출될 수 있으니 꼭 로그아웃을 해주세요.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You will be still signed in even when the browser is closed.\n\nIt is not recommended to use this if you are using a public computer, for your personal information could be violated.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ブラウザを閉じてもログイン状態が維持されます。\n\nログイン維持機能を利用すると、次回からログインする必要がありません。\n\nただし、インターネットカフェ、学校など公共場所で利用する場合、個人情報が流出する恐れがありますので、必ずログアウトしてください。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[关闭浏览器后也将维持登录状态。\n\n使用自动登录功能,可解决每次访问都要输入用户名及密码的麻烦。\n\n为防止个人信息泄露,在网吧,学校等公共场所请务必要确认解除登录状态。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[關閉瀏覽器後也將維持登入狀態。\n\n使用此功能,可解決每次訪問都要輸入帳號及密碼的麻煩。\n\n為防止個人資料洩露,在網咖,學校等公共場所,請務必要確認解除登入狀態。]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Malgré que le navigateur est fermé, votre session peut rester ouverte. \n\nSi vous utilisez cette fonction sur l'ordinateur publique, vos informations privé peut être exposé. Nous vous recommandons de ne pas utiliser cette fonctions sur l'ordinateur publique.]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Вы будете в состоянии логин, даже при закрытии окна браузера.\n\nЕсли вы пользуетесь общественным компьютером, сделайте выход в целях сохранения персональных данных]]></value>
|
||||
<value xml:lang="es"><![CDATA[브라우저를 닫더라도 로그인이 계속 유지될 수 있습니다.\n\n로그인 유지 기능을 사용할 경우 다음 접속부터는 로그인을 하실 필요가 없습니다.\n\n단, 게임방, 학교 등 공공장소에서 이용시 개인정보가 유출될 수 있으니 꼭 로그아웃을 해주세요]]></value>
|
||||
<value xml:lang="es"><![CDATA[브라우저를 닫더라도 로그인이 계속 유지될 수 있습니다.\n\n로그인 유지 기능을 사용할 경우 다음 접속부터는 로그인할 필요가 없습니다.\n\n단, 게임방, 학교 등 공공장소에서 이용시 개인정보가 유출될 수 있으니 꼭 로그아웃을 해주세요]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Tarayıcıyı kapatsanız da sisteme bağlı kalacaksınız.\n\nEğer ortak bir bilgisayar kullanıyorsanız, kişisel bilgilerinizin gizliliği için bunu önermiyoruz]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Mặc dù tắt trình duyệt nhưng thông tin đăng nhập của bạn vẫn được lưu lại trên máy tính này.\n\nNếu bạn sử dụng máy tính dùng chung, người khác cũng có thể đăng nhập dưới tên truy cập của bạn. Vì vậy chức năng này không nên sử dụng nếu máy tính này không phải của riêng bạn!]]></value>
|
||||
</item>
|
||||
<item name="about_keep_warning">
|
||||
<value xml:lang="ko"><![CDATA[브라우저를 닫더라도 로그인이 계속 유지될 수 있습니다. 로그인 유지 기능을 사용할 경우 다음 접속부터는 로그인을 하실 필요가 없습니다. 단, 게임방, 학교 등 공공장소에서 이용 시 개인정보가 유출될 수 있으니 꼭 로그아웃을 해주세요.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[브라우저를 닫더라도 로그인이 계속 유지될 수 있습니다. 로그인 유지 기능을 사용할 경우 다음 접속부터는 로그인할 필요가 없습니다. 단, 게임방, 학교 등 공공장소에서 이용 시 개인정보가 유출될 수 있으니 꼭 로그아웃을 해주세요.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You will be still signed in even when the browser is closed. It is not recommended to use this if you are using a public computer, for your personal information could be violated]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ブラウザを閉じてもログイン状態が維持されます。\n\nログイン維持機能を利用すると、次回からログインする必要がありません。 ただし、インターネットカフェ、学校など公共場所で利用する場合、個人情報が流出する恐れがありますので、必ずログアウトしてください。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[关闭浏览器后也将维持登录状态。\n\n使用自动登录功能,可解决每次访问都要输入用户名及密码的麻烦。 为防止个人信息泄露,在网吧,学校等公共场所请务必要确认解除登录状态。]]></value>
|
||||
|
|
@ -713,7 +747,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Xin hãy nhập tên của Webmaster để nhận Email và quản lý. (Mặc định: webmaster)]]></value>
|
||||
</item>
|
||||
<item name="about_webmaster_email">
|
||||
<value xml:lang="ko"><![CDATA[웹마스터의 메일 주소를 입력해주세요.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[인증 메일이나 기타 사이트 관리 시 사용될 웹마스터의 메일 주소를 입력해주세요.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Please enter webmaster's email address.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ウェブマスターのメールアドレスを入力してください。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[请输入网站管理员的电子邮件地址。]]></value>
|
||||
|
|
@ -804,8 +838,8 @@
|
|||
<value xml:lang="vi"><![CDATA[Đăng nhập ít nhất]]></value>
|
||||
</item>
|
||||
<item name="extra_vars">
|
||||
<value xml:lang="ko"><![CDATA[확장변수]]></value>
|
||||
<value xml:lang="en"><![CDATA[Extra Vars]]></value>
|
||||
<value xml:lang="ko"><![CDATA[사용자 정의]]></value>
|
||||
<value xml:lang="en"><![CDATA[User Defined]]></value>
|
||||
<value xml:lang="jp"><![CDATA[拡張変数]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[扩展信息]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[延伸變數]]></value>
|
||||
|
|
@ -819,6 +853,12 @@
|
|||
<item name="cmd_modify_new_auth_email_address">
|
||||
<value xml:lang="ko"><![CDATA[신규 메일 주소로 변경 후 인증 메일 발송]]></value>
|
||||
<value xml:lang="en"><![CDATA[New email address]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[用新邮箱发送变更后的认证邮件]]></value>
|
||||
</item>
|
||||
<item name="cmd_set_design_info">
|
||||
<value xml:lang="ko"><![CDATA[디자인]]></value>
|
||||
<value xml:lang="en"><![CDATA[Desgin]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[皮肤]]></value>
|
||||
</item>
|
||||
<item name="cmd_login">
|
||||
<value xml:lang="ko"><![CDATA[로그인]]></value>
|
||||
|
|
@ -845,7 +885,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Thoát]]></value>
|
||||
</item>
|
||||
<item name="cmd_signup">
|
||||
<value xml:lang="ko"><![CDATA[회원 가입]]></value>
|
||||
<value xml:lang="ko"><![CDATA[회원가입]]></value>
|
||||
<value xml:lang="en"><![CDATA[Sign Up]]></value>
|
||||
<value xml:lang="jp"><![CDATA[会員登録]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[新会员注册]]></value>
|
||||
|
|
@ -871,17 +911,20 @@
|
|||
<item name="cmd_modify_member_email_address">
|
||||
<value xml:lang="ko"><![CDATA[이메일 주소 변경]]></value>
|
||||
<value xml:lang="en"><![CDATA[Change Email Address]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[变更邮箱地址]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[變更電子郵件地址]]></value>
|
||||
</item>
|
||||
<item name="about_modify_member_email_address">
|
||||
<value xml:lang="ko"><![CDATA[사용하시는 이메일 주소를 변경할 수 있습니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[사용하는 이메일 주소를 변경할 수 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You could change Email Address.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[可以变更正在使用的邮箱地址]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[可變更電子郵件地址]]></value>
|
||||
</item>
|
||||
<item name="cmd_modify_member_info">
|
||||
<value xml:lang="ko"><![CDATA[회원정보 변경]]></value>
|
||||
<value xml:lang="en"><![CDATA[Change Member Info]]></value>
|
||||
<value xml:lang="jp"><![CDATA[会員番号変更]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[修改会员资料]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[變更會員資料]]></value>
|
||||
</item>
|
||||
<item name="cmd_modify_member_password">
|
||||
|
|
@ -921,7 +964,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Từ bỏ]]></value>
|
||||
</item>
|
||||
<item name="cmd_find_member_account">
|
||||
<value xml:lang="ko"><![CDATA[아이디/비밀번호 찾기]]></value>
|
||||
<value xml:lang="ko"><![CDATA[ID/PW 찾기]]></value>
|
||||
<value xml:lang="en"><![CDATA[Find Account Info]]></value>
|
||||
<value xml:lang="jp"><![CDATA[IDとパスワードのリマインダー]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[查找用户名/密码]]></value>
|
||||
|
|
@ -934,13 +977,15 @@
|
|||
<item name="cmd_find_member_account_with_email">
|
||||
<value xml:lang="ko"><![CDATA[이메일 주소로 계정 찾기]]></value>
|
||||
<value xml:lang="en"><![CDATA[Find Account with Email address]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[使用邮箱地址找回用户名/密码]]></value>
|
||||
</item>
|
||||
<item name="cmd_find_member_account_with_email_question">
|
||||
<value xml:lang="ko"><![CDATA[질문/답변으로 계정 찾기]]></value>
|
||||
<value xml:lang="en"><![CDATA[Find Account with Q&A]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[使用问答题找回用户名/密码]]></value>
|
||||
</item>
|
||||
<item name="cmd_resend_auth_mail">
|
||||
<value xml:lang="ko"><![CDATA[인증 메일 재발송]]></value>
|
||||
<value xml:lang="ko"><![CDATA[인증메일 재발송]]></value>
|
||||
<value xml:lang="en"><![CDATA[Request for Activation Mail]]></value>
|
||||
<value xml:lang="jp"><![CDATA[認証メール再申請]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[重新发送认证邮件]]></value>
|
||||
|
|
@ -951,6 +996,7 @@
|
|||
</item>
|
||||
<item name="cmd_send_auth_new_emaill_address">
|
||||
<value xml:lang="ko"><![CDATA[신규 메일 주소로 인증 메일 발송]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[使用新邮箱地址发送认证邮件]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[發送新的電子認證郵件]]></value>
|
||||
<value xml:lang="en"><![CDATA[Request for activation mail to new email]]></value>
|
||||
</item>
|
||||
|
|
@ -1017,6 +1063,7 @@
|
|||
<item name="cmd_manage_nick_name">
|
||||
<value xml:lang="ko"><![CDATA[금지 닉네임 관리]]></value>
|
||||
<value xml:lang="en"><![CDATA[Prohibited NickNames]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[管理禁止昵称]]></value>
|
||||
</item>
|
||||
<item name="cmd_manage_form">
|
||||
<value xml:lang="ko"><![CDATA[가입 폼 관리]]></value>
|
||||
|
|
@ -1165,10 +1212,9 @@
|
|||
<value xml:lang="fr"><![CDATA[Information de compte]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Информация аккаунта]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Hesap Bilgisi]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Thông tin đăng kí tại Website http;//4all.kr]]></value>
|
||||
</item>
|
||||
<item name="msg_find_account_info">
|
||||
<value xml:lang="ko"><![CDATA[요청하신 계정 정보는 아래와 같습니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[요청한 계정 정보는 아래와 같습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[This is requested account info.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[登録された会員情報は下記の通りです。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[您要查找的注册信息如下。]]></value>
|
||||
|
|
@ -1180,7 +1226,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Thông tin tài khoản.]]></value>
|
||||
</item>
|
||||
<item name="msg_find_account_comment">
|
||||
<value xml:lang="ko"><![CDATA[아래 링크를 클릭하시면 위에 적힌 비밀번호로 바뀌게 됩니다.<br />로그인 하신 후 비밀번호를 바꾸어주세요.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[아래 링크를 클릭하면 위에 적힌 비밀번호로 바뀌게 됩니다.<br />로그인 한 후 비밀번호를 바꾸어주세요.]]></value>
|
||||
<value xml:lang="en"><![CDATA[The password will be modified as the one above as you click the link below.<br />Please modify the password after login.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[下のリンクをクリックすると上のパスワードに変更されます。<br />ログインしてからパスワードを変更してください。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[点击下面的链接您的注册密码将更新为上述的系统自动生成密码。<br />请重新登录后把密码改为您所熟悉的密码。]]></value>
|
||||
|
|
@ -1201,26 +1247,25 @@
|
|||
<value xml:lang="ru"><![CDATA[Письмо, подтверждающее регистрацию]]></value>
|
||||
<value xml:lang="es"><![CDATA[가입 인증 메일입니다]]></value>
|
||||
<value xml:lang="tr"><![CDATA[XE Hesap Etkinleştirmesi]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Thông tin đăng kí thành viên tại Website http://4all.kr]]></value>
|
||||
</item>
|
||||
<item name="title_modify_email_address">
|
||||
<value xml:lang="ko"><![CDATA[이메일주소 변경 요청 확인 메일입니다.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[请求变更邮箱地址的确认邮件]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[電子郵件變更確認信]]></value>
|
||||
</item>
|
||||
<item name="msg_confirm_account_info">
|
||||
<value xml:lang="ko"><![CDATA[가입하신 계정 정보는 아래와 같습니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[가입한 계정 정보는 아래와 같습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[This is your account information:]]></value>
|
||||
<value xml:lang="jp"><![CDATA[作成した会員の情報]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[您的注册信息如下:]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[您的註冊資料如下:]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Voilà votre Information de l'inscription du Compte:]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Информация аккаунта при регистрации]]></value>
|
||||
<value xml:lang="es"><![CDATA[가입하신 계정 정보는 아래와 같습니다]]></value>
|
||||
<value xml:lang="es"><![CDATA[가입한 계정 정보는 아래와 같습니다]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Hesap Bilginiz:]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Đây là thông tin bạn đã đăng kí tại Website http://4all.kr:]]></value>
|
||||
</item>
|
||||
<item name="msg_confirm_account_comment">
|
||||
<value xml:lang="ko"><![CDATA[아래 링크를 클릭하시면 가입 인증이 이루어집니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[아래 링크를 클릭하면 가입 인증이 이루어집니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Click on the following link to complete your account activation.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[下記のURLをクリックして会員登録手続きを完了してください。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[请点击下面链接完成会员认证。]]></value>
|
||||
|
|
@ -1231,7 +1276,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Bấm vào đường Link này để hoàn tất việc đăng kí.]]></value>
|
||||
</item>
|
||||
<item name="msg_confirm_email_address_change">
|
||||
<value xml:lang="ko"><![CDATA[아래 링크를 클릭하시면 이메일 주소가 %s으로 변경됩니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[아래 링크를 클릭하면 이메일 주소가 %s으로 변경됩니다.]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[請按底下連結將電子郵件變更為 %s]]></value>
|
||||
</item>
|
||||
<item name="msg_auth_mail_sent">
|
||||
|
|
@ -1258,23 +1303,24 @@
|
|||
<value xml:lang="vi"><![CDATA[Chúng tôi đã gửi Email xác nhận đến %s. Xin vui lòng bấm vào Link đi kèm trong Email để hoàn tất việc đăng kí!]]></value>
|
||||
</item>
|
||||
<item name="msg_invalid_modify_email_auth_key">
|
||||
<value xml:lang="ko"><![CDATA[잘못된 이메일 변경 요청입니다.<br />이메일 변경요청을 다시 하시거나 사이트 관리자에게 문의해주세요.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[잘못된 이메일 변경 요청입니다.<br />이메일 변경요청을 다시 하거나 사이트 관리자에게 문의해주세요.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[无效的邮箱比昂更请求。<br />要想变更邮箱地址,请询问网站管理员。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[無效的電子郵件變更請求。<br />要想變更電子郵件,請詢問網站管理員。]]></value>
|
||||
</item>
|
||||
<item name="msg_invalid_auth_key">
|
||||
<value xml:lang="ko"><![CDATA[잘못된 계정 인증 요청입니다.<br />아이디/비밀번호 찾기를 다시 하시거나 사이트 관리자에게 계정 정보를 문의해주세요.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[잘못된 계정 인증 요청입니다.<br />아이디/비밀번호 찾기를 다시 하거나 사이트 관리자에게 계정 정보를 문의해주세요.]]></value>
|
||||
<value xml:lang="en"><![CDATA[This is an invalid request of verification.<br />Please retry finding account info or contact the administrator.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[正しくないアカウントの認証要求です。<br />IDとパスワードの検索を行うか、サイト管理者にアカウント情報をお問い合わせください。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[错误的注册信息请求。<br />请重新查找用户名及密码, 或联系管理员。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[錯誤的認證請求。<br />請重新尋找帳號及密碼,或聯繫管理員。]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Cette Requête à Certifier est invalide.<br />Essayez encore une fois à retrouver votre information de compte ou contactez l'administrateur.]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Неверный запрос на авторизацию.<br />Пожалуйста, попытайтеть найти информацию аккаунта или свяжитесь с администратором.]]></value>
|
||||
<value xml:lang="es"><![CDATA[잘못된 계정 인증 요청입니다.<br />아이디/비밀번호 찾기를 다시 하시거나 사이트 관리자에게 계정 정보를 문의해주세요]]></value>
|
||||
<value xml:lang="es"><![CDATA[잘못된 계정 인증 요청입니다.<br />아이디/비밀번호 찾기를 다시 하거나 사이트 관리자에게 계정 정보를 문의해주세요]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Geçersiz doğrulama talebi.<br />Lütfen hesap bilgisini tekrar bulmayı deneyin ya da yöneticilerle iletişime geçin.]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Xác nhận không hợp lệ.<br />Xin vui lòng kiểm tra lại hoặc liên hệ với Webmaster để được hỗ trợ!]]></value>
|
||||
</item>
|
||||
<item name="msg_success_authed">
|
||||
<value xml:lang="ko"><![CDATA[인증이 정상적으로 되어 로그인 되었습니다.\n꼭 인증 메일에 표시된 비밀번호를 이용하여 원하시는 비밀번호로 변경하세요.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[인증이 정상적으로 되어 로그인 되었습니다.\n꼭 인증 메일에 표시된 비밀번호를 이용하여 원하는 비밀번호로 변경하세요.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Your account has been successfully activated and logged on.\n Please modify the password to your own one with the password in the mail.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[認証が正常に行われ、ログインできました。\n必ず確認メールに記載されたパスワードを利用してお好みのパスワードに変更してください。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[新的注册信息已得到认证。请用邮件中的新密码修改您要想使用的密码。]]></value>
|
||||
|
|
@ -1311,10 +1357,11 @@
|
|||
<item name="msg_rechecked_password">
|
||||
<value xml:lang="ko"><![CDATA[비밀번호 재확인]]></value>
|
||||
<value xml:lang="en"><![CDATA[Re-checked password]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[再次确认密码]]></value>
|
||||
</item>
|
||||
<item name="msg_update_member">
|
||||
<value xml:lang="ko"><![CDATA[회원 정보 수정]]></value>
|
||||
<value xml:lang="en"><![CDATA[Modify User Info]]></value>
|
||||
<value xml:lang="ko"><![CDATA[회원정보 조회/수정]]></value>
|
||||
<value xml:lang="en"><![CDATA[Inquiry/Modify User Info]]></value>
|
||||
<value xml:lang="jp"><![CDATA[会員情報修正]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[修改会员信息]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[修改會員資料]]></value>
|
||||
|
|
@ -1421,7 +1468,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Nickname này đã có người sử dụng. Xin vui lòng thử lại với Nickname khác!]]></value>
|
||||
</item>
|
||||
<item name="msg_signup_disabled">
|
||||
<value xml:lang="ko"><![CDATA[회원 가입을 하실 수 없습니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[회원 가입할 수 없습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You are not able to sign up]]></value>
|
||||
<value xml:lang="jp"><![CDATA[会員登録が制限されています。<br />サイト管理者にお問合せください。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[不能注册会员]]></value>
|
||||
|
|
@ -1433,7 +1480,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Bạn không thể đăng kí.]]></value>
|
||||
</item>
|
||||
<item name="msg_already_logged">
|
||||
<value xml:lang="ko"><![CDATA[이미 회원 가입을 하신 상태입니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[이미 회원 가입을 한 상태입니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You have already signed up.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[既に会員登録されています。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[您是注册会员。]]></value>
|
||||
|
|
@ -1445,7 +1492,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Bạn đã đăng kí rồi.]]></value>
|
||||
</item>
|
||||
<item name="msg_not_logged">
|
||||
<value xml:lang="ko"><![CDATA[로그인을 하지 않으셨습니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[로그인을 하지 않았습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Please sign in first.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ログインしていません。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[您还没有登录。]]></value>
|
||||
|
|
@ -1527,7 +1574,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Hình thay thế nhóm đã không được gửi]]></value>
|
||||
</item>
|
||||
<item name="msg_accept_agreement">
|
||||
<value xml:lang="ko"><![CDATA[약관에 동의하셔야 합니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[약관에 동의해야 합니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You have to accept the agreement.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[利用規約に同意しなければなりません。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[您必须同意条款。]]></value>
|
||||
|
|
@ -1539,7 +1586,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Bạn phải đồng ý với điều khoản sử dụng của chúng tôi.]]></value>
|
||||
</item>
|
||||
<item name="msg_user_denied">
|
||||
<value xml:lang="ko"><![CDATA[입력하신 아이디의 사용이 중지 되었습니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[입력한 아이디의 사용이 중지 되었습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You have entered a prohibited ID.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[利用が中止されているユーザIDです。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[您输入的用户名已禁止使用!]]></value>
|
||||
|
|
@ -1563,7 +1610,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Bạn chưa xác nhận việc đăng kí. Xin vui lòng kiểm tra Email!]]></value>
|
||||
</item>
|
||||
<item name="msg_user_limited">
|
||||
<value xml:lang="ko"><![CDATA[입력하신 아이디는 %s 이후부터 사용하실 수 있습니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[입력한 아이디는 %s 이후부터 사용할 수 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You have entered an ID that can be used after %s]]></value>
|
||||
<value xml:lang="jp"><![CDATA[入力したユーザーIDは%s以降から使用できます。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[您输入的用户名%s以后才可以开始使用。]]></value>
|
||||
|
|
@ -1577,6 +1624,7 @@
|
|||
<item name="about_rechecked_password">
|
||||
<value xml:lang="ko"><![CDATA[회원의 정보를 안전하게 보호하기 위해 비밀번호를 다시 한번 확인 합니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Confirm your password before editing account information.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[为了会员资料的安全保护,再次确认密码。]]></value>
|
||||
</item>
|
||||
<item name="about_user_id">
|
||||
<value xml:lang="ko"><![CDATA[회원 ID는 3~20자 사이의 영문+숫자로 이루어져야 하며 영문으로 시작해야 합니다.]]></value>
|
||||
|
|
@ -1735,7 +1783,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Một tên sử dụng có thể tham gia nhiều nhóm]]></value>
|
||||
</item>
|
||||
<item name="about_column_type">
|
||||
<value xml:lang="ko"><![CDATA[추가하실 가입 폼의 형식을 지정해주세요.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[추가할 가입 폼의 형식을 지정해주세요.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Please set the format of additional signup form.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[追加する登録フォームのタイプを指定してください。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[请选择要添加的注册表单格式。]]></value>
|
||||
|
|
@ -1771,7 +1819,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Sẽ được hiển thị khi đăng kí, sửa đổi hay xem thông tin thành viên.]]></value>
|
||||
</item>
|
||||
<item name="about_default_value">
|
||||
<value xml:lang="ko"><![CDATA[기본으로 입력될 값을 정하실 수 있습니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[기본으로 입력될 값을 정할 수 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You can set the values to enter by default.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[デフォルトで入力される値を指定することができます。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[可以设置缺省值。]]></value>
|
||||
|
|
@ -1783,7 +1831,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Bạn có thể đặt giá trị mặc định.]]></value>
|
||||
</item>
|
||||
<item name="about_active">
|
||||
<value xml:lang="ko"><![CDATA[활성 항목에 체크를 하셔야 가입시 정상적으로 노출됩니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[활성 항목에 체크를 해야 가입시 정상적으로 노출됩니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You have to check on active items to show on signup form.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[有効項目にチェックを入れないと加入時に正常に表示されません。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[必须选择此项后才可以正常启用。]]></value>
|
||||
|
|
@ -1795,7 +1843,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Nếu chọn, thông tin này sẽ được hiển thị trong bảng đăng kí.]]></value>
|
||||
</item>
|
||||
<item name="about_form_description">
|
||||
<value xml:lang="ko"><![CDATA[설명란에 입력을 하시면 가입시 표시가 됩니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[설명란에 입력을 하면 가입시 표시가 됩니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[If you enter description in this form, it will be displayed on join form.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[説明欄に入力すると登録時に表示されます。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[说明栏里输入的内容,注册时将会显示。]]></value>
|
||||
|
|
@ -1807,7 +1855,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Nếu bạn nhập mô tả, nó sẽ được hiển thị trong bảng đăng kí.]]></value>
|
||||
</item>
|
||||
<item name="about_required">
|
||||
<value xml:lang="ko"><![CDATA[체크하시면 회원가입시 필수항목으로 입력하도록 됩니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[체크하면 회원가입시 필수항목으로 입력하도록 됩니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Check this to make it mandatory item when signing up.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[チェックを入れると会員登録時に必須入力項目として設定されます。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[注册时成为必填项目。]]></value>
|
||||
|
|
@ -1831,7 +1879,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Cho phép thành viên đăng kí.]]></value>
|
||||
</item>
|
||||
<item name="about_enable_confirm">
|
||||
<value xml:lang="ko"><![CDATA[입력된 메일 주소로 인증 메일을 보내 회원 가입을 확인합니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[입력된 메일 주소로 인증 메일을 보내 회원 가입을 확인합니다. 가입자가 인증메일을 통해 인증절차를 완료해야만 정상적으로 로그인이 가능해집니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Please check if you want new members to activate their accounts via their emails.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[登録されたメールアドレスに確認メールを送信し、会員登録を確認します。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[为激活会员注册信息,将向会员输入的邮件地址发送注册认证邮件。]]></value>
|
||||
|
|
@ -1878,7 +1926,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Thành viên không thể đăng nhập nếu quá hạn xác nhận đăng kí.]]></value>
|
||||
</item>
|
||||
<item name="about_after_login_url">
|
||||
<value xml:lang="ko"><![CDATA[로그인 후 이동할 URL을 정하실 수 있습니다. 비어 있으면 해당 페이지가 유지됩니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[로그인 후 이동할 URL을 정할 수 있습니다. 입력 URL이 없는 경우 해당 페이지가 유지됩니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You can set a URL after login. Blank means the current page.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ログイン後表示されるページのURLを指定できます。指定のない場合、現在のページが維持されます。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[可以指定登录后的页面转向url(留空为当前页面)。]]></value>
|
||||
|
|
@ -1889,7 +1937,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Bạn có thể thiết đặt địa chỉ nào đó sẽ hiển thị sau khi đăng nhập. Để trống nếu không sử dụng.]]></value>
|
||||
</item>
|
||||
<item name="about_after_logout_url">
|
||||
<value xml:lang="ko"><![CDATA[로그아웃 후 이동할 URL을 정하실 수 있습니다. 비어 있으면 해당 페이지가 유지됩니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[로그아웃 후 이동할 URL을 정할 수 있습니다. 입력 URL이 없는 경우 해당 페이지가 유지됩니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You can set a URL after logout. Blank means the current page.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ログアウト後表示されるページのURLを指定できます。指定のない場合、現在のページが維持されます。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[可以指定退出登录后的页面转向url(留空为当前页面)。]]></value>
|
||||
|
|
@ -1900,8 +1948,8 @@
|
|||
<value xml:lang="vi"><![CDATA[Bạn có thể thiết đặt địa chỉ nào đó sẽ hiển thị sau khi thoát. Để trống nếu không sử dụng.]]></value>
|
||||
</item>
|
||||
<item name="about_redirect_url">
|
||||
<value xml:lang="ko"><![CDATA[회원 가입 후 이동할 url을 입력해 주세요. 비어 있으면 가입 이전 페이지로 돌아갑니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Please enter a URL where users will go after sign up. When this is empty, it will be set as the previous page of the sign up page.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[회원 가입 후 이동할 페이지를 선택해 주세요. 선택된 페이지가 없는 경우 이전 페이지로 돌아갑니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Please select a page where users will go after sign up. When this is empty, it will be set as the previous page of the sign up page.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[会員登録後、表示されるページのURLを指定できます。指定のない場合は会員登録する前のページに戻ります。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[请输入注册会员后的页面转向 url。(留空为返回前页)]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[請輸入會員註冊後的頁面轉向網址。(留空為返回前頁)]]></value>
|
||||
|
|
@ -2004,43 +2052,21 @@
|
|||
<value xml:lang="vi"><![CDATA[Sẽ là nhóm mặc định khi thành viên đăng kí.]]></value>
|
||||
</item>
|
||||
<item name="about_find_member_account">
|
||||
<value xml:lang="ko"><![CDATA[아이디/ 비밀번호는 가입시 등록한 메일 주소로 알려드립니다.<br />가입할 때 등록하신 메일 주소를 입력하시고 "아이디/비밀번호 찾기" 버튼을 클릭해주세요.<br />]]></value>
|
||||
<value xml:lang="ko"><![CDATA[아이디/비밀번호는 가입시 등록한 메일 주소로 알려드립니다. 가입할 때 등록한 메일 주소를 입력하고 "ID/PW 찾기" 버튼을 클릭해주세요.<br />]]></value>
|
||||
<value xml:lang="en"><![CDATA[lease input the email address you have entered during the registration and we will send your account info to this email address.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ID/パスワードは登録時に登録されたメールにてお知らせします。<br />登録時に登録したメールアドレスを入力して「IDとパスワードのリマインダー」ボタンをクリックしてください。<br />]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[用户名/密码将发送到您注册时所输入的电子邮件当中。<br />输入注册时的电子邮件地址后,请点击“查找用户名/密码”按钮。<br />]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[帳號/密碼將發送到您註冊時,所輸入的電子郵件當中。<br />輸入註冊時的電子郵件地址後,請按「查詢帳號/密碼」按鈕。<br />]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Your account info will be noticed by registered email address.<br />Please input email address which you have input on registration, and press "Find Account Info" button.<br />]]></value>
|
||||
<value xml:lang="ru"><![CDATA[ID и пароль при регистрации будут посланы Вам по имейл адресу.<br /> Введите имейл адрес, указанный при регистрации и кликните на кнопку "Поиск ID/пароль".<br />]]></value>
|
||||
<value xml:lang="es"><![CDATA[Su información de la cuenta será observado por dirección de correo electrónico registrada. <br /> Introduce la dirección de correo electrónico que usted tiene de entrada en el registro, y pulse "Buscar" Información de la cuenta ". <br />]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Hesap bilginiz, kayıt olduğunuz e-posta adresine gönderilecektir.<br />Kayıt esnasında kullandığınız e-posta adresini giriniz ve "Hesap Bilgisini Bul" tuşuna basınız.<br />]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Thông tin tài khoản của bạn sẽ được tìm thấy với Email bạn đã đăng kí.<br />Xin vui lòng nhập Email mà bạn đã đăng kí và bấm "Lấy lại thông tin" để nhận được thông tin đăng nhập!.<br />]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ID/パスワードは登録時に登録されたメールにてお知らせします。登録時に登録したメールアドレスを入力して「IDとパスワードのリマインダー」ボタンをクリックしてください。<br />]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[用户名/密码将发送到您注册时所输入的电子邮件当中。输入注册时的电子邮件地址后,请点击“查找用户名/密码”按钮。<br />]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[帳號/密碼將發送到您註冊時,所輸入的電子郵件當中。輸入註冊時的電子郵件地址後,請按「查詢帳號/密碼」按鈕。<br />]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Your account info will be noticed by registered email address. Please input email address which you have input on registration, and press "Find Account Info" button.<br />]]></value>
|
||||
<value xml:lang="ru"><![CDATA[ID и пароль при регистрации будут посланы Вам по имейл адресу. Введите имейл адрес, указанный при регистрации и кликните на кнопку "Поиск ID/пароль".<br />]]></value>
|
||||
<value xml:lang="es"><![CDATA[Su información de la cuenta será observado por dirección de correo electrónico registrada. Introduce la dirección de correo electrónico que usted tiene de entrada en el registro, y pulse "Buscar" Información de la cuenta ". <br />]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Hesap bilginiz, kayıt olduğunuz e-posta adresine gönderilecektir. Kayıt esnasında kullandığınız e-posta adresini giriniz ve "Hesap Bilgisini Bul" tuşuna basınız.<br />]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Thông tin tài khoản của bạn sẽ được tìm thấy với Email bạn đã đăng kí. Xin vui lòng nhập Email mà bạn đã đăng kí và bấm "Lấy lại thông tin" để nhận được thông tin đăng nhập!.<br />]]></value>
|
||||
</item>
|
||||
<item name="about_temp_password">
|
||||
<value xml:lang="ko"><![CDATA[임시 비밀번호가 정상적으로 발급되었습니다.<br />로그인 후 반드시 비밀번호를 변경하시기 바랍니다.<br/>]]></value>
|
||||
<value xml:lang="ko"><![CDATA[임시 비밀번호가 정상적으로 발급되었습니다.<br />로그인 후 반드시 비밀번호를 변경하세요.<br/>]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[已發送臨時密碼。<br />請登入後修改密碼。<br/>]]></value>
|
||||
</item>
|
||||
<item name="about_member">
|
||||
<value xml:lang="ko"><![CDATA[회원을 생성/수정/삭제 할 수 있고 그룹관리나 가입 폼 관리 등을 할 수 있는 회원 관리 모듈입니다.
|
||||
기본으로 생성된 그룹외의 그룹을 생성하여 회원 관리가 가능하고 가입 폼 관리를 통한 기본 정보외의 추가 정보를 요구할 수도 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Member module will help you create, modify and remove members and manage groups or the sign up form.
|
||||
You can add a custom group to manage members, and also get additional information by modifying the sign up form.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[会員の作成・修正・削除することができ、グループの管理、登録フォームの管理などが行える会員管理モジュールです。
|
||||
デフォルトで作成されたグループにグループを追加作成して会員管理ができるようにし、会員登録フォーム管理では基本情報の他、フォームの入力情報を追加することができます。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[可以添加/修改/删除会员及管理用户组或注册表单的会员管理模块。
|
||||
此模块不仅可以生成缺省用户组以外的其他用户组来管理会员,并且通过注册表单的管理获得除会员基本信息以外的扩展信息。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[可以新增/修改/刪除會員及管理群組或註冊表單的會員管理模組。
|
||||
此模組不僅可以建立預設群組以外的其他群組來管理會員,並且通過註冊表單的管理獲得會員基本資料以外的延伸資料。]]></value>
|
||||
<value xml:lang="fr"><![CDATA[C'est le module pour administrer des membres avec lequel vous pouvez créer/modifier/supprimer des membres ou administrer les groupes et la formule d'inscription.
|
||||
Vous pouvez administrer membres par création un nouveau groupe, ou gagner les informations additionnelles par l'administration la formule d'inscrioption.]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Этот модуль служит для создания/изменения/удаления пользователей, управления их группами и формой регистрации.
|
||||
Вы можете управлять пользователями посредством создания новых групп, и получить дополнительную информацию, управляя формой регистрации]]></value>
|
||||
<value xml:lang="es"><![CDATA[Esto es un módulo para crear/modificar/eliminar usuarios y manejar grupos o el formato del registro.
|
||||
Usted puede manejar usuarios creando nuevos grupos, y obtener información adicional manejando el formato del registro]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Üye modülü size; üyeleri oluşturmada, düzenlemede, silmede ve kayıt formunu ya da grupları düzenlemede yardımcı olur.
|
||||
Üyeleri yönetmek için özel gruplar ekleyebilir ve aynı zamanda kayıt formunu değiştirerek üyeler hakkında ek bilgi alabilirsiniz.]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Chức năng của Module này sẽ cho phép bạn tạo, sửa, xóa thành viên và quản lý nhóm hay Form đăng kí.
|
||||
Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới, và thêm những thông tin trong Form đăng kí.]]></value>
|
||||
</item>
|
||||
<item name="about_ssl_port">
|
||||
<value xml:lang="ko"><![CDATA[기본 포트 이외의 보안접속(SSL) 포트를 사용하는 경우 포트번호를 입력해주세요.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Please enter if you are using non-default SSL port]]></value>
|
||||
|
|
@ -2053,10 +2079,10 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="vi"><![CDATA[Xin hãy nhập cổng kết nối mặc định cho SSL.]]></value>
|
||||
</item>
|
||||
<item name="about_reset_auth_mail">
|
||||
<value xml:lang="ko"><![CDATA[현재등록된 이메일 주소는 %s입니다. 이메일 주소를 변경하시고자 하는 경우 새로운 이메일 주소로 회원정보 갱신 후 인증메일을 재발 송할 수 있습니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[현재등록된 이메일 주소는 %s입니다. 이메일 주소를 변경하고자 하는 경우 새로운 이메일 주소로 회원정보 갱신 후 인증메일을 재발 송할 수 있습니다.]]></value>
|
||||
</item>
|
||||
<item name="about_resend_auth_mail">
|
||||
<value xml:lang="ko"><![CDATA[인증 메일을 받지 못하신 경우 다시 받으실 수 있습니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[인증 메일을 받지 못한 경우 다시 받을 수 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You can request for the activation email if you have not activated yet.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[認証メールが届いてなかった場合、再送信の申請が可能です。<br />※申請の前に、当サイトからメールの受信ができるように設定してください。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[没有收到认证邮件时,可以在此重新发送认证邮件。]]></value>
|
||||
|
|
@ -2069,11 +2095,13 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
</item>
|
||||
<item name="about_reset_auth_mail_submit">
|
||||
<value xml:lang="ko"><![CDATA[이메일을 로그인 계정으로 사용할 경우 신규 메일주소로 로그인해야 합니다.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[使用邮箱地址登陆时必须用新邮箱地址登陆。]]></value>
|
||||
</item>
|
||||
<item name="no_article">
|
||||
<value xml:lang="ko"><![CDATA[글이 없습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[No articles]]></value>
|
||||
<value xml:lang="jp"><![CDATA[書き込みがありません。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[没有文章]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[主題不存在]]></value>
|
||||
<value xml:lang="fr"><![CDATA[There exists no article]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Записей нет]]></value>
|
||||
|
|
@ -2084,12 +2112,14 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="ko"><![CDATA[비밀번호 찾기 질문/답변]]></value>
|
||||
<value xml:lang="en"><![CDATA[Question for a temporary password.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[秘密質問]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[密码提示问答]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[密碼提示問答]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Geçici şifre sorusu]]></value>
|
||||
</item>
|
||||
<item name="find_account_answer">
|
||||
<value xml:lang="ko"><![CDATA[비밀번호 찾기 답변]]></value>
|
||||
<value xml:lang="en"><![CDATA[Answer for a temporary password.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[忘记密码提示]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[忘記密碼提示]]></value>
|
||||
<value xml:lang="jp"><![CDATA[秘密質問の答え]]></value>
|
||||
</item>
|
||||
|
|
@ -2098,6 +2128,7 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="en"><![CDATA[You can get a temporary password by your ID, email address, and the answer for the question you have set.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[登録した時、入力したIDとメールアドレス、秘密質問の答えで仮のパスワードをもらえる事ができます。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[可透過帳號、電子郵件和設定提示問答來獲得臨時密碼。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[可用用户名,邮箱地址,密码提示问答取得临时密码。]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Kimliğinize, mail adresinize ya da cevapladığınız soruya göre geçici şifre edinebilirsiniz.]]></value>
|
||||
</item>
|
||||
<item name="find_account_question_items" type="array">
|
||||
|
|
@ -2109,6 +2140,7 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="en"><![CDATA[What is your alternate email address?]]></value>
|
||||
<value xml:lang="jp"><![CDATA[他のメールアドレスは?]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[其他電子郵件?]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[其他电子邮件地址?]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Diğer e-posta adresiniz nedir?]]></value>
|
||||
</item>
|
||||
<item name="2">
|
||||
|
|
@ -2116,6 +2148,7 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="en"><![CDATA[What is your favorite thing?]]></value>
|
||||
<value xml:lang="jp"><![CDATA[私の一番大事なものは?]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[我最愛的是?]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[我最喜欢的宝物是?]]></value>
|
||||
<value xml:lang="tr"><![CDATA[En sevdiğiniz şey?]]></value>
|
||||
</item>
|
||||
<item name="3">
|
||||
|
|
@ -2123,6 +2156,7 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="en"><![CDATA[Which elementary school did you attend?]]></value>
|
||||
<value xml:lang="jp"><![CDATA[私の卒業した小学校は?]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[我讀的國小是?]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[我念过的小学是?]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Mezun olduğunuz ilkokul?]]></value>
|
||||
</item>
|
||||
<item name="4">
|
||||
|
|
@ -2130,6 +2164,7 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="en"><![CDATA[Where is your hometown?]]></value>
|
||||
<value xml:lang="jp"><![CDATA[私の生まれた街は?]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[我的出生地?]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[我的出生地?]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Memleketiniz neresi?]]></value>
|
||||
</item>
|
||||
<item name="5">
|
||||
|
|
@ -2137,6 +2172,7 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="en"><![CDATA[What is your ideal match?]]></value>
|
||||
<value xml:lang="jp"><![CDATA[私の理想のタイプは?]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[我的理想?]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[我理想的异性类型是?]]></value>
|
||||
<value xml:lang="tr"><![CDATA[İdeal eşiniz nasıl olmalı?]]></value>
|
||||
</item>
|
||||
<item name="6">
|
||||
|
|
@ -2144,6 +2180,7 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="en"><![CDATA[What is your mother's name?]]></value>
|
||||
<value xml:lang="jp"><![CDATA[母の名前は?]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[母親的姓名?]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[母亲的姓名?]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Annenizin adı?]]></value>
|
||||
</item>
|
||||
<item name="7">
|
||||
|
|
@ -2151,6 +2188,7 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="en"><![CDATA[What is your father's name?]]></value>
|
||||
<value xml:lang="jp"><![CDATA[父の名前は?]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[父親的姓名?]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[父亲的姓名?]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Babanızın adı?]]></value>
|
||||
</item>
|
||||
<item name="8">
|
||||
|
|
@ -2158,6 +2196,7 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="en"><![CDATA[What is your favorite color?]]></value>
|
||||
<value xml:lang="jp"><![CDATA[好きな色は?]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[最喜歡的顏色?]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[喜欢的颜色?]]></value>
|
||||
<value xml:lang="tr"><![CDATA[En sevdiğiniz renk?]]></value>
|
||||
</item>
|
||||
<item name="9">
|
||||
|
|
@ -2165,6 +2204,7 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="en"><![CDATA[What is your favorite food?]]></value>
|
||||
<value xml:lang="jp"><![CDATA[好きな食べ物は?]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[最愛的食物是?]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[最喜欢的饮食?]]></value>
|
||||
<value xml:lang="tr"><![CDATA[En sevdiğiniz yemek?]]></value>
|
||||
</item>
|
||||
</item>
|
||||
|
|
@ -2173,6 +2213,7 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="en"><![CDATA[Temporary password]]></value>
|
||||
<value xml:lang="jp"><![CDATA[仮のパスワード]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[臨時密碼]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[临时密码]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Geçici şifre]]></value>
|
||||
</item>
|
||||
<item name="cmd_get_temp_password">
|
||||
|
|
@ -2180,6 +2221,7 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="en"><![CDATA[Get a temporary password]]></value>
|
||||
<value xml:lang="jp"><![CDATA[仮のパスワードをもらう]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[取得臨時密碼]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[取得临时密码]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Geçici bir şifre edin]]></value>
|
||||
</item>
|
||||
<item name="about_get_temp_password">
|
||||
|
|
@ -2187,6 +2229,7 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="en"><![CDATA[Change your password after you logged in.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ログインしてから直ちにパスワードを変更してください。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[請再登入後變更密碼。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[请登录后更改密码。]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Giriş yaptıktan sonra şifrenizi değiştirin.]]></value>
|
||||
</item>
|
||||
<item name="msg_question_not_exists">
|
||||
|
|
@ -2194,6 +2237,7 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="en"><![CDATA[You haven`t set your question for a temporary password.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[秘密質問を決めていません。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[尚未輸入提示問答]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[尚未输入提示问答]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Geçici şifre için güvenlik sorusunu belirlemediniz.]]></value>
|
||||
</item>
|
||||
<item name="msg_answer_not_matches">
|
||||
|
|
@ -2201,6 +2245,7 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="en"><![CDATA[Your answer for the question is not correct.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[秘密質問の答えが正しくありません。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[答案不正確]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[答案不正确]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Soru için verdiğiniz cevap doğru değil.]]></value>
|
||||
</item>
|
||||
<item name="change_password_date">
|
||||
|
|
@ -2208,6 +2253,7 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="en"><![CDATA[Password renewal cycle]]></value>
|
||||
<value xml:lang="jp"><![CDATA[パスワード更新周期]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[密碼更新]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[密码更新]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Şifre yenileme döngüsü]]></value>
|
||||
</item>
|
||||
<item name="about_change_password_date">
|
||||
|
|
@ -2215,23 +2261,28 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="en"><![CDATA[If you set a value to this, you will be notified to change your password periodically. (If set to 0, disabled)]]></value>
|
||||
<value xml:lang="jp"><![CDATA[設定した更新周期によってパスワード変更のお知らせがもらえます。(0に設定すると無効になる) ]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[可設定密碼更新週期,將會定期通知更換密碼。 (設為零則不使用)]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[可设定密码更新周期,将会定期通知更换密码。 (设为零则不适用)]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Eğer buna bir değer biçerseniz, şifrenizi belirli aralıklarla değiştirmeniz konusunda bildirim alacaksanız (eğer 0 olarak ayarlandıysa, devredışıdır)]]></value>
|
||||
</item>
|
||||
<item name="login_trial_limit1">
|
||||
<value xml:lang="ko"><![CDATA[로그인 시도 횟수 제한 횟수]]></value>
|
||||
<value xml:lang="en"><![CDATA[Sign in trial limit]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[限制试图登陆次数]]></value>
|
||||
</item>
|
||||
<item name="login_trial_limit2">
|
||||
<value xml:lang="ko"><![CDATA[로그인 시도 횟수 제한 시간]]></value>
|
||||
<value xml:lang="en"><![CDATA[Sign in trial limit]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[限制试图登录时间]]></value>
|
||||
</item>
|
||||
<item name="about_login_trial_limit1">
|
||||
<value xml:lang="ko"><![CDATA[정해진 시간 안에 허용되는 로그인 횟수를 입력하십시오. 짧은 시간 동안 하나의 아이피(IP)에서 시도할 수 있는 로그인 횟수에 제한을 둡니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Set the number of trial limit. Limit the number of trial to sign in from a IP address.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[请输入规定时间内尝试登录的次数,短时间内在一个IP尝试登录的次数]]></value>
|
||||
</item>
|
||||
<item name="about_login_trial_limit2">
|
||||
<value xml:lang="ko"><![CDATA[지정된 횟수의 로그인을 허용하는 시간을 정하십시오. 짧은 시간 동안 하나의 아이피(IP)에서 시도할 수 있는 로그인 횟수에 제한을 둡니다. 시간은 가장 마지막 로그인 시도의 시각으로부터의 시간을 기준으로 측정합니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Set the time limit to try the written times of sign in. Limit the number of trial to sign in during the span of time, from a IP address.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[请设置限制尝试登录的时间间隔]]></value>
|
||||
</item>
|
||||
<item name="msg_kr_address">
|
||||
<value xml:lang="ko"><![CDATA[읍, 면, 동 이름으로 검색하세요.]]></value>
|
||||
|
|
@ -2255,244 +2306,290 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<value xml:lang="en"><![CDATA[Please select a member to manage.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[管理する会員を選択してください。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[請選擇一位會員進行管理。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[选择需要管理的会员]]></value>
|
||||
</item>
|
||||
<item name="msg_delete_user">
|
||||
<value xml:lang="ko"><![CDATA[선택한 회원을 삭제합니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Delete the selected member.]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[刪除所選會員]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[删除所选会员]]></value>
|
||||
</item>
|
||||
<item name="cmd_selected_user_manage">
|
||||
<value xml:lang="ko"><![CDATA[선택한 회원 관리]]></value>
|
||||
<value xml:lang="en"><![CDATA[Manage selected memter]]></value>
|
||||
<value xml:lang="jp"><![CDATA[選択した会員管理]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[管理所選會員]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[管理所选会员]]></value>
|
||||
</item>
|
||||
<item name="about_change_user_group">
|
||||
<value xml:lang="ko"><![CDATA[선택한 회원의 그룹을 다시 설정.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Resets the selected group of memebers.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[選択した会員のグループを再設定する。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[重新設定所選會員群組]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[从新设定说选会员群组]]></value>
|
||||
</item>
|
||||
<item name="about_send_message">
|
||||
<value xml:lang="ko"><![CDATA[회원에게 쪽지를 발송해서 이 사실을 알립니다. 작성하지 않으면 발송하지 않습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Send a message to the member about this. If you don't write a message, it is not sent.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[会員にメッセージを送信して、知らせます。作成しなければ送信されません。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[向此會員發送通知信]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[给此会员发送短消息]]></value>
|
||||
</item>
|
||||
<item name="cmd_required">
|
||||
<value xml:lang="ko"><![CDATA[필수]]></value>
|
||||
<value xml:lang="en"><![CDATA[Required]]></value>
|
||||
<value xml:lang="jp"><![CDATA[必須]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[必填]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[必填]]></value>
|
||||
</item>
|
||||
<item name="cmd_optional">
|
||||
<value xml:lang="ko"><![CDATA[선택]]></value>
|
||||
<value xml:lang="en"><![CDATA[Optional]]></value>
|
||||
<value xml:lang="jp"><![CDATA[選択]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[選填]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[选填]]></value>
|
||||
</item>
|
||||
<item name="cmd_image_max_width">
|
||||
<value xml:lang="ko"><![CDATA[너비 제한]]></value>
|
||||
<value xml:lang="en"><![CDATA[Max Width]]></value>
|
||||
<value xml:lang="jp"><![CDATA[横幅制限]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[寬度限制]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[宽度限制]]></value>
|
||||
</item>
|
||||
<item name="cmd_image_max_height">
|
||||
<value xml:lang="ko"><![CDATA[높이 제한]]></value>
|
||||
<value xml:lang="en"><![CDATA[Max Height]]></value>
|
||||
<value xml:lang="jp"><![CDATA[高さ制限]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[高度限制]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[高度限制]]></value>
|
||||
</item>
|
||||
<item name="cmd_input_extend_form">
|
||||
<value xml:lang="ko"><![CDATA[회원 정의 입력]]></value>
|
||||
<value xml:lang="en"><![CDATA[User Defined Input]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[使用者自訂]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[使用者自定]]></value>
|
||||
</item>
|
||||
<item name="about_multi_type">
|
||||
<value xml:lang="ko"><![CDATA[다중 또는 단일 항목의 선택 값을 입력하세요.(줄 바꿈으로 구분)]]></value>
|
||||
<value xml:lang="en"><![CDATA[Enter the value of multi-or single-item selection.(separated by line breaks)]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[請輸入單個或多個項目值。(換行區隔)]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[请输入单个或多个项目值。(用换行区分)]]></value>
|
||||
</item>
|
||||
<item name="msg_delete_extend_form">
|
||||
<value xml:lang="ko"><![CDATA[선택한 항목을 삭제합니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Delete the selected item.]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[刪除所選項目]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[删除所选项目]]></value>
|
||||
</item>
|
||||
<item name="set_manage_id">
|
||||
<value xml:lang="ko"><![CDATA[줄 바꿈으로 구분]]></value>
|
||||
<value xml:lang="en"><![CDATA[Separated by line breaks.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[改行で区別]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[換行區隔]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[用换行区分]]></value>
|
||||
</item>
|
||||
<item name="count_manage_id">
|
||||
<value xml:lang="ko"><![CDATA[<span class="_deniedIDCount">%s</span>개의 금지 아이디가 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[There are <span class="_deniedIDCount">%s</span> prohibited ID.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[<span class="_deniedIDCount">%s</span>個の禁止IDがあります。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[已有 <span class="_deniedIDCount">%s</span> 個禁止帳號]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[已有 <span class="_deniedIDCount">%s</span>个禁止账号]]></value>
|
||||
</item>
|
||||
<item name="count_manage_nick_name">
|
||||
<value xml:lang="ko"><![CDATA[<span class="_deniedNickNameCount">%s</span>개의 금지 닉네임이 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[There are <span class="_deniedNickNameCount">%s</span> prohibited nick name.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[已有 <span class="_deniedIDCount">%s</span>个禁止昵称]]></value>
|
||||
</item>
|
||||
<item name="user_list">
|
||||
<value xml:lang="ko"><![CDATA[회원 목록]]></value>
|
||||
<value xml:lang="en"><![CDATA[Member List]]></value>
|
||||
<value xml:lang="jp"><![CDATA[会員リスト]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[會員列表]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[会员列表]]></value>
|
||||
</item>
|
||||
<item name="cmd_show_all_member">
|
||||
<value xml:lang="ko"><![CDATA[모든 회원]]></value>
|
||||
<value xml:lang="en"><![CDATA[All Member]]></value>
|
||||
<value xml:lang="jp"><![CDATA[すべての会員]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[所有會員]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[所有会员]]></value>
|
||||
</item>
|
||||
<item name="cmd_show_super_admin_member">
|
||||
<value xml:lang="ko"><![CDATA[최고 관리자]]></value>
|
||||
<value xml:lang="en"><![CDATA[Super Admin]]></value>
|
||||
<value xml:lang="jp"><![CDATA[最高管理者]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[最高管理員]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[最高管理员]]></value>
|
||||
</item>
|
||||
<item name="cmd_show_site_admin_member">
|
||||
<value xml:lang="ko"><![CDATA[사이트 관리자]]></value>
|
||||
<value xml:lang="en"><![CDATA[Site Admin]]></value>
|
||||
<value xml:lang="jp"><![CDATA[サイト管理者]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[網站管理員]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[网站管理员]]></value>
|
||||
</item>
|
||||
<item name="approval">
|
||||
<value xml:lang="ko"><![CDATA[승인]]></value>
|
||||
<value xml:lang="en"><![CDATA[Approval]]></value>
|
||||
<value xml:lang="jp"><![CDATA[承認]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[承認]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[承认]]></value>
|
||||
</item>
|
||||
<item name="denied">
|
||||
<value xml:lang="ko"><![CDATA[거부]]></value>
|
||||
<value xml:lang="en"><![CDATA[Denied]]></value>
|
||||
<value xml:lang="jp"><![CDATA[拒否]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[拒絕]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[拒绝]]></value>
|
||||
</item>
|
||||
<item name="use_group_image_mark">
|
||||
<value xml:lang="ko"><![CDATA[그룹 이미지 마크 사용]]></value>
|
||||
<value xml:lang="en"><![CDATA[Use group image mark]]></value>
|
||||
<value xml:lang="jp"><![CDATA[グループイメージマーク使用]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[使用群組圖標]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[使用群组图标]]></value>
|
||||
</item>
|
||||
<item name="group_image_mark">
|
||||
<value xml:lang="ko"><![CDATA[그룹 이미지 마크]]></value>
|
||||
<value xml:lang="en"><![CDATA[Group image mark]]></value>
|
||||
<value xml:lang="jp"><![CDATA[グループイメージマーク]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[群組圖標]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[群组图标]]></value>
|
||||
</item>
|
||||
<item name="usable_group_image_mark_list">
|
||||
<value xml:lang="ko"><![CDATA[사용가능한 그룹 이미지 마크 목록]]></value>
|
||||
<value xml:lang="en"><![CDATA[ Usable list of group image mark]]></value>
|
||||
<value xml:lang="jp"><![CDATA[使用可能なグループイメージマークリスト]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[可用群組圖標列表]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[使用群组图标列表]]></value>
|
||||
</item>
|
||||
<item name="add_group_image_mark">
|
||||
<value xml:lang="ko"><![CDATA[그룹 이미지 마크 추가]]></value>
|
||||
<value xml:lang="en"><![CDATA[Add group image mark]]></value>
|
||||
<value xml:lang="jp"><![CDATA[グループイメージマーク追加]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[新增群組圖標]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[新增群组图标]]></value>
|
||||
</item>
|
||||
<item name="link_file_box">
|
||||
<value xml:lang="ko"><![CDATA[파일박스 관리 바로가기...]]></value>
|
||||
<value xml:lang="en"><![CDATA[Go to Manage FileBox...]]></value>
|
||||
<value xml:lang="ko"><![CDATA[파일박스 관리 바로가기]]></value>
|
||||
<value xml:lang="en"><![CDATA[Go to Manage FileBox]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ファイルボックス管理]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[前往檔案盒]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[前往档案盒]]></value>
|
||||
</item>
|
||||
<item name="msg_group_delete">
|
||||
<value xml:lang="ko"><![CDATA[선택한 그룹을 삭제합니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Delete selected group.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[選択グループを削除します。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[刪除所選群組]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[删除多选群组]]></value>
|
||||
</item>
|
||||
<item name="email">
|
||||
<value xml:lang="ko"><![CDATA[이메일]]></value>
|
||||
<value xml:lang="en"><![CDATA[Email]]></value>
|
||||
<value xml:lang="jp"><![CDATA[メール]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[電子郵件]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[电子邮件]]></value>
|
||||
</item>
|
||||
<item name="add_prohibited_id">
|
||||
<value xml:lang="ko"><![CDATA[금지 아이디 추가]]></value>
|
||||
<value xml:lang="en"><![CDATA[Add prohibited id]]></value>
|
||||
<value xml:lang="jp"><![CDATA[禁止ID追加]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[新增禁止帳號]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[新增禁止账号]]></value>
|
||||
</item>
|
||||
<item name="multi_line_input">
|
||||
<value xml:lang="ko"><![CDATA[여러 항목은 줄을 바꾸어 입력하세요.]]></value>
|
||||
<value xml:lang="en"><![CDATA[To enter multiple entries, please change the line input.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[複数の項目は、改行して入力してください。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[多各项请换行]]></value>
|
||||
</item>
|
||||
<item name="add_extend_form">
|
||||
<value xml:lang="ko"><![CDATA[사용자 정의 항목 추가]]></value>
|
||||
<value xml:lang="en"><![CDATA[Add user defined item]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ユーザー定義項目追加]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[新增自訂項目]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[增加自定义项目]]></value>
|
||||
</item>
|
||||
<item name="msg_null_prohibited_id">
|
||||
<value xml:lang="ko"><![CDATA[추가할 금지 아이디를 입력해주세요.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Please enter an ID to prohibit.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[追加する禁止IDを入力してください。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[請輸入禁止帳號]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[请输入禁止账号]]></value>
|
||||
</item>
|
||||
<item name="msg_null_prohibited_nick_name">
|
||||
<value xml:lang="ko"><![CDATA[추가할 금지 닉네임을 입력해주세요.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Please enter a nick name to prohibit.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[请输入禁止昵称]]></value>
|
||||
</item>
|
||||
<item name="identifier">
|
||||
<value xml:lang="ko"><![CDATA[로그인 계정]]></value>
|
||||
<value xml:lang="en"><![CDATA[Login Account]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ログインアカウント]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[登入帳號]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[登录账号]]></value>
|
||||
</item>
|
||||
<item name="about_identifier">
|
||||
<value xml:lang="ko"><![CDATA[로그인에 사용할 계정을 선택해주세요.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Please select an account to use when logging in.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ログインに使用するアカウントを選択してください。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[請選擇帳號登入方式。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[请选择账号登录方式]]></value>
|
||||
</item>
|
||||
<item name="about_public_item">
|
||||
<value xml:lang="ko"><![CDATA[본인 외에 다른 회원에게도 노출될 정보인지 선택합니다.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[选择是不是除了本人别的会员也能看到]]></value>
|
||||
</item>
|
||||
<item name="use_after_save">
|
||||
<value xml:lang="ko"><![CDATA[저장 후 사용]]></value>
|
||||
<value xml:lang="en"><![CDATA[Use after saved]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[存储后使用]]></value>
|
||||
</item>
|
||||
<item name="cmd_add_group">
|
||||
<value xml:lang="ko"><![CDATA[그룹 추가]]></value>
|
||||
<value xml:lang="en"><![CDATA[Add group]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[新增群組]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[新增群组]]></value>
|
||||
</item>
|
||||
<item name="msg_groups_exist">
|
||||
<value xml:lang="ko"><![CDATA[개 그룹이 존재합니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[groups exist.]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[個群組已存在。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[个群组已存在]]></value>
|
||||
</item>
|
||||
<item name="cmd_member_config">
|
||||
<value xml:lang="ko"><![CDATA[회원 설정]]></value>
|
||||
<value xml:lang="en"><![CDATA[Member Configuration]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[會員設定]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[会员设定]]></value>
|
||||
</item>
|
||||
<item name="cmd_member_sync">
|
||||
<value xml:lang="ko"><![CDATA[회원정보 동기화]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[会员资料同步化]]></value>
|
||||
</item>
|
||||
<item name="about_member_sync">
|
||||
<value xml:lang="ko"><![CDATA[회원정보와 게시물과 댓글 정보를 동기화 합니다. 데이터가 많은 경우 시간이 오래 소요될 수 있습니다. 이용자가 많은 경우 반드시 서비스를 중단하시고 진행하시기 바랍니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[회원정보와 게시물/댓글 정보를 동기화 합니다. 데이터가 많은 경우 시간이 오래 소요될 수 있습니다. <strong>이용자가 많은 경우 반드시 서비스를 중단하고 진행하세요.</strong>]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[会员资料和文章/评论同步化,数据多同步化的时间会很长。 <strong>如访问人数多请停止服务后进行同步化。]]></value>
|
||||
</item>
|
||||
<item name="msg_success_modify_email_address">
|
||||
<value xml:lang="ko"><![CDATA[이메일 주소가 정상적으로 변경되었습니다. 변경된 이메일 주소로 로그인 가능합니다.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[邮箱地址变更正常,可用邮箱地址登录]]></value>
|
||||
</item>
|
||||
<item name="group">
|
||||
<value xml:lang="ko"><![CDATA[그룹]]></value>
|
||||
<value xml:lang="en"><![CDATA[Group]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[群组]]></value>
|
||||
</item>
|
||||
<item name="retrieve_password">
|
||||
<value xml:lang="ko"><![CDATA[비밀번호 찾기]]></value>
|
||||
<value xml:lang="en"><![CDATA[Retrieve password]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[找回密码]]></value>
|
||||
</item>
|
||||
<item name="excess_ip_access_count">
|
||||
<value xml:lang="ko"><![CDATA[로그인 가능 횟수를 초과하셨습니다. %s 간 로그인 하실 수 없습니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[로그인 가능 횟수를 초과했습니다. %s 간 로그인할 수 없습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[There was too much sign in trial from your devices in a short time. You can not sign in for %s.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[尝试登录次数已超过,%s时间内不能登录]]></value>
|
||||
</item>
|
||||
<item name="enable_login_fail_report">
|
||||
<value xml:lang="ko"><![CDATA[계정 무한 대입 방지 사용]]></value>
|
||||
|
|
@ -2501,9 +2598,26 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
|
|||
<item name="login_fail_report">
|
||||
<value xml:lang="ko"><![CDATA[로그인 실패 기록 보고 입니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Sign in failure report.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[登录失败记录]]></value>
|
||||
</item>
|
||||
<item name="login_fail_report_contents">
|
||||
<value xml:lang="ko"><![CDATA[<h2>로그인 실패 기록을 알려드립니다.</h2><div>%1$s</div><p>* 비밀번호를 틀리는 등의 일이 없었는데 이 메시지를 보신다면, 계정 관리에 유의해주시기 바랍니다.<br />* 이 메시지는 로그인이 성공한 순간 누적 로그인 실패 기록이 많을 경우, 로그인 성공 이전 실패 기록을 모아서 발송합니다.<br />발송 시각: %2$s</p>]]></value>
|
||||
<value xml:lang="en"><![CDATA[<h2>There is recorded sign in failures.</h2><div>%1$s</div><p>* This notification is shown once.<br />* This message contains sign in failure records, before a ID sign in success.<br />Sending: %2$s</p>]]></value>
|
||||
<value xml:lang="ko"><![CDATA[<h2>로그인 실패 기록을 알려드립니다.</h2>%1$s<hr /><p>* 비밀번호를 틀리는 등의 일이 없었는데 이 메시지를 보신다면, 계정 관리에 유의 바랍니다.<br />* 이 메시지는 로그인이 성공한 순간 누적 로그인 실패 기록이 많을 경우, 로그인 성공 이전 실패 기록을 모아서 발송합니다.<br />발송 시각: %2$s</p>]]></value>
|
||||
<value xml:lang="en"><![CDATA[<h2>There is recorded sign in failures.</h2>%1$s<hr /><p>* This notification is shown once.<br />* This message contains sign in failure records, before a ID sign in success.<br />Sending: %2$s</p>]]></value>
|
||||
</item>
|
||||
<item name="all_group">
|
||||
<value xml:lang="ko"><![CDATA[그룹전체]]></value>
|
||||
<value xml:lang="en"><![CDATA[Entire Group]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[全部群组]]></value>
|
||||
</item>
|
||||
<item name="msg_insert_group_name_detail">
|
||||
<value xml:lang="ko"><![CDATA[그룹제목이 빈 곳은 반영되지 않습니다]]></value>
|
||||
<value xml:lang="en"><![CDATA[If group title are empty, does not apply.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[没有群组标题的地方不能反映]]></value>
|
||||
</item>
|
||||
<item name="msg_exist_selected_module">
|
||||
<value xml:lang="ko"><![CDATA[회원 가입 후 이동할 주소의 정보가 존재하지 않습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Address information does not exist.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[加入会员后要移动的情报不存在]]></value>
|
||||
</item>
|
||||
|
||||
</lang>
|
||||
|
|
|
|||
|
|
@ -25,17 +25,19 @@ input[type=radio]{width:13px;height:13px;margin:0;padding:0}
|
|||
.ff ul{margin:0 10px 10px 10px;padding:10px 0 0 0;list-style:none}
|
||||
.ff li{margin:0 0 5px 0;padding:0}
|
||||
.ff label+input[type=text],
|
||||
.ff label+input[type=email],
|
||||
.ff label+input[type=password],
|
||||
.ff label+textarea,
|
||||
.ff label+select{display:block;width:96%;font-size:14px;margin:0 0 5px 0}
|
||||
.ff label+input[type=text],
|
||||
.ff label+input[type=email],
|
||||
.ff label+input[type=password],
|
||||
.ff label+textarea{padding:5px}
|
||||
/* Help */
|
||||
.hp{background:#eee;border-top:1px solid #ddd;padding:12px 10px !important;margin:10px 0px !important;}
|
||||
.hp li{margin:0;display:inline;border-left:1px solid #ccc;padding:0 4px 0 8px;}
|
||||
.hp li:first-child{border:0;}
|
||||
.hp a{color:#333;text-decoration:none}
|
||||
.hp a,p{color:#333;text-decoration:none}
|
||||
/* Button Area */
|
||||
.bna{text-align:center;padding:0 10px;margin:10px 0}
|
||||
.bna:after{content:"";display:block;clear:both}
|
||||
|
|
@ -43,6 +45,5 @@ input[type=radio]{width:13px;height:13px;margin:0;padding:0}
|
|||
.bn[type=submit],
|
||||
.bn[type=button]{height:28px}
|
||||
.bn[href]{height:26px}
|
||||
.bn.dark{border-color:#666;background:#777 -webkit-gradient(linear,0% 0%,0% 100%,from(#7e7c78),to(#5c5b58));background:#777 -moz-linear-gradient(top,#7e7c78,#5c5b58);background-color:#777;color:#fff;box-shadow:0 0 1px #fff inset;-moz-box-shadow:0 0 1px #fff inset;-webkit-box-shadow:0 0 1px #fff inset}
|
||||
.bn.white{border-color:#b5b5b5;background:#1b1b1b -webkit-gradient(linear,0% 0%,0% 100%,from(#fff),to(#f6f6f6),color-stop(0.5,#f0f0f0),color-stop(0.5,#e4e4e4));background:#1b1b1b -moz-linear-gradient(top,#fff,#e4e4e4);background-color:#fff;color:#000}
|
||||
.message{border:1px solid #ddd;background:#f8f8f8;margin:1em 0;padding:0 1em;border-radius:5px;line-height:1.4;font-size:12px}.message p{margin:1em 0!important}.message em{font-style:normal;color:#e00}.message.info,.message.error,.message.update{padding-left:55px}.message.info{border-color:#e0e8ec;background:#edf9ff url(../../../../../common/img/msg.Info.png) no-repeat 1em .5em}.message.error{border-color:#efdcdc;background:#ffecec url(../../../../../../common/img/msg.error.png) no-repeat 1em .5em}.message.update{border-color:#eae9dc;background:#fffdef url(../../../../../common/img/msg.update.png) no-repeat 1em .5em}
|
||||
.bn.dark{border-color:#666;background:-webkit-linear-gradient(top,#7e7c78,#5c5b58);background:-moz-linear-gradient(top,#7e7c78,#5c5b58);background:-o-linear-gradient(top,#7e7c78,#5c5b58);background:-ms-linear-gradient(top,#7e7c78,#5c5b58);background:linear-gradient(top,#7e7c78,#5c5b58);background-color:#777;color:#fff;box-shadow:0 0 1px #fff inset;-moz-box-shadow:0 0 1px #fff inset;-webkit-box-shadow:0 0 1px #fff inset}
|
||||
.bn.white{border-color:#b5b5b5;background:-webkit-linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6 100%);background:-moz-linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6 100%);background:-o-linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6 100%);background:-webkit-ms-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6 100%);background:linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6 100%);background-color:#fff;color:#000}
|
||||
|
|
|
|||
|
|
@ -29,20 +29,30 @@ input[type=radio]{width:13px;height:13px;margin:0;padding:0}
|
|||
.hx .write{position:absolute;top:8px;right:10px;background-position:0 0;display:inline-block;width:28px;height:27px;font-size:0;overflow:hidden;text-indent:28px}
|
||||
/* Form Field */
|
||||
.ff{margin:0;padding:10px 0}
|
||||
.ff p{margin:0 6px 5px;padding:0;}
|
||||
.ff ul{margin:0 10px 10px 10px;padding:10px 0 0 0;list-style:none}
|
||||
.ff li{margin:0 0 5px 0;padding:0}
|
||||
.ff li p{color:#666}
|
||||
.ff li>label:first-child{display:block;font-weight:bold}
|
||||
.ff label+input[type=text],
|
||||
.ff label+input[type=password],
|
||||
.ff label+textarea,
|
||||
.ff label+select,
|
||||
.ff label+select+input[type=text],
|
||||
.ff li>label em{display:inline-block;float:left;margin:0px 3px;font-style:normal;color:#f00}
|
||||
.ff input[type=text],
|
||||
.ff input[type=email],
|
||||
.ff input[type=url],
|
||||
.ff input[type=password],
|
||||
.ff textarea,
|
||||
.ff select,
|
||||
.ff select+input[type=text],
|
||||
.ff select+input[type=email],
|
||||
.ff select+input[type=url],
|
||||
.ff .inputText{display:block;width:96%;font-size:14px;margin:0 0 5px 0}
|
||||
.ff label+input[type=text],
|
||||
.ff label+input[type=password],
|
||||
.ff label+textarea,
|
||||
.ff label+select+input[type=text],
|
||||
.ff input[type=text],
|
||||
.ff input[type=email],
|
||||
.ff input[type=url],
|
||||
.ff input[type=password],
|
||||
.ff textarea,
|
||||
.ff select+input[type=text],
|
||||
.ff select+input[type=email],
|
||||
.ff select+input[type=url],
|
||||
.ff .inputText,
|
||||
.ff .tel input[type=text]{padding:5px}
|
||||
.ff .krZip input[type=text]{width:77%;font-size:14px;margin:0 0 5px 0;padding:5px}
|
||||
|
|
@ -53,8 +63,7 @@ input[type=radio]{width:13px;height:13px;margin:0;padding:0}
|
|||
.bn[type=submit],
|
||||
.bn[type=button]{height:28px}
|
||||
.bn[href]{height:26px}
|
||||
.bn.dark{border-color:#666;background:#777 -webkit-gradient(linear,0% 0%,0% 100%,from(#7e7c78),to(#5c5b58));background:#777 -moz-linear-gradient(top,#7e7c78,#5c5b58);background-color:#777;color:#fff;box-shadow:0 0 1px #fff inset;-moz-box-shadow:0 0 1px #fff inset;-webkit-box-shadow:0 0 1px #fff inset}
|
||||
.bn.white{border-color:#b5b5b5;background:#1b1b1b -webkit-gradient(linear,0% 0%,0% 100%,from(#fff),to(#f6f6f6),color-stop(0.5,#f0f0f0),color-stop(0.5,#e4e4e4));background:#1b1b1b -moz-linear-gradient(top,#fff,#e4e4e4);background-color:#fff;color:#000}
|
||||
.message{border:1px solid #ddd;background:#f8f8f8;margin:1em 0;padding:0 1em;border-radius:5px;line-height:1.4;font-size:12px}.message p{margin:1em 0!important}.message em{font-style:normal;color:#e00}.message.info,.message.error,.message.update{padding-left:55px}.message.info{border-color:#e0e8ec;background:#edf9ff url(../../../../common/img/msg.Info.png) no-repeat 1em .5em}.message.error{border-color:#efdcdc;background:#ffecec url(../../../../common/img/msg.error.png) no-repeat 1em .5em}.message.update{border-color:#eae9dc;background:#fffdef url(../../../../common/img/msg.update.png) no-repeat 1em .5em}
|
||||
.bn{border-color:#b5b5b5;background:-webkit-linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6);background:-moz-linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6);background:-o-linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6);background:-ms-linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6);background:linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6);background-color:#fff;color:#000}
|
||||
.bn.dark{border-color:#666;background:-webkit-linear-gradient(top,#7e7c78,#5c5b58);background:-moz-linear-gradient(top,#7e7c78,#5c5b58);background:-o-linear-gradient(top,#7e7c78,#5c5b58);background:-ms-linear-gradient(top,#7e7c78,#5c5b58);background:linear-gradient(top,#7e7c78,#5c5b58);background-color:#777;color:#fff;box-shadow:0 0 1px #fff inset;-moz-box-shadow:0 0 1px #fff inset;-webkit-box-shadow:0 0 1px #fff inset}
|
||||
.agreement .text{height:200px;overflow-y:auto;}
|
||||
.bn a{text-decoration:none;}
|
||||
|
|
|
|||
|
|
@ -1,59 +1,65 @@
|
|||
<load target="./../../../../common/js/jquery.min.js" usecdn="true" index="-1000000" />
|
||||
<load target="./../../../../common/js/xe.min.js" usecdn="true" index="-1000000" />
|
||||
<load target="css/msignup.css" usecdn="true" />
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<div class="hx h2"><h2>{$lang->cmd_find_member_account_with_email}</h2></div>
|
||||
<form action="./" ruleset="findAccount" method="post" class="ff">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberFindAccount" />
|
||||
<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="success_return_url" value="{getUrl('act', 'dispMemberFindAccount')}" />
|
||||
<ul>
|
||||
<li>
|
||||
<label for="email_address1">{$lang->email_address}</label>
|
||||
<input id="email_address1" type="text" name="email_address" />
|
||||
</li>
|
||||
</ul>
|
||||
<div class="bna">
|
||||
<input type="submit" class="bn dark" value="{$lang->cmd_send_mail}" />
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<!--@if(count($lang->find_account_question_items)>1)-->
|
||||
<div class="hx h2"><h2>{$lang->cmd_find_member_account_with_email_question}</h2></div>
|
||||
<p style="margin:3px 10px;color:#666">{$lang->about_find_account_question}</p>
|
||||
<form action="./" method="post" class="ff" 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}" />
|
||||
<ul>
|
||||
<li cond="$identifier == 'user_id'">
|
||||
<label for="user_id2">{$lang->user_id}</label>
|
||||
<input type="text" name="user_id" id="user_id2" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="email_address2">{$lang->email_address}</label>
|
||||
<input type="text" name="email_address" id="email_address2" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="question">{$lang->find_account_question}</label>
|
||||
<select id="question" name="find_account_question" style="width:290px;display:block;">
|
||||
<!--@for($i=1,$c=count($lang->find_account_question_items);$i<$c;$i++)-->
|
||||
<option value="{$i}">{$lang->find_account_question_items[$i]}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<input type="text" name="find_account_answer" value="" />
|
||||
</li>
|
||||
</ul>
|
||||
<div class="bna">
|
||||
<input type="submit" class="bn dark" value="{$lang->cmd_get_temp_password}" />
|
||||
</div>
|
||||
</form>
|
||||
<!--@end-->
|
||||
<load target="./../../../../common/js/jquery.min.js" usecdn="true" index="-1000000" />
|
||||
<load target="./../../../../common/js/xe.min.js" usecdn="true" index="-1000000" />
|
||||
<load target="css/msignup.css" usecdn="true" />
|
||||
<div class="hx h2"><h2>{$lang->cmd_find_member_account_with_email}</h2></div>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/m.skin/default/find_member_account/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form action="./" ruleset="findAccount" method="post" class="ff">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberFindAccount" />
|
||||
<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="success_return_url" value="{getUrl('act', 'dispMemberFindAccount')}" />
|
||||
<input type="hidden" name="xe_validator_id" value="modules/member/m.skin/default/find_member_account/1" />
|
||||
<ul>
|
||||
<li>
|
||||
<label for="email_address1">{$lang->email_address}</label>
|
||||
<input id="email_address1" type="email" name="email_address" />
|
||||
</li>
|
||||
</ul>
|
||||
<div class="bna">
|
||||
<input type="submit" class="bn dark" value="{$lang->cmd_send_mail}" />
|
||||
</div>
|
||||
</form>
|
||||
<block cond="count($lang->find_account_question_items)>1">
|
||||
<div class="hx h2"><h2>{$lang->cmd_find_member_account_with_email_question}</h2></div>
|
||||
<p style="margin:3px 10px;color:#666">{$lang->about_find_account_question}</p>
|
||||
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/m.skin/default/find_member_account/2'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
|
||||
<form action="./" method="post" class="ff" 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/m.skin/default/find_member_account/2" />
|
||||
<ul>
|
||||
<li cond="$identifier == 'user_id'">
|
||||
<label for="user_id2">{$lang->user_id}</label>
|
||||
<input type="text" name="user_id" id="user_id2" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="email_address2">{$lang->email_address}</label>
|
||||
<input type="email" name="email_address" id="email_address2" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="question">{$lang->find_account_question}</label>
|
||||
<select id="question" name="find_account_question" style="width:290px;display:block;">
|
||||
<!--@for($i=1,$c=count($lang->find_account_question_items);$i<$c;$i++)-->
|
||||
<option value="{$i}">{$lang->find_account_question_items[$i]}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<input type="text" name="find_account_answer" value="" />
|
||||
</li>
|
||||
</ul>
|
||||
<div class="bna">
|
||||
<input type="submit" class="bn dark" value="{$lang->cmd_get_temp_password}" />
|
||||
</div>
|
||||
</form>
|
||||
</block>
|
||||
|
|
@ -1,16 +1,17 @@
|
|||
<load target="./../../../../common/js/jquery.min.js" usecdn="true" index="-1000000" />
|
||||
<load target="./../../../../common/js/xe.min.js" usecdn="true" index="-1000000" />
|
||||
<load target="css/msignup.css" usecdn="true" />
|
||||
<h2 class="h2">{$member_title = $lang->msg_leave_member}</h2>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<h2 class="hx h2">{$member_title = $lang->msg_leave_member}</h2>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/m.skin/default/leave_form/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form ruleset="leaveMember" id="fo_insert_member" class="ff" 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="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/m.skin/default/leave_form/1" />
|
||||
<ul>
|
||||
<li>
|
||||
<label for="identifier">{Context::getLang($identifier)}</label>
|
||||
|
|
|
|||
|
|
@ -1,21 +1,22 @@
|
|||
<load target="./../../../../common/js/jquery.min.js" usecdn="true" index="-1000000" />
|
||||
<load target="css/mlogin.css" usecdn="true" />
|
||||
<div class="bd">
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<div class="hx h2">
|
||||
<h2>{$lang->cmd_login}</h2>
|
||||
</div>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/m.skin/default/login_form/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form action="./" method="POST" class="ff">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberLogin" />
|
||||
<input type="hidden" name="redirect_url" value="{getUrl('act','')}" />
|
||||
<input type="hidden" name="xe_validator_id" value="modules/member/m.skin/default/login_form/1" />
|
||||
<ul>
|
||||
<li><label for="id"><!--@if($identifier == 'user_id')-->{$lang->user_id}<!--@else-->{$lang->email_address}<!--@end--></label><input name="user_id" type="text" id="id" value="" /></li>
|
||||
<li><label for="id"><!--@if($identifier == 'user_id')-->{$lang->user_id}<!--@else-->{$lang->email_address}<!--@end--></label><input name="user_id" type="<!--@if($identifier == 'user_id')-->text<!--@else-->email<!--@end-->" id="id" value="" /></li>
|
||||
<li><label for="pw">{$lang->password}</label><input name="password" type="password" id="pw" value="" /></li>
|
||||
</ul>
|
||||
<div class="message info" id="keep_msg" style="display:none;">
|
||||
<div class="hp" id="keep_msg" style="display:none;">
|
||||
<p>{$lang->about_keep_warning}</p>
|
||||
</div>
|
||||
<div class="bna">
|
||||
|
|
|
|||
|
|
@ -1,28 +1,32 @@
|
|||
<load target="css/member.css" />
|
||||
<div class="xm">
|
||||
<div class="hx h2">
|
||||
<h2>{$lang->member_info}</h2>
|
||||
</div>
|
||||
<div class="co">
|
||||
<dl class="dl">
|
||||
<block loop="$displayDatas => $item">
|
||||
<dt>{$item->title} <em cond="$item->required || $item->mustRequired">*</em></dt>
|
||||
<dd>{$item->value}</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>
|
||||
<ul class="ba" cond="$memberInfo['member_srl'] == $logged_info->member_srl">
|
||||
<li cond="$member_config->identifier == 'email_address'"><a href="{getUrl('act', 'dispMemberModifyEmailAddress')}">{$lang->cmd_modify_member_email_address}</a></li>
|
||||
<li><a href="{getUrl('act','dispMemberModifyInfo','member_srl','')}">{$lang->cmd_modify_member_info}</a></li>
|
||||
<li><a href="{getUrl('act','dispMemberModifyPassword','member_srl','')}">{$lang->cmd_modify_member_password}</a></li>
|
||||
<li><a href="{getUrl('act','dispMemberLeave','member_srl','')}">{$lang->cmd_leave}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h2 class="hx h2">{$lang->member_info}</h2>
|
||||
<div class="table even">
|
||||
<table class="table table-striped table-hover">
|
||||
<tr loop="$displayDatas => $item">
|
||||
<th scope="row" >{$item->title} <em cond="$item->required || $item->mustRequired">*</em></th>
|
||||
<td class="text">{$item->value}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->member_group}</th>
|
||||
<td class="text">{implode(', ', $memberInfo['group_list'])}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->signup_date}</th>
|
||||
<td>{zdate($memberInfo[regdate],"Y-m-d")}</td>
|
||||
</tr>
|
||||
<!--@if($memberInfo[member_srl] == $logged_info->member_srl || $logged_info->is_admin == 'Y' )-->
|
||||
<tr>
|
||||
<th>{$lang->last_login}</th>
|
||||
<td>{zdate($memberInfo[last_login],"Y-m-d")}</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
</table>
|
||||
</div>
|
||||
<div class="ba" cond="$memberInfo['member_srl'] == $logged_info->member_srl">
|
||||
<li><a class="bn" cond="$member_config->identifier == 'email_address'" href="{getUrl('act', 'dispMemberModifyEmailAddress')}">{$lang->cmd_modify_member_email_address}...</a></li>
|
||||
<li><a class="bn" href="{getUrl('act','dispMemberModifyInfo','member_srl','')}">{$lang->cmd_modify_member_info}...</a></li>
|
||||
<li><a class="bn" href="{getUrl('act','dispMemberModifyPassword','member_srl','')}">{$lang->cmd_modify_member_password}...</a></li>
|
||||
<li><a class="bn" href="{getUrl('act','dispMemberLeave','member_srl','')}">{$lang->cmd_leave}...</a></li>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,19 +1,20 @@
|
|||
<load target="./../../../../common/js/jquery.min.js" usecdn="true" index="-1000000" />
|
||||
<load target="./../../../../common/js/xe.min.js" usecdn="true" index="-1000000" />
|
||||
<load target="css/msignup.css" usecdn="true" />
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<h2 class="hx h2">{$lang->cmd_modify_member_email_address}</h2>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/m.skin/default/modify_email_address/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form ruleset="modifyEmailAddress" class="ff" 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()}" />
|
||||
<h2 class="h2">{$lang->cmd_modify_member_email_address}</h2>
|
||||
<p>{$lang->about_modify_member_email_address}</p>
|
||||
<input type="hidden" name="xe_validator_id" value="modules/member/m.skin/default/modify_email_address/1" />
|
||||
<p>{$lang->about_modify_member_email_address}</p>
|
||||
<ul>
|
||||
<li>
|
||||
<label for="email_address">{$lang->email_address}</label>
|
||||
<input type="text" id="email_address" name="email_address" value="" />
|
||||
<input type="email" id="email_address" name="email_address" value="" />
|
||||
</li>
|
||||
</ul>
|
||||
<div class="bna">
|
||||
|
|
|
|||
|
|
@ -13,18 +13,19 @@
|
|||
xe.lang.deleteImageMark = '{$lang->msg_delete_extend_form}';
|
||||
xe.lang.deleteImageName = '{$lang->msg_delete_extend_form}';
|
||||
</script>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<h2 class="hx h2">{$lang->msg_update_member}</h2>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/m.skin/default/modify_info/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<div class="bd">
|
||||
<h2 class="h2">{$lang->msg_update_member}</h2>
|
||||
<form ruleset="@insertMember" id="fo_insert_member" class="ff" action="./" method="POST">
|
||||
<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="page" value="{$page}" />
|
||||
<form ruleset="@insertMember" id="fo_insert_member" class="ff" action="./" method="post" enctype="multipart/form-data">
|
||||
<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="page" value="{$page}" />
|
||||
<input type="hidden" name="xe_validator_id" value="modules/member/m.skin/default/modify_info/1" />
|
||||
|
||||
<fieldset class="sn">
|
||||
<fieldset class="sn">
|
||||
<ul>
|
||||
<li>
|
||||
<label for="identifierForm">{$identifierForm->title} <em style="color:red">*</em></label>
|
||||
|
|
@ -33,15 +34,16 @@
|
|||
</li>
|
||||
<li loop="$formTags=>$formTag">
|
||||
<label for="{$formTag->name}">{$formTag->title}</label>
|
||||
<div id="{$formTag->name}" cond="$formTag->name != 'signature' && $formTag->type != 'date'" class="tel"|cond="$formTag->type == 'tel'">{$formTag->inputTag}</div>
|
||||
<textarea id="{$formTag->name}" cond="$formTag->name == 'signature'" name="signature" rows="8" cols="42" class="itxx">{$member_info->signature}</textarea>
|
||||
<input id="{$formTag->name}" class="inputText" type="date" name="{$formTag->name}" value="{$oMemberInfo[$formTag->name]}" cond="$formTag->type == 'date'" />
|
||||
<div cond="$formTag->name != 'signature'">{$formTag->inputTag}</div>
|
||||
<div cond="$formTag->name =='signature'">
|
||||
<textarea id="{$formTag->name}" name="signature" rows="8" cols="42" class="itxx">{$member_info->signature}</textarea>
|
||||
</div>
|
||||
</li>
|
||||
<li><label for="mailing" class="db fb al">{$lang->allow_mailing}</label><input id="mailing" type="checkbox" name="allow_mailing" value="Y" class="checkbox" <!--@if($member_info->allow_mailing!='N')-->checked="checked"<!--@end--> /> <p style="color:#666">{$lang->about_allow_mailing}</p></li>
|
||||
</ul>
|
||||
</fieldset>
|
||||
<div class="cm">
|
||||
<input type="submit" value="{$lang->cmd_registration}" class="bn"/>
|
||||
<div class="bna">
|
||||
<input type="submit" value="{$lang->cmd_registration}" class="bn dark"/>
|
||||
<a href="{getUrl('act','dispMemberInfo','member_srl','')}" class="bn"><span>{$lang->cmd_cancel}</span></a>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
<load target="./../../../../common/js/jquery.min.js" usecdn="true" index="-1000000" />
|
||||
<load target="./../../../../common/js/xe.min.js" usecdn="true" index="-1000000" />
|
||||
<load target="css/msignup.css" usecdn="true" />
|
||||
<h2 class="h2">{$member_title = $lang->cmd_modify_member_password}</h2>
|
||||
<h2 class="hx h2">{$member_title = $lang->cmd_modify_member_password}</h2>
|
||||
<form ruleset="modifyPassword" id="fo_insert_member" class="ff" 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="mid" value="{$mid}" />
|
||||
<input type="hidden" name="document_srl" value="{$document_srl}" />
|
||||
<input type="hidden" name="page" value="{$page}" />
|
||||
<ul>
|
||||
<li>
|
||||
<label for="uid">{Context::getLang($identifier)}</label>
|
||||
|
|
@ -27,6 +27,6 @@
|
|||
</li>
|
||||
</ul>
|
||||
<div class="bna">
|
||||
<input type="submit" class="bn" value="{$lang->cmd_registration}" />
|
||||
<input type="submit" class="bn dark" value="{$lang->cmd_registration}" />
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,18 @@
|
|||
<load target="css/msignup.css" usecdn="true" />
|
||||
<h2 class="h2">{$lang->msg_rechecked_password}</h2>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<h2 class="hx h2">{$lang->msg_rechecked_password}</h2>
|
||||
{@
|
||||
$validator_ids = array(
|
||||
'modules/member/m.skin/default/rechecked_password/1' => 1,
|
||||
'modules/member/m.skin/default/modify_info/1' => 1
|
||||
);
|
||||
}
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && isset($validator_ids[$XE_VALIDATOR_ID])" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form class="ff" 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/m.skin/default/rechecked_password/1" />
|
||||
<ul>
|
||||
<li>
|
||||
<label for="identifier">{$identifierTitle}</label>
|
||||
|
|
@ -18,7 +25,7 @@
|
|||
</li>
|
||||
</ul>
|
||||
<div class="bna">
|
||||
<input class="bn white" type="submit" value="{$lang->cmd_confirm}" />
|
||||
<input class="bn dark" type="submit" value="{$lang->cmd_confirm}" />
|
||||
<span class="bn white"><a href="{getUrl('act','dispMemberInfo','member_srl','')}">{$lang->cmd_cancel}</a></span>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -6,12 +6,13 @@
|
|||
<div class="hx h2">
|
||||
<h2>{$lang->cmd_signup}</h2>
|
||||
</div>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/m.skin/default/signup_form/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form ruleset="@insertMember" id="fo_insert_member" class="ff" action="./" method="post" enctype="multipart/form-data">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberInsert" />
|
||||
<input type="hidden" name="xe_validator_id" value="modules/member/m.skin/default/signup_form/1" />
|
||||
<!--@if(!$is_logged && $member_config->agreement)-->
|
||||
<div class="agreement">
|
||||
<div class="text">
|
||||
|
|
@ -26,7 +27,7 @@
|
|||
<ul>
|
||||
<li>
|
||||
<label for="{$identifierForm->name}">{$identifierForm->title} <em style="color:red">*</em></label>
|
||||
<input type="text" name="{$identifierForm->name}" id="{$identifierForm->name}" value="{$identifierForm->value}" />
|
||||
<input type="text"|cond="$identifierForm->name!='email_address'" type="email"|cond="$identifierForm->name=='email_address'" name="{$identifierForm->name}" id="{$identifierForm->name}" value="{$identifierForm->value}" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="password">{$lang->password} <em style="color:red">*</em></label>
|
||||
|
|
@ -36,10 +37,9 @@
|
|||
<label for="password2">{$lang->password3} <em style="color:red">*</em></label>
|
||||
<input type="password" name="password2" id="password2" value=""/>
|
||||
</li>
|
||||
<li loop="$formTags=>$formTag">
|
||||
<li loop="$formTags=>$formTag" cond="$formTag->name != 'signature'">
|
||||
<label for="{$formTag->name}">{$formTag->title}</label>
|
||||
<div id="{$formTag->name}" cond="$formTag->name != 'signature' && $formTag->type != 'date'" class="tel"|cond="$formTag->type == 'tel'">{$formTag->inputTag}</div>
|
||||
<input id="{$formTag->name}" class="inputText" type="date" value="{$oMemberInfo[$formTag->name]}" cond="$formTag->type == 'date'" />
|
||||
<div>{$formTag->inputTag}</div>
|
||||
</li>
|
||||
<li>
|
||||
<label>{$lang->allow_mailing}</label>
|
||||
|
|
|
|||
|
|
@ -1,19 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<skin version="0.2">
|
||||
<title xml:lang="ko">회원 기본 모바일 스킨</title>
|
||||
<title xml:lang="en">XE Basic Member Mobile Skin</title>
|
||||
<description xml:lang="ko">
|
||||
XE 기본 모바일 스킨 입니다.
|
||||
NHN (developers@xpressengine.com)
|
||||
</description>
|
||||
<version>0.1</version>
|
||||
<date>2012-09-21</date>
|
||||
|
||||
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
|
||||
<name xml:lang="ko">NHN</name>
|
||||
<name xml:lang="en">NHN</name>
|
||||
<name xml:lang="zh-TW">NHN</name>
|
||||
<name xml:lang="tr">NHN</name>
|
||||
</author>
|
||||
<extra_vars />
|
||||
</skin>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<skin version="0.2">
|
||||
<title xml:lang="ko">회원 기본 모바일 스킨</title>
|
||||
<title xml:lang="en">XE Basic Member Mobile Skin</title>
|
||||
<description xml:lang="ko">
|
||||
XE 기본 모바일 스킨 입니다.
|
||||
NHN (developers@xpressengine.com)
|
||||
</description>
|
||||
<version>0.1</version>
|
||||
<date>2012-09-21</date>
|
||||
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
|
||||
<name xml:lang="ko">NHN</name>
|
||||
<name xml:lang="en">NHN</name>
|
||||
<name xml:lang="zh-TW">NHN</name>
|
||||
<name xml:lang="tr">NHN</name>
|
||||
</author>
|
||||
</skin>
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,293 +1,317 @@
|
|||
<?php
|
||||
/**
|
||||
* @class memberAdminModel
|
||||
* @author NHN (developers@xpressengine.com)
|
||||
* admin model class of member module
|
||||
**/
|
||||
/**
|
||||
* @class memberAdminModel
|
||||
* @author NHN (developers@xpressengine.com)
|
||||
* admin model class of member module
|
||||
*/
|
||||
class memberAdminModel extends member
|
||||
{
|
||||
/**
|
||||
* info of member
|
||||
* @var object
|
||||
*/
|
||||
var $member_info = NULL;
|
||||
|
||||
class memberAdminModel extends member {
|
||||
/**
|
||||
* info of member groups
|
||||
* @var array
|
||||
*/
|
||||
var $member_groups = NULL;
|
||||
|
||||
/**
|
||||
* info of member
|
||||
* @var object
|
||||
**/
|
||||
var $member_info = NULL;
|
||||
/**
|
||||
* info of sign up form
|
||||
* @var array
|
||||
*/
|
||||
var $join_form_list = NULL;
|
||||
|
||||
/**
|
||||
* info of member groups
|
||||
* @var array
|
||||
**/
|
||||
var $member_groups = NULL;
|
||||
/**
|
||||
* Initialization
|
||||
* @return void
|
||||
*/
|
||||
function init()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* info of sign up form
|
||||
* @var array
|
||||
**/
|
||||
var $join_form_list = NULL;
|
||||
/**
|
||||
* Get a member list
|
||||
*
|
||||
* @return object|array (object : when member count is 1, array : when member count is more than 1)
|
||||
*/
|
||||
function getMemberList()
|
||||
{
|
||||
// Search option
|
||||
$args = new stdClass();
|
||||
$args->is_admin = Context::get('is_admin')=='Y'?'Y':'';
|
||||
$args->is_denied = Context::get('is_denied')=='Y'?'Y':'';
|
||||
$args->selected_group_srl = Context::get('selected_group_srl');
|
||||
|
||||
/**
|
||||
* Initialization
|
||||
* @return void
|
||||
**/
|
||||
function init() {
|
||||
}
|
||||
$filter = Context::get('filter_type');
|
||||
switch($filter)
|
||||
{
|
||||
case 'super_admin' : $args->is_admin = 'Y';break;
|
||||
case 'site_admin' : $args->member_srls = $this->getSiteAdminMemberSrls();break;
|
||||
case 'enable' : $args->is_denied = 'N';break;
|
||||
case 'disable' : $args->is_denied = 'Y';break;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a member list
|
||||
*
|
||||
* @return object|array (object : when member count is 1, array : when member count is more than 1)
|
||||
**/
|
||||
function getMemberList() {
|
||||
// Search option
|
||||
$args->is_admin = Context::get('is_admin')=='Y'?'Y':'';
|
||||
$args->is_denied = Context::get('is_denied')=='Y'?'Y':'';
|
||||
$args->selected_group_srl = Context::get('selected_group_srl');
|
||||
$search_target = trim(Context::get('search_target'));
|
||||
$search_keyword = trim(Context::get('search_keyword'));
|
||||
|
||||
$filter = Context::get('filter_type');
|
||||
switch($filter){
|
||||
case 'super_admin' : $args->is_admin = 'Y';break;
|
||||
case 'site_admin' : $args->member_srls = $this->getSiteAdminMemberSrls();break;
|
||||
case 'enable' : $args->is_denied = 'N';break;
|
||||
case 'disable' : $args->is_denied = 'Y';break;
|
||||
}
|
||||
|
||||
$search_target = trim(Context::get('search_target'));
|
||||
$search_keyword = trim(Context::get('search_keyword'));
|
||||
|
||||
if($search_target && $search_keyword) {
|
||||
switch($search_target) {
|
||||
case 'user_id' :
|
||||
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
|
||||
$args->s_user_id = $search_keyword;
|
||||
break;
|
||||
case 'user_name' :
|
||||
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
|
||||
$args->s_user_name = $search_keyword;
|
||||
break;
|
||||
case 'nick_name' :
|
||||
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
|
||||
$args->s_nick_name = $search_keyword;
|
||||
$args->html_nick_name = htmlspecialchars($search_keyword);
|
||||
break;
|
||||
case 'email_address' :
|
||||
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
|
||||
$args->s_email_address = $search_keyword;
|
||||
break;
|
||||
case 'regdate' :
|
||||
$args->s_regdate = preg_replace("/[^0-9]/","",$search_keyword);
|
||||
break;
|
||||
case 'regdate_more' :
|
||||
$args->s_regdate_more = substr(preg_replace("/[^0-9]/","",$search_keyword) . '00000000000000',0,14);
|
||||
break;
|
||||
case 'regdate_less' :
|
||||
$args->s_regdate_less = substr(preg_replace("/[^0-9]/","",$search_keyword) . '00000000000000',0,14);
|
||||
break;
|
||||
case 'last_login' :
|
||||
$args->s_last_login = $search_keyword;
|
||||
break;
|
||||
case 'last_login_more' :
|
||||
$args->s_last_login_more = substr(preg_replace("/[^0-9]/","",$search_keyword) . '00000000000000',0,14);
|
||||
break;
|
||||
case 'last_login_less' :
|
||||
$args->s_last_login_less = substr(preg_replace("/[^0-9]/","",$search_keyword) . '00000000000000',0,14);
|
||||
break;
|
||||
case 'extra_vars' :
|
||||
$args->s_extra_vars = $search_keyword;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Change the query id if selected_group_srl exists (for table join)
|
||||
$sort_order = Context::get('sort_order');
|
||||
$sort_index = Context::get('sort_index');
|
||||
if(!$sort_index) {
|
||||
$sort_index = "list_order";
|
||||
}
|
||||
|
||||
if(!$sort_order) {
|
||||
$sort_order = 'asc';
|
||||
}
|
||||
|
||||
if($sort_order != 'asc')
|
||||
if($search_target && $search_keyword)
|
||||
{
|
||||
switch($search_target)
|
||||
{
|
||||
$sort_order = 'desc';
|
||||
case 'user_id' :
|
||||
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
|
||||
$args->s_user_id = $search_keyword;
|
||||
break;
|
||||
case 'user_name' :
|
||||
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
|
||||
$args->s_user_name = $search_keyword;
|
||||
break;
|
||||
case 'nick_name' :
|
||||
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
|
||||
$args->s_nick_name = $search_keyword;
|
||||
$args->html_nick_name = htmlspecialchars($search_keyword);
|
||||
break;
|
||||
case 'email_address' :
|
||||
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
|
||||
$args->s_email_address = $search_keyword;
|
||||
break;
|
||||
case 'regdate' :
|
||||
$args->s_regdate = preg_replace("/[^0-9]/","",$search_keyword);
|
||||
break;
|
||||
case 'regdate_more' :
|
||||
$args->s_regdate_more = substr(preg_replace("/[^0-9]/","",$search_keyword) . '00000000000000',0,14);
|
||||
break;
|
||||
case 'regdate_less' :
|
||||
$args->s_regdate_less = substr(preg_replace("/[^0-9]/","",$search_keyword) . '00000000000000',0,14);
|
||||
break;
|
||||
case 'last_login' :
|
||||
$args->s_last_login = $search_keyword;
|
||||
break;
|
||||
case 'last_login_more' :
|
||||
$args->s_last_login_more = substr(preg_replace("/[^0-9]/","",$search_keyword) . '00000000000000',0,14);
|
||||
break;
|
||||
case 'last_login_less' :
|
||||
$args->s_last_login_less = substr(preg_replace("/[^0-9]/","",$search_keyword) . '00000000000000',0,14);
|
||||
break;
|
||||
case 'extra_vars' :
|
||||
$args->s_extra_vars = $search_keyword;
|
||||
break;
|
||||
}
|
||||
|
||||
if($args->selected_group_srl) {
|
||||
$query_id = 'member.getMemberListWithinGroup';
|
||||
$args->sort_index = "member.".$sort_index;
|
||||
} else {
|
||||
$query_id = 'member.getMemberList';
|
||||
$args->sort_index = $sort_index;
|
||||
}
|
||||
|
||||
$args->sort_order = $sort_order;
|
||||
Context::set('sort_order', $sort_order);
|
||||
// Other variables
|
||||
$args->page = Context::get('page');
|
||||
$args->list_count = 40;
|
||||
$args->page_count = 10;
|
||||
$output = executeQuery($query_id, $args);
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a memebr list for each site
|
||||
*
|
||||
* @param int $site_srl
|
||||
* @param int $page
|
||||
*
|
||||
* @return array
|
||||
**/
|
||||
function getSiteMemberList($site_srl, $page = 1) {
|
||||
$args->site_srl = $site_srl;
|
||||
$args->page = $page;
|
||||
$args->list_count = 40;
|
||||
$args->page_count = 10;
|
||||
$query_id = 'member.getSiteMemberList';
|
||||
$output = executeQueryArray($query_id, $args);
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get member_srls lists about site admins
|
||||
*
|
||||
* @return array
|
||||
**/
|
||||
function getSiteAdminMemberSrls(){
|
||||
$output = executeQueryArray('member.getSiteAdminMemberSrls');
|
||||
if (!$output->toBool() || !$output->data) return array();
|
||||
|
||||
$member_srls = array();
|
||||
foreach($output->data as $member_info){
|
||||
$member_srls[] = $member_info->member_srl;
|
||||
}
|
||||
|
||||
return $member_srls;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return colorset list of a skin in the member module
|
||||
*
|
||||
* @return void
|
||||
**/
|
||||
function getMemberAdminColorset() {
|
||||
$skin = Context::get('skin');
|
||||
if(!$skin) $tpl = "";
|
||||
else {
|
||||
$oModuleModel = &getModel('module');
|
||||
$skin_info = $oModuleModel->loadSkinInfo($this->module_path, $skin);
|
||||
Context::set('skin_info', $skin_info);
|
||||
// Change the query id if selected_group_srl exists (for table join)
|
||||
$sort_order = Context::get('sort_order');
|
||||
$sort_index = Context::get('sort_index');
|
||||
if(!$sort_index)
|
||||
{
|
||||
$sort_index = "list_order";
|
||||
}
|
||||
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('member');
|
||||
if(!$config->colorset) $config->colorset = "white";
|
||||
Context::set('config', $config);
|
||||
if(!$sort_order)
|
||||
{
|
||||
$sort_order = 'asc';
|
||||
}
|
||||
|
||||
$oTemplate = &TemplateHandler::getInstance();
|
||||
$tpl = $oTemplate->compile($this->module_path.'tpl', 'colorset_list');
|
||||
}
|
||||
if($sort_order != 'asc')
|
||||
{
|
||||
$sort_order = 'desc';
|
||||
}
|
||||
|
||||
$this->add('tpl', $tpl);
|
||||
}
|
||||
if($args->selected_group_srl)
|
||||
{
|
||||
$query_id = 'member.getMemberListWithinGroup';
|
||||
$args->sort_index = "member.".$sort_index;
|
||||
}
|
||||
else
|
||||
{
|
||||
$query_id = 'member.getMemberList';
|
||||
$args->sort_index = $sort_index;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return member count with date
|
||||
*
|
||||
* @param string $date
|
||||
*
|
||||
* @return int
|
||||
**/
|
||||
function getMemberCountByDate($date = '') {
|
||||
if($date) $args->regDate = date('Ymd', strtotime($date));
|
||||
$args->sort_order = $sort_order;
|
||||
Context::set('sort_order', $sort_order);
|
||||
// Other variables
|
||||
$args->page = Context::get('page');
|
||||
$args->list_count = 40;
|
||||
$args->page_count = 10;
|
||||
$output = executeQuery($query_id, $args);
|
||||
|
||||
$output = executeQuery('member.getMemberCountByDate', $args);
|
||||
if(!$output->toBool()) return 0;
|
||||
return $output;
|
||||
}
|
||||
|
||||
return $output->data->count;
|
||||
}
|
||||
/**
|
||||
* Get a memebr list for each site
|
||||
*
|
||||
* @param int $site_srl
|
||||
* @param int $page
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
function getSiteMemberList($site_srl, $page = 1)
|
||||
{
|
||||
$args->site_srl = $site_srl;
|
||||
$args->page = $page;
|
||||
$args->list_count = 40;
|
||||
$args->page_count = 10;
|
||||
$query_id = 'member.getSiteMemberList';
|
||||
$output = executeQueryArray($query_id, $args);
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return site join member count with date
|
||||
*
|
||||
* @param string $date
|
||||
*
|
||||
* @return int
|
||||
**/
|
||||
function getMemberGroupMemberCountByDate($date = '') {
|
||||
if($date) $args->regDate = date('Ymd', strtotime($date));
|
||||
/**
|
||||
* Get member_srls lists about site admins
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
function getSiteAdminMemberSrls()
|
||||
{
|
||||
$output = executeQueryArray('member.getSiteAdminMemberSrls');
|
||||
if(!$output->toBool() || !$output->data) return array();
|
||||
|
||||
$output = executeQuery('member.getMemberGroupMemberCountByDate', $args);
|
||||
if(!$output->toBool()) return 0;
|
||||
$member_srls = array();
|
||||
foreach($output->data as $member_info)
|
||||
{
|
||||
$member_srls[] = $member_info->member_srl;
|
||||
}
|
||||
|
||||
return count($output->data);
|
||||
}
|
||||
return $member_srls;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return add join Form
|
||||
*
|
||||
* @return void
|
||||
**/
|
||||
function getMemberAdminInsertJoinForm() {
|
||||
$member_join_form_srl = Context::get('member_join_form_srl');
|
||||
/**
|
||||
* Return colorset list of a skin in the member module
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function getMemberAdminColorset()
|
||||
{
|
||||
$skin = Context::get('skin');
|
||||
if(!$skin) $tpl = "";
|
||||
else
|
||||
{
|
||||
$oModuleModel = &getModel('module');
|
||||
$skin_info = $oModuleModel->loadSkinInfo($this->module_path, $skin);
|
||||
Context::set('skin_info', $skin_info);
|
||||
|
||||
$args->member_join_form_srl = $member_join_form_srl;
|
||||
$output = executeQuery('member.getJoinForm', $args);
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('member');
|
||||
if(!$config->colorset) $config->colorset = "white";
|
||||
Context::set('config', $config);
|
||||
|
||||
if($output->toBool() && $output->data){
|
||||
$formInfo = $output->data;
|
||||
$default_value = $formInfo->default_value;
|
||||
if ($default_value){
|
||||
$default_value = unserialize($default_value);
|
||||
Context::set('default_value', $default_value);
|
||||
}
|
||||
Context::set('formInfo', $output->data);
|
||||
}
|
||||
$oTemplate = &TemplateHandler::getInstance();
|
||||
$tpl = $oTemplate->compile($this->module_path.'tpl', 'new_colorset_list');
|
||||
}
|
||||
|
||||
$oMemberModel = &getModel('member');
|
||||
$config = $oMemberModel->getMemberConfig();
|
||||
foreach($config->signupForm as $item)
|
||||
$this->add('tpl', $tpl);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return member count with date
|
||||
*
|
||||
* @param string $date
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getMemberCountByDate($date = '')
|
||||
{
|
||||
$args = new stdClass();
|
||||
if($date) $args->regDate = date('Ymd', strtotime($date));
|
||||
|
||||
$output = executeQuery('member.getMemberCountByDate', $args);
|
||||
if(!$output->toBool()) return 0;
|
||||
|
||||
return $output->data->count;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return site join member count with date
|
||||
*
|
||||
* @param string $date
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
function getMemberGroupMemberCountByDate($date = '')
|
||||
{
|
||||
if($date) $args->regDate = date('Ymd', strtotime($date));
|
||||
|
||||
$output = executeQuery('member.getMemberGroupMemberCountByDate', $args);
|
||||
if(!$output->toBool()) return 0;
|
||||
|
||||
return count($output->data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return add join Form
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function getMemberAdminInsertJoinForm()
|
||||
{
|
||||
$member_join_form_srl = Context::get('member_join_form_srl');
|
||||
|
||||
$args = new stdClass();
|
||||
$args->member_join_form_srl = $member_join_form_srl;
|
||||
$output = executeQuery('member.getJoinForm', $args);
|
||||
|
||||
if($output->toBool() && $output->data)
|
||||
{
|
||||
$formInfo = $output->data;
|
||||
$default_value = $formInfo->default_value;
|
||||
if($default_value)
|
||||
{
|
||||
$list[] = $item->name;
|
||||
$default_value = unserialize($default_value);
|
||||
Context::set('default_value', $default_value);
|
||||
}
|
||||
|
||||
$id_list = implode(',',$list);
|
||||
Context::set('id_list',$id_list);
|
||||
|
||||
$oTemplate = &TemplateHandler::getInstance();
|
||||
$tpl = $oTemplate->compile($this->module_path.'tpl', 'insert_join_form');
|
||||
|
||||
$this->add('tpl', str_replace("\n"," ",$tpl));
|
||||
Context::set('formInfo', $output->data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* check allowed target ip address when login for admin.
|
||||
*
|
||||
* @return boolean (true : allowed, false : refuse)
|
||||
**/
|
||||
function getMemberAdminIPCheck() {
|
||||
|
||||
$db_info = Context::getDBInfo();
|
||||
$admin_ip_list = $db_info->admin_ip_list;
|
||||
$admin_ip_list = explode(",",$admin_ip_list);
|
||||
$oMemberModel = &getModel('member');
|
||||
$ip = $_SERVER['REMOTE_ADDR'];
|
||||
$falg = false;
|
||||
foreach($admin_ip_list as $admin_ip_list_key => $admin_ip_value) {
|
||||
if(preg_match('/^\d{1,3}(?:.(\d{1,3}|\*)){3}\s*$/', $admin_ip_value, $matches) && $ip) {
|
||||
$admin_ip = $matches[0];
|
||||
$admin_ip = str_replace('*','',$admin_ip);
|
||||
$admin_ip_patterns[] = preg_quote($admin_ip);
|
||||
$admin_ip_pattern = '/^('.implode($admin_ip_patterns,'|').')/';
|
||||
if(preg_match($admin_ip_pattern, $ip, $matches)) return true;
|
||||
$flag = true;
|
||||
}
|
||||
|
||||
}
|
||||
if(!$flag) return true;
|
||||
return false;
|
||||
$oMemberModel = &getModel('member');
|
||||
$config = $oMemberModel->getMemberConfig();
|
||||
foreach($config->signupForm as $item)
|
||||
{
|
||||
$list[] = $item->name;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
$id_list = implode(',',$list);
|
||||
Context::set('id_list',$id_list);
|
||||
|
||||
$oTemplate = &TemplateHandler::getInstance();
|
||||
$tpl = $oTemplate->compile($this->module_path.'tpl', 'insert_join_form');
|
||||
|
||||
$this->add('tpl', str_replace("\n"," ",$tpl));
|
||||
}
|
||||
|
||||
/**
|
||||
* check allowed target ip address when login for admin.
|
||||
*
|
||||
* @return boolean (true : allowed, false : refuse)
|
||||
*/
|
||||
function getMemberAdminIPCheck()
|
||||
{
|
||||
$db_info = Context::getDBInfo();
|
||||
$admin_ip_list = $db_info->admin_ip_list;
|
||||
$admin_ip_list = explode(",",$admin_ip_list);
|
||||
$oMemberModel = &getModel('member');
|
||||
$ip = $_SERVER['REMOTE_ADDR'];
|
||||
$falg = false;
|
||||
foreach($admin_ip_list as $admin_ip_list_key => $admin_ip_value)
|
||||
{
|
||||
if(preg_match('/^\d{1,3}(?:.(\d{1,3}|\*)){3}\s*$/', $admin_ip_value, $matches) && $ip)
|
||||
{
|
||||
$admin_ip = $matches[0];
|
||||
$admin_ip = str_replace('*','',$admin_ip);
|
||||
$admin_ip_patterns[] = preg_quote($admin_ip);
|
||||
$admin_ip_pattern = '/^('.implode($admin_ip_patterns,'|').')/';
|
||||
if(preg_match($admin_ip_pattern, $ip, $matches)) return true;
|
||||
$flag = true;
|
||||
}
|
||||
}
|
||||
if(!$flag) return true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
/* End of file member.admin.model.php */
|
||||
/* Location: ./modules/member/member.admin.model.php */
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,53 +1,58 @@
|
|||
<?php
|
||||
/**
|
||||
* @class memberAPI
|
||||
* @author NHN (developers@xpressengine.com)
|
||||
* API Processing of View Action in the member module
|
||||
**/
|
||||
/**
|
||||
* @class memberAPI
|
||||
* @author NHN (developers@xpressengine.com)
|
||||
* API Processing of View Action in the member module
|
||||
*/
|
||||
class memberAPI extends member
|
||||
{
|
||||
/**
|
||||
* Content List
|
||||
*
|
||||
* @param Object $oModule
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function dispSavedDocumentList(&$oModule)
|
||||
{
|
||||
$document_list = $this->arrangeContentList(Context::get('document_list'));
|
||||
$oModule->add('document_list',$document_list);
|
||||
$oModule->add('page_navigation',Context::get('page_navigation'));
|
||||
}
|
||||
|
||||
class memberAPI extends member {
|
||||
/**
|
||||
* Arrange Contents
|
||||
*
|
||||
* @param array $content_list
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
function arrangeContentList($content_list)
|
||||
{
|
||||
$output = array();
|
||||
if(count($content_list))
|
||||
{
|
||||
foreach($content_list as $key => $val) $output[] = $this->arrangeContent($val);
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Content List
|
||||
*
|
||||
* @param Object $oModule
|
||||
*
|
||||
* @return void
|
||||
**/
|
||||
function dispSavedDocumentList(&$oModule) {
|
||||
$document_list = $this->arrangeContentList(Context::get('document_list'));
|
||||
$oModule->add('document_list',$document_list);
|
||||
$oModule->add('page_navigation',Context::get('page_navigation'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Arrange Contents
|
||||
*
|
||||
* @param array $content_list
|
||||
*
|
||||
* @return array
|
||||
**/
|
||||
function arrangeContentList($content_list) {
|
||||
$output = array();
|
||||
if(count($content_list)) {
|
||||
foreach($content_list as $key => $val) $output[] = $this->arrangeContent($val);
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Arrange Contents
|
||||
*
|
||||
* @param array $content_list
|
||||
*
|
||||
* @return array
|
||||
**/
|
||||
function arrangeContent($content) {
|
||||
$output = null;
|
||||
if($content){
|
||||
$output= $content->gets('document_srl','category_srl','nick_name','user_id','user_name','title','content','tags','voted_count','blamed_count','comment_count','regdate','last_update','extra_vars','status');
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
?>
|
||||
/**
|
||||
* Arrange Contents
|
||||
*
|
||||
* @param array $content_list
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
function arrangeContent($content)
|
||||
{
|
||||
$output = null;
|
||||
if($content)
|
||||
{
|
||||
$output= $content->gets('document_srl','category_srl','nick_name','user_id','user_name','title','content','tags','voted_count','blamed_count','comment_count','regdate','last_update','extra_vars','status');
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
/* End of file member.api.php */
|
||||
/* Location: ./modules/member/member.api.php */
|
||||
|
|
|
|||
|
|
@ -1,430 +1,439 @@
|
|||
<?php
|
||||
/**
|
||||
* @class member
|
||||
* @author NHN (developers@xpressengine.com)
|
||||
* high class of the member module
|
||||
**/
|
||||
class member extends ModuleObject {
|
||||
/**
|
||||
* @class member
|
||||
* @author NHN (developers@xpressengine.com)
|
||||
* high class of the member module
|
||||
*/
|
||||
class member extends ModuleObject {
|
||||
/**
|
||||
* Use sha1 encryption
|
||||
*
|
||||
* @var boolean
|
||||
*/
|
||||
var $useSha1 = false;
|
||||
|
||||
/**
|
||||
* Use sha1 encryption
|
||||
*
|
||||
* @var boolean
|
||||
**/
|
||||
var $useSha1 = false;
|
||||
/**
|
||||
* constructor
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function member()
|
||||
{
|
||||
if(!Context::isInstalled()) return;
|
||||
|
||||
/**
|
||||
* constructor
|
||||
*
|
||||
* @return void
|
||||
**/
|
||||
function member() {
|
||||
if(!Context::isInstalled()) return;
|
||||
$oModuleModel = &getModel('module');
|
||||
$member_config = $oModuleModel->getModuleConfig('member');
|
||||
|
||||
$oModuleModel = &getModel('module');
|
||||
$member_config = $oModuleModel->getModuleConfig('member');
|
||||
// Set to use SSL upon actions related member join/information/password and so on
|
||||
if(Context::get('_use_ssl') == 'optional') {
|
||||
Context::addSSLAction('dispMemberModifyPassword');
|
||||
Context::addSSLAction('dispMemberSignUpForm');
|
||||
Context::addSSLAction('dispMemberModifyInfo');
|
||||
Context::addSSLAction('dispMemberModifyEmailAddress');
|
||||
Context::addSSLAction('dispMemberGetTempPassword');
|
||||
Context::addSSLAction('dispMemberResendAuthMail');
|
||||
Context::addSSLAction('dispMemberLoginForm');
|
||||
Context::addSSLAction('dispMemberFindAccount');
|
||||
Context::addSSLAction('dispMemberLeave');
|
||||
Context::addSSLAction('procMemberLogin');
|
||||
Context::addSSLAction('procMemberModifyPassword');
|
||||
Context::addSSLAction('procMemberInsert');
|
||||
Context::addSSLAction('procMemberModifyInfo');
|
||||
Context::addSSLAction('procMemberFindAccount');
|
||||
Context::addSSLAction('procMemberModifyEmailAddress');
|
||||
Context::addSSLAction('procMemberUpdateAuthMail');
|
||||
Context::addSSLAction('procMemberResendAuthMail');
|
||||
Context::addSSLAction('procMemberLeave');
|
||||
//Context::addSSLAction('getMemberMenu');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Implement if additional tasks are necessary when installing
|
||||
*
|
||||
* @return Object
|
||||
**/
|
||||
function moduleInstall() {
|
||||
// Register action forward (to use in administrator mode)
|
||||
$oModuleController = &getController('module');
|
||||
|
||||
$oDB = &DB::getInstance();
|
||||
$oDB->addIndex("member_group","idx_site_title", array("site_srl","title"),true);
|
||||
|
||||
$oModuleModel = &getModel('module');
|
||||
$args = $oModuleModel->getModuleConfig('member');
|
||||
|
||||
$isNotInstall = empty($args);
|
||||
|
||||
// Set the basic information
|
||||
$args->enable_join = 'Y';
|
||||
$args->enable_openid = 'N';
|
||||
if(!$args->enable_auth_mail) $args->enable_auth_mail = 'N';
|
||||
if(!$args->image_name) $args->image_name = 'Y';
|
||||
if(!$args->image_mark) $args->image_mark = 'Y';
|
||||
if(!$args->profile_image) $args->profile_image = 'Y';
|
||||
if(!$args->image_name_max_width) $args->image_name_max_width = '90';
|
||||
if(!$args->image_name_max_height) $args->image_name_max_height = '20';
|
||||
if(!$args->image_mark_max_width) $args->image_mark_max_width = '20';
|
||||
if(!$args->image_mark_max_height) $args->image_mark_max_height = '20';
|
||||
if(!$args->profile_image_max_width) $args->profile_image_max_width = '80';
|
||||
if(!$args->profile_image_max_height) $args->profile_image_max_height = '80';
|
||||
if($args->group_image_mark!='Y') $args->group_image_mark = 'N';
|
||||
|
||||
global $lang;
|
||||
$oMemberModel = &getModel('member');
|
||||
// Create a member controller object
|
||||
$oMemberController = &getController('member');
|
||||
$oMemberAdminController = &getAdminController('member');
|
||||
|
||||
if(!$args->signupForm || !is_array($args->signupForm))
|
||||
{
|
||||
$identifier = $isNotInstall ? 'email_address' : 'user_id';
|
||||
|
||||
$args->signupForm = $oMemberAdminController->createSignupForm($identifier);
|
||||
$args->identifier = $identifier;
|
||||
|
||||
$oModuleController->insertModuleConfig('member',$args);
|
||||
|
||||
// Create Ruleset File
|
||||
FileHandler::makeDir('./files/ruleset');
|
||||
$oMemberAdminController->_createSignupRuleset($args->signupForm);
|
||||
$oMemberAdminController->_createLoginRuleset($args->identifier);
|
||||
$oMemberAdminController->_createFindAccountByQuestion($args->identifier);
|
||||
}
|
||||
|
||||
$groups = $oMemberModel->getGroups();
|
||||
if(!count($groups)) {
|
||||
// Set an administrator, regular member(group1), and associate member(group2)
|
||||
$group_args->title = Context::getLang('admin_group');
|
||||
$group_args->is_default = 'N';
|
||||
$group_args->is_admin = 'Y';
|
||||
$output = $oMemberAdminController->insertGroup($group_args);
|
||||
|
||||
unset($group_args);
|
||||
$group_args->title = Context::getLang('default_group_1');
|
||||
$group_args->is_default = 'Y';
|
||||
$group_args->is_admin = 'N';
|
||||
$output = $oMemberAdminController->insertGroup($group_args);
|
||||
|
||||
unset($group_args);
|
||||
$group_args->title = Context::getLang('default_group_2');
|
||||
$group_args->is_default = 'N';
|
||||
$group_args->is_admin = 'N';
|
||||
$oMemberAdminController->insertGroup($group_args);
|
||||
}
|
||||
// Configure administrator information
|
||||
$admin_args->is_admin = 'Y';
|
||||
$output = executeQuery('member.getMemberList', $admin_args);
|
||||
if(!$output->data) {
|
||||
$admin_info = Context::gets('user_id','password','nick_name','user_name', 'email_address');
|
||||
if($admin_info->user_id) {
|
||||
// Insert admin information
|
||||
$oMemberAdminController->insertAdmin($admin_info);
|
||||
// Log-in Processing
|
||||
$output = $oMemberController->doLogin($admin_info->email_address);
|
||||
}
|
||||
}
|
||||
// Register denied ID(default + module name)
|
||||
$oModuleModel = &getModel('module');
|
||||
$module_list = $oModuleModel->getModuleList();
|
||||
foreach($module_list as $key => $val) {
|
||||
$oMemberAdminController->insertDeniedID($val->module,'');
|
||||
}
|
||||
$oMemberAdminController->insertDeniedID('www','');
|
||||
$oMemberAdminController->insertDeniedID('root','');
|
||||
$oMemberAdminController->insertDeniedID('administrator','');
|
||||
$oMemberAdminController->insertDeniedID('telnet','');
|
||||
$oMemberAdminController->insertDeniedID('ftp','');
|
||||
$oMemberAdminController->insertDeniedID('http','');
|
||||
// Create cache directory to use in the member module
|
||||
FileHandler::makeDir('./files/member_extra_info/image_name');
|
||||
FileHandler::makeDir('./files/member_extra_info/image_mark');
|
||||
FileHandler::makeDir('./files/member_extra_info/profile_image');
|
||||
FileHandler::makeDir('./files/member_extra_info/signature');
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
/**
|
||||
* a method to check if successfully installed
|
||||
*
|
||||
* @return boolean
|
||||
**/
|
||||
function checkUpdate() {
|
||||
$oDB = &DB::getInstance();
|
||||
$oModuleModel = &getModel('module');
|
||||
// check member directory (11/08/2007 added)
|
||||
if(!is_dir("./files/member_extra_info")) return true;
|
||||
// check member directory (22/10/2007 added)
|
||||
if(!is_dir("./files/member_extra_info/profile_image")) return true;
|
||||
// Add a column(is_register) to "member_auth_mail" table (22/04/2008)
|
||||
$act = $oDB->isColumnExists("member_auth_mail", "is_register");
|
||||
if(!$act) return true;
|
||||
// Add a column(site_srl) to "member_group_member" table (11/15/2008)
|
||||
if(!$oDB->isColumnExists("member_group_member", "site_srl")) return true;
|
||||
if(!$oDB->isColumnExists("member_group", "site_srl")) return true;
|
||||
if($oDB->isIndexExists("member_group","uni_member_group_title")) return true;
|
||||
|
||||
// Add a column for list_order (05/18/2011)
|
||||
if(!$oDB->isColumnExists("member_group", "list_order")) return true;
|
||||
|
||||
// image_mark 추가 (2009. 02. 14)
|
||||
if(!$oDB->isColumnExists("member_group", "image_mark")) return true;
|
||||
// Add c column for password expiration date
|
||||
if(!$oDB->isColumnExists("member", "change_password_date")) return true;
|
||||
|
||||
// Add columns of question and answer to verify a password
|
||||
if(!$oDB->isColumnExists("member", "find_account_question")) return true;
|
||||
if(!$oDB->isColumnExists("member", "find_account_answer")) return true;
|
||||
|
||||
if(!$oDB->isColumnExists("member", "list_order")) return true;
|
||||
if(!$oDB->isIndexExists("member","idx_list_order")) return true;
|
||||
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('member');
|
||||
// check signup form ordering info
|
||||
if (!$config->signupForm) return true;
|
||||
|
||||
// check agreement field exist
|
||||
if ($config->agreement) return true;
|
||||
|
||||
if($config->skin)
|
||||
{
|
||||
$config_parse = explode('.', $config->skin);
|
||||
if (count($config_parse) > 1)
|
||||
{
|
||||
$template_path = sprintf('./themes/%s/modules/member/', $config_parse[0]);
|
||||
if(is_dir($template_path)) return true;
|
||||
}
|
||||
}
|
||||
|
||||
// supprot multilanguage agreement.
|
||||
if (is_readable('./files/member_extra_info/agreement.txt')) return true;
|
||||
|
||||
if (!is_readable('./files/ruleset/insertMember.xml')) return true;
|
||||
if (!is_readable('./files/ruleset/login.xml')) return true;
|
||||
if (!is_readable('./files/ruleset/find_member_account_by_question.xml')) return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute update
|
||||
*
|
||||
* @return Object
|
||||
**/
|
||||
function moduleUpdate() {
|
||||
$oDB = &DB::getInstance();
|
||||
$oModuleController = &getController('module');
|
||||
// Check member directory
|
||||
FileHandler::makeDir('./files/member_extra_info/image_name');
|
||||
FileHandler::makeDir('./files/member_extra_info/image_mark');
|
||||
FileHandler::makeDir('./files/member_extra_info/signature');
|
||||
FileHandler::makeDir('./files/member_extra_info/profile_image');
|
||||
// Add a column
|
||||
if (!$oDB->isColumnExists("member_auth_mail", "is_register")) {
|
||||
$oDB->addColumn("member_auth_mail", "is_register", "char", 1, "N", true);
|
||||
}
|
||||
// Add a column(site_srl) to "member_group_member" table (11/15/2008)
|
||||
if (!$oDB->isColumnExists("member_group_member", "site_srl")) {
|
||||
$oDB->addColumn("member_group_member", "site_srl", "number", 11, 0, true);
|
||||
$oDB->addIndex("member_group_member", "idx_site_srl", "site_srl", false);
|
||||
}
|
||||
if (!$oDB->isColumnExists("member_group", "site_srl")) {
|
||||
$oDB->addColumn("member_group", "site_srl", "number", 11, 0, true);
|
||||
$oDB->addIndex("member_group","idx_site_title", array("site_srl","title"),true);
|
||||
}
|
||||
if($oDB->isIndexExists("member_group","uni_member_group_title")) {
|
||||
$oDB->dropIndex("member_group","uni_member_group_title",true);
|
||||
}
|
||||
|
||||
// Add a column(list_order) to "member_group" table (05/18/2011)
|
||||
if (!$oDB->isColumnExists("member_group", "list_order")) {
|
||||
$oDB->addColumn("member_group", "list_order", "number", 11, '', true);
|
||||
$oDB->addIndex("member_group","idx_list_order", "list_order",false);
|
||||
$output = executeQuery('member.updateAllMemberGroupListOrder');
|
||||
}
|
||||
// Add a column for image_mark (02/14/2009)
|
||||
if(!$oDB->isColumnExists("member_group", "image_mark")) {
|
||||
$oDB->addColumn("member_group", "image_mark", "text");
|
||||
}
|
||||
// Add a column for password expiration date
|
||||
if(!$oDB->isColumnExists("member", "change_password_date")) {
|
||||
$oDB->addColumn("member", "change_password_date", "date");
|
||||
executeQuery('member.updateAllChangePasswordDate');
|
||||
}
|
||||
|
||||
// Add columns of question and answer to verify a password
|
||||
if(!$oDB->isColumnExists("member", "find_account_question")) {
|
||||
$oDB->addColumn("member", "find_account_question", "number", 11);
|
||||
}
|
||||
if(!$oDB->isColumnExists("member", "find_account_answer")) {
|
||||
$oDB->addColumn("member", "find_account_answer", "varchar", 250);
|
||||
}
|
||||
|
||||
if(!$oDB->isColumnExists("member", "list_order")) {
|
||||
$oDB->addColumn("member", "list_order", "number", 11);
|
||||
set_time_limit(0);
|
||||
$args->list_order = 'member_srl';
|
||||
executeQuery('member.updateMemberListOrderAll',$args);
|
||||
executeQuery('member.updateMemberListOrderAll');
|
||||
}
|
||||
if(!$oDB->isIndexExists("member","idx_list_order")) {
|
||||
$oDB->addIndex("member","idx_list_order", array("list_order"));
|
||||
}
|
||||
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('member');
|
||||
$oModuleController = &getController('module');
|
||||
|
||||
// check agreement value exist
|
||||
if($config->agreement)
|
||||
{
|
||||
$agreement_file = _XE_PATH_.'files/member_extra_info/agreement_' . Context::get('lang_type') . '.txt';
|
||||
$output = FileHandler::writeFile($agreement_file, $config->agreement);
|
||||
|
||||
$config->agreement = NULL;
|
||||
$output = $oModuleController->updateModuleConfig('member', $config);
|
||||
}
|
||||
|
||||
$oMemberAdminController = &getAdminController('member');
|
||||
// check signup form ordering info
|
||||
if (!$config->signupForm || !is_array($config->signupForm)){
|
||||
$identifier = 'user_id';
|
||||
|
||||
$config->signupForm = $oMemberAdminController->createSignupForm($identifier);
|
||||
$config->identifier = $identifier;
|
||||
unset($config->agreement);
|
||||
$output = $oModuleController->updateModuleConfig('member', $config);
|
||||
}
|
||||
|
||||
if($config->skin)
|
||||
{
|
||||
$config_parse = explode('.', $config->skin);
|
||||
if (count($config_parse) > 1)
|
||||
{
|
||||
$template_path = sprintf('./themes/%s/modules/member/', $config_parse[0]);
|
||||
if(is_dir($template_path))
|
||||
{
|
||||
$config->skin = implode('|@|', $config_parse);
|
||||
$oModuleController = &getController('module');
|
||||
$oModuleController->updateModuleConfig('member', $config);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (is_readable('./files/member_extra_info/agreement.txt'))
|
||||
{
|
||||
$source_file = _XE_PATH_.'files/member_extra_info/agreement.txt';
|
||||
$target_file = _XE_PATH_.'files/member_extra_info/agreement_' . Context::get('lang_type') . '.txt';
|
||||
|
||||
FileHandler::rename($source_file, $target_file);
|
||||
}
|
||||
|
||||
FileHandler::makeDir('./files/ruleset');
|
||||
if (!is_readable('./files/ruleset/insertMember.xml'))
|
||||
$oMemberAdminController->_createSignupRuleset($config->signupForm);
|
||||
if (!is_readable('./files/ruleset/login.xml'))
|
||||
$oMemberAdminController->_createLoginRuleset($config->identifier);
|
||||
if (!is_readable('./files/ruleset/find_member_account_by_question.xml'))
|
||||
$oMemberAdminController->_createFindAccountByQuestion($config->identifier);
|
||||
|
||||
return new Object(0, 'success_updated');
|
||||
}
|
||||
|
||||
/**
|
||||
* Re-generate the cache file
|
||||
*
|
||||
* @return void
|
||||
**/
|
||||
function recompileCache() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Record login error and return the error, about IPaddress.
|
||||
**/
|
||||
function recordLoginError($error = 0, $message = 'success')
|
||||
// Set to use SSL upon actions related member join/information/password and so on. 2013.02.15
|
||||
if(!Context::isExistsSSLAction('dispMemberModifyPassword') && Context::getSslStatus() == 'optional')
|
||||
{
|
||||
if($error == 0) return new Object($error, $message);
|
||||
|
||||
// Create a member model object
|
||||
$oMemberModel = &getModel('member');
|
||||
$config = $oMemberModel->getMemberConfig();
|
||||
|
||||
// Check if there is recoding table.
|
||||
$oDB = &DB::getInstance();
|
||||
if(!$oDB->isTableExists('member_login_count') || $config->enable_login_fail_report == 'N') return new Object($error, $message);
|
||||
|
||||
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
|
||||
|
||||
$output = executeQuery('member.getLoginCountByIp', $args);
|
||||
if($output->data && $output->data->count)
|
||||
{
|
||||
$last_update = strtotime($output->data->last_update);
|
||||
$term = intval(time()-$last_update);
|
||||
//update, if IP address access in a short time, update count. If not, make count 1.
|
||||
if($term < $config->max_error_count_time)
|
||||
{
|
||||
$args->count = $output->data->count + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$args->count = 1;
|
||||
}
|
||||
unset($oMemberModel);
|
||||
unset($config);
|
||||
$output = executeQuery('member.updateLoginCountByIp', $args);
|
||||
}
|
||||
else
|
||||
{
|
||||
//insert
|
||||
$args->count = 1;
|
||||
$output = executeQuery('member.insertLoginCountByIp', $args);
|
||||
}
|
||||
return new Object($error, $message);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Record login error and return the error, about MemberSrl.
|
||||
**/
|
||||
function recordMemberLoginError($error = 0, $message = 'success', $args = NULL)
|
||||
{
|
||||
if($error == 0 || !$args->member_srl) return new Object($error, $message);
|
||||
|
||||
// Create a member model object
|
||||
$oMemberModel = &getModel('member');
|
||||
$config = $oMemberModel->getMemberConfig();
|
||||
|
||||
// Check if there is recoding table.
|
||||
$oDB = &DB::getInstance();
|
||||
if(!$oDB->isTableExists('member_count_history') || $config->enable_login_fail_report == 'N') return new Object($error, $message);
|
||||
|
||||
$output = executeQuery('member.getLoginCountHistoryByMemberSrl', $args);
|
||||
if($output->data && $output->data->content)
|
||||
{
|
||||
//update
|
||||
$content = unserialize($output->data->content);
|
||||
$content[] = array($_SERVER['REMOTE_ADDR'],Context::getLang($message),time());
|
||||
$args->content = serialize($content);
|
||||
$output = executeQuery('member.updateLoginCountHistoryByMemberSrl', $args);
|
||||
}
|
||||
else
|
||||
{
|
||||
//insert
|
||||
$content[0] = array($_SERVER['REMOTE_ADDR'],Context::getLang($message),time());
|
||||
$args->content = serialize($content);
|
||||
$output = executeQuery('member.insertLoginCountHistoryByMemberSrl', $args);
|
||||
}
|
||||
return $this->recordLoginError($error, $message);
|
||||
$ssl_actions = array('dispMemberModifyPassword', 'dispMemberSignUpForm', 'dispMemberModifyInfo', 'dispMemberModifyEmailAddress', 'dispMemberGetTempPassword', 'dispMemberResendAuthMail', 'dispMemberLoginForm', 'dispMemberFindAccount', 'dispMemberLeave', 'procMemberLogin', 'procMemberModifyPassword', 'procMemberInsert', 'procMemberModifyInfo', 'procMemberFindAccount', 'procMemberModifyEmailAddress', 'procMemberUpdateAuthMail', 'procMemberResendAuthMail', 'procMemberLeave'/*, 'getMemberMenu'*/);
|
||||
Context::addSSLActions($ssl_actions);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
/**
|
||||
* Implement if additional tasks are necessary when installing
|
||||
*
|
||||
* @return Object
|
||||
*/
|
||||
function moduleInstall()
|
||||
{
|
||||
// Register action forward (to use in administrator mode)
|
||||
$oModuleController = &getController('module');
|
||||
|
||||
$oDB = &DB::getInstance();
|
||||
$oDB->addIndex("member_group","idx_site_title", array("site_srl","title"),true);
|
||||
|
||||
$oModuleModel = &getModel('module');
|
||||
$args = $oModuleModel->getModuleConfig('member');
|
||||
|
||||
$isNotInstall = empty($args);
|
||||
|
||||
// Set the basic information
|
||||
$args->enable_join = 'Y';
|
||||
$args->enable_openid = 'N';
|
||||
if(!$args->enable_auth_mail) $args->enable_auth_mail = 'N';
|
||||
if(!$args->image_name) $args->image_name = 'Y';
|
||||
if(!$args->image_mark) $args->image_mark = 'Y';
|
||||
if(!$args->profile_image) $args->profile_image = 'Y';
|
||||
if(!$args->image_name_max_width) $args->image_name_max_width = '90';
|
||||
if(!$args->image_name_max_height) $args->image_name_max_height = '20';
|
||||
if(!$args->image_mark_max_width) $args->image_mark_max_width = '20';
|
||||
if(!$args->image_mark_max_height) $args->image_mark_max_height = '20';
|
||||
if(!$args->profile_image_max_width) $args->profile_image_max_width = '80';
|
||||
if(!$args->profile_image_max_height) $args->profile_image_max_height = '80';
|
||||
if($args->group_image_mark!='Y') $args->group_image_mark = 'N';
|
||||
|
||||
global $lang;
|
||||
$oMemberModel = &getModel('member');
|
||||
// Create a member controller object
|
||||
$oMemberController = &getController('member');
|
||||
$oMemberAdminController = &getAdminController('member');
|
||||
|
||||
if(!$args->signupForm || !is_array($args->signupForm))
|
||||
{
|
||||
$identifier = $isNotInstall ? 'email_address' : 'user_id';
|
||||
|
||||
$args->signupForm = $oMemberAdminController->createSignupForm($identifier);
|
||||
$args->identifier = $identifier;
|
||||
|
||||
$oModuleController->insertModuleConfig('member',$args);
|
||||
|
||||
// Create Ruleset File
|
||||
FileHandler::makeDir('./files/ruleset');
|
||||
$oMemberAdminController->_createSignupRuleset($args->signupForm);
|
||||
$oMemberAdminController->_createLoginRuleset($args->identifier);
|
||||
$oMemberAdminController->_createFindAccountByQuestion($args->identifier);
|
||||
}
|
||||
|
||||
$groups = $oMemberModel->getGroups();
|
||||
if(!count($groups))
|
||||
{
|
||||
// Set an administrator, regular member(group1), and associate member(group2)
|
||||
$group_args->title = Context::getLang('admin_group');
|
||||
$group_args->is_default = 'N';
|
||||
$group_args->is_admin = 'Y';
|
||||
$output = $oMemberAdminController->insertGroup($group_args);
|
||||
|
||||
unset($group_args);
|
||||
$group_args->title = Context::getLang('default_group_1');
|
||||
$group_args->is_default = 'Y';
|
||||
$group_args->is_admin = 'N';
|
||||
$output = $oMemberAdminController->insertGroup($group_args);
|
||||
|
||||
unset($group_args);
|
||||
$group_args->title = Context::getLang('default_group_2');
|
||||
$group_args->is_default = 'N';
|
||||
$group_args->is_admin = 'N';
|
||||
$oMemberAdminController->insertGroup($group_args);
|
||||
}
|
||||
|
||||
// Configure administrator information
|
||||
$admin_args->is_admin = 'Y';
|
||||
$output = executeQuery('member.getMemberList', $admin_args);
|
||||
if(!$output->data)
|
||||
{
|
||||
$admin_info = Context::gets('password','nick_name','email_address', 'user_id');
|
||||
if($admin_info->email_address)
|
||||
{
|
||||
$admin_info->user_name = 'admin';
|
||||
// Insert admin information
|
||||
$oMemberAdminController->insertAdmin($admin_info);
|
||||
// Log-in Processing
|
||||
$output = $oMemberController->doLogin($admin_info->email_address);
|
||||
}
|
||||
}
|
||||
// Register denied ID(default + module name)
|
||||
$oModuleModel = &getModel('module');
|
||||
$module_list = $oModuleModel->getModuleList();
|
||||
foreach($module_list as $key => $val)
|
||||
{
|
||||
$oMemberAdminController->insertDeniedID($val->module,'');
|
||||
}
|
||||
$oMemberAdminController->insertDeniedID('www','');
|
||||
$oMemberAdminController->insertDeniedID('root','');
|
||||
$oMemberAdminController->insertDeniedID('administrator','');
|
||||
$oMemberAdminController->insertDeniedID('telnet','');
|
||||
$oMemberAdminController->insertDeniedID('ftp','');
|
||||
$oMemberAdminController->insertDeniedID('http','');
|
||||
// Create cache directory to use in the member module
|
||||
FileHandler::makeDir('./files/member_extra_info/image_name');
|
||||
FileHandler::makeDir('./files/member_extra_info/image_mark');
|
||||
FileHandler::makeDir('./files/member_extra_info/profile_image');
|
||||
FileHandler::makeDir('./files/member_extra_info/signature');
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
/**
|
||||
* a method to check if successfully installed
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
function checkUpdate()
|
||||
{
|
||||
$oDB = &DB::getInstance();
|
||||
$oModuleModel = &getModel('module');
|
||||
// check member directory (11/08/2007 added)
|
||||
if(!is_dir("./files/member_extra_info")) return true;
|
||||
// check member directory (22/10/2007 added)
|
||||
if(!is_dir("./files/member_extra_info/profile_image")) return true;
|
||||
// Add a column(is_register) to "member_auth_mail" table (22/04/2008)
|
||||
$act = $oDB->isColumnExists("member_auth_mail", "is_register");
|
||||
if(!$act) return true;
|
||||
// Add a column(site_srl) to "member_group_member" table (11/15/2008)
|
||||
if(!$oDB->isColumnExists("member_group_member", "site_srl")) return true;
|
||||
if(!$oDB->isColumnExists("member_group", "site_srl")) return true;
|
||||
if($oDB->isIndexExists("member_group","uni_member_group_title")) return true;
|
||||
|
||||
// Add a column for list_order (05/18/2011)
|
||||
if(!$oDB->isColumnExists("member_group", "list_order")) return true;
|
||||
|
||||
// image_mark 추가 (2009. 02. 14)
|
||||
if(!$oDB->isColumnExists("member_group", "image_mark")) return true;
|
||||
// Add c column for password expiration date
|
||||
if(!$oDB->isColumnExists("member", "change_password_date")) return true;
|
||||
|
||||
// Add columns of question and answer to verify a password
|
||||
if(!$oDB->isColumnExists("member", "find_account_question")) return true;
|
||||
if(!$oDB->isColumnExists("member", "find_account_answer")) return true;
|
||||
|
||||
if(!$oDB->isColumnExists("member", "list_order")) return true;
|
||||
if(!$oDB->isIndexExists("member","idx_list_order")) return true;
|
||||
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('member');
|
||||
// check signup form ordering info
|
||||
if(!$config->signupForm) return true;
|
||||
|
||||
// check agreement field exist
|
||||
if($config->agreement) return true;
|
||||
|
||||
if($config->skin)
|
||||
{
|
||||
$config_parse = explode('.', $config->skin);
|
||||
if(count($config_parse) > 1)
|
||||
{
|
||||
$template_path = sprintf('./themes/%s/modules/member/', $config_parse[0]);
|
||||
if(is_dir($template_path)) return true;
|
||||
}
|
||||
}
|
||||
|
||||
// supprot multilanguage agreement.
|
||||
if(is_readable('./files/member_extra_info/agreement.txt')) return true;
|
||||
|
||||
if(!is_readable('./files/ruleset/insertMember.xml')) return true;
|
||||
if(!is_readable('./files/ruleset/login.xml')) return true;
|
||||
if(!is_readable('./files/ruleset/find_member_account_by_question.xml')) return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute update
|
||||
*
|
||||
* @return Object
|
||||
*/
|
||||
function moduleUpdate()
|
||||
{
|
||||
$oDB = &DB::getInstance();
|
||||
$oModuleController = &getController('module');
|
||||
// Check member directory
|
||||
FileHandler::makeDir('./files/member_extra_info/image_name');
|
||||
FileHandler::makeDir('./files/member_extra_info/image_mark');
|
||||
FileHandler::makeDir('./files/member_extra_info/signature');
|
||||
FileHandler::makeDir('./files/member_extra_info/profile_image');
|
||||
// Add a column
|
||||
if(!$oDB->isColumnExists("member_auth_mail", "is_register"))
|
||||
{
|
||||
$oDB->addColumn("member_auth_mail", "is_register", "char", 1, "N", true);
|
||||
}
|
||||
// Add a column(site_srl) to "member_group_member" table (11/15/2008)
|
||||
if(!$oDB->isColumnExists("member_group_member", "site_srl"))
|
||||
{
|
||||
$oDB->addColumn("member_group_member", "site_srl", "number", 11, 0, true);
|
||||
$oDB->addIndex("member_group_member", "idx_site_srl", "site_srl", false);
|
||||
}
|
||||
if(!$oDB->isColumnExists("member_group", "site_srl"))
|
||||
{
|
||||
$oDB->addColumn("member_group", "site_srl", "number", 11, 0, true);
|
||||
$oDB->addIndex("member_group","idx_site_title", array("site_srl","title"),true);
|
||||
}
|
||||
if($oDB->isIndexExists("member_group","uni_member_group_title"))
|
||||
{
|
||||
$oDB->dropIndex("member_group","uni_member_group_title",true);
|
||||
}
|
||||
|
||||
// Add a column(list_order) to "member_group" table (05/18/2011)
|
||||
if(!$oDB->isColumnExists("member_group", "list_order"))
|
||||
{
|
||||
$oDB->addColumn("member_group", "list_order", "number", 11, '', true);
|
||||
$oDB->addIndex("member_group","idx_list_order", "list_order",false);
|
||||
$output = executeQuery('member.updateAllMemberGroupListOrder');
|
||||
}
|
||||
// Add a column for image_mark (02/14/2009)
|
||||
if(!$oDB->isColumnExists("member_group", "image_mark"))
|
||||
{
|
||||
$oDB->addColumn("member_group", "image_mark", "text");
|
||||
}
|
||||
// Add a column for password expiration date
|
||||
if(!$oDB->isColumnExists("member", "change_password_date"))
|
||||
{
|
||||
$oDB->addColumn("member", "change_password_date", "date");
|
||||
executeQuery('member.updateAllChangePasswordDate');
|
||||
}
|
||||
|
||||
// Add columns of question and answer to verify a password
|
||||
if(!$oDB->isColumnExists("member", "find_account_question"))
|
||||
{
|
||||
$oDB->addColumn("member", "find_account_question", "number", 11);
|
||||
}
|
||||
if(!$oDB->isColumnExists("member", "find_account_answer"))
|
||||
{
|
||||
$oDB->addColumn("member", "find_account_answer", "varchar", 250);
|
||||
}
|
||||
|
||||
if(!$oDB->isColumnExists("member", "list_order"))
|
||||
{
|
||||
$oDB->addColumn("member", "list_order", "number", 11);
|
||||
@set_time_limit(0);
|
||||
$args->list_order = 'member_srl';
|
||||
executeQuery('member.updateMemberListOrderAll',$args);
|
||||
executeQuery('member.updateMemberListOrderAll');
|
||||
}
|
||||
if(!$oDB->isIndexExists("member","idx_list_order"))
|
||||
{
|
||||
$oDB->addIndex("member","idx_list_order", array("list_order"));
|
||||
}
|
||||
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('member');
|
||||
$oModuleController = &getController('module');
|
||||
|
||||
// check agreement value exist
|
||||
if($config->agreement)
|
||||
{
|
||||
$agreement_file = _XE_PATH_.'files/member_extra_info/agreement_' . Context::get('lang_type') . '.txt';
|
||||
$output = FileHandler::writeFile($agreement_file, $config->agreement);
|
||||
|
||||
$config->agreement = NULL;
|
||||
$output = $oModuleController->updateModuleConfig('member', $config);
|
||||
}
|
||||
|
||||
$oMemberAdminController = &getAdminController('member');
|
||||
// check signup form ordering info
|
||||
if(!$config->signupForm || !is_array($config->signupForm))
|
||||
{
|
||||
$identifier = 'user_id';
|
||||
|
||||
$config->signupForm = $oMemberAdminController->createSignupForm($identifier);
|
||||
$config->identifier = $identifier;
|
||||
unset($config->agreement);
|
||||
$output = $oModuleController->updateModuleConfig('member', $config);
|
||||
}
|
||||
|
||||
if($config->skin)
|
||||
{
|
||||
$config_parse = explode('.', $config->skin);
|
||||
if (count($config_parse) > 1)
|
||||
{
|
||||
$template_path = sprintf('./themes/%s/modules/member/', $config_parse[0]);
|
||||
if(is_dir($template_path))
|
||||
{
|
||||
$config->skin = implode('|@|', $config_parse);
|
||||
$oModuleController = &getController('module');
|
||||
$oModuleController->updateModuleConfig('member', $config);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(is_readable('./files/member_extra_info/agreement.txt'))
|
||||
{
|
||||
$source_file = _XE_PATH_.'files/member_extra_info/agreement.txt';
|
||||
$target_file = _XE_PATH_.'files/member_extra_info/agreement_' . Context::get('lang_type') . '.txt';
|
||||
|
||||
FileHandler::rename($source_file, $target_file);
|
||||
}
|
||||
|
||||
FileHandler::makeDir('./files/ruleset');
|
||||
if(!is_readable('./files/ruleset/insertMember.xml'))
|
||||
$oMemberAdminController->_createSignupRuleset($config->signupForm);
|
||||
if(!is_readable('./files/ruleset/login.xml'))
|
||||
$oMemberAdminController->_createLoginRuleset($config->identifier);
|
||||
if(!is_readable('./files/ruleset/find_member_account_by_question.xml'))
|
||||
$oMemberAdminController->_createFindAccountByQuestion($config->identifier);
|
||||
|
||||
return new Object(0, 'success_updated');
|
||||
}
|
||||
|
||||
/**
|
||||
* Re-generate the cache file
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function recompileCache()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Record login error and return the error, about IPaddress.
|
||||
*/
|
||||
function recordLoginError($error = 0, $message = 'success')
|
||||
{
|
||||
if($error == 0) return new Object($error, $message);
|
||||
|
||||
// Create a member model object
|
||||
$oMemberModel = &getModel('member');
|
||||
$config = $oMemberModel->getMemberConfig();
|
||||
|
||||
// Check if there is recoding table.
|
||||
$oDB = &DB::getInstance();
|
||||
if(!$oDB->isTableExists('member_login_count') || $config->enable_login_fail_report == 'N') return new Object($error, $message);
|
||||
|
||||
$args = new stdClass();
|
||||
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
|
||||
|
||||
$output = executeQuery('member.getLoginCountByIp', $args);
|
||||
if($output->data && $output->data->count)
|
||||
{
|
||||
$last_update = strtotime($output->data->last_update);
|
||||
$term = intval(time()-$last_update);
|
||||
//update, if IP address access in a short time, update count. If not, make count 1.
|
||||
if($term < $config->max_error_count_time)
|
||||
{
|
||||
$args->count = $output->data->count + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$args->count = 1;
|
||||
}
|
||||
unset($oMemberModel);
|
||||
unset($config);
|
||||
$output = executeQuery('member.updateLoginCountByIp', $args);
|
||||
}
|
||||
else
|
||||
{
|
||||
//insert
|
||||
$args->count = 1;
|
||||
$output = executeQuery('member.insertLoginCountByIp', $args);
|
||||
}
|
||||
return new Object($error, $message);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Record login error and return the error, about MemberSrl.
|
||||
*/
|
||||
function recordMemberLoginError($error = 0, $message = 'success', $args = NULL)
|
||||
{
|
||||
if($error == 0 || !$args->member_srl) return new Object($error, $message);
|
||||
|
||||
// Create a member model object
|
||||
$oMemberModel = &getModel('member');
|
||||
$config = $oMemberModel->getMemberConfig();
|
||||
|
||||
// Check if there is recoding table.
|
||||
$oDB = &DB::getInstance();
|
||||
if(!$oDB->isTableExists('member_count_history') || $config->enable_login_fail_report == 'N') return new Object($error, $message);
|
||||
|
||||
$output = executeQuery('member.getLoginCountHistoryByMemberSrl', $args);
|
||||
if($output->data && $output->data->content)
|
||||
{
|
||||
//update
|
||||
$content = unserialize($output->data->content);
|
||||
$content[] = array($_SERVER['REMOTE_ADDR'],Context::getLang($message),time());
|
||||
$args->content = serialize($content);
|
||||
$output = executeQuery('member.updateLoginCountHistoryByMemberSrl', $args);
|
||||
}
|
||||
else
|
||||
{
|
||||
//insert
|
||||
$content[0] = array($_SERVER['REMOTE_ADDR'],Context::getLang($message),time());
|
||||
$args->content = serialize($content);
|
||||
$output = executeQuery('member.insertLoginCountHistoryByMemberSrl', $args);
|
||||
}
|
||||
return $this->recordLoginError($error, $message);
|
||||
}
|
||||
}
|
||||
/* End of file member.class.php */
|
||||
/* Location: ./modules/member/member.class.php */
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -8,12 +8,15 @@ class memberMobile extends memberView
|
|||
*/
|
||||
var $memberInfo;
|
||||
|
||||
function init()
|
||||
function init()
|
||||
{
|
||||
// Get the member configuration
|
||||
$oMemberModel = &getModel('member');
|
||||
$this->member_config = $oMemberModel->getMemberConfig();
|
||||
Context::set('member_config', $this->member_config);
|
||||
$oSecurity = new Security();
|
||||
$oSecurity->encodeHTML('member_config.signupForm..');
|
||||
|
||||
|
||||
$mskin = $this->member_config->mskin;
|
||||
// Set the template path
|
||||
|
|
@ -29,7 +32,7 @@ class memberMobile extends memberView
|
|||
|
||||
// if member_srl exists, set memberInfo
|
||||
$member_srl = Context::get('member_srl');
|
||||
if($member_srl)
|
||||
if($member_srl)
|
||||
{
|
||||
$oMemberModel = &getModel('member');
|
||||
$this->memberInfo = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
|
||||
|
|
@ -43,7 +46,7 @@ class memberMobile extends memberView
|
|||
}
|
||||
}
|
||||
|
||||
$this->setTemplatePath($template_path);
|
||||
$this->setTemplatePath($template_path);
|
||||
|
||||
$oLayoutModel = &getModel('layout');
|
||||
$layout_info = $oLayoutModel->getLayout($this->member_config->mlayout_srl);
|
||||
|
|
@ -57,11 +60,12 @@ class memberMobile extends memberView
|
|||
function dispMemberModifyInfo()
|
||||
{
|
||||
parent::dispMemberModifyInfo();
|
||||
|
||||
|
||||
if($this->member_info)
|
||||
{
|
||||
Context::set('oMemberInfo', get_object_vars($this->member_info));
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
/* End of file member.mobile.php */
|
||||
/* Location: ./modules/member/member.mobile.php */
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -3,7 +3,7 @@
|
|||
<table name="member_autologin" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="autologin_key" var="autologin_key" />
|
||||
<condition operation="equal" column="autologin_key" var="autologin_key" pipe="or" default='' />
|
||||
<condition operation="equal" column="member_srl" var="member_srl" pipe="or" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<group pipe="and">
|
||||
<condition operation="equal" column="member.is_admin" var="is_admin" />
|
||||
<condition operation="equal" column="member.denied" var="is_denied" pipe="and" />
|
||||
<condition operation="in" column="member.member_srls" var="member_srls" pipe="and" />
|
||||
<condition operation="in" column="member.member_srl" var="member_srls" pipe="and" />
|
||||
</group>
|
||||
<group pipe="and">
|
||||
<condition operation="like" column="member.user_id" var="s_user_id" />
|
||||
|
|
|
|||
10
modules/member/ruleset/insertDefaultConfig.xml
Normal file
10
modules/member/ruleset/insertDefaultConfig.xml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ruleset version="1.5.0">
|
||||
<customrules>
|
||||
</customrules>
|
||||
<fields>
|
||||
<field name="enable_join" required="true" />
|
||||
<field name="webmaster_name" required="true" length="2:40" />
|
||||
<field name="webmaster_email" length="1:200" rule="email" />
|
||||
</fields>
|
||||
</ruleset>
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
</customrules>
|
||||
<fields>
|
||||
<field name="column_type" required="true" />
|
||||
<field name="column_id" required="true" rule="alpha_number" />
|
||||
<field name="column_title" required="true" />
|
||||
<field name="column_id" required="true" rule="alpha_number" length="1:60" />
|
||||
<field name="column_title" required="true" length="1:60" />
|
||||
</fields>
|
||||
</ruleset>
|
||||
|
|
|
|||
|
|
@ -3,8 +3,6 @@
|
|||
<customrules>
|
||||
</customrules>
|
||||
<fields>
|
||||
<field name="webmaster_name" required="true" length="2:40" />
|
||||
<field name="webmaster_email" length="1:200" rule="email" />
|
||||
<field name="max_error_count" length="1:20" rule="number" />
|
||||
<field name="max_error_count_time" length="1:20" rule="number" />
|
||||
</fields>
|
||||
|
|
@ -1 +1 @@
|
|||
</div>
|
||||
</section>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,8 @@
|
|||
<load target="js/member.js" />
|
||||
<load target="css/member.css" />
|
||||
<div class="xm">
|
||||
<div class="nav" cond="$is_logged && $logged_info->menu_list && (!$member_srl || $member_srl == $logged_info->member_srl)">
|
||||
<ul>
|
||||
<li loop="$logged_info->menu_list=>$key,$val" class="active"|cond="$key==$act">
|
||||
<a href="{getUrl('', 'act',$key, 'mid', $mid, 'vid', $vid)}"><span>{Context::getLang($val)}</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<load target="js/member.js" />
|
||||
<section class="xm">
|
||||
<ul class="nav nav-tabs" cond="$is_logged && $logged_info->menu_list && (!$member_srl || $member_srl == $logged_info->member_srl)">
|
||||
<li loop="$logged_info->menu_list=>$key,$val" class="active"|cond="$key==$act">
|
||||
<a href="{getUrl('', 'act',$key, 'mid', $mid, 'vid', $vid)}">{Context::getLang($val)}</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -1,117 +1,324 @@
|
|||
@charset "utf-8";
|
||||
/* Element Reset */
|
||||
/* Horizontal Align */
|
||||
.xm .pull-right{float:right}
|
||||
.xm .pull-left{float:left}
|
||||
/* DL Horizontal */
|
||||
.xm .dl-horizontal{*zoom:1}
|
||||
.xm .dl-horizontal:before,
|
||||
.xm .dl-horizontal:after{display:table;line-height:0;content:""}
|
||||
.xm .dl-horizontal:after{clear:both}
|
||||
.xm .dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}
|
||||
.xm .dl-horizontal dd{margin-left:180px}
|
||||
/* Form Control Reset */
|
||||
.xm form{margin:0 0 20px}
|
||||
.xm fieldset{padding:0;margin:0;border:0}
|
||||
.xm label,
|
||||
.xm input,
|
||||
.xm button,
|
||||
.xm select,
|
||||
.xm textarea{font-weight:normal;line-height:20px}
|
||||
.xm label{display:block;margin-bottom:5px}
|
||||
.xm select,
|
||||
.xm textarea,
|
||||
.xm input[type="text"],
|
||||
.xm input[type="password"],
|
||||
.xm input[type="datetime"],
|
||||
.xm input[type="datetime-local"],
|
||||
.xm input[type="date"],
|
||||
.xm input[type="month"],
|
||||
.xm input[type="time"],
|
||||
.xm input[type="week"],
|
||||
.xm input[type="number"],
|
||||
.xm input[type="email"],
|
||||
.xm input[type="url"],
|
||||
.xm input[type="search"],
|
||||
.xm input[type="tel"],
|
||||
.xm input[type="color"]{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;line-height:20px;color:#555555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}
|
||||
.xm input,
|
||||
.xm textarea{width:206px}
|
||||
.xm textarea{height:auto}
|
||||
.xm textarea,
|
||||
.xm input[type="text"],
|
||||
.xm input[type="password"],
|
||||
.xm input[type="datetime"],
|
||||
.xm input[type="datetime-local"],
|
||||
.xm input[type="date"],
|
||||
.xm input[type="month"],
|
||||
.xm input[type="time"],
|
||||
.xm input[type="week"],
|
||||
.xm input[type="number"],
|
||||
.xm input[type="email"],
|
||||
.xm input[type="url"],
|
||||
.xm input[type="search"],
|
||||
.xm input[type="tel"],
|
||||
.xm input[type="color"]{background-color:#ffffff;border:1px solid #cccccc;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-webkit-transition:border linear 0.2s, box-shadow linear 0.2s;-moz-transition:border linear 0.2s, box-shadow linear 0.2s;-o-transition:border linear 0.2s, box-shadow linear 0.2s;transition:border linear 0.2s, box-shadow linear 0.2s}
|
||||
.xm textarea:focus,
|
||||
.xm input[type="text"]:focus,
|
||||
.xm input[type="password"]:focus,
|
||||
.xm input[type="datetime"]:focus,
|
||||
.xm input[type="datetime-local"]:focus,
|
||||
.xm input[type="date"]:focus,
|
||||
.xm input[type="month"]:focus,
|
||||
.xm input[type="time"]:focus,
|
||||
.xm input[type="week"]:focus,
|
||||
.xm input[type="number"]:focus,
|
||||
.xm input[type="email"]:focus,
|
||||
.xm input[type="url"]:focus,
|
||||
.xm input[type="search"]:focus,
|
||||
.xm input[type="tel"]:focus,
|
||||
.xm input[type="color"]:focus{border-color:rgba(82, 168, 236, 0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6)}
|
||||
.xm input[type="radio"],
|
||||
.xm input[type="checkbox"]{margin:0;line-height:normal}
|
||||
.xm input[type="file"],
|
||||
.xm input[type="image"],
|
||||
.xm input[type="submit"],
|
||||
.xm input[type="reset"],
|
||||
.xm input[type="button"],
|
||||
.xm input[type="radio"],
|
||||
.xm input[type="checkbox"]{width:auto}
|
||||
.xm select,
|
||||
.xm input[type="file"]{height:30px;*margin-top:4px;line-height:30px}
|
||||
.xm select{background-color:#ffffff;border:1px solid #cccccc}
|
||||
.xm select[multiple],
|
||||
.xm select[size]{height:auto}
|
||||
.xm select:focus,
|
||||
.xm input[type="file"]:focus,
|
||||
.xm input[type="radio"]:focus,
|
||||
.xm input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
|
||||
.xm input:-moz-placeholder,
|
||||
.xm textarea:-moz-placeholder {color:#999999}
|
||||
.xm input:-ms-input-placeholder,
|
||||
.xm textarea:-ms-input-placeholder {color:#999999}
|
||||
.xm input::-webkit-input-placeholder,
|
||||
.xm textarea::-webkit-input-placeholder {color:#999999}
|
||||
.xm input,
|
||||
.xm textarea{margin-left:0}
|
||||
.xm input[disabled],
|
||||
.xm select[disabled],
|
||||
.xm textarea[disabled],
|
||||
.xm input[readonly],
|
||||
.xm select[readonly],
|
||||
.xm textarea[readonly]{cursor:not-allowed;background-color:#eeeeee}
|
||||
.xm input[type="radio"][disabled],
|
||||
.xm input[type="checkbox"][disabled],
|
||||
.xm input[type="radio"][readonly],
|
||||
.xm input[type="checkbox"][readonly]{background-color:transparent}
|
||||
.xm input:focus:invalid,
|
||||
.xm textarea:focus:invalid,
|
||||
.xm select:focus:invalid {color:#b94a48;border-color:#ee5f5b}
|
||||
.xm input:focus:invalid:focus,
|
||||
.xm textarea:focus:invalid:focus,
|
||||
.xm select:focus:invalid:focus {border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}
|
||||
/* Forms */
|
||||
.xm .form-horizontal .control-group{margin-bottom:20px;*zoom:1}
|
||||
.xm .form-horizontal .control-group:before,
|
||||
.xm .form-horizontal .control-group:after{display:table;line-height:0;content:""}
|
||||
.xm .form-horizontal .control-group:after{clear:both}
|
||||
.xm .form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}
|
||||
.xm .form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}
|
||||
.xm .form-horizontal .controls:first-child{*padding-left:180px}
|
||||
.xm .form-horizontal .help-block{margin-bottom:0}
|
||||
.xm .form-horizontal input+.help-block,
|
||||
.xm .form-horizontal select+.help-block,
|
||||
.xm .form-horizontal textarea+.help-block,
|
||||
.xm .form-horizontal .input-prepend+.help-block,
|
||||
.xm .form-horizontal .input-append+.help-block{margin-top:10px}
|
||||
.xm .help-block,
|
||||
.xm .help-inline{color:#595959}
|
||||
.xm .help-block{display:block;margin-bottom:10px}
|
||||
.xm .help-inline{margin:0;display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}
|
||||
.xm .input-append,
|
||||
.xm .input-prepend{display:inline-block;margin-bottom:10px;font-size:0;white-space:nowrap;vertical-align:middle}
|
||||
.xm .input-append input,
|
||||
.xm .input-prepend input,
|
||||
.xm .input-append select,
|
||||
.xm .input-prepend select{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}
|
||||
.xm .input-append input:focus,
|
||||
.xm .input-prepend input:focus,
|
||||
.xm .input-append select:focus,
|
||||
.xm .input-prepend select:focus{z-index:2}
|
||||
.xm .input-append .add-on,
|
||||
.xm .input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#eeeeee;border:1px solid #ccc}
|
||||
.xm .input-append .add-on,
|
||||
.xm .input-prepend .add-on,
|
||||
.xm .input-append .btn,
|
||||
.xm .input-prepend .btn{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}
|
||||
.xm .input-append .active,
|
||||
.xm .input-prepend .active{background-color:#a9dba9;border-color:#46a546}
|
||||
.xm .input-prepend .add-on,
|
||||
.xm .input-prepend .btn{margin-right:-1px}
|
||||
.xm .input-prepend .add-on:first-child,
|
||||
.xm .input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}
|
||||
.xm .input-append input,
|
||||
.xm .input-append select{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}
|
||||
.xm .input-append input+.btn-group .btn:last-child,
|
||||
.xm .input-append select+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}
|
||||
.xm .input-append .add-on,
|
||||
.xm .input-append .btn,
|
||||
.xm .input-append .btn-group{margin-left:-1px}
|
||||
.xm .input-append .add-on:last-child,
|
||||
.xm .input-append .btn:last-child,
|
||||
.xm .input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}
|
||||
.xm .input-prepend.input-append input,
|
||||
.xm .input-prepend.input-append select{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}
|
||||
.xm .input-prepend.input-append input+.btn-group .btn,
|
||||
.xm .input-prepend.input-append select+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}
|
||||
.xm .input-prepend.input-append .add-on:first-child,
|
||||
.xm .input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}
|
||||
.xm .input-prepend.input-append .add-on:last-child,
|
||||
.xm .input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}
|
||||
.xm .input-prepend.input-append .btn-group:first-child{margin-left:0}
|
||||
.xm .form-horizontal input,
|
||||
.xm .form-horizontal textarea,
|
||||
.xm .form-horizontal select,
|
||||
.xm .form-horizontal .help-inline,
|
||||
.xm .form-horizontal .input-prepend,
|
||||
.xm .form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}
|
||||
.xm .form-horizontal .hide{display:none}
|
||||
.xm .control-group{margin-bottom:10px}
|
||||
/* Tabs */
|
||||
.xm .nav{margin:0 0 20px 0;padding:0;list-style:none}
|
||||
.xm .nav>li>a{display:block}
|
||||
.xm .nav>li>a:hover,
|
||||
.xm .nav>li>a:focus{text-decoration:none;background-color:#eeeeee}
|
||||
.xm .nav-tabs{*zoom:1}
|
||||
.xm .nav-tabs:before,
|
||||
.xm .nav-tabs:after{display:table;line-height:0;content:""}
|
||||
.xm .nav-tabs:after{clear:both}
|
||||
.xm .nav-tabs>li{float:left}
|
||||
.xm .nav-tabs>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}
|
||||
.xm .nav-tabs{border-bottom:1px solid #ddd}
|
||||
.xm .nav-tabs>li{margin-bottom:-1px}
|
||||
.xm .nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}
|
||||
.xm .nav-tabs>li>a:hover,
|
||||
.xm .nav-tabs>li>a:focus{border-color:#eeeeee #eeeeee #dddddd}
|
||||
.xm .nav-tabs>.active>a,
|
||||
.xm .nav-tabs>.active>a:hover,
|
||||
.xm .nav-tabs>.active>a:focus{color:#555555;cursor:default;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent}
|
||||
/* Table */
|
||||
.xm .table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0;width:100%;margin-bottom:20px}
|
||||
.xm .table th,
|
||||
.xm .table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #dddddd}
|
||||
.xm .table th{font-weight:bold}
|
||||
.xm .table thead th{vertical-align:bottom}
|
||||
.xm .table caption+thead tr:first-child th,
|
||||
.xm .table caption+thead tr:first-child td,
|
||||
.xm .table colgroup+thead tr:first-child th,
|
||||
.xm .table colgroup+thead tr:first-child td,
|
||||
.xm .table thead:first-child tr:first-child th,
|
||||
.xm .table thead:first-child tr:first-child td{border-top:0}
|
||||
.xm .table tbody+tbody{border-top:2px solid #dddddd}
|
||||
.xm .table-striped tbody>tr:nth-child(odd)>td,
|
||||
.xm .table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}
|
||||
.xm .table-hover tbody tr:hover>td,
|
||||
.xm .table-hover tbody tr:hover>th{background-color:#f5f5f5}
|
||||
/* Pangination */
|
||||
.xm .pagination{margin:20px 0}
|
||||
.xm .pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:0 1px 2px rgba(0, 0, 0, 0.05)}
|
||||
.xm .pagination ul>li{display:inline}
|
||||
.xm .pagination ul>li>a,
|
||||
.xm .pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#ffffff;border:1px solid #dddddd;border-left-width:0}
|
||||
.xm .pagination ul>li>a:hover,
|
||||
.xm .pagination ul>li>a:focus,
|
||||
.xm .pagination ul>.active>a,
|
||||
.xm .pagination ul>.active>span{background-color:#f5f5f5}
|
||||
.xm .pagination ul>.active>a,
|
||||
.xm .pagination ul>.active>span{color:#999999;cursor:default}
|
||||
.xm .pagination ul>.disabled>span,
|
||||
.xm .pagination ul>.disabled>a,
|
||||
.xm .pagination ul>.disabled>a:hover,
|
||||
.xm .pagination ul>.disabled>a:focus{color:#999999;cursor:default;background-color:transparent}
|
||||
.xm .pagination ul>li:first-child>a,
|
||||
.xm .pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}
|
||||
.xm .pagination ul>li:last-child>a,
|
||||
.xm .pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}
|
||||
.xm .pagination-centered{text-align:center}
|
||||
/* Button */
|
||||
.xm .btn{font-size:12px;font-family:inherit;display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;line-height:20px;height:auto;color:#333333;text-align:center;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top, #ffffff, #e6e6e6);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(top, #ffffff, #e6e6e6);background-image:-o-linear-gradient(top, #ffffff, #e6e6e6);background-image:linear-gradient(to bottom, #ffffff, #e6e6e6);background-repeat:repeat-x;border:1px solid #cccccc;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05)}
|
||||
.xm .btn:hover,
|
||||
.xm .btn:focus,
|
||||
.xm .btn:active,
|
||||
.xm .btn.active,
|
||||
.xm .btn.disabled,
|
||||
.xm .btn[disabled]{color:#333333;background-color:#e6e6e6;*background-color:#d9d9d9}
|
||||
.xm .btn:active,
|
||||
.xm .btn.active{background-color:#cccccc \9}
|
||||
.xm .btn:first-child{*margin-left:0}
|
||||
.xm .btn:hover,
|
||||
.xm .btn:focus{color:#333333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position 0.1s linear;-moz-transition:background-position 0.1s linear;-o-transition:background-position 0.1s linear;transition:background-position 0.1s linear}
|
||||
.xm .btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
|
||||
.xm .btn.active,
|
||||
.xm .btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}
|
||||
.xm .btn.disabled,
|
||||
.xm .btn[disabled]{cursor:default;background-image:none;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}
|
||||
.xm .btn-inverse.active{color:rgba(255, 255, 255, 0.75)}
|
||||
.xm .btn-inverse{color:#ffffff!important;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#363636;*background-color:#222222;background-image:-moz-linear-gradient(top, #444444, #222222);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));background-image:-webkit-linear-gradient(top, #444444, #222222);background-image:-o-linear-gradient(top, #444444, #222222);background-image:linear-gradient(to bottom, #444444, #222222);background-repeat:repeat-x;border-color:#222222 #222222 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}
|
||||
.xm .btn-inverse:hover,
|
||||
.xm .btn-inverse:focus,
|
||||
.xm .btn-inverse:active,
|
||||
.xm .btn-inverse.active,
|
||||
.xm .btn-inverse.disabled,
|
||||
.xm .btn-inverse[disabled]{color:#ffffff;background-color:#222222;*background-color:#151515}
|
||||
.xm .btn-inverse:active,
|
||||
.xm .btn-inverse.active{background-color:#080808 \9}
|
||||
.xm button.btn,
|
||||
.xm input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}
|
||||
.xm button.btn::-moz-focus-inner,
|
||||
.xm input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}
|
||||
.xm .btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}
|
||||
.xm .btn-group:first-child{*margin-left:0}
|
||||
.xm .btn-group+.btn-group{margin-left:5px}
|
||||
.xm .btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}
|
||||
.xm .btn-group>.btn+.btn{margin-left:-1px}
|
||||
.xm .btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}
|
||||
.xm .btn-group>.btn:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}
|
||||
.xm .btn-group>.btn:hover,
|
||||
.xm .btn-group>.btn:focus,
|
||||
.xm .btn-group>.btn:active,
|
||||
.xm .btn-group>.btn.active{z-index:2}
|
||||
/* Member module customize */
|
||||
.xm,
|
||||
.xm table,
|
||||
.xm input,
|
||||
.xm textarea,
|
||||
.xm select,
|
||||
.xm button{font-family:Tahoma,Geneva,sans-serif;font-size:12px;color:#333}
|
||||
.xm button,
|
||||
.xm input[type=submit],
|
||||
.xm input[type=reset],
|
||||
.xm input[type=button]{cursor:pointer;overflow:visible}
|
||||
.xm img{border:0}
|
||||
.xm p{line-height:1.5}
|
||||
/* Heading */
|
||||
.xm .h1,
|
||||
.xm .h2,
|
||||
.xm .h3,
|
||||
.xm .h4{position:relative;border-bottom-style:solid;border-bottom-color:#ccc;zoom:1}
|
||||
.xm .h1{border-bottom-width:4px;font-size:24px}
|
||||
.xm .h2{border-bottom-width:3px;font-size:20px}
|
||||
.xm .h3{border-bottom-width:2px;font-size:16px}
|
||||
.xm .h4{border-bottom-width:1px;font-size:12px}
|
||||
/* Lined Tab Navigation */
|
||||
.xm .nav{padding:0;margin:1em 0}
|
||||
.xm .nav ul{position:relative;margin:0;padding:0;list-style:none;border-bottom:1px solid #ccc;zoom:1}
|
||||
.xm .nav ul:after{content:"";display:block;clear:both}
|
||||
.xm .nav li{float:left;margin-bottom:-1px}
|
||||
.xm .nav li a{position:relative;float:left;text-decoration:none;border:1px solid #eee;border-bottom-color:#ccc;background:#fafafa;color:#333}
|
||||
.xm .nav li a span{display:inline-block;height:14px;padding:6px 15px 6px 15px;letter-spacing:-1px;cursor:pointer}
|
||||
.xm .nav li.active a{border:1px solid #ccc;border-bottom:1px solid #fff;margin-top:-1px;background:transparent}
|
||||
.xm .nav li.active a span{padding-top:7px;font-weight:bold}
|
||||
/* Form */
|
||||
.xm .form{margin:1em 0;padding:0}
|
||||
.xm .form fieldset{margin:0 0 2em 0;padding:0;border:0}
|
||||
.xm .form em{font-style:normal;color:#e00}
|
||||
.xm .form label{margin-right:1em;line-height:1;vertical-align:middle}
|
||||
.xm .form input[type=checkbox]+label,
|
||||
.xm .form input[type=radio]+label,
|
||||
.xm .form input[type=file]{cursor:pointer}
|
||||
.xm .form ul{position:relative;margin:0;padding:0;list-style:none;border-top:2px solid #ccc;border-bottom:1px solid #ccc;zoom:1}
|
||||
.xm .form li{list-style:none;border:1px solid #ddd;border-left:0;border-right:0;margin:-1px 0;padding:8px 0;vertical-align:top;zoom:1}
|
||||
.xm .form li:first-child{border-top:0}
|
||||
.xm .form li>label:first-child{display:block;font-weight:bold}
|
||||
.xm .form li label em{font-weight:normal}
|
||||
.xm .form label.overlap{position:absolute;color:#aaa}
|
||||
.xm .form input[type=text],
|
||||
.xm .form input[type=password],
|
||||
.xm .form input[type=file],
|
||||
.xm .form textarea{position:relative;width:280px;margin:2px 0;border:1px solid #b7b7b7;border-right-color:#e1e1e1;border-bottom-color:#e1e1e1;background:transparent;*background:transparent url(../../../../../common/img/blank.gif);_background:transparent;}
|
||||
.xm .form input[type=text],
|
||||
.xm .form input[type=password],
|
||||
.xm .form input[type=file]{height:22px;line-height:22px;vertical-align:middle;padding:0 4px}
|
||||
.xm .form input[type=text].loading,
|
||||
.xm .form input.loading[type=password]{padding-right:24px;width:260px;background:transparent url(../img/preLoader16.gif) no-repeat 265px center}
|
||||
.xm .form input[type=checkbox],
|
||||
.xm .form input[type=radio]{margin:0;padding:0;width:13px;height:13px;vertical-align:middle}
|
||||
.xm .form input[type=text][disabled=disabled],
|
||||
.xm .form input[type=password][disabled=disabled],
|
||||
.xm .form input[type=checkbox][disabled=disabled],
|
||||
.xm .form input[type=radio][disabled=disabled],
|
||||
.xm .form input[type=file][disabled=disabled],
|
||||
.xm .form textarea[disabled=disabled],
|
||||
.xm .form select[disabled=disabled]{background:#ddd !important;text-shadow:1px 1px 0 #fff}
|
||||
.xm .form textarea{padding:3px 4px;vertical-align:top}
|
||||
.xm .form span.desc,
|
||||
.xm .form em.desc{line-height:22px;vertical-align:middle;margin:0 10px}
|
||||
.xm .form p.desc{margin:.25em 0;line-height:1.4}
|
||||
.xm .form .q{font-weight:bold;margin:0 0 5px 0}
|
||||
.xm .form .a{margin:0 0 5px 0}
|
||||
.xm .form .tgForm{margin-right:1em}
|
||||
.xm .form .h1 + ul,
|
||||
.xm .form .h2 + ul,
|
||||
.xm .form .h3 + ul,
|
||||
.xm .form .h4 + ul{border-top:0}
|
||||
/* Table */
|
||||
.xm .table{margin:1em 0}
|
||||
.xm .table table{width:100%;border:0;border-collapse:collapse;border-top:2px solid #ccc}
|
||||
.xm .table caption{font-weight:bold;text-align:left;line-height:22px;padding:5px 0}
|
||||
.xm .table caption:after{content:"";display:block;clear:both}
|
||||
.xm .table caption a{font-weight:normal}
|
||||
.xm .table caption em{float:right;margin-left:1em}
|
||||
.xm .table caption strong{color:#e00}
|
||||
.xm .table caption .side{float:right;font-weight:normal;margin-left:1em}
|
||||
.xm .table th,
|
||||
.xm .table td{border:0;padding:8px;vertical-align:top;text-align:left;border-bottom:1px solid #ddd;white-space:nowrap}
|
||||
.xm .table th{background:#f8f8f8}
|
||||
.xm .table thead th{border-bottom:1px solid #999}
|
||||
.xm .table tfoot td{font-weight:bold;background:#f8f8f8}
|
||||
.xm .table.even tbody tr:nth-of-type(even) td{background-color:#fafafa}
|
||||
.xm .table td>input[type=text]{margin:-1px 0 -3px 0 !important;vertical-align:middle}
|
||||
.xm .table img{vertical-align:middle}
|
||||
.xm .table em{font-style:normal;font-weight:normal;color:#e00}
|
||||
.xm .table .title,
|
||||
.xm .table .text{white-space:normal}
|
||||
/* Pagination */
|
||||
.xm .pagination{margin:1em 0;text-align:center;line-height:normal}
|
||||
.xm .pagination *{vertical-align:middle}
|
||||
.xm .pagination a,
|
||||
.xm .pagination strong{position:relative;display:inline-block;padding:2px 4px;font-weight:bold;text-decoration:none;line-height:normal;color:#333 !important;vertical-align:middle}
|
||||
.xm .pagination a:hover,
|
||||
.xm .pagination a:active,
|
||||
.xm .pagination a:focus{border:1px solid #ddd;margin:0 -1px}
|
||||
.xm .pagination strong{color:#e00 !important;font-size:20px}
|
||||
.xm .pagination .direction{font-weight:normal;white-space:nowrap}
|
||||
.xm .pagination .direction:hover,
|
||||
.xm .pagination .direction:active,
|
||||
.xm .pagination .direction:focus{border:0;margin:0;text-decoration:underline}
|
||||
.xm .pagination input{width:30px;text-align:center}
|
||||
.xm .pagination button{overflow:visible}
|
||||
/* Text Button */
|
||||
.xm input.text,
|
||||
.xm button.text{border:0;overflow:visible;padding:0;margin:0 4px 0 0;color:#33a;background:none;text-decoration:underline}
|
||||
/* Agreement */
|
||||
.xm .agreement{margin:1em 0}
|
||||
.xm .agreement .text{height:200px;overflow:auto;margin:1em 0}
|
||||
.xm .agreement .confirm{margin:1em 0}
|
||||
.xm table{font-size:13px}
|
||||
.xm em{font-style:normal;color:#f00}
|
||||
.xm h1{font-size:22px}
|
||||
.xm .nav a,
|
||||
.xm .btn{text-decoration:none}
|
||||
.xm .dl-horizontal>dd{margin-bottom:10px}
|
||||
.xm .table{border-top:1px solid #ddd;border-bottom:1px solid #ddd}
|
||||
.xm .table>caption{text-align:left;font-weight:bold}
|
||||
.xm .table>caption>.pull-right{position:relative;top:-8px}
|
||||
.xm .signin{width:400px;margin:30px auto;background-color:#ffffff;border:1px solid #999;border-radius:6px;box-shadow:0 3px 7px #ccc;box-sizing:border-box}
|
||||
.xm .signin>.login-header{padding:9px 15px;border-bottom:1px solid #eee}
|
||||
.xm .signin>.login-header>h1{margin:0;font-size:16px;line-height:1.4;font-weight:600;color:#666}
|
||||
.xm .signin>.login-header>h1>i{opacity:.5;filter:alpha(opacity=50);margin:2px 0 0 0}
|
||||
.xm .signin>.login-body{max-height:400px;padding:15px}
|
||||
.xm .signin>.login-body>*:first-child{margin-top:0}
|
||||
.xm .signin>.login-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;color:#ccc}
|
||||
.xm .signin>.login-footer:before,
|
||||
.xm .signin>.login-footer:after{display:table;line-height:0;content:"";clear:both}
|
||||
.xm .signin>.login-footer>a{text-decoration:none}
|
||||
.xm .signin>.login-footer>a:hover,
|
||||
.xm .signin>.login-footer>a:active,
|
||||
.xm .signin>.login-footer>a:focus{text-decoration:underline}
|
||||
.xm .signin .control-group{position:relative;padding:0 14px 0 0;margin:0;clear:both}
|
||||
.xm .signin .control-group:before{content:"";display:block;clear:both}
|
||||
.xm .signin form{margin:0}
|
||||
.xm .signin fieldset{margin:0}
|
||||
.xm .signin label{cursor:pointer;display:inline-block}
|
||||
.xm .signin input[type="text"],
|
||||
.xm .signin input[type="email"],
|
||||
.xm .signin input[type="password"]{width:100%}
|
||||
.xm .signin input[type="checkbox"]{margin:0}
|
||||
.xm .signin .btn{border-radius:2px;overflow:visible;font-size:14px;line-height:18px;padding:3px 9px}
|
||||
.xm .signin .submit{position:absolute;top:0;right:0}
|
||||
.xm .signin #warning{margin-right:-14px}
|
||||
.xm .signin #warning>p{margin:10px 0}
|
||||
.xm .agreement{border:1px solid #ddd;padding:15px 15px 10px 15px;border-radius:5px;background:#f8f8f8;margin-bottom:15px}
|
||||
.xm .agreement>.text{max-height:200px;overflow:auto}
|
||||
.xm .agreement>.confirm{padding:10px 0 0 0;margin:10px 0 0 0;border-top:1px dotted #ccc}
|
||||
@media all and (max-width:480px){.xm .signin{margin:0;width:100%}}
|
||||
@media all and (min-width:768px){.xm .dl-horizontal>dt{margin-bottom:10px}}
|
||||
|
|
|
|||
|
|
@ -1,52 +1,48 @@
|
|||
<include target="./common_header.html" />
|
||||
<h1 class="h1">{$member_title = $lang->cmd_view_own_document }</h1>
|
||||
<div class="table even">
|
||||
<table width="100%" border="1" cellspacing="0">
|
||||
<caption>
|
||||
Total: {number_format($total_count)}, Page {number_format($page)}/{number_format($total_page)}
|
||||
<span class="side">
|
||||
<a href="{getUrl('','module','module','act','dispModuleSelectList','id','target_module','type','single')}" onclick="popopen(this.href,'ModuleSelect');return false;">{$lang->cmd_find_module}</a>
|
||||
<a href="{getUrl('selected_module_srl','')}" cond="$selected_module_srl">{$lang->cmd_cancel}</a>
|
||||
</span>
|
||||
</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$lang->no}</th>
|
||||
<th class="title">{$lang->title}</th>
|
||||
<th>{$lang->date}</th>
|
||||
<th>{$lang->readed_count}</th>
|
||||
<th>{$lang->voted_count}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr loop="$document_list => $no,$oDocument">
|
||||
<td>{$no}</td>
|
||||
<td class="title">
|
||||
<a href="{getUrl('','document_srl',$oDocument->document_srl)}" onclick="window.open(this.href);return false;">{$oDocument->getTitleText()}</a>
|
||||
<!--@if($oDocument->getCommentCount())-->
|
||||
[{$oDocument->getCommentCount()}]
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($oDocument->getTrackbackCount())-->
|
||||
[{$oDocument->getTrackbackCount()}]
|
||||
<!--@end-->
|
||||
</td>
|
||||
<td>{$oDocument->getRegdate("Y-m-d")}</td>
|
||||
<td>{$oDocument->get('readed_count')}</td>
|
||||
<td>{$oDocument->get('voted_count')}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="pagination">
|
||||
<a href="{getUrl('page','','module_srl','')}" class="direction">‹ {$lang->first_page}</a>
|
||||
<!--@while($page_no = $page_navigation->getNextPage())-->
|
||||
<!--@if($page == $page_no)-->
|
||||
<strong>{$page_no}</strong>
|
||||
<!--@else-->
|
||||
<a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="direction">{$lang->last_page} ›</a>
|
||||
<h1>{$member_title = $lang->cmd_view_own_document }</h1>
|
||||
<table class="table table-striped table-hover">
|
||||
<caption>
|
||||
Total: {number_format($total_count)}, Page {number_format($page)}/{number_format($total_page)}
|
||||
<span class="pull-right">
|
||||
<a href="{getUrl('','module','module','act','dispModuleSelectList','id','target_module','type','single')}" class="btn" onclick="popopen(this.href,'ModuleSelect');return false;">{$lang->cmd_find_module}</a>
|
||||
<a href="{getUrl('selected_module_srl','')}" cond="$selected_module_srl" class="btn">{$lang->cmd_cancel}</a>
|
||||
</span>
|
||||
</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$lang->no}</th>
|
||||
<th class="title">{$lang->title}</th>
|
||||
<th>{$lang->date}</th>
|
||||
<th>{$lang->readed_count}</th>
|
||||
<th>{$lang->voted_count}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr loop="$document_list => $no,$oDocument">
|
||||
<td>{$no}</td>
|
||||
<td class="title">
|
||||
<a href="{getUrl('','document_srl',$oDocument->document_srl)}" onclick="window.open(this.href);return false;">{$oDocument->getTitleText()}</a>
|
||||
<!--@if($oDocument->getCommentCount())-->
|
||||
[{$oDocument->getCommentCount()}]
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($oDocument->getTrackbackCount())-->
|
||||
[{$oDocument->getTrackbackCount()}]
|
||||
<!--@end-->
|
||||
</td>
|
||||
<td>{$oDocument->getRegdate("Y-m-d")}</td>
|
||||
<td>{$oDocument->get('readed_count')}</td>
|
||||
<td>{$oDocument->get('voted_count')}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="pagination pagination-centered">
|
||||
<ul>
|
||||
<li><a href="{getUrl('page','','module_srl','')}" class="direction">« {$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} »</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<include target="./common_footer.html" />
|
||||
|
|
|
|||
|
|
@ -1,59 +1,72 @@
|
|||
<include target="./common_header.html" />
|
||||
<load target="filter/find_member_account.xml" />
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<h2 class="h2">{$lang->cmd_find_member_account_with_email}</h2>
|
||||
<p>{$lang->about_find_member_account}</p>
|
||||
<form action="./" method="get" class="form" onsubmit="return procFilter(this, find_member_account)">
|
||||
<input type="hidden" name="mid" value="{$mid}" />
|
||||
<input type="hidden" name="document_srl" value="{$document_srl}" />
|
||||
<input type="hidden" name="page" value="{$page}" />
|
||||
<ul>
|
||||
<li>
|
||||
<p class="q"><label for="cpw">{$lang->email_address}</label></p>
|
||||
<p class="a"><input type="text" name="email_address" /></p>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="btnArea">
|
||||
<span class="btn"><input type="submit" value="{$lang->cmd_find_member_account}" /></span>
|
||||
<section>
|
||||
<h1>{$lang->cmd_find_member_account_with_email}</h1>
|
||||
<p>{$lang->about_find_member_account}</p>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skin/default/find_member_account/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
</form>
|
||||
<!--@if(count($lang->find_account_question_items)>1)-->
|
||||
<h2 class="h2">{$lang->cmd_find_member_account_with_email_question}</h2>
|
||||
<p>{$lang->about_find_account_question}</p>
|
||||
<form action="./" method="get" class="form" 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}" />
|
||||
<ul>
|
||||
<li cond="$identifier == 'user_id'">
|
||||
<p class="q"><label for="cpw">{$lang->user_id}</label></p>
|
||||
<p class="a"><input type="text" name="user_id" /></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="cpw">{$lang->email_address}</label></p>
|
||||
<p class="a"><input type="text" name="email_address" /></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="cpw">{$lang->find_account_question}</label></p>
|
||||
<p class="a">
|
||||
<select name="find_account_question" style="width:290px">
|
||||
<!--@for($i=1,$c=count($lang->find_account_question_items);$i<$c;$i++)-->
|
||||
<option value="{$i}">{$lang->find_account_question_items[$i]}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<br />
|
||||
<input type="text" name="find_account_answer" value="" />
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="btnArea">
|
||||
<span class="btn"><input type="submit" value="{$lang->cmd_get_temp_password}" /></span>
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, find_member_account)">
|
||||
<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/default/find_member_account/1" />
|
||||
<span class="input-append">
|
||||
<input type="email" name="email_address" required placeholder="{$lang->email_address}" title="{$lang->email_address}" />
|
||||
<input type="submit" class="btn btn-inverse" value="{$lang->cmd_find_member_account}" />
|
||||
</span>
|
||||
</form>
|
||||
</section>
|
||||
<hr>
|
||||
<section cond="count($lang->find_account_question_items)>1">
|
||||
<h1>{$lang->cmd_find_member_account_with_email_question}</h1>
|
||||
<p>{$lang->about_find_account_question}</p>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skin/default/find_member_account/2'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
</form>
|
||||
<!--@end-->
|
||||
<form action="./" 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/default/find_member_account/2" />
|
||||
<div>
|
||||
<input type="text" name="user_id" required placeholder="{$lang->user_id}" title="{$lang->user_id}" cond="$identifier == 'user_id'" />
|
||||
</div>
|
||||
<div>
|
||||
<input type="email" name="email_address" required placeholder="{$lang->email_address}" title="{$lang->email_address}" />
|
||||
</div>
|
||||
<div>
|
||||
<select name="find_account_question">
|
||||
<!--@for($i=1,$c=count($lang->find_account_question_items);$i<$c;$i++)-->
|
||||
<option value="{$i}">{$lang->find_account_question_items[$i]}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<input type="text" name="find_account_answer" value="" required placeholder="{$lang->find_account_question}" title="{$lang->find_account_question}" />
|
||||
</div>
|
||||
<input type="submit" class="btn btn-inverse" value="{$lang->cmd_get_temp_password}" style="min-width:220px" />
|
||||
</form>
|
||||
</section>
|
||||
<hr>
|
||||
<section>
|
||||
<h1>{$lang->cmd_resend_auth_mail}</h1>
|
||||
<p>{$lang->about_resend_auth_mail}</p>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skin/default/find_member_account/3'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form ruleset="resendAuthMail" action="./" 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/default/find_member_account/3" />
|
||||
<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_resend_auth_mail}" class="btn btn-inverse" />
|
||||
</span>
|
||||
</form>
|
||||
</section>
|
||||
<include target="./common_footer.html" />
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
{$lang->msg_find_account_info}<br />
|
||||
<hr noshade="noshade" />
|
||||
<ul>
|
||||
<li>Site : <a href="{getUrl()}" target="_blank">{getUrl()}</a></li>
|
||||
<li loop="$memberInfo=>$name,$value">{$name} : {$value}</li>
|
||||
<li>{$lang->password} : <span style="color:red">{$auth_args->new_password}</span></li>
|
||||
<li>{$lang->site} : <a href="{getUrl()}" target="_blank">{getUrl()}</a></li>
|
||||
<li loop="$memberInfo=>$name,$value">{$name} : {$value}</li>
|
||||
<li>{$lang->password} : <span style="color:red">{$auth_args->new_password}</span></li>
|
||||
</ul>
|
||||
<hr noshade="noshade" />
|
||||
{$lang->msg_find_account_comment}<br />
|
||||
<a href="{$find_url}">{$find_url}</a>
|
||||
<a href="{$find_url}">{$find_url}</a>
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<include target="./common_header.html" />
|
||||
<h1 class="h1">{$lang->cmd_find_member_account}</h1>
|
||||
<h1>{$lang->cmd_find_member_account}</h1>
|
||||
<p>{$lang->about_temp_password}</p>
|
||||
<p>{$lang->user_id} : {$user_id}</p>
|
||||
<p>{$lang->temp_password} : {$temp_password}</p>
|
||||
<p>{$lang->user_id}: {$user_id}</p>
|
||||
<p>{$lang->temp_password}: {$temp_password}</p>
|
||||
<include target="./common_footer.html" />
|
||||
|
|
|
|||
|
|
@ -1,26 +1,23 @@
|
|||
<include target="./common_header.html" />
|
||||
<h1 class="h1">{$member_title = $lang->msg_leave_member}</h1>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<h1>{$member_title = $lang->msg_leave_member}</h1>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skin/default/leave_form/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form ruleset="leaveMember" id="fo_insert_member" class="form" action="./" method="post">
|
||||
<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}" />
|
||||
<ul>
|
||||
<li>
|
||||
<p class="q">{Context::getLang($identifier)}</p>
|
||||
<p class="a">{$formValue}</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="cpw">{$lang->password}</label></p>
|
||||
<p class="a"><input type="password" name="password" id="cpw" /></p>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="btnArea">
|
||||
<span class="btn"><input type="submit" value="{$lang->cmd_leave}" /></span>
|
||||
<input type="hidden" name="xe_validator_id" value="modules/member/skin/default/leave_form/1" />
|
||||
<div>
|
||||
<input type="email" value="{$formValue}" readonly title="{Context::getLang($identifier)}" />
|
||||
</div>
|
||||
<div>
|
||||
<span class="input-append">
|
||||
<input type="password" name="password" id="cpw" required placeholder="{$lang->password}" title="{$lang->password}" />
|
||||
<input type="submit" value="{$lang->cmd_leave}" class="btn btn-inverse" />
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
<include target="./common_footer.html" />
|
||||
|
|
|
|||
|
|
@ -1,40 +1,45 @@
|
|||
<include target="./common_header.html" />
|
||||
<load target="filter/openid_login.xml" />
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
<div class="signin">
|
||||
<div class="login-header">
|
||||
<h1><i class="icon-user"></i> {$lang->cmd_login}</h1>
|
||||
</div>
|
||||
<div class="login-body">
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skin/default/login_form/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form ruleset="@login" action="./" 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/skin/default/login_form/1" />
|
||||
<fieldset>
|
||||
<div class="control-group">
|
||||
<input type="text" cond="$identifier == 'user_id'" name="user_id" id="uid" required placeholder="{$lang->user_id}" title="{$lang->user_id}" />
|
||||
<input type="email" cond="$identifier != 'user_id'" name="user_id" id="uid" required placeholder="{$lang->email_address}" title="{$lang->email_address}" />
|
||||
<input type="password" name="password" id="upw" required placeholder="{$lang->password}" title="{$lang->password}" />
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label for="keepid_opt">
|
||||
<input type="checkbox" name="keep_signed" id="keepid_opt" value="Y" />
|
||||
{$lang->keep_signed}
|
||||
</label>
|
||||
<div id="warning">
|
||||
<p>{$lang->about_keep_warning}</p>
|
||||
</div>
|
||||
<input type="submit" value="{$lang->cmd_login}" class="submit btn btn-inverse" />
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
<div class="login-footer">
|
||||
<a href="{getUrl('act','dispMemberFindAccount')}">{$lang->cmd_find_member_account}</a>
|
||||
|
|
||||
<a href="{getUrl('act','dispMemberSignUpForm')}">{$lang->cmd_signup}</a>
|
||||
</div>
|
||||
</div>
|
||||
<h1 class="h1">{$lang->cmd_login}</h1>
|
||||
<form ruleset="@login" action="./" method="post" id="fo_member_login" class="form">
|
||||
<input type="hidden" name="success_return_url" value="{$referer_url}" />
|
||||
<input type="hidden" name="act" value="procMemberLogin" />
|
||||
<ul>
|
||||
<li>
|
||||
<p class="q"><label for="uid"><!--@if($identifier == 'user_id')-->{$lang->user_id}<!--@else-->{$lang->email_address}<!--@end--></label></p>
|
||||
<p class="a"><input type="text" name="user_id" id="uid" value="" /></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="upw">{$lang->password}</label></p>
|
||||
<p class="a"><input type="password" name="password" id="upw" value="" /></p>
|
||||
</li>
|
||||
</ul>
|
||||
<p style="margin:1em 0">
|
||||
<input type="checkbox" name="keep_signed" id="keepid_opt" value="Y" />
|
||||
<label for="keepid_opt">{$lang->keep_signed}</label>
|
||||
</p>
|
||||
<div class="message info" id="keep_msg">
|
||||
<p>{$lang->about_keep_warning}</p>
|
||||
</div>
|
||||
<div class="btnArea">
|
||||
<span class="btn"><input type="submit" value="{$lang->cmd_login}" /></span>
|
||||
<span class="etc">
|
||||
<a href="{getUrl('act','dispMemberFindAccount')}"><span>{$lang->cmd_find_member_account}</span></a> |
|
||||
<a href="{getUrl('act','dispMemberSignUpForm')}"><span>{$lang->cmd_signup}</span></a>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
<script>
|
||||
jQuery(function($){
|
||||
var keep_msg = $('#keep_msg');
|
||||
var keep_msg = $('#warning');
|
||||
keep_msg.hide();
|
||||
$('#keepid_opt').change(function(){
|
||||
if($(this).is(':checked')){
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<include target="./common_header.html" />
|
||||
<import target="filter/logout.xml" />
|
||||
<form action="./" method="get" class="form" onsubmit="return procFilter(this, logout)">
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, logout)">
|
||||
<input type="hidden" name="mid" value="{$mid}" />
|
||||
<h1 class="h1">{$lang->cmd_logout}</h1>
|
||||
<h1>{$lang->cmd_logout}</h1>
|
||||
<p>{$lang->confirm_logout}</p>
|
||||
<p><span class="btn"><input type="submit" value="{$lang->cmd_logout}" /></span></p>
|
||||
<p><input type="submit" value="{$lang->cmd_logout}" class="btn btn-inverse" /></p>
|
||||
</form>
|
||||
<include target="./common_footer.html" />
|
||||
|
|
|
|||
|
|
@ -1,31 +1,24 @@
|
|||
<include target="./common_header.html" />
|
||||
<h1 class="h1">{$lang->member_info}</h1>
|
||||
<div class="table even">
|
||||
<table width="100%" border="1" cellspacing="0">
|
||||
<tr loop="$displayDatas => $item">
|
||||
<th scope="row" >{$item->title} <em cond="$item->required || $item->mustRequired">*</em></th>
|
||||
<td class="text">{$item->value}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->member_group}</th>
|
||||
<td class="text">{implode(', ', $memberInfo['group_list'])}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->signup_date}</th>
|
||||
<td>{zdate($memberInfo[regdate],"Y-m-d")}</td>
|
||||
</tr>
|
||||
<!--@if($memberInfo[member_srl] == $logged_info->member_srl || $logged_info->is_admin == 'Y' )-->
|
||||
<tr>
|
||||
<th>{$lang->last_login}</th>
|
||||
<td>{zdate($memberInfo[last_login],"Y-m-d")}</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
</table>
|
||||
</div>
|
||||
<div class="btnArea" cond="$memberInfo['member_srl'] == $logged_info->member_srl">
|
||||
<span class="btn" cond="$member_config->identifier == 'email_address'"><a href="{getUrl('act', 'dispMemberModifyEmailAddress')}">{$lang->cmd_modify_member_email_address}</a></span>
|
||||
<span class="btn"><a href="{getUrl('act','dispMemberModifyInfo','member_srl','')}">{$lang->cmd_modify_member_info}</a></span>
|
||||
<span class="btn"><a href="{getUrl('act','dispMemberModifyPassword','member_srl','')}">{$lang->cmd_modify_member_password}</a></span>
|
||||
<span class="btn"><a href="{getUrl('act','dispMemberLeave','member_srl','')}">{$lang->cmd_leave}</a></span>
|
||||
<h1>{$lang->member_info}</h1>
|
||||
<dl class="dl-horizontal">
|
||||
<block loop="$displayDatas => $item">
|
||||
<dt><em cond="$item->required || $item->mustRequired">*</em> {$item->title}</dt>
|
||||
<dd cond="$item->value">{$item->value}</dd>
|
||||
<dd cond="!$item->value" style="color:#ccc">…</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>
|
||||
<div class="btnArea btn-group" cond="$memberInfo['member_srl'] == $logged_info->member_srl">
|
||||
<a href="{getUrl('act', 'dispMemberModifyEmailAddress')}" class="btn" cond="$member_config->identifier == 'email_address'">{$lang->cmd_modify_member_email_address}</a>
|
||||
<a href="{getUrl('act','dispMemberModifyInfo','member_srl','')}" class="btn">{$lang->cmd_modify_member_info}</a>
|
||||
<a href="{getUrl('act','dispMemberModifyPassword','member_srl','')}" class="btn">{$lang->cmd_modify_member_password}</a>
|
||||
<a href="{getUrl('act','dispMemberLeave','member_srl','')}" class="btn">{$lang->cmd_leave}</a>
|
||||
</div>
|
||||
<include target="./common_footer.html" />
|
||||
|
|
|
|||
|
|
@ -1,21 +1,17 @@
|
|||
<include target="./common_header.html" />
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<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/default/modify_email_address/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form ruleset="modifyEmailAddress" class="form" action="./" method="post">
|
||||
<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()}" />
|
||||
<h1 class="h1">{$lang->cmd_modify_member_email_address}</h1>
|
||||
<p>{$lang->about_modify_member_email_address}</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p class="q"><label for="email_address">{$lang->email_address}</label></p>
|
||||
<p class="a"><input type="text" id="email_address" name="email_address" value="" /></p>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="btnArea">
|
||||
<span class="btn"><input type="submit" value="{$lang->cmd_send_auth_new_emaill_address}" /></span>
|
||||
</div>
|
||||
<input type="hidden" name="xe_validator_id" value="modules/member/skins/default/modify_email_address/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" />
|
||||
|
|
|
|||
|
|
@ -3,60 +3,71 @@
|
|||
<!--// datepicker javascript plugin load -->
|
||||
<!--%load_js_plugin("ui")-->
|
||||
<!--%load_js_plugin("ui.datepicker")-->
|
||||
<h1 class="h1">{$lang->msg_update_member}</h1>
|
||||
<script type="text/javascript" >
|
||||
<h1 style="border-bottom:1px solid #ccc">{$lang->msg_update_member}</h1>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skins/default/modify_info/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<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}';
|
||||
</script>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form ruleset="@insertMember" id="fo_insert_member" class="form" action="./" method="post" enctype="multipart/form-data">
|
||||
<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)}" />
|
||||
<input type="hidden" name="page" value="{$page}" />
|
||||
<ul>
|
||||
<li>
|
||||
<p class="q">{$identifierForm->title} <em style="color:red">*</em></p>
|
||||
<p class="a">
|
||||
<input type="hidden" name="{$identifierForm->name}" value="{$identifierForm->value}" />
|
||||
<input type="text" name="{$identifierForm->name}" value="{$identifierForm->value}" disabled="disabled" />
|
||||
</p>
|
||||
</li>
|
||||
<li loop="$formTags=>$formTag">
|
||||
<p class="q">{$formTag->title}</p>
|
||||
<div class="a" cond="$formTag->name != 'signature'">{$formTag->inputTag}</div>
|
||||
<div class="a" cond="$formTag->name =='signature'">{$editor}</div>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->allow_mailing}</p>
|
||||
<p class="a">
|
||||
<input type="radio" name="allow_mailing" id="mailingYes" value="Y" checked="checked"|cond="$member_info->allow_mailing == 'Y'"> <label for="mailingYes">{$lang->cmd_yes}</label>
|
||||
<input type="radio" name="allow_mailing" id="mailingNo" value="N" checked="checked"|cond="$member_info->allow_mailing != 'Y'" > <label for="mailingNo">{$lang->cmd_no}</label>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->allow_message}</p>
|
||||
<p class="a">
|
||||
<block 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}" /> <label for="allow_{$key}">{$val}</label>
|
||||
</block>
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="btnArea">
|
||||
<span class="btn"><input type="submit" value="{$lang->cmd_registration}" /></span>
|
||||
<span class="btn"><a href="{getUrl('act','dispMemberInfo','member_srl','')}">{$lang->cmd_cancel}</a></span>
|
||||
<input type="hidden" name="xe_validator_id" value="modules/member/skins/default/modify_info/1" />
|
||||
<div class="control-group">
|
||||
<label for="{$identifierForm->name}" class="control-label">{$identifierForm->title} <em style="color:red">*</em></label>
|
||||
<div class="controls">
|
||||
<input type="hidden" name="{$identifierForm->name}" value="{$identifierForm->value}" />
|
||||
<input type="text" name="{$identifierForm->name}" id="{$identifierForm->name}" value="{$identifierForm->value}" disabled="disabled" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group" loop="$formTags=>$formTag">
|
||||
<label for="" class="control-label">{$formTag->title}</label>
|
||||
<div class="controls" cond="$formTag->name != 'signature'">{$formTag->inputTag}</div>
|
||||
<div class="controls" cond="$formTag->name =='signature'">
|
||||
{$editor}
|
||||
<style scoped>
|
||||
.xpress-editor>#smart_content,
|
||||
.xpress-editor>#smart_content>.tool{clear:none}
|
||||
</style>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<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>
|
||||
<div class="control-group">
|
||||
<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" id="allow_{$key}" /> {$val}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btnArea" style="border-top:1px solid #ccc;padding-top:10px">
|
||||
<input type="submit" value="{$lang->cmd_registration}" class="btn btn-inverse pull-right" />
|
||||
<a href="{getUrl('act','dispMemberInfo','member_srl','')}" class="btn pull-left">{$lang->cmd_cancel}</a>
|
||||
</div>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
<script>
|
||||
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(){
|
||||
var option = { changeMonth: true, changeYear: true, gotoCurrent: false,yearRange:'-100:+10', dateFormat:'yy-mm-dd', onSelect:function(){
|
||||
|
||||
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
|
||||
};
|
||||
$.extend(option,$.datepicker.regional['{$lang_type}']);
|
||||
|
|
|
|||
|
|
@ -1,31 +1,23 @@
|
|||
<include target="./common_header.html" />
|
||||
<h1 class="h1">{$member_title = $lang->cmd_modify_member_password}</h1>
|
||||
<form ruleset="modifyPassword" id="fo_insert_member" class="form" action="./" method="post">
|
||||
<h1>{$member_title = $lang->cmd_modify_member_password}</h1>
|
||||
<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}" />
|
||||
<ul>
|
||||
<li>
|
||||
<p class="q"><label for="uid">{Context::getLang($identifier)}</label></p>
|
||||
<p class="a"><input type="text" disabled="disabled" value="{$formValue}" id="uid" /></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="cpw">{$lang->current_password}</label></p>
|
||||
<p class="a"><input type="password" name="current_password" id="cpw" /></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="npw1">{$lang->password1}</label></p>
|
||||
<p class="a"><input type="password" name="password1" id="npw1" /> <span class="desc">{$lang->about_password}</span></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="npw2">{$lang->password2}</label></p>
|
||||
<p class="a"><input type="password" name="password2" id="npw2" /></p>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="btnArea">
|
||||
<span class="btn"><input type="submit" value="{$lang->cmd_registration}" /></span>
|
||||
<div>
|
||||
<input type="email" disabled="disabled" value="{$formValue}" id="uid" placeholder="{Context::getLang($identifier)}" title="{Context::getLang($identifier)}" />
|
||||
</div>
|
||||
<div>
|
||||
<input type="password" name="current_password" id="cpw" required placeholder="{$lang->current_password}" title="{$lang->current_password}" />
|
||||
</div>
|
||||
<div>
|
||||
<input type="password" name="password1" id="npw1" required placeholder="{$lang->password1}" title="{$lang->password1}" /> <span class="help-inline">{$lang->about_password}</span>
|
||||
</div>
|
||||
<div>
|
||||
<input type="password" name="password2" id="npw2" required placeholder="{$lang->password2}" title="{$lang->password2}" />
|
||||
</div>
|
||||
<input type="submit" value="{$lang->cmd_registration}" class="btn btn-inverse" style="min-width:220px" />
|
||||
</form>
|
||||
<include target="./common_footer.html" />
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
<include target="./common_header.html" />
|
||||
<h1 class="h1">{$lang->msg_rechecked_password}</h1>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<h1>{$lang->msg_rechecked_password}</h1>
|
||||
{@
|
||||
$validator_ids = array(
|
||||
'modules/member/skins/default/rechecked_password/1' => 1,
|
||||
'modules/member/skins/default/modify_info/1' => 1
|
||||
);
|
||||
}
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && isset($validator_ids[$XE_VALIDATOR_ID])" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form class="form" action="./index.php" method="post" ruleset="recheckedPassword">
|
||||
<p>{$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" />
|
||||
<ul>
|
||||
<li>
|
||||
<p class="q">{$identifierTitle}</p>
|
||||
<p class="a">{$identifierValue}</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->password}</p>
|
||||
<p class="a"><input type="password" name="password" /></p>
|
||||
<p class="desc">{$lang->about_rechecked_password}</p>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="btnArea">
|
||||
<span class="btn"><input type="submit" value="{$lang->cmd_confirm}" /></span>
|
||||
<span class="btn"><a href="{getUrl('act','dispMemberInfo','member_srl','')}">{$lang->cmd_cancel}</a></span>
|
||||
<input type="hidden" name="xe_validator_id" value="modules/member/skins/default/rechecked_password/1" />
|
||||
<div>
|
||||
<input type="email" value="{$identifierValue}" readonly title="{$lang->email}" />
|
||||
</div>
|
||||
<span class="input-append">
|
||||
<input type="password" name="password" required placeholder="{$lang->password}" title="{$lang->password}" />
|
||||
<input type="submit" value="{$lang->cmd_confirm}" class="btn btn-inverse" />
|
||||
</span>
|
||||
</form>
|
||||
<include target="./common_footer.html" />
|
||||
|
|
|
|||
|
|
@ -1,21 +0,0 @@
|
|||
<include target="./common_header.html" />
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$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="success_return_url" value="{getUrl(act, $act)}" />
|
||||
<h1 class="h1">{$lang->cmd_resend_auth_mail}</h1>
|
||||
<p>{$lang->about_resend_auth_mail}</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p class="q"><label for="email_address">{$lang->email_address}</label></p>
|
||||
<p class="a"><input type="text" id="email_address" name="email_address" value="" /></p>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="btnArea">
|
||||
<span class="btn"><input type="submit" value="{$lang->cmd_resend_auth_mail}" /></span>
|
||||
</div>
|
||||
</form>
|
||||
<include target="./common_footer.html" />
|
||||
|
|
@ -1,29 +1,26 @@
|
|||
<include target="./common_header.html" />
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<h1>{$lang->cmd_resend_auth_mail}</h1>
|
||||
<p>{sprintf($lang->about_reset_auth_mail, $memberInfo->email_address)}</p>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skins/default/reset_mail/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<div class="form">
|
||||
<h1 class="h1">{$lang->cmd_resend_auth_mail}</h1>
|
||||
<p>{sprintf($lang->about_reset_auth_mail, $memberInfo->email_address)}</p>
|
||||
<ul>
|
||||
<li>
|
||||
<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}" />
|
||||
<p class="q"><label for="resend_button">{$lang->cmd_resend_auth_mail}</label></p>
|
||||
<p class="a"><input type="text" readonly="readonly" disabled="disabled" value="{$memberInfo->email_address}"/> <span class="btn"><input type="submit" id="resend_button" name="" value="{$lang->cmd_resend_auth_mail}" /></span></p>
|
||||
</form>
|
||||
</li>
|
||||
<li>
|
||||
<form ruleset="resetAuthMail" action="./" method="post">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberResetAuthMail" />
|
||||
<p class="q"><label for="email_address">{$lang->cmd_modify_new_auth_email_address}</label></p>
|
||||
<p class="a"><input type="text" id="email_address" name="email_address" value="" /> <span class="btn"><input type="submit" value="{$lang->cmd_send_auth_new_emaill_address}" /></p>
|
||||
<p>{$lang->about_reset_auth_mail_submit}</p>
|
||||
</form>
|
||||
</li>
|
||||
</ul>
|
||||
</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/default/reset_mail/1" />
|
||||
<div class="input-append">
|
||||
<input type="text" 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>
|
||||
<form ruleset="resetAuthMail" action="./" method="post">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberResetAuthMail" />
|
||||
<div class="input-append">
|
||||
<input type="text" id="email_address" name="email_address" value="" placeholder="{$lang->cmd_modify_new_auth_email_address}" title="{$lang->cmd_modify_new_auth_email_address}" />
|
||||
<input type="submit" value="{$lang->cmd_send_auth_new_emaill_address}" class="btn btn-inverse" />
|
||||
</div>
|
||||
<p>{$lang->about_reset_auth_mail_submit}</p>
|
||||
</form>
|
||||
<include target="./common_footer.html" />
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
<include target="./common_header.html" />
|
||||
<h1 class="h1">{$member_title = $lang->cmd_view_saved_document}</h1>
|
||||
<div class="table even">
|
||||
<table width="100%" border="1" cellspacing="0">
|
||||
<caption>Total: {number_format($total_count)}, Page {number_format($page)}/{number_format($total_page)}</caption>
|
||||
<h1>{$member_title = $lang->cmd_view_saved_document}</h1>
|
||||
<table class="table table-striped table-hover">
|
||||
<caption>Total: {number_format($total_count)}, Page: {number_format($page)}/{number_format($total_page)}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="title">{$lang->title}</th>
|
||||
|
|
@ -21,16 +20,13 @@
|
|||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="pagination">
|
||||
<a href="{getUrl('page','','module_srl','')}" class="direction">‹ {$lang->first_page}</a>
|
||||
<!--@while($page_no = $page_navigation->getNextPage())-->
|
||||
<!--@if($page == $page_no)-->
|
||||
<strong>{$page_no}</strong>
|
||||
<!--@else-->
|
||||
<a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="direction">{$lang->last_page} ›</a>
|
||||
<div class="pagination pagination-centered">
|
||||
<ul>
|
||||
<li><a href="{getUrl('page','','module_srl','')}" class="direction">« {$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} »</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<include target="./common_footer.html" />
|
||||
|
|
|
|||
|
|
@ -1,37 +1,33 @@
|
|||
<include target="./common_header.html" />
|
||||
<h1 class="h1">{$member_title = $lang->cmd_view_scrapped_document}</h1>
|
||||
<div class="table even">
|
||||
<table width="100%" border="1" cellspacing="0">
|
||||
<caption>Total: {number_format($total_count)}, Page {number_format($page)}/{number_format($total_page)}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$lang->no}</th>
|
||||
<th class="title">{$lang->title}</th>
|
||||
<th>{$lang->writer}</th>
|
||||
<th>{$lang->date}</th>
|
||||
<th>{$lang->cmd_delete}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr loop="$document_list=>$no,$val">
|
||||
<td>{$no}</td>
|
||||
<td class="title"><a href="{getUrl('','document_srl',$val->document_srl)}" onclick="window.open(this.href);return false;">{htmlspecialchars($val->title)}</a></td>
|
||||
<td><a href="#popup_menu_area" class="member_{$val->target_member_srl}">{$val->nick_name}</a></td>
|
||||
<td>{zdate($val->regdate, "Y-m-d")}</td>
|
||||
<td><button type="button" class="text" onclick="doDeleteScrap({$val->document_srl});">{$lang->cmd_delete}</button></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="pagination">
|
||||
<a href="{getUrl('page','','module_srl','')}" class="direction">‹ {$lang->first_page}</a>
|
||||
<!--@while($page_no = $page_navigation->getNextPage())-->
|
||||
<!--@if($page == $page_no)-->
|
||||
<strong>{$page_no}</strong>
|
||||
<!--@else-->
|
||||
<a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="direction">{$lang->last_page} ›</a>
|
||||
<h1>{$member_title = $lang->cmd_view_scrapped_document}</h1>
|
||||
<table class="table table-striped table-hover">
|
||||
<caption>Total: {number_format($total_count)}, Page: {number_format($page)}/{number_format($total_page)}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$lang->no}</th>
|
||||
<th class="title">{$lang->title}</th>
|
||||
<th>{$lang->writer}</th>
|
||||
<th>{$lang->date}</th>
|
||||
<th>{$lang->cmd_delete}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr loop="$document_list=>$no,$val">
|
||||
<td>{$no}</td>
|
||||
<td class="title"><a href="{getUrl('','document_srl',$val->document_srl)}" onclick="window.open(this.href);return false;">{htmlspecialchars($val->title)}</a></td>
|
||||
<td><a href="#popup_menu_area" class="member_{$val->target_member_srl}">{$val->nick_name}</a></td>
|
||||
<td>{zdate($val->regdate, "Y-m-d")}</td>
|
||||
<td><button type="button" class="text" onclick="doDeleteScrap({$val->document_srl});">{$lang->cmd_delete}</button></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="pagination pagination-centered">
|
||||
<ul>
|
||||
<li><a href="{getUrl('page','','module_srl','')}">« {$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} »</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<include target="./common_footer.html" />
|
||||
|
|
|
|||
|
|
@ -3,79 +3,87 @@
|
|||
<!--%load_js_plugin("ui")-->
|
||||
<!--%load_js_plugin("ui.datepicker")-->
|
||||
<include target="./common_header.html" />
|
||||
<h1 class="h1">{$lang->cmd_signup}</h1>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<h1 style="border-bottom:1px solid #ccc">{$lang->cmd_signup}</h1>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/skins/default/signup_form/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form ruleset="@insertMember" id="fo_insert_member" class="form" action="./" method="post" enctype="multipart/form-data">
|
||||
<form ruleset="@insertMember" id="fo_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/default/signup_form/1" />
|
||||
<div class="agreement" cond="$member_config->agreement">
|
||||
<div class="text">
|
||||
{$member_config->agreement}
|
||||
</div>
|
||||
<div class="confirm">
|
||||
<input type="checkbox" name="accept_agreement" value="Y" id="accept_agree" />
|
||||
<label for="accept_agree">{$lang->about_accept_agreement}</label>
|
||||
<label for="accept_agree">
|
||||
<input type="checkbox" name="accept_agreement" value="Y" id="accept_agree" />
|
||||
{$lang->about_accept_agreement}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<ul>
|
||||
<li>
|
||||
<p class="q">{$identifierForm->title} <em style="color:red">*</em></p>
|
||||
<p class="a">
|
||||
<input type="text" name="{$identifierForm->name}" value="{$identifierForm->value}" />
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->password} <em style="color:red">*</em></p>
|
||||
<p class="a">
|
||||
<input type="password" name="password" value=""/>
|
||||
</p>
|
||||
<p class="desc">{$lang->about_password}</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->password3} <em style="color:red">*</em></p>
|
||||
<p class="a">
|
||||
<input type="password" name="password2" value=""/>
|
||||
</p>
|
||||
</li>
|
||||
<li loop="$formTags=>$formTag" cond="$formTag->name != 'signature'">
|
||||
<p class="q">{$formTag->title}</p>
|
||||
<div class="a">{$formTag->inputTag}</div>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->allow_mailing}</p>
|
||||
<p class="a">
|
||||
<input type="radio" name="allow_mailing" id="mailingYes" value="Y" checked="checked"|cond="$member_info->allow_mailing == 'Y'" /> <label for="mailingYes">{$lang->cmd_yes}</label>
|
||||
<input type="radio" name="allow_mailing" id="mailingNo" value="N" checked="checked"|cond="$member_info->allow_mailing != 'Y'" /> <label for="mailingNo">{$lang->cmd_no}</label>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->allow_message}</p>
|
||||
<p class="a">
|
||||
<block 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}" /> <label for="allow_{$key}">{$val}</label>
|
||||
</block>
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="btnArea">
|
||||
<span class="btn"><input type="submit" value="{$lang->cmd_registration}" /></span>
|
||||
<span class="btn"><a href="{getUrl('act','','member_srl','')}">{$lang->cmd_cancel}</a></span>
|
||||
<div class="control-group">
|
||||
<label for="{$identifierForm->name}" class="control-label"><em style="color:red">*</em> {$identifierForm->title}</label>
|
||||
<div class="controls">
|
||||
<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 />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label for="password" class="control-label"><em style="color:red">*</em> {$lang->password}</label>
|
||||
<div class="controls">
|
||||
<input type="password" name="password" id="password" value="" required />
|
||||
<p class="help-inline">{$lang->about_password}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label for="password2" class="control-label"><em style="color:red">*</em> {$lang->password3}</label>
|
||||
<div class="controls">
|
||||
<input type="password" name="password2" id="password2" value="" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group" loop="$formTags=>$formTag" cond="$formTag->name != 'signature'">
|
||||
<label for="{$formTag->name}" class="control-label">{$formTag->title}</label>
|
||||
<div class="controls">{$formTag->inputTag}</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<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>
|
||||
<div class="control-group">
|
||||
<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>
|
||||
</div>
|
||||
<div class="btnArea" style="border-top:1px solid #ccc;padding-top:10px">
|
||||
<input type="submit" value="{$lang->cmd_registration}" class="btn btn-inverse pull-right" />
|
||||
<a href="{getUrl('act','','member_srl','')}" class="btn pull-left">{$lang->cmd_cancel}</a>
|
||||
</div>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
(function($){
|
||||
$(function(){
|
||||
var option = { changeMonth: true, changeYear: true, gotoCurrent: false,yearRange:'-100:+10', dateFormat:'yy-mm-dd', onSelect:function(){
|
||||
|
||||
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
|
||||
};
|
||||
$.extend(option,$.datepicker.regional['{$lang_type}']);
|
||||
$(".inputDate").datepicker(option);
|
||||
$(".dateRemover").click(function() {
|
||||
$(this).parent().prevAll('input').val('');
|
||||
return false;});
|
||||
});
|
||||
})(jQuery);
|
||||
</script>
|
||||
<script>
|
||||
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(){
|
||||
var option = { changeMonth: true, changeYear: true, gotoCurrent: false,yearRange:'-100:+10', dateFormat:'yy-mm-dd', onSelect:function(){
|
||||
|
||||
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
|
||||
};
|
||||
$.extend(option,$.datepicker.regional['{$lang_type}']);
|
||||
$(".inputDate").datepicker(option);
|
||||
$(".dateRemover").click(function() {
|
||||
$(this).parent().prevAll('input').val('');
|
||||
return false;});
|
||||
});
|
||||
})(jQuery);
|
||||
</script>
|
||||
<include target="./common_footer.html" />
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<title xml:lang="zh-TW">會員模組預設面板</title>
|
||||
<title xml:lang="tr">Varsayılan Kullanıcı Dış Görünümü</title>
|
||||
<description xml:lang="ko">
|
||||
회원모듈의 default스킨
|
||||
회원 기본 스킨
|
||||
NHN (developers@xpressengine.com)
|
||||
</description>
|
||||
<description xml:lang="zh-CN">
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
NHN (developers@xpressengine.com)
|
||||
</description>
|
||||
<description xml:lang="en">
|
||||
The default skin of the member module
|
||||
The default skin of the member
|
||||
NHN (developers@xpressengine.com)
|
||||
</description>
|
||||
<description xml:lang="vi">
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<!--@else-->
|
||||
{@ $_width = 200; $_height = 20; $_talign = "left"; }
|
||||
<!--@end-->
|
||||
<div style="float:left;text-align:{$_talign};margin-bottom:1em;width:{$_width}px;height:{$_height}px;margin-right:10px;">
|
||||
<div style="float:left;text-align:{$_talign};margin-bottom:8px;width:{$_width}px;height:{$_height}px;margin-right:10px;">
|
||||
<input type="radio" name="colorset" value="{$val->name}" id="colorset_{$key}" <!--@if($config->colorset==$val->name)-->checked="checked"<!--@end-->/>
|
||||
<label for="colorset_{$key}">{$val->title}</label>
|
||||
<!--@if($val->screenshot)-->
|
||||
|
|
|
|||
|
|
@ -43,6 +43,5 @@ input[type=radio]{width:13px;height:13px;margin:0;padding:0}
|
|||
.bn[type=submit],
|
||||
.bn[type=button]{height:28px}
|
||||
.bn[href]{height:26px}
|
||||
.bn.dark{border-color:#666;background:#777 -webkit-gradient(linear,0% 0%,0% 100%,from(#7e7c78),to(#5c5b58));background:#777 -moz-linear-gradient(top,#7e7c78,#5c5b58);background-color:#777;color:#fff;box-shadow:0 0 1px #fff inset;-moz-box-shadow:0 0 1px #fff inset;-webkit-box-shadow:0 0 1px #fff inset}
|
||||
.bn.white{border-color:#b5b5b5;background:#1b1b1b -webkit-gradient(linear,0% 0%,0% 100%,from(#fff),to(#f6f6f6),color-stop(0.5,#f0f0f0),color-stop(0.5,#e4e4e4));background:#1b1b1b -moz-linear-gradient(top,#fff,#e4e4e4);background-color:#fff;color:#000}
|
||||
.message{border:1px solid #ddd;background:#f8f8f8;margin:1em 0;padding:0 1em;border-radius:5px;line-height:1.4;font-size:12px}.message p{margin:1em 0!important}.message em{font-style:normal;color:#e00}.message.info,.message.error,.message.update{padding-left:55px}.message.info{border-color:#e0e8ec;background:#edf9ff url(../../../../common/img/msg.Info.png) no-repeat 1em .5em}.message.error{border-color:#efdcdc;background:#ffecec url(../../../../common/img/msg.error.png) no-repeat 1em .5em}.message.update{border-color:#eae9dc;background:#fffdef url(../../../../common/img/msg.update.png) no-repeat 1em .5em}
|
||||
.bn.dark{border-color:#666;background:-webkit-linear-gradient(top,#7e7c78,#5c5b58);background:-moz-linear-gradient(top,#7e7c78,#5c5b58);background:-o-linear-gradient(top,#7e7c78,#5c5b58);background:-ms-linear-gradient(top,#7e7c78,#5c5b58);background:linear-gradient(top,#7e7c78,#5c5b58);background-color:#777;color:#fff;box-shadow:0 0 1px #fff inset;-moz-box-shadow:0 0 1px #fff inset;-webkit-box-shadow:0 0 1px #fff inset}
|
||||
.bn.white{border-color:#b5b5b5;background:-webkit-linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6);background:-moz-linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6);background:-o-linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6);background:-ms-linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6);background:linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6);background-color:#fff;color:#000}
|
||||
|
|
|
|||
|
|
@ -49,6 +49,5 @@ input[type=radio]{width:13px;height:13px;margin:0;padding:0}
|
|||
.bn[type=submit],
|
||||
.bn[type=button]{height:28px}
|
||||
.bn[href]{height:26px}
|
||||
.bn.dark{border-color:#666;background:#777 -webkit-gradient(linear,0% 0%,0% 100%,from(#7e7c78),to(#5c5b58));background:#777 -moz-linear-gradient(top,#7e7c78,#5c5b58);background-color:#777;color:#fff;box-shadow:0 0 1px #fff inset;-moz-box-shadow:0 0 1px #fff inset;-webkit-box-shadow:0 0 1px #fff inset}
|
||||
.bn.white{border-color:#b5b5b5;background:#1b1b1b -webkit-gradient(linear,0% 0%,0% 100%,from(#fff),to(#f6f6f6),color-stop(0.5,#f0f0f0),color-stop(0.5,#e4e4e4));background:#1b1b1b -moz-linear-gradient(top,#fff,#e4e4e4);background-color:#fff;color:#000}
|
||||
.message{border:1px solid #ddd;background:#f8f8f8;margin:1em 0;padding:0 1em;border-radius:5px;line-height:1.4;font-size:12px}.message p{margin:1em 0!important}.message em{font-style:normal;color:#e00}.message.info,.message.error,.message.update{padding-left:55px}.message.info{border-color:#e0e8ec;background:#edf9ff url(../../../../common/img/msg.Info.png) no-repeat 1em .5em}.message.error{border-color:#efdcdc;background:#ffecec url(../../../../common/img/msg.error.png) no-repeat 1em .5em}.message.update{border-color:#eae9dc;background:#fffdef url(../../../../common/img/msg.update.png) no-repeat 1em .5em}
|
||||
.bn.dark{border-color:#666;background:-webkit-linear-gradient(top,#7e7c78,#5c5b58);background:-moz-linear-gradient(top,#7e7c78,#5c5b58);background:-o-linear-gradient(top,#7e7c78,#5c5b58);background:-ms-linear-gradient(top,#7e7c78,#5c5b58);background:linear-gradient(top,#7e7c78,#5c5b58);background-color:#777;color:#fff;box-shadow:0 0 1px #fff inset;-moz-box-shadow:0 0 1px #fff inset;-webkit-box-shadow:0 0 1px #fff inset}
|
||||
.bn.white{border-color:#b5b5b5;background:-webkit-linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6);background:-moz-linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6);background:-o-linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6);background:-ms-linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6);background:linear-gradient(top,#fff,#f0f0f0 50%,#e4e4e4 50%,#f6f6f6);background-color:#fff;color:#000}
|
||||
|
|
|
|||
47
modules/member/tpl/default_config.html
Normal file
47
modules/member/tpl/default_config.html
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
<include target="header.html" />
|
||||
<load target="js/default_config.js" />
|
||||
<form action="./" class="x_form-horizontal" ruleset="insertDefaultConfig" method="post">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberAdminInsertDefaultConfig" />
|
||||
<input type="hidden" name="success_return_url" value="{getUrl('', 'module', 'admin', 'act', $act)}" />
|
||||
<input type="hidden" name="xe_validator_id" value="modules/member/tpl/default_config/1" />
|
||||
<div class="x_control-group">
|
||||
<div class="x_control-label">{$lang->enable_join}</div>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline" for="enable_join_yes"><input type="radio" name="enable_join" id="enable_join_yes" value="Y" checked="checked"|cond="$config->enable_join == 'Y'" /> {$lang->cmd_yes}</label>
|
||||
<label class="x_inline" for="enable_join_no"><input type="radio" name="enable_join" id="enable_join_no" value="N" checked="checked"|cond="$config->enable_join != 'Y'" /> {$lang->cmd_no}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<div class="x_control-label">{$lang->enable_confirm}</div>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline" for="enable_confirm_yes"><input type="radio" name="enable_confirm" id="enable_confirm_yes" value="Y" checked="checked"|cond="$config->enable_confirm == 'Y'" /> {$lang->cmd_yes}</label>
|
||||
<label class="x_inline" for="enable_confirm_no"><input type="radio" name="enable_confirm" id="enable_confirm_no" value="N" checked="checked"|cond="$config->enable_confirm != 'Y'"/> {$lang->cmd_no}</label>
|
||||
<p class="x_help-block">{$lang->about_enable_confirm}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<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}" size="20" />
|
||||
<p class="x_help-inline">{$lang->about_webmaster_name}</p>
|
||||
</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}" size="40" />
|
||||
<p class="x_help-inline">{$lang->about_webmaster_email}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="member_sync">{$lang->cmd_member_sync}</label>
|
||||
<div class="x_controls">
|
||||
<input id="member_sync" type="button" value="{$lang->cmd_member_sync}" class="__sync x_btn x_btn-warning" />
|
||||
<p class="x_help-inline">{$lang->about_member_sync}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btnArea x_clearfix">
|
||||
<span class="x_pull-right"><input class="x_btn x_btn-primary" type="submit" value="{$lang->cmd_save}" /></span>
|
||||
</div>
|
||||
</form>
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
<!--%import("filter/delete_member.xml")-->
|
||||
<load target="js/member_admin.js" usecdn="true" />
|
||||
<!--#include("header.html")-->
|
||||
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, delete_member)">
|
||||
<input type="hidden" name="page" value="{$page}" />
|
||||
<input type="hidden" name="member_srl" value="{$member_info->member_srl}" />
|
||||
<h3 class="h3">{$lang->confirm_delete}</h3>
|
||||
<div class="table">
|
||||
<table width="100%" border="1" cellspacing="0">
|
||||
<tr>
|
||||
<th scope="row">{$lang->user_id}</th>
|
||||
<td>{$member_info->user_id}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->nick_name}</th>
|
||||
<td>{$member_info->nick_name}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->email_address}</th>
|
||||
<td>{$member_info->email_address}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="btnArea">
|
||||
<span class="btn"><input type="submit" value="{$lang->cmd_delete}" /></span>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
<!--%import("filter/delete_members.xml")-->
|
||||
<load target="js/member_admin.js" usecdn="true" />
|
||||
|
||||
<h1 class="h1">{$lang->cmd_delete} ({$lang->target} : {count($member_list)})</h1>
|
||||
|
||||
<form action="./" method="get" id="fo_management" onsubmit="return procFilter(this, delete_members);">
|
||||
<input type="hidden" name="target_member_srls" value="{$member_srls}" />
|
||||
|
||||
<div class="table">
|
||||
<table width="100%" border="1" cellspacing="0">
|
||||
<tr>
|
||||
<th scope="col">{$lang->user_id}</th>
|
||||
<th scope="col">{$lang->nick_name}</th>
|
||||
<th scope="col">{$lang->signup_date}</th>
|
||||
</tr>
|
||||
<!--@foreach($member_list as $key => $val)-->
|
||||
<tr>
|
||||
<td>{$val->user_id}</td>
|
||||
<td><a href="#popup_menu_area" class="member_{$val->member_srl}">{$val->nick_name}</a></td>
|
||||
<td>{zdate($val->regdate, "Y-m-d H:i")}</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!--@if(count($member_list))-->
|
||||
<div class="btnArea">
|
||||
<span class="btn"><input type="submit" value="{$lang->cmd_delete}" /></span>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
</form>
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
<!--#include("header.html")-->
|
||||
<!--%import("filter/update_denied_id.xml")-->
|
||||
|
||||
<!-- 금지아이디의 삭제와 관련된 form -->
|
||||
<form id="fo_denied_id_info" action="./" method="get">
|
||||
<input type="hidden" name="user_id" value="" />
|
||||
<input type="hidden" name="mode" value="" />
|
||||
</form>
|
||||
|
||||
<!-- 목록 -->
|
||||
<div class="table">
|
||||
<table width="100%" border="1" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{$lang->no}</th>
|
||||
<th scope="col">{$lang->user_id}</th>
|
||||
<th scope="col">{$lang->description}</th>
|
||||
<th scope="col">{$lang->regdate}</th>
|
||||
<th scope="col"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!--@foreach($member_list as $no => $val)-->
|
||||
<tr class="row{$cycle_idx}">
|
||||
<td>{$no}</td>
|
||||
<td>{$val->user_id}</td>
|
||||
<td>{$val->description} </td>
|
||||
<td>{zdate($val->regdate,"Y-m-d")}</td>
|
||||
<td><a href="#" onclick="doUpdateDeniedID('{$val->user_id}','delete','{$lang->confirm_delete}');return false;" title="{$lang->cmd_delete}" class="buttonSet buttonDelete"><span>{$lang->cmd_delete}</span></a></td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- 페이지 네비게이션 -->
|
||||
<div class="pagination">
|
||||
<a href="{getUrl('page','','module_srl','')}" class="direction">‹ {$lang->first_page}</a>
|
||||
<!--@while($page_no = $page_navigation->getNextPage())-->
|
||||
<!--@if($page == $page_no)-->
|
||||
<strong>{$page_no}</strong>
|
||||
<!--@else-->
|
||||
<a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="direction">{$lang->last_page} ›</a>
|
||||
</div>
|
||||
|
||||
<!-- 금지 아이디 추가 -->
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form ruleset="insertDeniedId" action="./" method="post">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberAdminInsertDeniedID" />
|
||||
<input type="hidden" name="page" value="{$page}" />
|
||||
|
||||
<div class="table">
|
||||
<table width="100%" border="1" cellspacing="0">
|
||||
<tr>
|
||||
<th scope="row">{$lang->user_id}</th>
|
||||
<td ><input type="text" name="user_id" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->description}</th>
|
||||
<td ><textarea name="description" rows="8" cols="42"></textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="btnArea">
|
||||
<span class="btn"><input type="submit" value="{$lang->cmd_registration}" /></span>
|
||||
</div>
|
||||
</form>
|
||||
52
modules/member/tpl/design_config.html
Normal file
52
modules/member/tpl/design_config.html
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
<include target="header.html" />
|
||||
<load target="js/design_config.js" />
|
||||
<form action="./" class="x_form-horizontal" method="post">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberAdminInsertDesignConfig" />
|
||||
<input type="hidden" name="success_return_url" value="{getUrl('', 'module', 'admin', 'act', $act)}" />
|
||||
<input type="hidden" name="xe_validator_id" value="modules/member/tpl/design_config/1" />
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="layout">{$lang->layout} <a data-admin-toggle="#help_menuName" class="x_icon-question-sign" href="./admin/help/index.html#UMAN_layout" target="_blank">{$lang->help}</a></label>
|
||||
<div class="x_controls">
|
||||
<select id="layout" name="layout_srl">
|
||||
<option value="0">{$lang->notuse}</option>
|
||||
<option loop="$layout_list => $key,$val" value="{$val->layout_srl}" selected="selected"|cond="$val->layout_srl == $config->layout_srl">{$val->title} ({$val->layout})</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="skin">{$lang->skin} <a data-admin-toggle="#help_menuName" class="x_icon-question-sign" href="./admin/help/index.html#UMAN_skin" target="_blank">{$lang->help}</a></label>
|
||||
<div class="x_controls">
|
||||
<select id="skin" name="skin" onchange="doGetSkinColorset(this.options[this.selectedIndex].value)">
|
||||
<option loop="$skin_list=>$key,$val" value="{$key}" selected="selected"|cond="$config->skin==$key">{$val->title} ({$key})</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div id="colorset" class="x_control-group" style="display:none"|cond="!$config->colorset">
|
||||
<label class="x_control-label" for="member_colorset">{$lang->colorset}</label>
|
||||
<div class="x_controls"><div id="member_colorset"></div></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="mlayout">{$lang->mobile_layout}</label>
|
||||
<div class="x_controls">
|
||||
<select id="mlayout" name="mlayout_srl">
|
||||
<option value="0">{$lang->notuse}</option>
|
||||
<option loop="$mlayout_list => $key,$val" value="{$val->layout_srl}" selected="selected"|cond="$val->layout_srl == $config->mlayout_srl">{$val->title} ({$val->layout})</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="mskin">{$lang->mobile_skin}</label>
|
||||
<div class="x_controls">
|
||||
<select id="mskin" name="mskin">
|
||||
<option loop="$mskin_list=>$key,$val" value="{$key}" selected="selected"|cond="$config->mskin==$key">{$val->title} ({$key})</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_clearfix btnArea">
|
||||
<span class="x_pull-right"><input class="x_btn x_btn-primary" type="submit" value="{$lang->cmd_save}" /></span>
|
||||
</div>
|
||||
</form>
|
||||
<script>
|
||||
jQuery(function() { doGetSkinColorset("{$config->skin}"); });
|
||||
</script>
|
||||
|
|
@ -1,135 +1,105 @@
|
|||
<load target="js/member_admin_group.js" usecdn="true" />
|
||||
<script type="text/javascript" >
|
||||
<script>
|
||||
xe.lang.groupDeleteMessage = '{$lang->msg_group_delete}';
|
||||
xe.lang.multilingual = '{$lang->cmd_set_multilingual}';
|
||||
xe.lang.modify = '{$lang->cmd_modify}';
|
||||
xe.lang.deleteMSG = '{$lang->cmd_delete}';
|
||||
</script>
|
||||
<style type="text/css">
|
||||
<style>
|
||||
._imageMarkButton img { max-height:16px }
|
||||
.filebox_item { border: 1px solid #ccc!important; padding: 2px; max-height: 16px; }
|
||||
.x .multiLangEdit input.vLang { width:120px }
|
||||
.x .multiLangEdit input.vLang.loading { padding-right:24px;width:100px;background:transparent url(./modules/admin/tpl/img/preLoader16.gif) no-repeat 96px center }
|
||||
.filebox_item{max-height:16px}
|
||||
</style>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<div class="x_page-header">
|
||||
<h1>{$lang->member_group} <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_member_group" target="_blank">{$lang->help}</a></h1>
|
||||
</div>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/tpl/group_list/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<h1 class="h1">{$lang->member_group}</h1>
|
||||
<form action="" class="form" method="post" ruleset="insertGroupConfig">
|
||||
<form action="" method="post" ruleset="insertGroupConfig">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberAdminGroupConfig" />
|
||||
<div class="table even">
|
||||
<table width="100%" border="1" cellspacing="0" class="sortable">
|
||||
<caption>
|
||||
<strong>{count($group_list)}</strong> {$lang->msg_groups_exist}
|
||||
<span class="side">
|
||||
{$lang->use_group_image_mark}:
|
||||
<input type="radio" name="group_image_mark" id="yes" value="Y" checked="checked"|cond="$config->group_image_mark == 'Y'" /> <label for="yes">{$lang->cmd_yes}</label>
|
||||
<input type="radio" name="group_image_mark" id="no" value="N" checked="checked"|cond="$config->group_image_mark != 'Y'" /> <label for="no">{$lang->cmd_no}</label>
|
||||
</span>
|
||||
</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{$lang->group_title}</th>
|
||||
<th scope="col">{$lang->description}</th>
|
||||
<th scope="col">{$lang->is_default}
|
||||
[<a href="#helpDefault" class="tgAnchor">?</a>]
|
||||
<div class="tgContent layer" id="helpDefault" style="right:0">
|
||||
<p>{$lang->about_member_default}</p>
|
||||
</div>
|
||||
</th>
|
||||
<th scope="col" class="_imageMarkButton">{$lang->group_image_mark}</th>
|
||||
<th scope="col"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td class="_imageMarkButton"> </td>
|
||||
<td><a href="#" class="_addGroup">{$lang->cmd_add_group}</a></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody class="uDrag _groupList">
|
||||
<tr loop="$group_list=>$group_srl,$group_info">
|
||||
<td class="multiLangEdit"><div class="wrap" style="height:22px"><button type="button" class="dragBtn">Move to</button>
|
||||
<input type="hidden" name="xe_validator_id" value="modules/member/tpl/group_list/1" />
|
||||
<table class="sortable x_table x_table-striped x_table-hover">
|
||||
<caption>
|
||||
<strong>{count($group_list)}{$lang->msg_groups_exist}</strong>
|
||||
<span class="x_pull-right" style="position:relative;top:7px">
|
||||
{$lang->use_group_image_mark}:
|
||||
<label for="yes" class="x_inline"><input type="radio" name="group_image_mark" id="yes" value="Y" checked="checked"|cond="$config->group_image_mark == 'Y'" /> {$lang->cmd_yes}</label>
|
||||
<label for="no" class="x_inline"><input type="radio" name="group_image_mark" id="no" value="N" checked="checked"|cond="$config->group_image_mark != 'Y'" /> {$lang->cmd_no}</label>
|
||||
</span>
|
||||
</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col"><em style="color:red">*</em> {$lang->group_title}</th>
|
||||
<th scope="col">{$lang->description}</th>
|
||||
<th scope="col">{$lang->default_group}</th>
|
||||
<th scope="col" class="_imageMarkButton">{$lang->group_image_mark}</th>
|
||||
<th scope="col"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td class="_imageMarkButton"> </td>
|
||||
<td><a href="#" class="_addGroup">{$lang->cmd_add}</a></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody class="uDrag _groupList">
|
||||
<tr loop="$group_list=>$group_srl,$group_info">
|
||||
<td>
|
||||
<div class="wrap">
|
||||
<button type="button" class="dragBtn">Move to</button>
|
||||
<input type="hidden" name="group_srls[]" value="{$group_info->group_srl}" />
|
||||
<input type="hidden" name="group_titles[]" value="{htmlspecialchars($group_info->title)}" class="vLang"/>
|
||||
<input type="text" value="{$group_info->title}" class="vLang" />
|
||||
<span class="desc"><a href="#langEdit" class="tgAnchor editUserLang" data-effect="slide">{$lang->cmd_set_multilingual}</a></span>
|
||||
</div>
|
||||
</td>
|
||||
<td><input type="text" name="descriptions[]" value="{$group_info->description}" style="width:240px" /></td>
|
||||
<td><input type="radio" name="defaultGroup" value="{$group_info->group_srl}" title="Default" checked="checked"|cond="$group_info->is_default=='Y'" /></td>
|
||||
<td class="_imageMarkButton"><input type="hidden" name="image_marks[]" value="{$group_info->image_mark}" class="_imgMarkHidden" />
|
||||
<img src="{$group_info->image_mark}" alt="{$group_info->title}" cond="$config->group_image_mark == 'Y' && $group_info->image_mark" />
|
||||
<a href="#imageMark" class="modalAnchor _imageMark filebox">{$lang->cmd_modify}...</a></td>
|
||||
<td><div class="_deleteTD" style="display:none"|cond="$group_info->is_default == 'Y'"><a href="#{$group_srl}" class="_deleteGroup">{$lang->cmd_delete}</a></div></td>
|
||||
</tr>
|
||||
<tr style="display:none" class="_template">
|
||||
<td class="multiLangEdit"><div class="wrap" style="height:22px"><button type="button" class="dragBtn">Move to</button>
|
||||
<input type="text" name="group_titles[]" value="{htmlspecialchars($group_info->title)}" class="lang_code" title="{$lang->group_title}" />
|
||||
<a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_faq_administrator" target="_blank" cond="$group_info->title == '관리그룹'">{$lang->help}</a>
|
||||
</div>
|
||||
</td>
|
||||
<td><input type="text" name="descriptions[]" value="{$group_info->description}" title="{$lang->description}" /></td>
|
||||
<td><input type="radio" name="defaultGroup" value="{$group_info->group_srl}" title="Default" checked="checked"|cond="$group_info->is_default=='Y'" /></td>
|
||||
<td class="_imageMarkButton">
|
||||
<input type="hidden" name="image_marks[]" value="{$group_info->image_mark}" class="_imgMarkHidden" />
|
||||
<img src="{$group_info->image_mark}" alt="{htmlspecialchars($group_info->title)}" cond="$config->group_image_mark == 'Y' && $group_info->image_mark" />
|
||||
<a href="#imageMark" class="modalAnchor _imageMark filebox">{$lang->cmd_modify}</a>
|
||||
</td>
|
||||
<td><div class="_deleteTD" style="display:none"|cond="$group_info->is_default == 'Y'"><a href="#{$group_srl}" class="_deleteGroup">{$lang->cmd_delete}</a></div></td>
|
||||
</tr>
|
||||
<tr style="display:none" class="_template">
|
||||
<td>
|
||||
<div class="wrap">
|
||||
<button type="button" class="dragBtn">Move to</button>
|
||||
<input type="hidden" name="group_srls[]" value="new" disabled="disabled"/>
|
||||
<input type="hidden" name="group_titles[]" value="" disabled="disabled" class="vLang" />
|
||||
<input type="text" value="" class="vLang" />
|
||||
<span class="desc"><a href="#langEdit" class="tgAnchor editUserLang">{$lang->cmd_set_multilingual}</a></span>
|
||||
</div>
|
||||
</td>
|
||||
<td><input type="text" name="descriptions[]" value="" style="width:240px" disabled="disabled" /></td>
|
||||
<td><input type="radio" name="defaultGroup" value="" title="Default" disabled="disabled" /></td>
|
||||
<td class="_imageMarkButton"><input type="hidden" name="image_marks[]" value="" class="_imgMarkHidden" disabled="disabled" />
|
||||
<a href="#imageMark" class="modalAnchor _imageMark">{$lang->cmd_modify}...</a></td>
|
||||
<td><div class="_deleteTD"><a href="#new" class="_deleteGroup">{$lang->cmd_delete}</a></div></td>
|
||||
</tr>
|
||||
<input type="text" name="group_titles[]" value="" disabled="disabled" class="lang_code" />
|
||||
</div>
|
||||
</td>
|
||||
<td><input type="text" name="descriptions[]" value="" disabled="disabled" /></td>
|
||||
<td><input type="radio" name="defaultGroup" value="" title="Default" disabled="disabled" /></td>
|
||||
<td class="_imageMarkButton"><input type="hidden" name="image_marks[]" value="" class="_imgMarkHidden" disabled="disabled" />
|
||||
<a href="#imageMark" class="modalAnchor _imageMark filebox">{$lang->cmd_modify}</a></td>
|
||||
<td><div class="_deleteTD"><a href="#new" class="_deleteGroup">{$lang->cmd_delete}</a></div></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="btnArea">
|
||||
<span class="btn medium"><input type="submit" value="{$lang->cmd_save}" /></span>
|
||||
</div>
|
||||
|
||||
<!-- Multilingual -->
|
||||
<div id="langEdit" class="langEdit tgContent">
|
||||
<ul class="langList"></ul>
|
||||
<div class="langInput">
|
||||
<h2>{$lang->cmd_multilingual} <strong>{$lang->cmd_modify}...</strong> | <a href="#langEdit">{$lang->cmd_insert}</a></h2>
|
||||
<ul>
|
||||
{@
|
||||
/* move current language to the top */
|
||||
$a = array($lang_type=>$lang_supported[$lang_type]);
|
||||
unset($lang_supported[$lang_type]);
|
||||
$lang_supported = array_merge($a, $lang_supported);
|
||||
}
|
||||
<li loop="$lang_supported=>$code,$name" class="{$code}"><label for="{$code}_var1">{$name}</label> <input type="text" value="" id="{$code}_var1" /></li>
|
||||
</ul>
|
||||
<div class="action">
|
||||
<div class="btnArea">
|
||||
<span class="btn small"><input type="submit" value="{$lang->use}|{$lang->use_after_save}" /></span>
|
||||
</div>
|
||||
<p><a href="{getUrl('act','dispModuleAdminLangcode')}">{$lang->multilingual_manager}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="x_clearfix">
|
||||
<span class="x_pull-right"><input class="x_btn x_btn-primary" type="submit" value="{$lang->cmd_save}" /></span>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="modal" id="imageMark">
|
||||
<div class="fg portlet">
|
||||
<div class="_useImageMark" style="display:none">
|
||||
<h2>{$lang->use_group_image_mark}</h2>
|
||||
<input id="useImageMark" type="radio" name="useImageMark" value="Y" />
|
||||
<label for="useImageMark">{$lang->use}</label>
|
||||
<input id="noImageMark" type="radio" name="useImageMark" value="N" />
|
||||
<label for="noImageMark">{$lang->notuse}</label>
|
||||
</div>
|
||||
<!--@if($fileBoxList)-->
|
||||
<div>
|
||||
<h2>{$lang->usable_group_image_mark_list}</h2>
|
||||
<div class="filebox_list">
|
||||
</div>
|
||||
</div>
|
||||
<!--@end-->
|
||||
<h2>{$lang->add_group_image_mark}</h2>
|
||||
<a href="{getUrl('', 'module','admin', 'act', 'dispModuleAdminFileBox')}" target="_blank">{$lang->link_file_box}</a>
|
||||
<section class="x_modal" id="imageMark">
|
||||
<div class="x_modal-header">
|
||||
<h1>{$lang->group_image_mark} {$lang->cmd_setup}</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_modal-body">
|
||||
<block cond="$fileBoxList">
|
||||
<p>{$lang->usable_group_image_mark_list}</p>
|
||||
<div class="filebox_list">
|
||||
</div>
|
||||
</block>
|
||||
</div>
|
||||
<div class="x_modal-footer">
|
||||
<button type="button" class="x_btn x_pull-left" data-hide="#exModal-1">Close</button>
|
||||
<p class="x_pull-right">{$lang->add_group_image_mark}: <a href="{getUrl('', 'module','admin', 'act', 'dispModuleAdminFileBox')}" target="_blank">{$lang->link_file_box}</a></p>
|
||||
</div>
|
||||
</section>
|
||||
|
|
|
|||
|
|
@ -1,49 +0,0 @@
|
|||
<!--#include("header.html")-->
|
||||
<!--%load_js_plugin("filebox")-->
|
||||
|
||||
<!-- 그룹 수정 -->
|
||||
<!--@if($selected_group)-->
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form ruleset="updateGroup" action="./" method="post">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberAdminUpdateGroup" />
|
||||
<input type="hidden" name="group_srl" value="{$selected_group->group_srl}" />
|
||||
<input type="hidden" name="mode" value="update" />
|
||||
<!--@if($selected_group->is_default=='Y')--><input type="hidden" name="is_default" value="Y" /><!--@end-->
|
||||
<div class="table">
|
||||
<table width="100%" border="1" cellspacing="0">
|
||||
<tr>
|
||||
<th scope="row">{$lang->group_title}</th>
|
||||
<td ><input type="text" name="title" id="title" value="{$selected_group->title}"/></td>
|
||||
</tr>
|
||||
<!--@if($selected_group->is_default!='Y' && $selected_group->is_admin!='Y')-->
|
||||
<tr>
|
||||
<th scope="row">{$lang->is_default}</th>
|
||||
<td ><input type="checkbox" name="is_default" value="Y" class="checkbox" /> {$lang->about_member_default}</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<th scope="row">{$lang->description}</th>
|
||||
<td ><textarea name="description" rows="8" cols="42">{$selected_group->description}</textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->group_image_mark}</th>
|
||||
<td >
|
||||
<div id="filebox_preview_image_mark" style="width:100px;height:100px;<!--@if(!$selected_group->image_mark)-->display:none<!--@endif-->"></div>
|
||||
<input type="hidden" name="image_mark" value="{$selected_group->image_mark}" />
|
||||
<span class="button black"><button type="button" onclick="XE.filebox.open(jQuery('[name=image_mark]').get(0), 'jpg,jpeg,gif,png')">{$lang->cmd_select}</button></span>
|
||||
<span id="filebox_cancel_image_mark" class="button red"<!--@if(!$selected_group->image_mark)--> style="display:none" <!--@endif-->><button type="button" onclick="XE.filebox.cancel('image_mark')">{$lang->cmd_delete}</button></span>
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
XE.filebox.init('image_mark');
|
||||
//]]></script>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="btnArea">
|
||||
<span class="btn"><input type="submit" value="{$lang->cmd_modify}" /></span>
|
||||
</div>
|
||||
</form>
|
||||
<!--@end-->
|
||||
|
|
@ -1,17 +1,25 @@
|
|||
<load target="js/member_admin.js" usecdn="true" />
|
||||
<load target="css/member_admin.css" usecdn="true" />
|
||||
<!--%load_js_plugin("ui")-->
|
||||
|
||||
<h3 class="xeAdmin">{$lang->member} <span class="gray">{$lang->cmd_management}</span></h3>
|
||||
|
||||
<div class="infoText">{nl2br($lang->about_member)}</div>
|
||||
|
||||
<div class="header4">
|
||||
<ul class="localNavigation">
|
||||
<li <!--@if($act=='dispMemberAdminList')-->class="on"<!--@end-->><a href="{getUrl('', 'module', 'admin', 'act','dispMemberAdminList','member_srl','')}">{$lang->cmd_member_list}</a></li>
|
||||
<li <!--@if($act=='dispMemberAdminConfig')-->class="on"<!--@end-->><a href="{getUrl('', 'module', 'admin', 'act','dispMemberAdminConfig')}">{$lang->cmd_module_config}</a></li>
|
||||
<li <!--@if($act=='dispMemberAdminGroupList')-->class="on"<!--@end-->><a href="{getUrl('', 'module', 'admin', 'act','dispMemberAdminGroupList')}">{$lang->cmd_member_group}</a></li>
|
||||
<li <!--@if($act=='dispMemberAdminJoinFormList')-->class="on"<!--@end-->><a href="{getUrl('', 'module', 'admin', 'act','dispMemberAdminJoinFormList')}">{$lang->cmd_manage_form}</a></li>
|
||||
<li <!--@if($act=='dispMemberAdminDeniedIDList')-->class="on"<!--@end-->><a href="{getUrl('', 'module', 'admin', 'act','dispMemberAdminDeniedIDList')}">{$lang->cmd_manage_id}</a></li>
|
||||
</ul>
|
||||
<load target="js/config.js" />
|
||||
<div class="x_page-header">
|
||||
<h1>{$lang->cmd_member_config} <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_member_config" target="_blank">{$lang->help}</a></h1>
|
||||
</div>
|
||||
{@
|
||||
$validator_ids = array(
|
||||
'modules/member/tpl/default_config/1' => 1,
|
||||
'modules/member/tpl/design_config/1' => 1,
|
||||
'modules/member/tpl/login_config/1' => 1,
|
||||
'modules/member/tpl/signup_cofig/1' => 1,
|
||||
'modules/member/tpl/signup_cofig/2' => 1,
|
||||
);
|
||||
}
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && isset($validator_ids[$XE_VALIDATOR_ID])" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<ul class="x_nav x_nav-tabs">
|
||||
<li class="x_active"|cond="$act == 'dispMemberAdminConfig'"><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminConfig')}">{$lang->member_default_info}</a></li>
|
||||
<li id="signupTab" class="x_active"|cond="$act == 'dispMemberAdminSignUpConfig'"><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminSignUpConfig')}">{$lang->cmd_signup}</a></li>
|
||||
<li class="x_active"|cond="$act == 'dispMemberAdminLoginConfig'"><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminLoginConfig')}">{$lang->cmd_login}</a></li>
|
||||
<li class="x_active"|cond="$act == 'dispMemberAdminDesignConfig'"><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminDesignConfig')}">{$lang->cmd_set_design_info}</a></li>
|
||||
</ul>
|
||||
<script>
|
||||
enableSignUpTab({$config->enable_join == 'Y' ? 'true' : 'false'});
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,55 +1,69 @@
|
|||
<input type="hidden" name="join_form_id_list" value="{$id_list}" />
|
||||
<input type="hidden" name="old_column_id" value="{$formInfo->column_name}" />
|
||||
<input type="hidden" name="member_join_form_srl" value="{$formInfo->member_join_form_srl}" />
|
||||
<h2 class="h2">{$lang->cmd_input_extend_form}</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<p class="q"><label for="column_id">{$lang->column_id} *</label></p>
|
||||
<p class="a"><input type="text" id="column_id" name="column_id" value="{$formInfo->column_name}" /></p>
|
||||
<p class="description">{$lang->about_column_id}</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="column_title">{$lang->column_title} *</label></p>
|
||||
<p class="a"><input type="text" id="column_title" name="column_title" value="{$formInfo->column_title}" /></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->column_type} *</p>
|
||||
<p class="a">
|
||||
<select class="typeSelect" style="width:290px" name="column_type">
|
||||
<input type="hidden" name="member_join_form_srl" value="{$formInfo->member_join_form_srl}" />
|
||||
<div class="x_modal-header">
|
||||
<h1>{$lang->cmd_input_extend_form}</h1>
|
||||
</div>
|
||||
<div class="x_modal-body">
|
||||
<div class="x_control-group">
|
||||
<label for="column_id" class="x_control-label"><em style="color:red">*</em> {$lang->column_id}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" id="column_id" name="column_id" value="{$formInfo->column_name}" />
|
||||
<p class="x_help-block">{$lang->about_column_id}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="column_title" class="x_control-label"><em style="color:red">*</em> {$lang->column_title}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" id="column_title" name="column_title" value="{$formInfo->column_title}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="columnType" class="x_control-label"><em style="color:red">*</em> {$lang->column_type}</label>
|
||||
<div class="x_controls">
|
||||
<select id="columnType" class="typeSelect" name="column_type">
|
||||
<option loop="$lang->column_type_list=>$key,$type_info" value="{$key}" selected="selected"|cond="$formInfo->column_type == $key" >{$lang->column_type_list[$key]}</option>
|
||||
</select>
|
||||
</p>
|
||||
<p class="q multiExample">{$lang->about_multi_type}</p>
|
||||
<p class="a multiExample"><textarea rows="8" cols="42" id="multiSelect" name="default_value"><block cond="$default_value">{implode('<enter>', $default_value)}</block></textarea></p>
|
||||
</li>
|
||||
<script type="text/javascript">
|
||||
var $ = jQuery;
|
||||
var typeSelect = $('.typeSelect');
|
||||
var multiOption = $('.typeSelect>option[value=checkbox], .typeSelect>option[value=radio], .typeSelect>option[value=selectM], .typeSelect>option[value=select]');
|
||||
var multiExample = $('.multiExample');
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group multiExample">
|
||||
<label for="multiSelect" class="x_control-label"><em style="color:red">*</em> {$lang->options}</label>
|
||||
<div class="x_controls">
|
||||
<textarea rows="4" cols="42" id="multiSelect" name="default_value" style="vertical-align:top"><block cond="$default_value">{implode('<enter>', $default_value)}</block></textarea>
|
||||
<p class="x_help-inline">{$lang->about_multi_type}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="desc" class="x_control-label">{$lang->description}</label>
|
||||
<div class="x_controls">
|
||||
<textarea rows="4" cols="42" id="desc" name="description">{$formInfo->description}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->cmd_required}/{$lang->cmd_optional}</label>
|
||||
<div class="x_controls">
|
||||
<label for="radio_required" class="x_inline"><input type="radio" id="radio_required" name="required" value="Y" /> {$lang->cmd_required}</label>
|
||||
<label for="radio_option" class="x_inline"><input type="radio" id="radio_option" name="required" value="N" /> {$lang->cmd_optional}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_modal-footer">
|
||||
<span class="x_pull-right"><button class="x_btn x_btn-primary" type="submit" name="mode" <!--@if($formInfo)-->value="update"<!--@else-->value="insert"<!--@end--> >{$lang->cmd_save}</button></span>
|
||||
</div>
|
||||
<script>
|
||||
var $ = jQuery;
|
||||
var typeSelect = $('.typeSelect');
|
||||
var multiOption = $('.typeSelect>option[value=checkbox], .typeSelect>option[value=radio], .typeSelect>option[value=select_multiple], .typeSelect>option[value=select]');
|
||||
var multiExample = $('.multiExample');
|
||||
{@$default_value_types = array('checkbox', 'radio', 'select')}
|
||||
<!--@if(!in_array($formInfo->column_type, $default_value_types))-->
|
||||
multiExample.hide();
|
||||
multiExample.hide();
|
||||
<!--@end-->
|
||||
typeSelect.change(function(){
|
||||
if(multiOption.is(':selected')){
|
||||
multiExample.slideDown(200);
|
||||
} else {
|
||||
multiExample.slideUp(200);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<li>
|
||||
<p class="q"><label for="desc">{$lang->description}</label></p>
|
||||
<p class="a"><textarea rows="8" cols="42" id="desc" name="description">{$formInfo->description}</textarea></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="a">
|
||||
<input type="radio" id="radio_required" name="required" value="Y" /> <label for="radio_required">{$lang->cmd_required}</label>
|
||||
<input type="radio" id="radio_option" name="required" value="N" /> <label for="radio_option">{$lang->cmd_optional}</label>
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="btnArea">
|
||||
<button type="submit" name="mode" <!--@if($formInfo)-->value="update"<!--@else-->value="insert"<!--@end--> >{$lang->cmd_save}</button>
|
||||
</div>
|
||||
typeSelect.change(function(){
|
||||
if(multiOption.is(':selected')){
|
||||
multiExample.slideDown(200);
|
||||
} else {
|
||||
multiExample.slideUp(200);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,127 +1,132 @@
|
|||
<load target="js/member_admin.js" usecdn="true" />
|
||||
<load target="js/krzip_search.js" usecdn="true" />
|
||||
<load target="js/member_admin.js" />
|
||||
<!--%load_js_plugin("ui.datepicker")-->
|
||||
<script type="text/javascript" >
|
||||
<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}';
|
||||
</script>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<div class="x_page-header">
|
||||
<h1 cond="$member_srl">{$lang->msg_update_member}</h1>
|
||||
<h1 cond="!$member_srl">{$lang->msg_new_member}</h1>
|
||||
</div>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/tpl/insert_member/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form action="./" class="form" ruleset="insertAdminMember" method="post" enctype="multipart/form-data">
|
||||
<form action="./" class="x_form-horizontal" ruleset="insertAdminMember" method="post" enctype="multipart/form-data">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberAdminInsert" />
|
||||
<input type="hidden" name="member_srl" value="{$member_srl}" />
|
||||
<input type="hidden" name="signature" value="{htmlspecialchars($member_info->signature)}" />
|
||||
<input type="hidden" name="success_return_url" value="{getUrl('act', $act)}" cond="$member_srl" />
|
||||
<input type="hidden" name="success_return_url" value="{getUrl('act', 'dispMemberAdminList')}" cond="!$member_srl" />
|
||||
<h1 class="h1" cond="$member_srl">{$lang->msg_update_member}</h1>
|
||||
<h1 class="h1" cond="!$member_srl">{$lang->msg_new_member}</h1>
|
||||
<ul>
|
||||
<li cond="$member_srl">
|
||||
<p class="q">{$identifierForm->title} <em style="color:red">*</em></p>
|
||||
<p class="a">
|
||||
<input type="hidden" name="{$identifierForm->name}" value="{$identifierForm->value}" />
|
||||
<input type="text" name="{$identifierForm->name}" value="{$identifierForm->value}" disabled="disabled" />
|
||||
</p>
|
||||
</li>
|
||||
<li cond="!$member_srl">
|
||||
<p class="q">{$identifierForm->title} <em style="color:red">*</em></p>
|
||||
<p class="a">
|
||||
<input type="text" name="{$identifierForm->name}" value="" />
|
||||
</p>
|
||||
</li>
|
||||
<li cond="$member_srl">
|
||||
<p class="q">{$lang->password} <em style="color:red">*</em></p>
|
||||
<p class="a">
|
||||
<input type="hidden" name="password" value="{$member_info->password}" />
|
||||
<input type="text" name="reset_password" value="" />
|
||||
</p>
|
||||
</li>
|
||||
<li cond="!$member_srl">
|
||||
<p class="q">{$lang->password} <em style="color:red">*</em></p>
|
||||
<p class="a">
|
||||
<input type="text" name="password" value="" />
|
||||
</p>
|
||||
</li>
|
||||
<li loop="$formTags=>$formTag">
|
||||
<p class="q">{$formTag->title}</p>
|
||||
<div class="a" cond="$formTag->name != 'signature'">{$formTag->inputTag}</div>
|
||||
<div class="a" cond="$formTag->name =='signature'">{$editor}</div>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->allow_mailing}</p>
|
||||
<p class="a">
|
||||
<input type="radio" name="allow_mailing" id="mailingYes" value="Y" checked="checked"|cond="$member_info->allow_mailing == 'Y'"> <label for="mailingYes">{$lang->cmd_yes}</label>
|
||||
<input type="radio" name="allow_mailing" id="mailingNo" value="N" checked="checked"|cond="$member_info->allow_mailing != 'Y'" > <label for="mailingNo">{$lang->cmd_no}</label>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->allow_message}</p>
|
||||
<p class="a">
|
||||
<block 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->member_srl && $key == 'Y')" id="allow_{$key}" /> <label for="allow_{$key}">{$val}</label>
|
||||
</block>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->status}</p>
|
||||
<p class="a">
|
||||
<input type="radio" name="denied" id="appoval" value="N" checked="checked"|cond="$member_info->denied != 'Y'" > <label for="appoval">{$lang->approval}</label>
|
||||
<input type="radio" name="denied" id="deny" value="Y" checked="checked"|cond="$member_info->denied == 'Y'" > <label for="deny">{$lang->denied}</label>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="until">{$lang->limit_date}</label></p>
|
||||
<p class="a">
|
||||
<input type="hidden" name="limit_date" id="date_limit_date" value="{$member_info->limit_date}" />
|
||||
<input type="text" class="inputDate" id="until" value="{zdate($member_info->limit_date,'Y-m-d',false)}" />
|
||||
<input type="button" value="{$lang->cmd_delete}" class="dateRemover" />
|
||||
<span class="desc">{$lang->about_limit_date}</span>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->is_admin}</p>
|
||||
<p class="a">
|
||||
<input type="radio" name="is_admin" id="is_admin" value="Y" checked="checked"|cond="$member_info->is_admin == 'Y'" > <label for="is_admin">{$lang->cmd_yes}</label>
|
||||
<input type="radio" name="is_admin" id="not_admin" value="N" checked="checked"|cond="$member_info->is_admin != 'Y'" > <label for="not_admin">{$lang->cmd_no}</label>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="description">{$lang->description}</label></p>
|
||||
<p class="a">
|
||||
<textarea name="description" id="description" rows="8" cols="42">{htmlspecialchars($member_info->description)}</textarea>
|
||||
<span class="desc">{$lang->about_member_description}</span>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->member_group}</p>
|
||||
<p class="a">
|
||||
<!--@foreach($group_list as $key=>$val)-->
|
||||
<input type="checkbox" name="group_srl_list[]" value="{$key}" id="group_{$key}" <!--@if($member_info->group_list[$key])-->checked="checked"<!--@end--> />
|
||||
<label for="group_{$key}">{$val->title}</label>
|
||||
<!--@end-->
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="btnArea">
|
||||
<span class="btn medium"><input type="submit" value="{$lang->save}" /></span>
|
||||
<input type="hidden" name="xe_validator_id" value="modules/member/tpl/insert_member/1" />
|
||||
<div cond="$member_srl" class="x_control-group">
|
||||
<label class="x_control-label" for="identifierForm"><em style="color:red">*</em> {$identifierForm->title} <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_login_key" target="_blank">{$lang->help}</a></label>
|
||||
<div class="x_controls">
|
||||
<input type="hidden" name="{$identifierForm->name}" value="{$identifierForm->value}" />
|
||||
<input id="identifierForm" type="email" name="{$identifierForm->name}" value="{$identifierForm->value}" disabled="disabled" />
|
||||
</div>
|
||||
</div>
|
||||
<div cond="!$member_srl" class="x_control-group">
|
||||
<label class="x_control-label" for="identifierForm"><em style="color:red">*</em> {$identifierForm->title} <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_login_key" target="_blank">{$lang->help}</a></label>
|
||||
<div class="x_controls">
|
||||
<input id="identifierForm" type="text" name="{$identifierForm->name}" value="" />
|
||||
</div>
|
||||
</div>
|
||||
<div cond="$member_srl" class="x_control-group">
|
||||
<label class="x_control-label" for="password"><em style="color:red">*</em> {$lang->password}</label>
|
||||
<div class="x_controls">
|
||||
<input type="hidden" name="password" value="{$member_info->password}" />
|
||||
<input id="password" type="text" name="reset_password" value="" />
|
||||
</div>
|
||||
</div>
|
||||
<div cond="!$member_srl" class="x_control-group">
|
||||
<label class="x_control-label" for="password"><em style="color:red">*</em> {$lang->password}</label>
|
||||
<div class="x_controls">
|
||||
<input id="password" type="text" name="password" value="" />
|
||||
</div>
|
||||
</div>
|
||||
<div loop="$formTags=>$formTag" class="x_control-group">
|
||||
<label class="x_control-label" for="{$formTag->name}">{$formTag->title}</label>
|
||||
<div class="x_controls" cond="$formTag->name != 'signature'">{$formTag->inputTag}</div>
|
||||
<div class="x_controls" cond="$formTag->name =='signature'">{$editor}</div>
|
||||
</div>
|
||||
<style scoped>
|
||||
.xpress-editor>#smart_content,
|
||||
.xpress-editor>#smart_content>.tool{clear:none}
|
||||
</style>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->allow_mailing}</label>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline" 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 class="x_inline" 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>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->allow_message}</label>
|
||||
<div class="x_controls">
|
||||
<block loop="$lang->allow_message_type=>$key,$val">
|
||||
<label class="x_inline" for="allow_{$key}"><input type="radio" name="allow_message" value="{$key}" checked="checked"|cond="$member_info->allow_message == $key || (!$member_info->member_srl && $key == 'Y')" id="allow_{$key}" /> {$val}</label>
|
||||
</block>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group" cond="$member_srl">
|
||||
<label class="x_control-label">{$lang->status}</label>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline" for="appoval"><input type="radio" name="denied" id="appoval" value="N" checked="checked"|cond="$member_info->denied != 'Y'" > {$lang->approval}</label>
|
||||
<label class="x_inline" for="deny"><input type="radio" name="denied" id="deny" value="Y" checked="checked"|cond="$member_info->denied == 'Y'" > {$lang->denied}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group" cond="$member_srl">
|
||||
<label class="x_control-label" for="until">{$lang->limit_date}</label>
|
||||
<div class="x_controls">
|
||||
<input type="hidden" name="limit_date" id="date_limit_date" value="{$member_info->limit_date}" />
|
||||
<input type="text" readonly placeholder="YYYY-MM-DD" class="inputDate" id="until" value="{zdate($member_info->limit_date,'Y-m-d',false)}" />
|
||||
<input type="button" value="{$lang->cmd_delete}" class="x_btn dateRemover" />
|
||||
<span class="x_help-inline">{$lang->about_limit_date}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->is_admin}</label>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline" for="is_admin"><input type="radio" name="is_admin" id="is_admin" value="Y" checked="checked"|cond="$member_info->is_admin == 'Y'" > {$lang->cmd_yes}</label>
|
||||
<label class="x_inline" for="not_admin"><input type="radio" name="is_admin" id="not_admin" value="N" checked="checked"|cond="$member_info->is_admin != 'Y'" > {$lang->cmd_no}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="description">{$lang->description}</label>
|
||||
<div class="x_controls">
|
||||
<textarea name="description" id="description" rows="2" cols="42" style="vertical-align:top">{$member_info->description}</textarea>
|
||||
<span class="x_help-inline">{$lang->about_member_description}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->member_group}</label>
|
||||
<div class="x_controls">
|
||||
<label for="group_{$key}" class="x_inline" loop="$group_list => $key,$val">
|
||||
<input type="checkbox" name="group_srl_list[]" value="{$key}" id="group_{$key}" checked="checked"|cond="$member_info->group_list[$key]" />
|
||||
{$val->title}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_clearfix btnArea">
|
||||
<span class="x_pull-left" cond="$member_srl"><button class="x_btn" type="button" onclick="history.go(-1)">{$lang->cmd_cancel}</button></span>
|
||||
<span class="x_pull-right"><input class="x_btn x_btn-primary" type="submit" value="{$lang->cmd_save}" /></span>
|
||||
</div>
|
||||
</table>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
<script>
|
||||
(function($){
|
||||
$(function(){
|
||||
var option = { changeMonth: true, changeYear: true, gotoCurrent: false,yearRange:'-100:+10', dateFormat:'yy-mm-dd', onSelect:function(){
|
||||
|
||||
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
|
||||
};
|
||||
$.extend(option,$.datepicker.regional['{$lang_type}']);
|
||||
$(".inputDate").datepicker(option);
|
||||
$(".dateRemover").click(function() {
|
||||
$(this).prevAll('input').val('');
|
||||
return false;});
|
||||
return false;
|
||||
});
|
||||
});
|
||||
})(jQuery);
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,46 +0,0 @@
|
|||
<!--#include("header.html")-->
|
||||
<!--%import("filter/update_join_form.xml")-->
|
||||
|
||||
<!-- 가입폼의 위/아래, 삭제와 관련된 form -->
|
||||
<form id="fo_join_form_info" action="./" method="get">
|
||||
<input type="hidden" name="member_join_form_srl" value="" />
|
||||
<input type="hidden" name="mode" value="" />
|
||||
</form>
|
||||
|
||||
<!-- 목록 -->
|
||||
<div class="table even">
|
||||
<table width="100%" border="1" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{$lang->column_title}</th>
|
||||
<th scope="col">{$lang->column_name}</th>
|
||||
<th scope="col">{$lang->column_type}</th>
|
||||
<th scope="col">{$lang->is_active}</th>
|
||||
<th scope="col">{$lang->is_required}</th>
|
||||
<th scope="col">{$lang->regdate}</th>
|
||||
<th scope="col" colspan="4"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!--@foreach($form_list as $no => $val)-->
|
||||
<tr>
|
||||
<td>{$val->column_title}</td>
|
||||
<td>{$val->column_name}</td>
|
||||
<td>{$lang->column_type_list[$val->column_type]}</td>
|
||||
<td>{$val->is_active}</td>
|
||||
<td>{$val->required}</td>
|
||||
<td>{zdate($val->regdate,"Y-m-d")}</td>
|
||||
<td>
|
||||
<button type="button" class="text" onclick="doUpdateJoinForm('{$val->member_join_form_srl}','up');return false;">{$lang->cmd_move_up}</button>
|
||||
<button type="button" class="text" onclick="doUpdateJoinForm('{$val->member_join_form_srl}','down');return false;">{$lang->cmd_move_down}</button>
|
||||
<a href="{getUrl('member_join_form_srl',$val->member_join_form_srl,'act','dispMemberAdminInsertJoinForm')}">{$lang->cmd_modify}...</a>
|
||||
<button type="button" class="text" onclick="doUpdateJoinForm('{$val->member_join_form_srl}','delete','{$lang->confirm_delete}');return false;">{$lang->cmd_delete}</button>
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="btnArea">
|
||||
<span class="btn"><a href="{getUrl('act','dispMemberAdminInsertJoinForm','member_join_form_srl','')}">{$lang->cmd_make}</a></span>
|
||||
</div>
|
||||
5
modules/member/tpl/js/config.js
Normal file
5
modules/member/tpl/js/config.js
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
function enableSignUpTab(isEnable)
|
||||
{
|
||||
var $ = jQuery;
|
||||
$('#signupTab').toggle(isEnable);
|
||||
}
|
||||
16
modules/member/tpl/js/default_config.js
Normal file
16
modules/member/tpl/js/default_config.js
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
jQuery(function($){
|
||||
$('input[name=enable_join]').click(function(){
|
||||
var checked = $('input[name=enable_join]:checked').val();
|
||||
enableSignUpTab(checked == 'Y');
|
||||
});
|
||||
|
||||
$('.__sync').click(function (){
|
||||
exec_xml(
|
||||
'importer', // module
|
||||
'procImporterAdminSync', // act
|
||||
null,
|
||||
function(ret){if(ret && (!ret.error || ret.error == '0'))alert(ret.message);}, // callback
|
||||
resp = ['error','message'] // response tags
|
||||
);
|
||||
});
|
||||
});
|
||||
24
modules/member/tpl/js/design_config.js
Normal file
24
modules/member/tpl/js/design_config.js
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
/* 멤버 스킨 컬러셋 구해옴 */
|
||||
function doGetSkinColorset(skin) {
|
||||
var params = {skin:skin};
|
||||
var response_tags = ['error','message','tpl'];
|
||||
|
||||
function on_complete(ret) {
|
||||
jQuery('#colorset').show();
|
||||
var $colorset = jQuery('#member_colorset'), old_h, new_h;
|
||||
|
||||
old_h = $colorset.height();
|
||||
$colorset.html(ret.tpl);
|
||||
new_h = $colorset.height();
|
||||
|
||||
try{ fixAdminLayoutFooter(new_h - old_h) }catch(e){ };
|
||||
}
|
||||
|
||||
exec_xml(
|
||||
'member',
|
||||
'getMemberAdminColorset',
|
||||
{skin:skin},
|
||||
on_complete,
|
||||
['error','message','tpl']
|
||||
);
|
||||
}
|
||||
|
|
@ -1,3 +1,7 @@
|
|||
/**
|
||||
* Deprecate this file.
|
||||
*
|
||||
*/
|
||||
/* 사용자 추가 */
|
||||
function completeInsert(ret_obj) {
|
||||
var error = ret_obj['error'];
|
||||
|
|
|
|||
|
|
@ -67,7 +67,8 @@ jQuery(function ($){
|
|||
.find('input:radio').val(index).end()
|
||||
.find('input[name="group_srls[]"]').val(index).end()
|
||||
.show()
|
||||
.appendTo($tbody);
|
||||
.appendTo($tbody)
|
||||
.find('.lang_code').xeApplyMultilingualUI();
|
||||
|
||||
return false;
|
||||
});
|
||||
|
|
@ -79,7 +80,7 @@ jQuery(function ($){
|
|||
if ($targetImage.length){
|
||||
$targetImage.attr('src', src);
|
||||
}else{
|
||||
$targetImage = $('<img src="'+src+'" alt="" />').insertBefore(this);
|
||||
$targetImage = $('<img src="'+src+'" alt="" style="margin-right:4px" />').insertBefore(this);
|
||||
}
|
||||
$imageMarkHidden.val(src);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
jQuery(function ($){
|
||||
|
||||
jQuery(function($){
|
||||
$('a.modalAnchor._member').bind('before-open.mw', function(){
|
||||
var $memberList = $('._memberList input[name=user]:checked');
|
||||
var $memberList = $('#memberList tbody :checked');
|
||||
if ($memberList.length == 0){
|
||||
alert(xe.lang.msg_select_user);
|
||||
return false;
|
||||
|
|
@ -10,11 +9,22 @@ jQuery(function ($){
|
|||
var memberTag = "";
|
||||
$('input[name="groups[]"]:checked').removeAttr('checked');
|
||||
$('#message').val('');
|
||||
$('#popupBody').empty();
|
||||
for (var i = 0; i<$memberList.length; i++){
|
||||
memberInfo = $memberList.eq(i).val().split('\t');
|
||||
memberSrl = memberInfo.shift();
|
||||
memberTag += '<tr><td>'+memberInfo.join("</td><td>")+'<input type="hidden" name="member_srls[]" value="'+memberSrl+'"/></td></tr>'
|
||||
|
||||
$tr = $('<tr></tr>');
|
||||
|
||||
for(var j in memberInfo)
|
||||
{
|
||||
var info = memberInfo[j];
|
||||
var $td = $('<td></td>').text(info);
|
||||
$tr.append($td);
|
||||
}
|
||||
|
||||
$tr.append('<td><input type="hidden" name="member_srls[]" value="'+memberSrl+'"/></td>');
|
||||
$('#popupBody').append($tr);
|
||||
}
|
||||
$('#popupBody').empty().html(memberTag);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ function completeMemberCheckValue(ret_obj, response_tags, field) {
|
|||
}
|
||||
|
||||
if (!dummy.length) {
|
||||
dummy = jQuery('<div class="checkValue" />').attr('id', _id).appendTo(field.parentNode);
|
||||
dummy = jQuery('<p class="checkValue help-inline" style="color:red" />').attr('id', _id).appendTo(field.parentNode);
|
||||
}
|
||||
|
||||
dummy.html(ret_obj['message']).show();
|
||||
|
|
|
|||
|
|
@ -1,28 +1,3 @@
|
|||
/* 멤버 스킨 컬러셋 구해옴 */
|
||||
function doGetSkinColorset(skin) {
|
||||
var params = {skin:skin};
|
||||
var response_tags = ['error','message','tpl'];
|
||||
|
||||
function on_complete(ret) {
|
||||
jQuery('#colorset').show();
|
||||
var $colorset = jQuery('#member_colorset'), old_h, new_h;
|
||||
|
||||
old_h = $colorset.height();
|
||||
$colorset.html(ret.tpl);
|
||||
new_h = $colorset.height();
|
||||
|
||||
try{ fixAdminLayoutFooter(new_h - old_h) }catch(e){ };
|
||||
}
|
||||
|
||||
exec_xml(
|
||||
'member',
|
||||
'getMemberAdminColorset',
|
||||
{skin:skin},
|
||||
on_complete,
|
||||
['error','message','tpl']
|
||||
);
|
||||
}
|
||||
|
||||
/* 금지아이디 관련 작업들 */
|
||||
function doUpdateDeniedID(user_id, mode, message) {
|
||||
if(typeof(message)!='undefined'&&!confirm(message)) return;
|
||||
|
|
@ -62,29 +37,38 @@ function doUpdateDeniedNickName(nick_name, mode, message)
|
|||
|
||||
jQuery(function($){
|
||||
// hide form if enable_join is setted "No"
|
||||
var suSetting = $('fieldset.suSetting'); // 회원가입 설정
|
||||
var suForm = $('fieldset.suForm'); // 회원가입 양식
|
||||
suForm.find(':checkbox[name="usable_list[]"]').each(function(){
|
||||
var $i = $(this);
|
||||
$i.change(function(){
|
||||
var suForm = $('table.__join_form'); // 회원가입 양식
|
||||
|
||||
function changeTable($i)
|
||||
{
|
||||
if($i.is(':checked')){
|
||||
$i.parent('td').next('td')
|
||||
.find(':radio, :text')
|
||||
.removeAttr('disabled')
|
||||
.end()
|
||||
.find(':radio[value=option]').attr('checked', 'checked')
|
||||
.end()
|
||||
.next('td')
|
||||
.find(':input[value=Y]').removeAttr('disabled').attr('checked', 'checked');
|
||||
$i.parent('td').next('td').next('td')
|
||||
.find('>._subItem').show().end()
|
||||
.find(':radio, [type="number"]')
|
||||
.removeAttr('disabled')
|
||||
.end()
|
||||
.find(':radio[value=option]').attr('checked', 'checked')
|
||||
.end()
|
||||
.prev('td')
|
||||
.find(':input[value=Y]').removeAttr('disabled').attr('checked', 'checked');
|
||||
|
||||
} else {
|
||||
$i.parent('td').next('td')
|
||||
.find(':radio, :text').attr('disabled','disabled').removeAttr('checked')
|
||||
.next('label').css('fontWeight','normal').end()
|
||||
.end()
|
||||
.next('td')
|
||||
.find(':input[value=Y]').removeAttr('checked').attr('disabled', 'disabled');
|
||||
$i.parent('td').next('td').next('td')
|
||||
.find('>._subItem').hide().end()
|
||||
.find(':radio, [type="number"]').attr('disabled','disabled').removeAttr('checked')
|
||||
.next('label').css('fontWeight','normal').end()
|
||||
.end()
|
||||
.prev('td')
|
||||
.find(':input[value=Y]').removeAttr('checked').attr('disabled', 'disabled');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
suForm.find(':checkbox[name="usable_list[]"]').each(function(){
|
||||
var $i = $(this);
|
||||
|
||||
$i.change(function(){
|
||||
changeTable($i);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -142,7 +126,7 @@ jQuery(function($){
|
|||
if(userIds == '') return;
|
||||
var uids = userIds.split(',');
|
||||
for (var i=0; i<uids.length; i++){
|
||||
tag = '<li id="denied_'+uids[i]+'">'+uids[i]+' <a href="#" class="side" onclick="doUpdateDeniedID(\''+uids[i]+'\', \'delete\', \''+xe.lang.confirm_delete+'\');return false;">'+xe.lang.cmd_delete+'</a></li>';
|
||||
tag = '<li id="denied_'+uids[i]+'">'+uids[i]+' <button type="button" class="x_icon-remove" onclick="doUpdateDeniedID(\''+uids[i]+'\',\'delete\',\''+xe.lang.confirm_delete+'\');return false;">'+xe.lang.cmd_delete+'</button></li>';
|
||||
$('#deniedList').append($(tag));
|
||||
}
|
||||
$('#prohibited_id').val('');
|
||||
|
|
@ -175,7 +159,7 @@ jQuery(function($){
|
|||
var uids = nickNames.split(',');
|
||||
for (var i=0; i<uids.length; i++)
|
||||
{
|
||||
tag = '<li id="denied_'+uids[i]+'">'+uids[i]+' <a href="#" class="side" onclick="doUpdateDeniedNickName(\''+uids[i]+'\', \'delete\', \''+xe.lang.confirm_delete+'\');return false;">'+xe.lang.cmd_delete+'</a></li>';
|
||||
tag = '<li id="denied_'+uids[i]+'">'+uids[i]+' <button type="button" class="x_icon-remove" onclick="doUpdateDeniedNickName(\''+uids[i]+'\',\'delete\',\''+xe.lang.confirm_delete+'\');return false;">'+xe.lang.cmd_delete+'</button></li>';
|
||||
$('#deniedNickNameList').append($(tag));
|
||||
}
|
||||
|
||||
|
|
@ -214,18 +198,8 @@ jQuery(function($){
|
|||
// add sticky class
|
||||
}
|
||||
});
|
||||
|
||||
$('.__sync').click(function (){
|
||||
exec_xml(
|
||||
'importer', // module
|
||||
'procImporterAdminSync', // act
|
||||
null,
|
||||
function(ret){if(ret && (!ret.error || ret.error == '0'))alert(ret.message);}, // callback
|
||||
resp = ['error','message'] // response tags
|
||||
);
|
||||
});
|
||||
|
||||
$('#userDefine form').submit(function(e) {
|
||||
|
||||
$('#userDefine').submit(function(e) {
|
||||
var id_list = $(this).find('input[name=join_form_id_list]').val();
|
||||
var id_list_arr = id_list.split(',');
|
||||
|
||||
|
|
@ -237,4 +211,9 @@ jQuery(function($){
|
|||
}
|
||||
else return true;
|
||||
});
|
||||
|
||||
$('.__redirect_url_btn').click(function(e){
|
||||
$(this).parent().find('input[name=redirect_url]').val('');
|
||||
$(this).parent().find('input[type=text]').val('');
|
||||
});
|
||||
});
|
||||
64
modules/member/tpl/login_config.html
Normal file
64
modules/member/tpl/login_config.html
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
<include target="header.html" />
|
||||
<form action="./" class="x_form-horizontal" ruleset="insertLoginConfig" method="post">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberAdminInsertLoginConfig" />
|
||||
<input type="hidden" name="success_return_url" value="{getUrl('', 'module', 'admin', 'act', $act)}" />
|
||||
<input type="hidden" name="xe_validator_id" value="modules/member/tpl/login_config/1" />
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="change_password_date">{$lang->change_password_date}</label>
|
||||
<div class="x_controls">
|
||||
<input type="number" min="0" id="change_password_date" name="change_password_date" value="{$config->change_password_date}" /> {$lang->unit_day}
|
||||
<p class="x_help-inline">{$lang->about_change_password_date}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<p class="x_control-label">{$lang->enable_login_fail_report} <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_faq_defence_login_limit" target="_blank">{$lang->help}</a></p>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline" for="enable_login_fail_report_yes"><input type="radio" name="enable_login_fail_report" id="enable_login_fail_report_yes" value="Y" checked="checked"|cond="$config->enable_login_fail_report != 'N'" /> {$lang->cmd_yes}</label>
|
||||
<label class="x_inline" for="enable_login_fail_report_no"><input type="radio" name="enable_login_fail_report" id="enable_login_fail_report_no" value="N" checked="checked"|cond="$config->enable_login_fail_report == 'N'" /> {$lang->cmd_no}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group _limit" style="display:none">
|
||||
<label class="x_control-label" for="max_error_count">{$lang->login_trial_limit1}</label>
|
||||
<div class="x_controls">
|
||||
<input type="number" min="0" id="max_error_count" name="max_error_count" value="{$config->max_error_count}" /> {$lang->unit_count}
|
||||
<p class="x_help-block">{$lang->about_login_trial_limit1}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group _limit" style="display:none">
|
||||
<label class="x_control-label" for="max_error_count_time">{$lang->login_trial_limit2}</label>
|
||||
<div class="x_controls">
|
||||
<input type="number" min="0" id="max_error_count_time" name="max_error_count_time" value="{$config->max_error_count_time}" /> {$lang->unit_sec}
|
||||
<p class="x_help-block">{$lang->about_login_trial_limit2}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="after_login_url">{$lang->after_login_url}</label>
|
||||
<div class="x_controls">
|
||||
<input type="url" id="after_login_url" name="after_login_url" value="{$config->after_login_url}" />
|
||||
<p class="x_help-inline">{$lang->about_after_login_url}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="after_logout_url">{$lang->after_logout_url}</label>
|
||||
<div class="x_controls">
|
||||
<input type="url" id="after_logout_url" name="after_logout_url" value="{$config->after_logout_url}" />
|
||||
<p class="x_help-inline">{$lang->about_after_logout_url}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_clearfix btnArea">
|
||||
<span class="x_pull-right"><input class="x_btn x_btn-primary" type="submit" value="{$lang->cmd_save}" /></span>
|
||||
</div>
|
||||
</form>
|
||||
<script>
|
||||
jQuery(function($){
|
||||
$('input[name="enable_login_fail_report"]').change(function(){
|
||||
var $limit = $(this).closest('.x_control-group').siblings('._limit');
|
||||
if($('#enable_login_fail_report_yes').is(':checked')){
|
||||
$limit.show();
|
||||
} else {
|
||||
$limit.hide();
|
||||
}
|
||||
}).change();
|
||||
});
|
||||
</script>
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
<load target="./../../../common/js/jquery.min.js" usecdn="true" index="-1000000" />
|
||||
<load target="css/mlogin.css" usecdn="true" />
|
||||
<div class="bd">
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<div class="hx h2">
|
||||
<h2>{$lang->cmd_login}</h2>
|
||||
</div>
|
||||
<form action="./" method="POST" class="ff">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberLogin" />
|
||||
<input type="hidden" name="redirect_url" value="{getUrl('act','')}" />
|
||||
<ul>
|
||||
<li><label for="id"><!--@if($identifier == 'user_id')-->{$lang->user_id}<!--@else-->{$lang->email_address}<!--@end--></label><input name="user_id" type="text" id="id" value="" /></li>
|
||||
<li><label for="pw">{$lang->password}</label><input name="password" type="password" id="pw" value="" /></li>
|
||||
</ul>
|
||||
<div class="message info" id="keep_msg" style="display:none;">
|
||||
<p>{$lang->about_keep_warning}</p>
|
||||
</div>
|
||||
<div class="bna">
|
||||
<div class="fl"><input name="keep_signed" type="checkbox" value="Y" id="autoLogin" /> <label for="autoLogin">{$lang->keep_signed}</label></div>
|
||||
<div class="fr"><button type="submit" class="bn dark">{$lang->cmd_login}</button></div>
|
||||
</div>
|
||||
<ul class="hp">
|
||||
<li><a href="{getUrl('','act','dispMemberFindAccount')}"><span>{$lang->cmd_find_member_account}</span></a></li>
|
||||
<li><a href="{getUrl('','act','dispMemberSignUpForm')}"><span>{$lang->cmd_signup}</span></a></li>
|
||||
</ul>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function($){
|
||||
var keep_msg = $('#keep_msg');
|
||||
keep_msg.hide();
|
||||
$('#autoLogin').change(function(){
|
||||
if($(this).is(':checked')){
|
||||
keep_msg.slideDown(200);
|
||||
} else {
|
||||
keep_msg.slideUp(200);
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<script type="text/javascript">
|
||||
<!--@if($redirect_url)-->
|
||||
location.href = "{$redirect_url}";
|
||||
<!--@else-->
|
||||
location.href = current_url.setQuery('act','');
|
||||
<!--@end-->
|
||||
</script>
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
<load target="js/member_admin.js" usecdn="true" />
|
||||
<h1 class="h1">{$lang->cmd_member_group} ({$lang->target} : {count($member_list)})</h1>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form ruleset="manageMemberGroup" action="./" method="post" id="fo_management">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberAdminUpdateMembersGroup" />
|
||||
<input type="hidden" name="member_srl" value="{$member_srls}" />
|
||||
<div class="table">
|
||||
<table width="100%" border="1" cellspacing="0">
|
||||
<tr>
|
||||
<td>
|
||||
<!--@foreach($group_list as $key => $val)-->
|
||||
<!--@if($val->is_admin != 'Y')-->
|
||||
<input type="checkbox" value="{$key}" name="group_srls[]" id="member_group_{$key}"/> <label for="member_group_{$key}">{$val->title}</label> <br/>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="btnArea" cond="count($member_list)">
|
||||
<span class="btn"><input type="submit" value="{$lang->cmd_apply}" /></span>
|
||||
</div>
|
||||
<div class="table">
|
||||
<table width="100%" border="1" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{$lang->user_id}</th>
|
||||
<th scope="col">{$lang->nick_name}</th>
|
||||
<th scope="col">{$lang->signup_date}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<!--@foreach($member_list as $key => $val)-->
|
||||
<tr>
|
||||
<td>{$val->user_id}</td>
|
||||
<td><a href="#popup_menu_area" class="member_{$val->member_srl}">{$val->nick_name}</a></td>
|
||||
<td>{zdate($val->regdate, "Y-m-d H:i")}</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
|
@ -1,292 +0,0 @@
|
|||
<load target="js/member_admin_config.js" usecdn="true" />
|
||||
<load target="../../editor/tpl/js/editor_module_config.js" usecdn="true" />
|
||||
<script type="text/javascript">
|
||||
xe.lang.msg_delete_extend_form = '{$lang->msg_delete_extend_form}';
|
||||
xe.lang.confirm_delete = '{$lang->confirm_delete}';
|
||||
xe.lang.cmd_delete = '{$lang->cmd_delete}';
|
||||
xe.lang.msg_null_prohibited_id = '{$lang->msg_null_prohibited_id}';
|
||||
xe.lang.msg_null_prohibited_nick_name = '{$lang->msg_null_prohibited_nick_name}';
|
||||
xe.lang.msg_exists_user_id= '{$lang->msg_exists_user_id}';
|
||||
</script>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
|
||||
<form action="./" class="form" ruleset="insertConfig" method="post">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberAdminInsertConfig" />
|
||||
<input type="hidden" name="success_return_url" value="{getUrl('act', $act)}" />
|
||||
<input type="hidden" name="agreement" value="{$config->agreement}" />
|
||||
<h1 class="h1">{$lang->cmd_member_config}</h1>
|
||||
<fieldset class="section suSetting">
|
||||
<h2 class="h2">{$lang->cmd_module_config}</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<p class="q">{$lang->enable_join}</p>
|
||||
<p class="a">
|
||||
<input type="radio" name="enable_join" id="enable_join_yes" value="Y" checked="checked"|cond="$config->enable_join == 'Y'" /> <label for="enable_join_yes">{$lang->cmd_yes}</label>
|
||||
<input type="radio" name="enable_join" id="enable_join_no" value="N" checked="checked"|cond="$config->enable_join != 'Y'" /> <label for="enable_join_no">{$lang->cmd_no}</label>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->enable_confirm}</p>
|
||||
<p class="a">
|
||||
<input type="radio" name="enable_confirm" id="enable_confirm_yes" value="Y" checked="checked"|cond="$config->enable_confirm == 'Y'" /> <label for="enable_confirm_yes">{$lang->cmd_yes}</label>
|
||||
<input type="radio" name="enable_confirm" id="enable_confirm_no" value="N" checked="checked"|cond="$config->enable_confirm != 'Y'"/> <label for="enable_confirm_no">{$lang->cmd_no}</label>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="webmaster_name">{$lang->webmaster_name}</label></p>
|
||||
<p class="a">
|
||||
<input type="text" id="webmaster_name" name="webmaster_name" value="{$config->webmaster_name}" size="20" /></p>
|
||||
<p class="desc">{$lang->about_webmaster_name}</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="webmaster_email">{$lang->webmaster_email}</label></p>
|
||||
<p class="a">
|
||||
<input type="text" id="webmaster_email" name="webmaster_email" value="{$config->webmaster_email}" size="40" /></p>
|
||||
<p class="desc">{$lang->about_webmaster_email}</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="limit_day">{$lang->limit_day}</label></p>
|
||||
<p class="a"><input type="text" id="limit_day" name="limit_day" value="{$config->limit_day}" style="width:30px" /><span class="desc">{$lang->unit_day}({$lang->about_limit_day})</span></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="change_password_date">{$lang->change_password_date}</label></p>
|
||||
<p class="a"><input type="text" id="change_password_date" name="change_password_date" value="{$config->change_password_date}" style="width:30px" /><span class="desc">{$lang->unit_day}({$lang->about_change_password_date})</span></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->enable_login_fail_report}</p>
|
||||
<p class="a">
|
||||
<input type="radio" name="enable_login_fail_report" id="enable_login_fail_report_yes" value="Y" checked="checked"|cond="$config->enable_login_fail_report != 'N'" /><label for="enable_login_fail_report_yes">{$lang->cmd_yes}</label>
|
||||
<input type="radio" name="enable_login_fail_report" id="enable_login_fail_report_no" value="N" checked="checked"|cond="$config->enable_login_fail_report == 'N'" /><label for="enable_join_no">{$lang->cmd_no}</label>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="max_error_count">{$lang->login_trial_limit1}</label></p>
|
||||
<p class="a"><input type="text" id="max_error_count" name="max_error_count" value="{$config->max_error_count}" style="width:30px" /><span class="desc">{$lang->about_login_trial_limit1}</span></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="max_error_count_time">{$lang->login_trial_limit2}</label></p>
|
||||
<input type="text" id="max_error_count_time" name="max_error_count_time" value="{$config->max_error_count_time}" style="width:30px" /><span class="desc">{$lang->unit_sec}({$lang->about_login_trial_limit2})</span></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="agreement">{$lang->agreement}</label></p>
|
||||
<p class="a">{$editor}</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="after_login_url">{$lang->after_login_url}</label></p>
|
||||
<p class="a">
|
||||
<input type="text" id="after_login_url" name="after_login_url" value="{$config->after_login_url}" /></p>
|
||||
<p class="desc">{$lang->about_after_login_url}</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="after_logout_url">{$lang->after_logout_url}</label></p>
|
||||
<p class="a">
|
||||
<input type="text" id="after_logout_url" name="after_logout_url" value="{$config->after_logout_url}" /></p>
|
||||
<p class="desc">{$lang->about_after_logout_url}</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="redirect_url">{$lang->redirect_url}</label></p>
|
||||
<p class="a">
|
||||
<input type="text" id="redirect_url" name="redirect_url" value="{$config->redirect_url}" /></p>
|
||||
<p class="desc">{$lang->about_redirect_url}</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="layout">{$lang->layout}</label></p>
|
||||
<p class="a">
|
||||
<select id="layout" name="layout_srl">
|
||||
<option value="0">{$lang->notuse}</option>
|
||||
<option loop="$layout_list => $key,$val" value="{$val->layout_srl}" selected="selected"|cond="$val->layout_srl == $config->layout_srl">{$val->title} ({$val->layout})</option>
|
||||
</select>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="skin">{$lang->skin}</label></p>
|
||||
<p class="a">
|
||||
<select id="skin" name="skin" onchange="doGetSkinColorset(this.options[this.selectedIndex].value)">
|
||||
<option loop="$skin_list=>$key,$val" value="{$key}" selected="selected"|cond="$config->skin==$key">{$val->title} ({$key})</option>
|
||||
</select>
|
||||
</p>
|
||||
</li>
|
||||
<li id="colorset" style="display:none"|cond="!$config->colorset">
|
||||
<p class="q"><label for="member_colorset">{$lang->colorset}</label></p>
|
||||
<p class="a"><div id="member_colorset"></div></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="mlayout">{$lang->mobile_layout}</label></p>
|
||||
<p class="a">
|
||||
<select id="mlayout" name="mlayout_srl">
|
||||
<option value="0">{$lang->notuse}</option>
|
||||
<option loop="$mlayout_list => $key,$val" value="{$val->layout_srl}" selected="selected"|cond="$val->layout_srl == $config->mlayout_srl">{$val->title} ({$val->layout})</option>
|
||||
</select>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="mskin">{$lang->mobile_skin}</label></p>
|
||||
<p class="a">
|
||||
<select id="mskin" name="mskin">
|
||||
<option loop="$mskin_list=>$key,$val" value="{$key}" selected="selected"|cond="$config->mskin==$key">{$val->title} ({$key})</option>
|
||||
</select>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="prohibited_nick_name">{$lang->cmd_manage_nick_name}({sprintf($lang->count_manage_nick_name, count($deniedNickNames))})</label></p>
|
||||
<div class="a">
|
||||
<ul class="textList" id="deniedNickNameList">
|
||||
<li loop="$deniedNickNames=>$nicknameInfo" id="denied_{$nicknameInfo->nick_name}">{$nicknameInfo->nick_name} <a href="#" class="side" onclick="doUpdateDeniedNickName('{$nicknameInfo->nick_name}','delete','{$lang->confirm_delete}');return false;">{$lang->delete}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="a">
|
||||
<textarea rows="8" cols="42" id="prohibited_nick_name" title="{$lang->add_prohibited_id}"></textarea>
|
||||
<span class="btn"><button type="button" class="_addDeniedNickName">{$lang->add}</button></span>
|
||||
<span class="desc">{$lang->multi_line_input}</span>
|
||||
</div>
|
||||
</li>
|
||||
<li cond="$useUserID">
|
||||
<p class="q"><label for="prohibited_id">{$lang->cmd_manage_id}({sprintf($lang->count_manage_id, count($deniedIDs))})</label></p>
|
||||
<div class="a">
|
||||
<ul class="textList" id="deniedList">
|
||||
<li loop="$deniedIDs=>$denied_info" id="denied_{$denied_info->user_id}">{$denied_info->user_id} <a href="#" class="side" onclick="doUpdateDeniedID('{$denied_info->user_id}','delete','{$lang->confirm_delete}');return false;">{$lang->delete}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="a">
|
||||
<textarea rows="8" cols="42" id="prohibited_id" title="{$lang->add_prohibited_id}"></textarea>
|
||||
<span class="btn"><button type="button" class="_addDeniedID">{$lang->add}</button></span>
|
||||
<span class="desc">{$lang->multi_line_input}</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</fieldset>
|
||||
<fieldset class="section suForm">
|
||||
<h2 class="h2">{$lang->cmd_manage_form}</h2>
|
||||
<div class="table even">
|
||||
<table width="100%" border="1" cellspacing="0" class="sortable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{$lang->target}</th>
|
||||
<th scope="col">{$lang->identifier}
|
||||
[<a href="#helpDefault" class="tgAnchor">?</a>]
|
||||
<div class="tgContent layer" id="helpDefault" style="right:0">
|
||||
<p>{$lang->about_identifier}</p>
|
||||
</div>
|
||||
</th>
|
||||
<th scope="col">{$lang->use}</th>
|
||||
<th scope="col">{$lang->cmd_required}/{$lang->cmd_optional}</th>
|
||||
<th scope="col">{$lang->public}
|
||||
[<a href="#helpPublic" class="tgAnchor">?</a>]
|
||||
<div class="tgContent layer" id="helpPublic" style="right:0">
|
||||
<p>{$lang->about_public_item}</p>
|
||||
</div>
|
||||
</th>
|
||||
<th scope="col" class="text">{$lang->description}</th>
|
||||
<th scope="col">{$lang->cmd_edit}</th>
|
||||
</thead>
|
||||
<tbody class="uDrag">
|
||||
{@$fixed_public_list = array('nick_name', 'find_account_question', 'password')}
|
||||
<!--@foreach($config->signupForm as $item)-->
|
||||
<!--@if($item->isIdentifier)-->
|
||||
<tr class="sticky">
|
||||
<input type="hidden" name="list_order[]" value="{$item->name}" />
|
||||
<input type="hidden" name="usable_list[]" value="{$item->name}"/>
|
||||
<input type="hidden" name="{$item->name}" value="requierd"/>
|
||||
<th scope="row">
|
||||
<span class="_title" style="padding-left:20px">{$item->title}</span>
|
||||
</th>
|
||||
<td><input type="radio" name="identifier" value="{$item->name}" checked="checked" /></td>
|
||||
<td><input type="checkbox" name="usable_list[]" value="{$item->name}" title="{$lang->use}" checked="checked" disabled="disabled" /></td>
|
||||
<td class="nowr">
|
||||
<input type="radio" id="{$item->name}_re" name="{$item->name}" value="requierd" checked="checked" disabled="disabled" /> <label for="{$item->name}_re">{$lang->cmd_required}</label>
|
||||
<input type="radio" id="{$item->name}_op" name="{$item->name}" value="option" disabled="disabled" /> <label for="{$item->name}_op">{$lang->cmd_optional}</label>
|
||||
</td>
|
||||
<td><input type="checkbox" name="is_{$item->name}_public" value="Y" checked="checked"|cond="$item->isPublic == 'Y'"/></td>
|
||||
<td class="text"> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<!--@elseif($item->isDefaultForm)-->
|
||||
<tr class="_imageType"|cond="$item->imageType">
|
||||
<input type="hidden" name="list_order[]" value="{$item->name}" />
|
||||
<input type="hidden" name="usable_list[]" value="{$item->name}" cond="$item->mustRequired"/>
|
||||
<input type="hidden" name="{$item->name}" value="requierd" cond="$item->mustRequired"/>
|
||||
<th scope="row">
|
||||
<div class="wrap">
|
||||
<button type="button" class="dragBtn">Move to</button>
|
||||
<span class="_title">{$item->title}</span>
|
||||
</div>
|
||||
</th>
|
||||
<td><input type="radio" name="identifier" value="{$item->name}" cond="$item->name== 'email_address' || $item->name=='user_id'" /></td>
|
||||
<td><input type="checkbox" name="usable_list[]" value="{$item->name}" title="{$lang->use}" checked="checked"|cond="$item->mustRequired || $item->isUse" disabled="disabled"|cond="$item->mustRequired" /></td>
|
||||
<td class="nowr">
|
||||
<input type="radio" id="{$item->name}_re" name="{$item->name}" value="required" checked="checked"|cond="$item->mustRequired || $item->required" disabled="disabled"|cond="$item->mustRequired || !$item->isUse" /> <label for="{$item->name}_re">{$lang->cmd_required}</label>
|
||||
<input type="radio" id="{$item->name}_op" name="{$item->name}" value="option" checked="checked"|cond="!$item->mustRequired && ($item->isUse && !$item->required)" disabled="disabled"|cond="$item->mustRequired || !$item->isUse" /> <label for="{$item->name}_op">{$lang->cmd_optional}</label>
|
||||
<div cond="$item->imageType" class="_subItem">
|
||||
<label for="{$item->name}_max_width">{$lang->cmd_image_max_width}</label><input type="text" name="{$item->name}_max_width" id="{$item->name}_max_width" value="{$item->max_width}" style="width:30px" /> px
|
||||
/
|
||||
<label for="{$item->name}_max_height">{$lang->cmd_image_max_height}</label><input type="text" name="{$item->name}_max_height" id="{$item->name}_max_height" value="{$item->max_height}" style="width:30px" /> px
|
||||
</div>
|
||||
<div cond="$item->name == 'signature'" style="padding-top:10px">
|
||||
<select id="signature_editor" name="signature_editor_skin" onchange="getEditorSkinColorList(this.value)">
|
||||
<!--@foreach($editor_skin_list as $editor_skin)-->
|
||||
<option value="{$editor_skin}" selected="selected"|cond="$editor_skin==$config->signature_editor_skin">{$editor_skin}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<select name="sel_editor_colorset" id="sel_editor_colorset" style="display:none">
|
||||
</select>
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
getEditorSkinColorList('{$config->signature_editor_skin}','{$config->sel_editor_colorset}');
|
||||
//]]></script>
|
||||
</div>
|
||||
</td>
|
||||
<td><input type="checkbox" name="is_{$item->name}_public" value="Y" checked="checked"|cond="$item->isPublic == 'Y'" disabled="disabled"|cond="in_array($item->name, $fixed_public_list) || !$item->isUse" /></td>
|
||||
<td class="text"> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<!--@else-->
|
||||
<tr>
|
||||
<input type="hidden" name="list_order[]" value="{$item->name}" />
|
||||
<input type="hidden" name="{$item->name}_member_join_form_srl" value="{$item->member_join_form_srl}" />
|
||||
<th scope="row">
|
||||
<div class="wrap">
|
||||
<button type="button" class="dragBtn">Move to</button>
|
||||
<span class="_title">{$item->title}</span>
|
||||
</div>
|
||||
</th>
|
||||
<td></td>
|
||||
<td><input type="checkbox" name="usable_list[]" value="{$item->name}" title="{$lang->use}" checked="checked"|cond="$item->isUse" /></td>
|
||||
<td class="nowr">
|
||||
<input type="radio" id="{$item->name}_re" name="{$item->name}" value="required" checked="checked"|cond="$item->required" disabled="disabled"|cond="!$item->isUse"/> <label for="{$item->name}_re">{$lang->cmd_required}</label>
|
||||
<input type="radio" id="{$item->name}_op" name="{$item->name}" value="option" checked="checked"|cond="$item->isUse && !$item->required" disabled="disabled"|cond="!$item->isUse" /> <label for="{$item->name}_op">{$lang->cmd_optional}</label>
|
||||
</td>
|
||||
<td><input type="checkbox" name="is_{$item->name}_public" value="Y" checked="checked"|cond="$item->isPublic == 'Y'" disabled="disabled"|cond="!$item->isUse" /></td>
|
||||
<td class="text">{$item->description}</td>
|
||||
<td id="{$item->member_join_form_srl}" class="nowr"><a href="#userDefine" class="modalAnchor _extendFormEdit">{$lang->cmd_edit}</a> | <a href="#" class="_extendFormDelete">{$lang->cmd_delete}</a></td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p class="btnArea">
|
||||
<span class="btn small"><a href="#userDefine" class="modalAnchor _extendFormEdit">{$lang->add_extend_form}...</a></span>
|
||||
</p>
|
||||
</fieldset>
|
||||
<div class="btnArea">
|
||||
<span class="btn medium"><input type="submit" value="{$lang->cmd_save}" /></span>
|
||||
</div>
|
||||
</form>
|
||||
<h2 class="h2">{$lang->cmd_member_sync}</h2>
|
||||
<div class="form">
|
||||
<span class="btn small"><input type="button" value="{$lang->cmd_member_sync}" class="__sync" /></span>
|
||||
<p class="description">{$lang->about_member_sync}</p>
|
||||
</div>
|
||||
|
||||
<div class="modal" id="userDefine">
|
||||
<form action="./" class="fg form" ruleset="insertJoinForm" method="post">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberAdminInsertJoinForm" />
|
||||
<input type="hidden" name="success_return_url" value="{getUrl('act', $act)}" />
|
||||
<div id="extendForm">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -1,77 +1,48 @@
|
|||
<h1 class="h1">{$lang->member_info}</h1>
|
||||
<div class="table even">
|
||||
<table width="100%" border="1" cellspacing="0">
|
||||
<!--@foreach($member_config->signupForm as $no=>$formInfo)-->
|
||||
<!--@if($formInfo->isDefaultForm)-->
|
||||
{@$title = Context::getLang($formInfo->name)}
|
||||
{@$value = $memberInfo[$formInfo->name]}
|
||||
<!--@if($formInfo->name == 'find_account_question')-->
|
||||
{@$value = $lang->find_account_question_items[$value].' : '.$memberInfo['find_account_answer']}
|
||||
<!--@elseif($formInfo->name == 'profile_image' && $memberInfo['profile_image'])-->
|
||||
{@$target = $memberInfo['profile_image']}
|
||||
{@$value = '<img src="'.$target->src.'" />'}
|
||||
<!--@elseif($formInfo->name == 'image_name' && $memberInfo['image_name'])-->
|
||||
{@$target = $memberInfo['image_name']}
|
||||
{@$value = '<img src="'.$target->src.'" />'}
|
||||
<!--@elseif($formInfo->name == 'image_mark' && $memberInfo['image_mark'])-->
|
||||
{@$target = $memberInfo['image_mark']}
|
||||
{@$value = '<img src="'.$target->src.'" />'}
|
||||
<!--@end-->
|
||||
<!--@else-->
|
||||
{@$title = $extend_form_list[$formInfo->member_join_form_srl]->column_title}
|
||||
{@$orgValue = $extend_form_list[$formInfo->member_join_form_srl]->value}
|
||||
<!--@if($formInfo->type=='tel')-->
|
||||
{@$value = $orgValue[0]}
|
||||
<!--@if($orgValue[1])-->-<!--@end-->
|
||||
{@$value .= $orgValue[1]}
|
||||
<!--@if($orgValue[2])-->-<!--@end-->
|
||||
{@$value .= $orgValue[2]}
|
||||
<!--@elseif($formInfo->type=='kr_zip')-->
|
||||
{@$value = $orgValue[0]}<!--@if($orgValue[1]&&$orgValue[0])--><br /><!--@end-->{@$value .= $orgValue[1]}
|
||||
<!--@elseif($formInfo->type=='checkbox' && is_array($orgValue))-->
|
||||
{@$value = implode(", ",$orgValue)}
|
||||
<!--@elseif($formInfo->type=='date')-->
|
||||
{@$value = zdate($orgValue, "Y-m-d")}
|
||||
<!--@else-->
|
||||
{@$value = nl2br($orgValue)}
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
|
||||
<tr cond="$formInfo->isUse && $formInfo->name != 'password'">
|
||||
<th scope="row" >{$title} <em cond="$formInfo->required || $formInfo->mustRequired">*</em></th>
|
||||
<td class="text">{$value}</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<th scope="row">{$lang->allow_mailing}</th>
|
||||
<td class="text"><!--@if($memberInfo['allow_mailing'] == 'Y')-->{$lang->cmd_yes}<!--@else-->{$lang->cmd_no}<!--@end--></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->allow_message}</th>
|
||||
<td class="text">{$lang->allow_message_type[$memberInfo['allow_message']]}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->denied}</th>
|
||||
<td class="text"><!--@if($memberInfo['denied'] == 'N')-->{$lang->cmd_no}<!--@else-->{$lang->cmd_yes}<!--@end--></td>
|
||||
</tr>
|
||||
<tr cond="$memberInfo['limit_date']">
|
||||
<th scope="row">{$lang->limit_date}</th>
|
||||
<td class="text">{zdate($memberInfo['limit_date'],"Y-m-d H:i")}</td>
|
||||
</tr>
|
||||
<tr cond="$memberInfo['is_admin'] == 'Y'">
|
||||
<th scope="row">{$lang->is_admin}</th>
|
||||
<td class="text">{$lang->cmd_yes}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->member_group}</th>
|
||||
<td class="text">{implode(', ', $memberInfo['group_list'])}</td>
|
||||
</tr>
|
||||
<tr cond="$memberInfo['description']">
|
||||
<th scope="row"><div>{$lang->description}</div></th>
|
||||
<td>{$memberInfo['description']} </td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="x_page-header">
|
||||
<h1>{$lang->member_info}</h1>
|
||||
</div>
|
||||
<div class="btnArea">
|
||||
<span class="btn medium"><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminInsert', 'member_srl', $member_srl)}">{$lang->cmd_modify}...</a></span>
|
||||
<table class="x_table x_table-striped x_table-hover">
|
||||
<tr>
|
||||
<th style="width:120px">{$lang->signup_date}</th>
|
||||
<td>{zdate($memberInfo[regdate],"Y-m-d")}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->last_login}</th>
|
||||
<td>{zdate($memberInfo[last_login],"Y-m-d H:i:s")}</td>
|
||||
</tr>
|
||||
<tr loop="$displayDatas => $item">
|
||||
<th scope="row" ><em style="color:red" cond="$item->required || $item->mustRequired">*</em> {$item->title}</th>
|
||||
<td class="text">{$item->value}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->member_group}</th>
|
||||
<td class="text">{implode(', ', $memberInfo['group_list'])}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->allow_mailing}</th>
|
||||
<td class="text"><!--@if($memberInfo['allow_mailing'] == 'Y')-->{$lang->cmd_yes}<!--@else-->{$lang->cmd_no}<!--@end--></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->allow_message}</th>
|
||||
<td class="text">{$lang->allow_message_type[$memberInfo['allow_message']]}</td>
|
||||
</tr>
|
||||
<tr cond="$memberInfo['is_admin'] == 'Y'">
|
||||
<th scope="row">{$lang->is_admin}</th>
|
||||
<td class="text">{$lang->cmd_yes}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->member_group}</th>
|
||||
<td class="text">{implode(', ', $memberInfo['group_list'])}</td>
|
||||
</tr>
|
||||
<tr cond="$memberInfo['description']">
|
||||
<th scope="row"><div>{$lang->description}</div></th>
|
||||
<td>{$memberInfo['description']} </td>
|
||||
</tr>
|
||||
<style scoped>
|
||||
.x_table th{text-align:right}
|
||||
</style>
|
||||
</table>
|
||||
<div class="x_clearfix">
|
||||
<span class="x_pull-left" cond="$member_srl"><button class="x_btn" type="button" onclick="history.go(-1)">{$lang->cmd_back}</button></span>
|
||||
<span class="x_pull-right"><a class="x_btn x_btn-primary" href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminInsert', 'member_srl', $member_srl)}">{$lang->cmd_modify}</a></span>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,80 +0,0 @@
|
|||
{@ Context::loadFile(array("./common/js/jquery.js", 'head', '', -100000), true) }
|
||||
{@ Context::loadFile(array("./common/js/js_app.js", 'head', '', -100000), true) }
|
||||
{@ Context::loadFile(array("./common/js/common.js", 'head', '', -100000), true) }
|
||||
{@ Context::loadFile(array("./common/js/xml_handler.js", 'head', '', -100000), true) }
|
||||
{@ Context::loadFile(array("./common/js/xml_js_filter.js", 'head', '', -100000), true) }
|
||||
|
||||
|
||||
<load target="css/msignup.css" usecdn="true" />
|
||||
<div class="bd">
|
||||
<h2 class="h2">{$lang->cmd_view_member_info}</h2>
|
||||
<h3 class="h3">{$lang->member_default_info}</h3>
|
||||
<form action="" method="post">
|
||||
<fieldset class="sn">
|
||||
<ul>
|
||||
<li><label for="uname" class="db fb al">{$lang->user_name}</label><div id="uname">{htmlspecialchars($member_info->user_name)}</div></li>
|
||||
<li><label for="nname" class="db fb al">{$lang->nick_name}</label><div id="nname">{htmlspecialchars($member_info->nick_name)}</div></li>
|
||||
<!--@if($member_info->profile_image->src)-->
|
||||
<li><label for="pimage" class="db fb al">{$lang->profile_image}</label><div id="pimage"><img src="{$member_info->profile_image->src}" border="0" alt="profile_image" /></div></li>
|
||||
<!--@end-->
|
||||
<!--@if($member_info->image_name->src)-->
|
||||
<li><label for="image_name" class="db fb al">{$lang->image_name}</label><div id="image_name"><img src="{$member_info->image_name->src}" border="0" alt="image_name" /></div></li>
|
||||
<!--@end-->
|
||||
<!--@if($member_info->image_mark->src)-->
|
||||
<li><label for="image_mark" class="db fb al">{$lang->image_mark}</label><div id="image_mark"><img src="{$member_info->image_mark->src}" border="0" alt="image_mark" /></div></li>
|
||||
<!--@end-->
|
||||
<li><label for="hpage" class="db fb al">{$lang->homepage}</label><div id="hpage">{htmlspecialchars($member_info->homepage)}</div></li>
|
||||
<li><label for="bpage" class="db fb al">{$lang->blog}</label><div id="bpage">{htmlspecialchars($member_info->blog)}</div></li>
|
||||
<li><label for="bday" class="db fb al">{$lang->birthday}</label><div id="bday"><!--@if($member_info->birthday)-->{zdate($member_info->birthday,"Y-m-d")}<!--@end--></div></li>
|
||||
<!--@if($member_info->signature)-->
|
||||
<li><label for="sign" class="db fb al">{$lang->signature}</label><div>{$member_info->signature}</div></li>
|
||||
<!--@end-->
|
||||
<li><label for="group" class="db fb al">{$lang->member_group}</label><div><!--@foreach($member_info->group_list as $key => $val)-->{$val} <!--@end--></div></li>
|
||||
<li><label for="sdate" class="db fb al">{$lang->signup_date}</label><div id="sdate">{zdate($member_info->regdate,"Y-m-d H:i")}</div></li>
|
||||
<!--@if($member_info->member_srl == $logged_info->member_srl || $logged_info->is_admin == 'Y' )-->
|
||||
<li><label for="llogin" class="db fb al">{$lang->last_login}</label><div>{zdate($member_info->last_login,"Y-m-d H:i")}</div></li>
|
||||
<!--@end-->
|
||||
</ul>
|
||||
</fieldset>
|
||||
<!--@if($extend_form_list)-->
|
||||
<h3 class="h3">{$lang->member_extend_info}</h3>
|
||||
<fieldset class="sn">
|
||||
<ul>
|
||||
<!--@foreach($extend_form_list as $key => $val)-->
|
||||
<li><label class="db fb al">{htmlspecialchars($val->column_title)}</label>
|
||||
<!--@if($val->is_private)-->
|
||||
<span class="privateItem">{$lang->private}</span>
|
||||
<!--@else-->
|
||||
<!--@if($val->column_type=='tel' && $val->value[0] && $val->value[1] && $val->value[2])-->
|
||||
{htmlspecialchars($val->value[0])}
|
||||
<!--@if($val->value[1])-->-<!--@end-->
|
||||
{htmlspecialchars($val->value[1])}
|
||||
<!--@if($val->value[2])-->-<!--@end-->
|
||||
{htmlspecialchars($val->value[2])}
|
||||
<!--@elseif($val->column_type=='kr_zip')-->
|
||||
{htmlspecialchars($val->value[0])}<!--@if($val->value[1]&&$val->value[0])--><br /><!--@end-->{htmlspecialchars($val->value[1])}
|
||||
<!--@elseif($val->column_type=='checkbox' && is_array($val->value))-->
|
||||
{htmlspecialchars(implode(", ",$val->value))}
|
||||
<!--@elseif($val->column_type=='date' && $val->value)-->
|
||||
{zdate($val->value, "Y-m-d")}
|
||||
<!--@else-->
|
||||
{nl2br(htmlspecialchars($val->value))}
|
||||
<!--@end-->
|
||||
</li>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</ul>
|
||||
</fieldset>
|
||||
<!--@end-->
|
||||
<div class="cm">
|
||||
<li>
|
||||
<!--@if($member_info->member_srl == $logged_info->member_srl)-->
|
||||
<a href="{getUrl('act','dispMemberModifyInfo','member_srl','')}" class="bn"><span>{$lang->cmd_modify_member_info}</span></a>
|
||||
<a href="{getUrl('act','dispMemberModifyPassword','member_srl','')}" class="bn"><span>{$lang->cmd_modify_member_password}</span></a>
|
||||
<a href="{getUrl('act','dispMemberLeave','member_srl','')}" class="bn"><span>{$lang->cmd_leave}</span></a>
|
||||
<!--@end-->
|
||||
<a href="{getUrl('act','','member_srl','')}" class="bn"><span>{$lang->cmd_back}</span></a>
|
||||
</li>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -1,139 +1,70 @@
|
|||
<load target="js/member_admin_list.js" type="body" usecdn="true" />
|
||||
<script type="text/javascript">
|
||||
<script>
|
||||
xe.lang.msg_select_user = '{$lang->msg_select_user}';
|
||||
xe.lang.msg_delete_user = '{$lang->msg_delete_user}';
|
||||
</script>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
|
||||
<div class="x_page-header">
|
||||
<h1>{$lang->user_list} <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_member_list" target="_blank">{$lang->help}</a></h1>
|
||||
</div>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/member/tpl/member_list/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form action="" class="form" method="post">
|
||||
<h1 class="h1">{$lang->user_list}</h1>
|
||||
<div class="table even">
|
||||
<div class="cnb">
|
||||
<a href="{getUrl('filter_type', '', 'page', '')}" class="active"|cond="$filter_type==''">{$lang->cmd_show_all_member}</a>
|
||||
|
|
||||
<a href="{getUrl('filter_type', 'super_admin', 'page', '')}" class="active"|cond="$filter_type==super_admin">{$lang->cmd_show_super_admin_member}</a>
|
||||
|
|
||||
<a href="{getUrl('filter_type', 'enable', 'page', '')}" class="active"|cond="$filter_type==enable">{$lang->approval}</a>
|
||||
|
|
||||
<a href="{getUrl('filter_type', 'disable', 'page', '')}" class="active"|cond="$filter_type==disable">{$lang->denied}</a>
|
||||
</div>
|
||||
<table width="100%" border="1" cellspacing="0" class="_memberList">
|
||||
<caption>
|
||||
{$filter_type_title}({$total_count})
|
||||
<span class="side">
|
||||
<span class="btn"><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminInsert')}">{$lang->cmd_make}</a></span>
|
||||
<span class="btn"><a href="#listManager" class="modalAnchor _member">{$lang->cmd_selected_user_manage}...</a></span>
|
||||
</span>
|
||||
</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="nowr">{$lang->email}</th>
|
||||
<th scope="col" class="nowr" loop="$usedIdentifiers=>$name,$title">{$title}</th>
|
||||
<th scope="col" class="nowr"><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminList', 'sort_index', 'regdate', 'sort_order', ($sort_order == 'asc') ? 'desc' : 'asc')}">{$lang->signup_date}<block cond="$sort_index == 'regdate'"> <em cond="$sort_order=='asc'">▲</em><em cond="$sort_order != 'asc'">▼</em></block></a></th>
|
||||
<th scope="col" class="nowr"><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminList', 'sort_index', 'last_login', 'sort_order', ($sort_order == 'asc') ? 'desc' : 'asc')}">{$lang->last_login}<block cond="$sort_index == 'last_login'"> <em cond="$sort_order=='asc'">▲</em><em cond="$sort_order != 'asc'">▼</em></block></a></th>
|
||||
<th scope="col">{$lang->member_group}</th>
|
||||
<th scope="col" class="nowr">{$lang->status}</th>
|
||||
<th scope="col" class="nowr">{$lang->cmd_view}</th>
|
||||
<th scope="col" class="nowr">{$lang->cmd_modify}...</th>
|
||||
<th scope="col">
|
||||
<input type="checkbox" title="Check All" data-name="user" />
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th scope="col" class="nowr">{$lang->email}</th>
|
||||
<th scope="col" class="nowr" loop="$usedIdentifiers=>$name,$title">{$title}</th>
|
||||
<th scope="col" class="nowr"><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminList', 'sort_index', 'regdate', 'sort_order', ($sort_order == 'asc') ? 'desc' : 'asc')}">{$lang->signup_date}<block cond="$sort_index == 'regdate'"> <em cond="$sort_order=='asc'">▲</em><em cond="$sort_order != 'asc'">▼</em></block></a></th>
|
||||
<th scope="col" class="nowr"><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminList', 'sort_index', 'last_login', 'sort_order', ($sort_order == 'asc') ? 'desc' : 'asc')}">{$lang->last_login}<block cond="$sort_index == 'last_login'"> <em cond="$sort_order=='asc'">▲</em><em cond="$sort_order != 'asc'">▼</em></block></a></th>
|
||||
<th scope="col">{$lang->member_group}</th>
|
||||
<th scope="col" class="nowr">{$lang->status}</th>
|
||||
<th scope="col class="nowr"">{$lang->cmd_view}</th>
|
||||
<th scope="col" class="nowr">{$lang->cmd_modify}...</th>
|
||||
<th scope="col">
|
||||
<input type="checkbox" title="Check All" data-name="user" />
|
||||
</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
<tr loop="$member_list=>$no,$member_info">
|
||||
{@$member_info = get_object_vars($member_info)}
|
||||
<td class="nowr">
|
||||
<a href="#popup_menu_area" class="cMenu member_{$member_info['member_srl']}">Info</a>
|
||||
<span class="masked">{getEncodeEmailAddress($member_info['email_address'])}</span>
|
||||
</td>
|
||||
{@ $member_info['group_list'] = implode(', ', $member_info['group_list'])}
|
||||
<td class="nowr" loop="$usedIdentifiers=>$name,$title">{$member_info[$name]}</td>
|
||||
<td class="nowr">{zdate($member_info['regdate'], 'Y-m-d')}</td>
|
||||
<td class="nowr">{zdate($member_info['last_login'], 'Y-m-d')}</td>
|
||||
<td>{$member_info['group_list']} </td>
|
||||
{@ $lang_denied = ($member_info['denied'] == 'N')?$lang->approval:$lang->denied}
|
||||
<td class="nowr">{$lang_denied}</td>
|
||||
<td class="nowr">
|
||||
<a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminInfo', 'member_srl', $member_info['member_srl'])}">{$lang->cmd_view}</a>
|
||||
</td>
|
||||
<td class="nowr"><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminInsert', 'member_srl', $member_info['member_srl'])}">{$lang->cmd_modify}...</a></td>
|
||||
{@$used_values = ''}
|
||||
<!--@foreach($usedIdentifiers as $name=>$title)-->
|
||||
{@$used_values .= "\t".$member_info[$name]}
|
||||
<!--@end-->
|
||||
<td><input type="checkbox" name="user" value="{$member_info['member_srl']."\t".$member_info['email_address'].$used_values."\t".$member_info['group_list']."\t".$lang_denied}" disabled="disabled"|cond="$member_info['is_admin'] == 'Y'"/></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="btnArea">
|
||||
<span class="side">
|
||||
<span class="btn"><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminInsert')}">{$lang->cmd_make}</a></span>
|
||||
<span class="btn"><a href="#listManager" class="modalAnchor _member">{$lang->cmd_selected_user_manage}...</a></span>
|
||||
</span>
|
||||
</div>
|
||||
<form action="" method="post">
|
||||
<table id="memberList" class="x_table x_table-striped x_table-hover">
|
||||
<caption>
|
||||
<a href="{getUrl('filter_type', '', 'page', '')}" class="active"|cond="$filter_type==''">{$lang->cmd_show_all_member}<block cond="$filter_type==''">({$total_count})</block></a>
|
||||
<i>|</i>
|
||||
<a href="{getUrl('filter_type', 'super_admin', 'page', '')}" class="active"|cond="$filter_type==super_admin">{$lang->cmd_show_super_admin_member}<block cond="$filter_type==super_admin">({$total_count})</block></a>
|
||||
<i>|</i>
|
||||
<a href="{getUrl('filter_type', 'enable', 'page', '')}" class="active"|cond="$filter_type==enable">{$lang->approval}<block cond="$filter_type==enable">({$total_count})</block></a>
|
||||
<i>|</i>
|
||||
<a href="{getUrl('filter_type', 'disable', 'page', '')}" class="active"|cond="$filter_type==disable">{$lang->denied}<block cond="$filter_type==disable">({$total_count})</block></a>
|
||||
<div class="x_pull-right x_btn-group">
|
||||
<a class="x_btn x_btn-inverse" href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminInsert')}">{$lang->msg_new_member}</a>
|
||||
<a href="#listManager" data-value="modify" class="modalAnchor _member x_btn">{$lang->modify}</a>
|
||||
<a href="#listManager" data-value="delete" class="modalAnchor _member x_btn">{$lang->delete}</a>
|
||||
</div>
|
||||
</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="nowr">{$lang->email}</th>
|
||||
<th scope="col" class="nowr" loop="$usedIdentifiers=>$name,$title">{$title}</th>
|
||||
<th scope="col" class="nowr"><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminList', 'sort_index', 'regdate', 'sort_order', ($sort_order == 'asc') ? 'desc' : 'asc')}">{$lang->signup_date}<block cond="$sort_index == 'regdate'"> <em cond="$sort_order=='asc'">▲</em><em cond="$sort_order != 'asc'">▼</em></block></a></th>
|
||||
<th scope="col" class="nowr"><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminList', 'sort_index', 'last_login', 'sort_order', ($sort_order == 'asc') ? 'desc' : 'asc')}">{$lang->last_login}<block cond="$sort_index == 'last_login'"> <em cond="$sort_order=='asc'">▲</em><em cond="$sort_order != 'asc'">▼</em></block></a></th>
|
||||
<th scope="col" class="nowr">{$lang->member_group}</th>
|
||||
<th scope="col" class="nowr">{$lang->inquiry}/{$lang->cmd_modify}</th>
|
||||
<th scope="col">
|
||||
<input type="checkbox" title="Check All" data-name="user" />
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr loop="$member_list=>$no,$member_info">
|
||||
{@$member_info = get_object_vars($member_info)}
|
||||
<td class="nowr">
|
||||
<a href="#popup_menu_area" class="member_{$member_info['member_srl']}" title="Info">{getEncodeEmailAddress($member_info['email_address'])}</a>
|
||||
</td>
|
||||
{@ $member_info['group_list'] = implode(', ', $member_info['group_list'])}
|
||||
<td class="nowr" loop="$usedIdentifiers=>$name,$title">{$member_info[$name]}</td>
|
||||
<td class="nowr">{zdate($member_info['regdate'], 'Y-m-d')}</td>
|
||||
<td class="nowr">{zdate($member_info['last_login'], 'Y-m-d')}</td>
|
||||
<td>{$member_info['group_list']} </td>
|
||||
<td class="nowr"><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminInsert', 'member_srl', $member_info['member_srl'])}">{$lang->inquiry}/{$lang->cmd_modify}</a></td>
|
||||
{@$used_values = ''}
|
||||
<!--@foreach($usedIdentifiers as $name=>$title)-->
|
||||
{@$used_values .= "\t".$member_info[$name]}
|
||||
<!--@end-->
|
||||
<td><input type="checkbox" name="user" value="{$member_info['member_srl']."\t".$member_info['email_address'].$used_values."\t".$member_info['group_list']}" disabled="disabled"|cond="$member_info['is_admin'] == 'Y'"/></td>
|
||||
</tr>
|
||||
<tr cond="$total_count==0">
|
||||
<td>{$lang->msg_no_result}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
<div class="modal" id="listManager">
|
||||
<form action="./" ruleset="updateSeletecdMemberInfo" class="fg form" method="post">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberAdminSelectedMemberManage" />
|
||||
<input type="hidden" name="success_return_url" value="{getUrl('act', $act)}" />
|
||||
<h2 class="h2">{$lang->cmd_selected_user_manage}</h2>
|
||||
<div class="table even">
|
||||
<table width="100%" border="1" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{$lang->email_address}</th>
|
||||
<th scope="col" loop="$usedIdentifiers=>$name,$title">{$title}</th>
|
||||
<th scope="col" class="text">{$lang->member_group}</th>
|
||||
<th scope="col">{$lang->status}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="popupBody">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p class="q">{$lang->status}</p>
|
||||
<p>
|
||||
<input type="radio" name="denied" id="approval" value="N" > <label for="approval">{$lang->approval}</label>
|
||||
<input type="radio" name="denied" id="deny" value="Y" > <label for="deny">{$lang->denied}</label>
|
||||
</p>
|
||||
<p class="q">{$lang->member_group}</p>
|
||||
<p>
|
||||
<!--@foreach($group_list as $key=>$val)-->
|
||||
<input type="checkbox" name="groups[]" id="g{$val->group_srl}" value="{$val->group_srl}"/> <label for="g{$val->group_srl}">{$val->title}</label>
|
||||
<!--@end-->
|
||||
</p>
|
||||
<p class="q"><label for="message">{$lang->about_send_message}</label></p>
|
||||
<p>
|
||||
<textarea rows="8" cols="42" id="message" style="width:98%" name="message" ></textarea>
|
||||
</p>
|
||||
<div class="btnArea">
|
||||
<span class="btn"><button type="submit" name="type" value="modify">{$lang->cmd_modify}...</button></span>
|
||||
<span class="btn"><button type="submit" name="type" value="delete">{$lang->cmd_delete}</button></span>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="search">
|
||||
<form action="" class="pagination" method="post">
|
||||
<input type="hidden" name="error_return_url" value="" />
|
||||
<div class="x_clearfix">
|
||||
<form cond="$page_navigation" action="./" class="x_pagination x_pull-left" no-error-return-url="true" style="margin:0">
|
||||
<input type="hidden" name="module" value="{$module}" />
|
||||
<input type="hidden" name="act" value="{$act}" />
|
||||
<input cond="$order_target" type="hidden" name="order_target" value="{$order_target}" />
|
||||
|
|
@ -141,68 +72,128 @@
|
|||
<input cond="$category_srl" type="hidden" name="category_srl" value="{$category_srl}" />
|
||||
<input cond="$childrenList" type="hidden" name="childrenList" value="{$childrenList}" />
|
||||
<input cond="$search_keyword" type="hidden" name="search_keyword" value="{$search_keyword}" />
|
||||
|
||||
<a href="{getUrl('page', '')}" class="direction">« FIRST</a>
|
||||
|
||||
<block cond="$page_navigation->first_page + $page_navigation->page_count > $page_navigation->last_page && $page_navigation->page_count != $page_navigation->total_page">
|
||||
{@$isGoTo = true}
|
||||
<a href="{getUrl('page', '')}">1</a>
|
||||
<a href="#goTo" class="tgAnchor" title="{$lang->cmd_go_to_page}">...</a>
|
||||
</block>
|
||||
|
||||
<!--@while($page_no = $page_navigation->getNextPage())-->
|
||||
{@$last_page = $page_no}
|
||||
<strong cond="$page_no == $page">{$page_no}</strong>
|
||||
<a cond="$page_no != $page" href="{getUrl('page', $page_no)}">{$page_no}</a>
|
||||
<!--@end-->
|
||||
|
||||
<block cond="$last_page != $page_navigation->last_page">
|
||||
{@$isGoTo = true}
|
||||
<a href="#goTo" class="tgAnchor" title="{$lang->cmd_go_to_page}">...</a>
|
||||
<a href="{getUrl('page', $page_navigation->last_page)}">{$page_navigation->last_page}</a>
|
||||
</block>
|
||||
|
||||
<a href="{getUrl('page', $page_navigation->last_page)}" class="direction">LAST »</a>
|
||||
|
||||
<span cond="$isGoTo" id="goTo" class="tgContent">
|
||||
<input name="page" title="{$lang->cmd_go_to_page}" />
|
||||
<button type="submit">Go</button>
|
||||
</span>
|
||||
</form>
|
||||
<form action="" method="post">
|
||||
<input type="hidden" name="module" value="{$module}" />
|
||||
<select name="selected_group_srl">
|
||||
<option value="0">그룹 전체</option>
|
||||
<!--@foreach($group_list as $key => $val)-->
|
||||
<option value="{$val->group_srl}" <!--@if($selected_group_srl==$val->group_srl)-->selected="selected"<!--@end-->>{$val->title}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<select name="search_target">
|
||||
<option value="">{$lang->search_target}</option>
|
||||
{@$lang->search_target_list = array_merge($lang->search_target_list, $usedIdentifiers)}
|
||||
<option value="{$key}" loop="$lang->search_target_list=>$key,$val" selected="selected"|cond="$search_target==$key">{$val}</option>
|
||||
</select>
|
||||
<input type="text" name="search_keyword" value="{htmlspecialchars($search_keyword)}" />
|
||||
<input type="submit" value="{$lang->cmd_search}" />
|
||||
<a href="{getUrl('search_target', '', 'search_keyword', '')}">{$lang->cmd_cancel}</a>
|
||||
<ul>
|
||||
<li class="x_disabled"|cond="!$page || $page == 1"><a href="{getUrl('page', '')}">« {$lang->first_page}</a></li>
|
||||
|
||||
<block cond="$page_navigation->first_page != 1 && $page_navigation->first_page + $page_navigation->page_count > $page_navigation->last_page - 1 && $page_navigation->page_count != $page_navigation->total_page">
|
||||
{@$isGoTo = true}
|
||||
<li>
|
||||
<a href="#goTo" data-toggle title="{$lang->cmd_go_to_page}">…</a>
|
||||
<span cond="$isGoTo" id="goTo" class="x_input-append">
|
||||
<input type="number" min="1" max="{$page_navigation->last_page}" required name="page" title="{$lang->cmd_go_to_page}" />
|
||||
<button type="submit" class="x_add-on">Go</button>
|
||||
</span>
|
||||
</li>
|
||||
</block>
|
||||
|
||||
<!--@while($page_no = $page_navigation->getNextPage())-->
|
||||
{@$last_page = $page_no}
|
||||
<li class="x_active"|cond="$page_no == $page"><a href="{getUrl('page', $page_no)}">{$page_no}</a></li>
|
||||
<!--@end-->
|
||||
|
||||
<block cond="$last_page != $page_navigation->last_page && $last_page + 1 != $page_navigation->last_page">
|
||||
{@$isGoTo = true}
|
||||
<li>
|
||||
<a href="#goTo" data-toggle title="{$lang->cmd_go_to_page}">…</a>
|
||||
<span cond="$isGoTo" id="goTo" class="x_input-append">
|
||||
<input type="number" min="1" max="{$page_navigation->last_page}" required name="page" title="{$lang->cmd_go_to_page}" />
|
||||
<button type="submit" class="x_add-on">Go</button>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
</block>
|
||||
|
||||
<li class="x_disabled"|cond="$page == $page_navigation->last_page"><a href="{getUrl('page', $page_navigation->last_page)}" title="{$page_navigation->last_page}">{$lang->last_page} »</a></li>
|
||||
</ul>
|
||||
</form>
|
||||
<div class="x_pull-right x_btn-group">
|
||||
<a class="x_btn x_btn-inverse" href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminInsert')}">{$lang->msg_new_member}</a>
|
||||
<a href="#listManager" data-value="modify" class="modalAnchor _member x_btn">{$lang->modify}</a>
|
||||
<a href="#listManager" data-value="delete" class="modalAnchor _member x_btn">{$lang->delete}</a>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
<form action="./" method="get" class="search center x_input-append" no-error-return-url="true">
|
||||
<input type="hidden" name="module" value="{$module}" />
|
||||
<select name="selected_group_srl" style="margin-right:4px">
|
||||
<option value="0">{$lang->all_group}</option>
|
||||
<!--@foreach($group_list as $key => $val)-->
|
||||
<option value="{$val->group_srl}" <!--@if($selected_group_srl==$val->group_srl)-->selected="selected"<!--@end-->>{$val->title}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<select name="search_target" style="margin-right:4px" title="{$lang->search_target}">
|
||||
{@$lang->search_target_list = array_merge($lang->search_target_list, $usedIdentifiers)}
|
||||
<option value="{$key}" loop="$lang->search_target_list=>$key,$val" selected="selected"|cond="$search_target==$key">{$val}</option>
|
||||
</select>
|
||||
<input type="search" name="search_keyword" value="{htmlspecialchars($search_keyword)}" style="width:140px">
|
||||
<button class="x_btn x_btn-inverse" type="submit">{$lang->cmd_search}</button>
|
||||
<a class="x_btn" href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminList', 'page', $page)}">{$lang->cmd_cancel}</a>
|
||||
</form>
|
||||
<section class="x_modal" id="listManager">
|
||||
<form action="./" ruleset="updateSeletecdMemberInfo" method="post">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberAdminSelectedMemberManage" />
|
||||
<input type="hidden" name="success_return_url" value="{getUrl('act', $act)}" />
|
||||
<input type="hidden" name="xe_validator_id" value="modules/member/tpl/member_list/1" />
|
||||
<div class="x_modal-header">
|
||||
<h1>{$lang->cmd_selected_user_manage}: <span class="_sub"></span></h1>
|
||||
</div>
|
||||
<div class="x_modal-body">
|
||||
<table class="x_table x_table-striped x_table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{$lang->email_address}</th>
|
||||
<th scope="col" loop="$usedIdentifiers=>$name,$title">{$title}</th>
|
||||
<th scope="col" class="text">{$lang->member_group}</th>
|
||||
<th scope="col"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="popupBody">
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="x_control-group _moveTarget" hidden>
|
||||
<h3>{$lang->member_group}</h3>
|
||||
<label loop="$group_list => $key,$val" for="g{$val->group_srl}" class="x_inline"><input type="checkbox" name="groups[]" id="g{$val->group_srl}" value="{$val->group_srl}"/> {$val->title}</label>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<h3>{$lang->about_send_message}</h3>
|
||||
<textarea rows="5" cols="42" id="message" style="width:98%" name="message" title="{$lang->about_send_message}"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_modal-footer">
|
||||
<button type="button" class="x_btn x_pull-left" data-hide="#listManager">{$lang->cmd_close}</button>
|
||||
<span class="x_btn-group x_pull-right">
|
||||
<button type="submit" name="type" value="modify|delete" class="x_btn x_btn-inverse">{$lang->confirm}</button>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
<script>
|
||||
jQuery(function($){
|
||||
var clickedBTN = '';
|
||||
// Modal anchor activation
|
||||
var $memberList = $('#memberList');
|
||||
$memberList.find(':checkbox').change(function(){
|
||||
var $modalAnchor = $('a[data-value]');
|
||||
if($memberList.find('tbody :checked').length == 0){
|
||||
$modalAnchor.removeAttr('href').addClass('x_disabled');
|
||||
} else {
|
||||
$modalAnchor.attr('href','#listManager').removeClass('x_disabled');
|
||||
}
|
||||
}).change();
|
||||
|
||||
$('.btnArea button').click(function(){
|
||||
clickedBTN = $(this).val();
|
||||
});
|
||||
|
||||
var CheckConfirm = xe.createPlugin('checkConfirm', {
|
||||
API_BEFORE_VALIDATE : function(sender, params){
|
||||
if (clickedBTN == 'delete') return confirm(xe.lang.msg_delete_user);
|
||||
// Modal anchor button action
|
||||
$('a[data-value]').click(function(){
|
||||
if($memberList.find(':checked').length != 0){
|
||||
var $this = $(this);
|
||||
var $moveTarget = $('._moveTarget');
|
||||
var thisValue = $this.attr('data-value');
|
||||
var thisText = $this.text();
|
||||
$('#listManager').find('.x_modal-header ._sub').text(thisText).end().find('[type="submit"]').val(thisValue).text(thisText);
|
||||
if(thisValue == 'delete'){
|
||||
$moveTarget.hide().next().css('borderTopWidth','0');
|
||||
} else {
|
||||
$moveTarget.show().next().css('borderTopWidth','1px');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var checkConfirm = new CheckConfirm();
|
||||
var v = xe.getApp('Validator')[0];
|
||||
v.registerPlugin(checkConfirm);
|
||||
});
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,38 +0,0 @@
|
|||
<load target="css/msignup.css" usecdn="true" />
|
||||
<load target="./../../../common/js/jquery.min.js" usecdn="true" index="-1000000" />
|
||||
<load target="./../../../common/js/xe.min.js" usecdn="true" index="-1000000" />
|
||||
<load target="../skins/default/js/member.js" usecdn="true" />
|
||||
<div class="bd">
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<h2 class="h2">{$member_title = $lang->cmd_modify_member_password}</h2>
|
||||
<form id="fo_insert_member" action="./" method="post" class="ff" ruleset="modifyPassword">
|
||||
<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}" />
|
||||
<fieldset class="sn">
|
||||
<ul>
|
||||
<li>
|
||||
<label for="uid" class="db fb al"><!--@if($identifier == 'user_id')-->{$lang->user_id}<!--@else-->{$lang->email_address}<!--@end--></label>
|
||||
<div id="uid"><!--@if($identifier == 'user_id')-->{htmlspecialchars($member_info->user_id)}<!--@else-->{htmlspecialchars($member_info->email_address)}<!--@end--></div>
|
||||
</li>
|
||||
<li>
|
||||
<label for="cpw" class="db fb al">{$lang->current_password}</label>
|
||||
<input type="password" name="current_password" id="cpw" class="itx" />
|
||||
</li>
|
||||
<li>
|
||||
<div><label for="npw1" class="db fb al">{$lang->password1}</label><input type="password" name="password1" id="npw1" class="itx" /></div>
|
||||
<div><label for="npw1" class="db fb al">{$lang->password2}</label><input type="password" name="password2" id="npw2" class="itx" /></div>
|
||||
<p style="color:#666">{$lang->about_password}</p>
|
||||
</li>
|
||||
</ul>
|
||||
</fieldset>
|
||||
<div class="cm">
|
||||
<input type="submit" value="{$lang->cmd_registration}" class="bn dark" />
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
<script type="text/javascript">
|
||||
<script>
|
||||
<!--@if ($is_register == 'Y')-->
|
||||
alert("{$lang->msg_success_confirmed}");
|
||||
<!--@else-->
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<script type="text/javascript">
|
||||
<script>
|
||||
alert("{$lang->msg_success_modify_email_address}");
|
||||
location.href="{getUrl()}";
|
||||
</script>
|
||||
|
|
|
|||
17
modules/member/tpl/new_colorset_list.html
Normal file
17
modules/member/tpl/new_colorset_list.html
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<!--@foreach($skin_info->colorset as $key => $val)-->
|
||||
<!--@if($val->screenshot)-->
|
||||
{@ $_img_info = getImageSize($val->screenshot); $_height = $_img_info[1]+40; $_width = $_img_info[0]+20; $_talign = "center"; }
|
||||
<!--@else-->
|
||||
{@ $_width = 200; $_height = 20; $_talign = "left"; }
|
||||
<!--@end-->
|
||||
<div style="display:inline-block;*display:inline;*zoom:1;text-align:{$_talign};width:{$_width}px;margin-right:10px;">
|
||||
<label for="colorset_{$key}" class="x_inline">
|
||||
<input type="radio" name="colorset" value="{$val->name}" id="colorset_{$key}" <!--@if($config->colorset==$val->name)-->checked="checked"<!--@end-->/>
|
||||
{$val->title}
|
||||
</label>
|
||||
<!--@if($val->screenshot)-->
|
||||
<br />
|
||||
<img src="../../../{$val->screenshot}" alt="{$val->title}" style="border:1px solid #888888;padding:2px;margin:2px;"/>
|
||||
<!--@end-->
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
<script type="text/javascript">
|
||||
<script>
|
||||
location.href = "{$redirect_url}";
|
||||
</script>
|
||||
|
|
|
|||
199
modules/member/tpl/signup_config.html
Normal file
199
modules/member/tpl/signup_config.html
Normal file
|
|
@ -0,0 +1,199 @@
|
|||
<include target="header.html" />
|
||||
<load target="js/signup_config.js" />
|
||||
<load target="../../editor/tpl/js/editor_module_config.js" usecdn="true" />
|
||||
<script>
|
||||
xe.lang.msg_delete_extend_form = '{$lang->msg_delete_extend_form}';
|
||||
xe.lang.confirm_delete = '{$lang->confirm_delete}';
|
||||
xe.lang.cmd_delete = '{$lang->cmd_delete}';
|
||||
xe.lang.msg_null_prohibited_id = '{$lang->msg_null_prohibited_id}';
|
||||
xe.lang.msg_null_prohibited_nick_name = '{$lang->msg_null_prohibited_nick_name}';
|
||||
xe.lang.msg_exists_user_id= '{$lang->msg_exists_user_id}';
|
||||
</script>
|
||||
<form action="./" class="x_form-horizontal" method="post">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberAdminInsertSignupConfig" />
|
||||
<input type="hidden" name="success_return_url" value="{getUrl('act', $act)}" />
|
||||
<input type="hidden" name="agreement" value="{$config->agreement}" />
|
||||
<input type="hidden" name="xe_validator_id" value="modules/member/tpl/signup_cofig/1" />
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="limit_day">{$lang->limit_day}</label>
|
||||
<div class="x_controls">
|
||||
<input type="number" min="0" id="limit_day" name="limit_day" value="{$config->limit_day}" /> {$lang->unit_day}
|
||||
<p class="x_help-block">{$lang->about_limit_day}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="prohibited_nick_name">{$lang->cmd_manage_nick_name}</label>
|
||||
<div class="x_controls">
|
||||
<p>{sprintf($lang->count_manage_nick_name, count($deniedNickNames))}</p>
|
||||
<ul class="textList" id="deniedNickNameList" style="margin-left:0">
|
||||
<li loop="$deniedNickNames=>$nicknameInfo" id="denied_{$nicknameInfo->nick_name}">{$nicknameInfo->nick_name} <button type="button" class="x_icon-remove" onclick="doUpdateDeniedNickName('{$nicknameInfo->nick_name}','delete','{$lang->confirm_delete}');return false;">{$lang->delete}</button></li>
|
||||
</ul>
|
||||
<textarea rows="2" cols="42" id="prohibited_nick_name" title="{$lang->add_prohibited_id}" style="vertical-align:top"></textarea>
|
||||
<button type="button" class="_addDeniedNickName x_btn">{$lang->add}</button>
|
||||
<p class="x_help-inline">{$lang->multi_line_input}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group" cond="$useUserID">
|
||||
<label class="x_control-label" for="prohibited_id">{$lang->cmd_manage_id}</label>
|
||||
<div class="x_controls">
|
||||
<p>{sprintf($lang->count_manage_id, count($deniedIDs))}</p>
|
||||
<ul class="textList" id="deniedList" style="margin-left:0">
|
||||
<li loop="$deniedIDs=>$denied_info" id="denied_{$denied_info->user_id}">{$denied_info->user_id} <button type="button" class="x_icon-remove" onclick="doUpdateDeniedID('{$denied_info->user_id}','delete','{$lang->confirm_delete}');return false;">{$lang->delete}</button></li>
|
||||
</ul>
|
||||
<textarea rows="2" cols="42" id="prohibited_id" title="{$lang->add_prohibited_id}" style="vertical-align:top"></textarea>
|
||||
<button type="button" class="_addDeniedID x_btn">{$lang->add}</button>
|
||||
<p class="x_help-inline">{$lang->multi_line_input}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="redirect_url">{$lang->redirect_url}</label>
|
||||
<div class="x_controls">
|
||||
<input class="module_search" type="text" name="redirect_url" value="{$config->redirect_url}" />
|
||||
<button type="button" class="__redirect_url_btn x_btn" cond="$config->redirect_url">{$lang->delete}</button>
|
||||
<p class="x_help-inline">{$lang->about_redirect_url}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="agreement">{$lang->agreement}</label>
|
||||
<div class="x_controls">{$editor}</div>
|
||||
<style scoped>
|
||||
#smart_content,
|
||||
#smart_content>.tool{clear:none !important}
|
||||
</style>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<p class="x_control-label">{$lang->cmd_manage_form} <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_faq_member_joinform" target="_blank">{$lang->help}</a></p>
|
||||
<div class="x_controls">
|
||||
<table class="__join_form sortable x_table x_table-striped x_table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="nowr" style="text-align:center">{$lang->target}</th>
|
||||
<th scope="col" class="nowr" style="text-align:center">{$lang->identifier}
|
||||
[<a href="#helpDefault" data-toggle>?</a>]
|
||||
<div class="layer x_alert x_alert-info" id="helpDefault">
|
||||
<p>{$lang->about_identifier}</p>
|
||||
</div>
|
||||
</th>
|
||||
<th scope="col" class="nowr" style="text-align:center">{$lang->use}</th>
|
||||
<th scope="col" class="nowr" style="text-align:center">{$lang->public}
|
||||
[<a href="#helpPublic" data-toggle>?</a>]
|
||||
<div class="layer x_alert x_alert-info" id="helpPublic">
|
||||
<p>{$lang->about_public_item}</p>
|
||||
</div>
|
||||
</th>
|
||||
<th scope="col" class="nowr">{$lang->cmd_required}/{$lang->cmd_optional}</th>
|
||||
<th scope="col" class="desc" style="text-align:center">{$lang->description}</th>
|
||||
<th scope="col" class="nowr" style="text-align:center">{$lang->cmd_edit}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="uDrag">
|
||||
{@$fixed_public_list = array('nick_name', 'find_account_question', 'password')}
|
||||
<!--@foreach($config->signupForm as $item)-->
|
||||
<!--@if($item->isIdentifier)-->
|
||||
<tr class="sticky">
|
||||
<input type="hidden" name="list_order[]" value="{$item->name}" />
|
||||
<input type="hidden" name="usable_list[]" value="{$item->name}"/>
|
||||
<input type="hidden" name="{$item->name}" value="requierd"/>
|
||||
<th scope="row">
|
||||
<span class="_title" style="display:inline-block;white-space:nowrap;overflow:hidden;width:120px;text-overflow:ellipsis;padding-left:20px">{$item->title} <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_login_key" target="_blank">{$lang->help}</a></span>
|
||||
</th>
|
||||
<td style="text-align:center"><input type="radio" name="identifier" value="{$item->name}" checked="checked" /></td>
|
||||
<td style="text-align:center"><input type="checkbox" name="usable_list[]" value="{$item->name}" title="{$lang->use}" checked="checked" disabled="disabled" /></td>
|
||||
<td style="text-align:center"><input type="checkbox" name="is_{$item->name}_public" value="Y" checked="checked"|cond="$item->isPublic == 'Y'"/></td>
|
||||
<td class="nowr">
|
||||
<label for="{$item->name}_re" class="x_inline"><input type="radio" id="{$item->name}_re" name="{$item->name}" value="requierd" checked="checked" disabled="disabled" /> {$lang->cmd_required}</label>
|
||||
<label for="{$item->name}_op" class="x_inline"><input type="radio" id="{$item->name}_op" name="{$item->name}" value="option" disabled="disabled" /> {$lang->cmd_optional}</label>
|
||||
</td>
|
||||
<td class="desc"> </td>
|
||||
<td style="text-align:center"> </td>
|
||||
</tr>
|
||||
<!--@elseif($item->isDefaultForm)-->
|
||||
<tr class="_imageType"|cond="$item->imageType">
|
||||
<input type="hidden" name="list_order[]" value="{$item->name}" />
|
||||
<input type="hidden" name="usable_list[]" value="{$item->name}" cond="$item->mustRequired"/>
|
||||
<input type="hidden" name="{$item->name}" value="requierd" cond="$item->mustRequired"/>
|
||||
<th scope="row">
|
||||
<div class="wrap">
|
||||
<button type="button" class="dragBtn">Move to</button>
|
||||
<span class="_title" style="display:inline-block;white-space:nowrap;overflow:hidden;width:120px;text-overflow:ellipsis" title="{$item->title}">{$item->title}</span>
|
||||
</div>
|
||||
</th>
|
||||
<td style="text-align:center"><input type="radio" name="identifier" value="{$item->name}" cond="$item->name== 'email_address' || $item->name=='user_id'" /></td>
|
||||
<td style="text-align:center"><input type="checkbox" name="usable_list[]" value="{$item->name}" title="{$lang->use}" checked="checked"|cond="$item->mustRequired || $item->isUse" disabled="disabled"|cond="$item->mustRequired" /></td>
|
||||
<td style="text-align:center"><input type="checkbox" name="is_{$item->name}_public" value="Y" checked="checked"|cond="$item->isPublic == 'Y'" disabled="disabled"|cond="in_array($item->name, $fixed_public_list) || !$item->isUse" /></td>
|
||||
<td class="nowr">
|
||||
<label for="{$item->name}_re" class="x_inline"><input type="radio" id="{$item->name}_re" name="{$item->name}" value="required" checked="checked"|cond="$item->mustRequired || $item->required" disabled="disabled"|cond="$item->mustRequired || !$item->isUse" /> {$lang->cmd_required}</label>
|
||||
<label for="{$item->name}_op" class="x_inline"><input type="radio" id="{$item->name}_op" name="{$item->name}" value="option" checked="checked"|cond="!$item->mustRequired && ($item->isUse && !$item->required)" disabled="disabled"|cond="$item->mustRequired || !$item->isUse" /> {$lang->cmd_optional}</label>
|
||||
<div cond="$item->imageType" class="_subItem" style="display:none"|cond="!$item->isUse">
|
||||
<label for="{$item->name}_max_width" class="x_inline">{$lang->cmd_image_max_width} <input type="number" min="1" name="{$item->name}_max_width" id="{$item->name}_max_width" value="{$item->max_width}" /> px</label>
|
||||
/
|
||||
<label for="{$item->name}_max_height" class="x_inline">{$lang->cmd_image_max_height} <input type="number" min="1" name="{$item->name}_max_height" id="{$item->name}_max_height" value="{$item->max_height}" /> px</label>
|
||||
</div>
|
||||
<div cond="$item->name == 'signature'" class="_subItem" style="display:none;padding-top:5px"|cond="!$item->isUse">
|
||||
<select id="signature_editor" name="signature_editor_skin" onchange="getEditorSkinColorList(this.value)">
|
||||
<!--@foreach($editor_skin_list as $editor_skin)-->
|
||||
<option value="{$editor_skin}" selected="selected"|cond="$editor_skin==$config->signature_editor_skin">{$editor_skin}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<select name="sel_editor_colorset" id="sel_editor_colorset" style="display:none">
|
||||
</select>
|
||||
<script>//<![CDATA[
|
||||
getEditorSkinColorList('{$config->signature_editor_skin}','{$config->sel_editor_colorset}');
|
||||
//]]></script>
|
||||
</div>
|
||||
</td>
|
||||
<td class="desc"> </td>
|
||||
<td style="text-align:center"> </td>
|
||||
</tr>
|
||||
<!--@else-->
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<input type="hidden" name="list_order[]" value="{$item->name}" />
|
||||
<input type="hidden" name="{$item->name}_member_join_form_srl" value="{$item->member_join_form_srl}" />
|
||||
<div class="wrap">
|
||||
<button type="button" class="dragBtn">Move to</button>
|
||||
<span class="_title" style="display:inline-block;white-space:nowrap;overflow:hidden;width:120px;text-overflow:ellipsis" title="{$item->title}">{$item->title}</span>
|
||||
</div>
|
||||
</th>
|
||||
<td></td>
|
||||
<td style="text-align:center"><input type="checkbox" name="usable_list[]" value="{$item->name}" title="{$lang->use}" checked="checked"|cond="$item->isUse" /></td>
|
||||
<td style="text-align:center"><input type="checkbox" name="is_{$item->name}_public" value="Y" checked="checked"|cond="$item->isPublic == 'Y'" disabled="disabled"|cond="!$item->isUse" /></td>
|
||||
<td class="nowr">
|
||||
<label for="{$item->name}_re" class="x_inline"><input type="radio" id="{$item->name}_re" name="{$item->name}" value="required" checked="checked"|cond="$item->required" disabled="disabled"|cond="!$item->isUse"/> {$lang->cmd_required}</label>
|
||||
<label for="{$item->name}_op" class="x_inline"><input type="radio" id="{$item->name}_op" name="{$item->name}" value="option" checked="checked"|cond="$item->isUse && !$item->required" disabled="disabled"|cond="!$item->isUse" /> {$lang->cmd_optional}</label>
|
||||
</td>
|
||||
<td class="desc" title="{$item->description}">{$item->description}</td>
|
||||
<td id="{$item->member_join_form_srl}" class="nowr" style="text-align:center"><a href="#userDefine" class="modalAnchor _extendFormEdit">{$lang->cmd_edit}</a> <i>|</i> <a href="#" class="_extendFormDelete">{$lang->cmd_delete}</a></td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</tbody>
|
||||
</table>
|
||||
<a href="#userDefine" class="modalAnchor _extendFormEdit x_btn"><i class="x_icon-plus-sign"></i> {$lang->add_extend_form}</a>
|
||||
<style scoped>
|
||||
.x_table .desc{white-space:nowrap;overflow:hidden;max-width:200px;text-overflow:ellipsis}
|
||||
@media all and (max-width:1250px){
|
||||
.x_table .desc{display:none}
|
||||
}
|
||||
</style>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<div class="x_clearfix btnArea">
|
||||
<span class="x_pull-right"><input class="x_btn x_btn-primary" type="submit" value="{$lang->cmd_save}" /></span>
|
||||
</div>
|
||||
</form>
|
||||
<form action="./" class="x_modal" id="userDefine" ruleset="insertJoinForm" method="post">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberAdminInsertJoinForm" />
|
||||
<input type="hidden" name="success_return_url" value="{getUrl('act', $act)}" />
|
||||
<input type="hidden" name="xe_validator_id" value="modules/member/tpl/signup_cofig/2" />
|
||||
<div id="extendForm" class="x_form-horizontal">
|
||||
</div>
|
||||
</form>
|
||||
<style scoped>
|
||||
@media all and (min-width:981px){
|
||||
#userDefine{max-width:60%;margin-left:-30%}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
<load target="./../../../common/js/jquery.min.js" usecdn="true" index="-1000000" />
|
||||
<load target="./../../../common/js/xe.min.js" usecdn="true" index="-1000000" />
|
||||
<load target="css/msignup.css" usecdn="true" />
|
||||
<load target="js/signup_check.js" usecdn="true" />
|
||||
<!--%load_js_plugin("ui")-->
|
||||
<!--%load_js_plugin("ui.datepicker")-->
|
||||
<div class="bd">
|
||||
<div class="hx h2">
|
||||
<h2>{$lang->cmd_signup}</h2>
|
||||
</div>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form ruleset="@insertMember" id="fo_insert_member" class="ff" action="./" method="post" enctype="multipart/form-data">
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberInsert" />
|
||||
<!--@if(!$is_logged && $member_config->agreement)-->
|
||||
<div class="agreement">
|
||||
<div class="text">
|
||||
{$member_config->agreement}
|
||||
</div>
|
||||
<div class="confirm">
|
||||
<input type="checkbox" name="accept_agreement" value="Y" id="accept_agree" />
|
||||
<label for="accept_agree">{$lang->about_accept_agreement}</label>
|
||||
</div>
|
||||
</div>
|
||||
<!--@end-->
|
||||
<ul>
|
||||
<li>
|
||||
<label for="{$identifierForm->name}">{$identifierForm->title} <em style="color:red">*</em></label>
|
||||
<input type="text" name="{$identifierForm->name}" id="{$identifierForm->name}" value="{$identifierForm->value}" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="password">{$lang->password} <em style="color:red">*</em></label>
|
||||
<input type="password" name="password" id="password" value=""/>
|
||||
</li>
|
||||
<li>
|
||||
<label for="password2">{$lang->password3} <em style="color:red">*</em></label>
|
||||
<input type="password" name="password2" id="password2" value=""/>
|
||||
</li>
|
||||
<block loop="$formTags=>$formTag" cond="$formTag->name != 'signature'">
|
||||
<li>
|
||||
<label>{$formTag->title}</label>
|
||||
{$formTag->inputTag}
|
||||
</li>
|
||||
</block>
|
||||
<li>
|
||||
<label>{$lang->allow_mailing}</label>
|
||||
<input type="radio" name="allow_mailing" id="mailingYes" value="Y" checked="checked"|cond="$member_info->allow_mailing == 'Y'" /> <label for="mailingYes">{$lang->cmd_yes}</label>
|
||||
<input type="radio" name="allow_mailing" id="mailingNo" value="N" checked="checked"|cond="$member_info->allow_mailing != 'Y'" /> <label for="mailingNo">{$lang->cmd_no}</label>
|
||||
</li>
|
||||
<li>
|
||||
<label>{$lang->allow_message}</label>
|
||||
<block 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}" /> <label for="allow_{$key}">{$val}</label>
|
||||
</block>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="bna">
|
||||
<input type="submit" class="bn dark" value="{$lang->cmd_registration}" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
(function($){
|
||||
$(function(){
|
||||
var option = { changeMonth: true, changeYear: true, gotoCurrent: false,yearRange:'-100:+10', dateFormat:'yy-mm-dd', onSelect:function(){
|
||||
|
||||
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
|
||||
};
|
||||
$.extend(option,$.datepicker.regional['{$lang_type}']);
|
||||
$(".inputDate").datepicker(option);
|
||||
$(".dateRemover").click(function() {
|
||||
$(this).parent().prevAll('input').val('');
|
||||
return false;});
|
||||
});
|
||||
})(jQuery);
|
||||
</script>
|
||||
Loading…
Add table
Add a link
Reference in a new issue