mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 01:01:41 +09:00
issue 140 complete member admin view
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8926 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
4c448b72ed
commit
86e670c613
19 changed files with 1313 additions and 899 deletions
|
|
@ -21,12 +21,12 @@
|
|||
<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" standalone="true" />
|
||||
<action name="dispMemberAdminInsert" type="view" standalone="true" />
|
||||
<action name="dispMemberAdminConfig" type="view" menu_name="userSetting" menu_index="true" />
|
||||
<action name="dispMemberAdminInsert" type="view" menu_name="userList" />
|
||||
<action name="dispMemberAdminDeleteForm" type="view" standalone="true" />
|
||||
<action name="dispMemberAdminGroupList" 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" standalone="true" menu_name="userList" />
|
||||
<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" />
|
||||
|
|
@ -34,6 +34,7 @@
|
|||
|
||||
<action name="getMemberMenu" type="model" standalone="true" />
|
||||
<action name="getMemberAdminColorset" type="model" standalone="true" />
|
||||
<action name="getMemberAdminInsertJoinForm" type="model" />
|
||||
|
||||
<action name="procMemberLogin" type="controller" standalone="true" ruleset="login" />
|
||||
<action name="procMemberOpenIDLogin" type="controller" standalone="true" ruleset="openidLogin" />
|
||||
|
|
@ -43,7 +44,7 @@
|
|||
<action name="procMemberDeleteOpenIDFromMember" type="controller" standalone="true" />
|
||||
<action name="procMemberLogout" type="controller" standalone="true" />
|
||||
<action name="procMemberCheckValue" type="controller" standalone="true" />
|
||||
<action name="procMemberInsert" type="controller" standalone="true" ruleset="signup" />
|
||||
<action name="procMemberInsert" type="controller" standalone="true" ruleset="@insertMember" />
|
||||
<action name="procMemberModifyInfo" type="controller" standalone="true" ruleset="modifyInfo" />
|
||||
<action name="procMemberModifyPassword" type="controller" standalone="true" ruleset="modifyPassword" />
|
||||
<action name="procMemberLeave" type="controller" standalone="true" ruleset="leaveMember" />
|
||||
|
|
@ -66,7 +67,7 @@
|
|||
<action name="procMemberUpdateAuthMail" type="controller" standalone="true" />
|
||||
<action name="procMemberResendAuthMail" type="controller" standalone="true" ruleset="resendAuthMail" />
|
||||
|
||||
<action name="procMemberAdminInsert" type="controller" standalone="true" ruleset="insert" />
|
||||
<action name="procMemberAdminInsert" type="controller" standalone="true" ruleset="@insertMember" />
|
||||
<action name="procMemberAdminDelete" type="controller" standalone="true" />
|
||||
<action name="procMemberAdminInsertConfig" type="controller" standalone="true" ruleset="insertConfig" />
|
||||
<action name="procMemberAdminInsertGroup" type="controller" standalone="true" ruleset="insertGroup" />
|
||||
|
|
@ -76,13 +77,15 @@
|
|||
<action name="procMemberAdminDeleteMembers" type="controller" standalone="true" />
|
||||
<action name="procMemberAdminInsertJoinForm" type="controller" standalone="true" ruleset="insertJoinForm" />
|
||||
<action name="procMemberAdminUpdateJoinForm" type="controller" standalone="true" />
|
||||
<action name="procMemberAdminDeleteJoinForm" type="controller" standalone="true" />
|
||||
<action name="procMemberAdminInsertDeniedID" type="controller" standalone="true" ruleset="insertDeniedId" />
|
||||
<action name="procMemberAdminUpdateDeniedID" type="controller" standalone="true" />
|
||||
<action name="procMemberAdminUpdateGroupOrder" type="controller" standalone="true" />
|
||||
|
||||
<action name="procMemberAdminSelectedMemberManage" type="controller" ruleset="updateSeletecdMemberInfo" />
|
||||
</actions>
|
||||
<menus>
|
||||
<menu name="userList" type="super">
|
||||
<menu name="userList">
|
||||
<title xml:lang="en">User List</title>
|
||||
<title xml:lang="ko">회원 목록</title>
|
||||
<title xml:lang="zh-CN">User List</title>
|
||||
|
|
@ -108,5 +111,18 @@
|
|||
<title xml:lang="mn">User Setting</title>
|
||||
<title xml:lang="tr">User Setting</title>
|
||||
</menu>
|
||||
<menu name="userGroup">
|
||||
<title xml:lang="en">Group</title>
|
||||
<title xml:lang="ko">그룹관리</title>
|
||||
<title xml:lang="zh-CN">Group</title>
|
||||
<title xml:lang="jp">Group</title>
|
||||
<title xml:lang="es">Group</title>
|
||||
<title xml:lang="ru">Group</title>
|
||||
<title xml:lang="fr">Group</title>
|
||||
<title xml:lang="zh-TW">Group</title>
|
||||
<title xml:lang="vi">Group</title>
|
||||
<title xml:lang="mn">Group</title>
|
||||
<title xml:lang="tr">Group</title>
|
||||
</menu>
|
||||
</menus>
|
||||
</module>
|
||||
|
|
|
|||
|
|
@ -2267,4 +2267,34 @@ 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="about_send_message">
|
||||
<value xml:lang="ko"><![CDATA[사용자에게 쪽지를 발송해서 이 사실을 알립니다. 작성하지 않으면 발송하지 않습니다.]]></value>
|
||||
</item>
|
||||
</lang>
|
||||
<item name="cmd_required_option">
|
||||
<value xml:lang="ko"><![CDATA[필수/선택]]></value>
|
||||
</item>
|
||||
<item name="cmd_required">
|
||||
<value xml:lang="ko"><![CDATA[필수]]></value>
|
||||
</item>
|
||||
<item name="cmd_optional">
|
||||
<value xml:lang="ko"><![CDATA[선택]]></value>
|
||||
</item>
|
||||
<item name="cmd_image_max_width">
|
||||
<value xml:lang="ko"><![CDATA[가로 제한 길이]]></value>
|
||||
</item>
|
||||
<item name="cmd_image_max_height">
|
||||
<value xml:lang="ko"><![CDATA[세로 제한 길이]]></value>
|
||||
</item>
|
||||
<item name="cmd_input_extend_form">
|
||||
<value xml:lang="ko"><![CDATA[사용자 정의 입력]]></value>
|
||||
</item>
|
||||
<item name="about_multi_type">
|
||||
<value xml:lang="ko"><![CDATA[다중 또는 단일 항목의 선택 값을 입력하세요.(줄 바꿈으로 구분)]]></value>
|
||||
</item>
|
||||
<item name="msg_delete_extend_form">
|
||||
<value xml:lang="ko"><![CDATA[선택한 항목을 삭제합니다.]]></value>
|
||||
</item>
|
||||
<item name="set_manage_id">
|
||||
<value xml:lang="ko"><![CDATA[줄 바꿈으로 구분]]></value>
|
||||
</item>
|
||||
<item name="count_manage_id">
|
||||
<value xml:lang="ko"><![CDATA[<strong>%s</strong>개의 금지아이디가 있습니다.]]></value>
|
||||
</item>
|
||||
</lang>
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
* @brief Add a user (Administrator)
|
||||
**/
|
||||
function procMemberAdminInsert() {
|
||||
if(Context::getRequestMethod() == "GET") return new Object(-1, "msg_invalid_request");
|
||||
// if(Context::getRequestMethod() == "GET") return new Object(-1, "msg_invalid_request");
|
||||
// Extract the necessary information in advance
|
||||
$args = Context::gets('member_srl','user_id','user_name','nick_name','homepage','blog','birthday','email_address','password','allow_mailing','allow_message','denied','is_admin','description','group_srl_list','limit_date');
|
||||
// Remove some unnecessary variables from all the vars
|
||||
|
|
@ -27,6 +27,7 @@
|
|||
if(!isset($args->limit_date)) $args->limit_date = "";
|
||||
// Add extra vars after excluding necessary information from all the requested arguments
|
||||
$extra_vars = delObjectVars($all_args, $args);
|
||||
debugPrint($extra_vars);
|
||||
$args->extra_vars = serialize($extra_vars);
|
||||
// Check if an original member exists having the member_srl
|
||||
if($args->member_srl) {
|
||||
|
|
@ -48,6 +49,7 @@
|
|||
$output = $oMemberController->updateMember($args);
|
||||
$msg_code = 'success_updated';
|
||||
}
|
||||
debugPrint($msg_code);
|
||||
|
||||
if(!$output->toBool()) return $output;
|
||||
// Save Signature
|
||||
|
|
@ -79,10 +81,169 @@
|
|||
$this->setMessage("success_deleted");
|
||||
}
|
||||
|
||||
function procMemberAdminInsertConfig(){
|
||||
$input_args = Context::gets(
|
||||
'enable_join',
|
||||
'enable_confirm',
|
||||
'webmaster_name',
|
||||
'webmaster_email',
|
||||
'limit_day',
|
||||
'change_password_date',
|
||||
'agreement',
|
||||
'after_login_url',
|
||||
'after_logout_url',
|
||||
'redirect_url',
|
||||
'skin',
|
||||
'colorset',
|
||||
'profile_image', 'profile_image_max_width', 'profile_image_max_height',
|
||||
'image_name', 'image_name_max_width', 'image_name_max_height',
|
||||
'image_mark', 'image_mark_max_width', 'image_mark_max_height'
|
||||
);
|
||||
|
||||
$list_order = Context::get('list_order');
|
||||
$usable_list = Context::get('usable_list');
|
||||
$denied_id = Context::get('denied_id');
|
||||
$all_args = Context::getRequestVars();
|
||||
|
||||
$oModuleController = &getController('module');
|
||||
$oMemberModel = &getModel('member');
|
||||
|
||||
// default setting start
|
||||
if($input_args->enable_join != 'Y'){
|
||||
$args->enable_join = 'N';
|
||||
}else{
|
||||
$args = $input_args;
|
||||
$args->enable_join = 'Y';
|
||||
if($args->enable_confirm !='Y') $args->enable_confirm = 'N';
|
||||
$args->limit_day = (int)$args->limit_day;
|
||||
if(!$args->change_password_date) $args->change_password_date = 0;
|
||||
if(!trim(strip_tags($args->agreement))) $args->agreement = null;
|
||||
if(!trim(strip_tags($args->after_login_url))) $args->after_login_url = null;
|
||||
if(!trim(strip_tags($args->after_logout_url))) $args->after_logout_url = null;
|
||||
if(!trim(strip_tags($args->redirect_url))) $args->redirect_url = null;
|
||||
|
||||
if(!$args->skin) $args->skin = "default";
|
||||
if(!$args->colorset) $args->colorset = "white";
|
||||
|
||||
if($args->profile_image !='Y') $args->profile_image = 'N';
|
||||
if($args->image_name !='Y') $args->image_name = 'N';
|
||||
if($args->image_mark !='Y') $args->image_mark = 'N';
|
||||
if($args->signature!='Y') $args->signature = 'N';
|
||||
|
||||
// signupForm
|
||||
global $lang;
|
||||
$signupForm = array();
|
||||
$items = array('user_id', 'password', 'user_name', 'nick_name', 'email_address', 'find_account_question', 'homepage', 'blog', 'birthday', 'signature', 'profile_image', 'image_name', 'image_mark', 'profile_image_max_width', 'profile_image_max_height', 'image_name_max_width', 'image_name_max_height', 'image_mark_max_width', 'image_mark_max_height');
|
||||
$mustRequireds = array('email_address', 'password', 'find_account_question');
|
||||
$extendItems = $oMemberModel->getJoinFormList();
|
||||
foreach($list_order as $key){
|
||||
unset($signupItem);
|
||||
$signupItem->isDefaultForm = in_array($key, $items);
|
||||
|
||||
$signupItem->name = $key;
|
||||
$signupItem->title = $lang->{$key};
|
||||
$signupItem->mustRequired = in_array($key, $mustRequireds);
|
||||
$signupItem->imageType = (strpos($key, 'image') !== false);
|
||||
$signupItem->required = ($all_args->{$key} == 'required');
|
||||
$signupItem->isUse = in_array($key, $usable_list);
|
||||
|
||||
if ($signupItem->imageType){
|
||||
$signupItem->max_width = $all_args->{$key.'_max_width'};
|
||||
$signupItem->max_height = $all_args->{$key.'_max_height'};
|
||||
}
|
||||
|
||||
// set extends form
|
||||
if (!$signupItem->isDefaultForm){
|
||||
$extendItem = $extendItems[$all_args->{$key.'_member_join_form_srl'}];
|
||||
$signupItem->type = $extendItem->type;
|
||||
$signupItem->member_join_form_srl = $extendItem->member_join_form_srl;
|
||||
$signupItem->title = $extendItem->column_title;
|
||||
$signupItem->description = $extendItem->description;
|
||||
|
||||
// check usable value change, required/option
|
||||
if ($signupItem->isUse != ($extendItem->is_active == 'Y') || $signupItem->required != ($extendItem->required == 'Y')){
|
||||
unset($update_args);
|
||||
$update_args->member_join_form_srl = $extendItem->member_join_form_srl;
|
||||
$update_args->is_active = $signupItem->isUse?'Y':'N';
|
||||
$update_args->required = $signupItem->required?'Y':'N';
|
||||
|
||||
$update_output = executeQuery('member.updateJoinForm', $update_args);
|
||||
}
|
||||
unset($extendItem);
|
||||
}
|
||||
$signupForm[] = $signupItem;
|
||||
}
|
||||
$args->signupForm = $signupForm;
|
||||
|
||||
// create Ruleset
|
||||
$this->_createSignupRuleset($signupForm);
|
||||
|
||||
if ($denied_id){
|
||||
$denied_id = explode("\r\n", $denied_id);
|
||||
$denied_list = $oMemberModel->getDeniedIDs();
|
||||
$deniedIDs = array();
|
||||
foreach($denied_list as $denied_info){
|
||||
$deniedIDs[] = $denied_info->user_id;
|
||||
}
|
||||
|
||||
$add_list = array_diff($denied_id, $deniedIDs);
|
||||
$delete_list = array_diff($deniedIDs, $denied_id);
|
||||
|
||||
$oDB = &DB::getInstance();
|
||||
$oDB->begin();
|
||||
|
||||
foreach($add_list as $user_id){
|
||||
$output = $this->insertDeniedID($user_id, '');
|
||||
if(!$output->toBool()){
|
||||
$oDB->rollback();
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
|
||||
foreach($delete_list as $user_id){
|
||||
$output = $this->deleteDeniedID($user_id);
|
||||
if(!$output->toBool()){
|
||||
$oDB->rollback();
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
$oDB->commit();
|
||||
|
||||
}
|
||||
}
|
||||
$output = $oModuleController->updateModuleConfig('member', $args);
|
||||
// default setting end
|
||||
|
||||
if($output->toBool() && !in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) {
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMemberAdminConfig');
|
||||
$this->setRedirectUrl($returnUrl);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
function _createSignupRuleset($signupForm){
|
||||
$xml_file = './files/ruleset/insertMember.xml';
|
||||
$buff = '<?xml version="1.0" encoding="utf-8"?>'
|
||||
.'<ruleset version="1.5.0">'
|
||||
.'<customrules>'
|
||||
.'</customrules>'
|
||||
.'<fields>%s</fields>'
|
||||
.'</ruleset>';
|
||||
|
||||
$fields = array();
|
||||
foreach($signupForm as $formInfo){
|
||||
if ($formInfo->required || $formInfo->mustRequired && $formInfo->name != 'password')
|
||||
$fields[] = sprintf('<field name="%s" required="true" />', $formInfo->name);
|
||||
}
|
||||
|
||||
$xml_buff = sprintf($buff, implode('', $fields));
|
||||
FileHandler::writeFile($xml_file, $xml_buff);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Add information for member administration
|
||||
**/
|
||||
function procMemberAdminInsertConfig() {
|
||||
function _procMemberAdminInsertConfig() {
|
||||
// Get the basic information
|
||||
$args = Context::gets(
|
||||
'webmaster_name', 'webmaster_email',
|
||||
|
|
@ -193,11 +354,10 @@
|
|||
$args->column_type = Context::get('column_type');
|
||||
$args->column_name = strtolower(Context::get('column_name'));
|
||||
$args->column_title = Context::get('column_title');
|
||||
$args->default_value = explode('|@|', Context::get('default_value'));
|
||||
$args->is_active = Context::get('is_active');
|
||||
if(!in_array(strtoupper($args->is_active), array('Y','N'))) $args->is_active = 'N';
|
||||
$args->default_value = explode("\n", str_replace("\r", '', Context::get('default_value')));
|
||||
$args->required = Context::get('required');
|
||||
if(!in_array(strtoupper($args->required), array('Y','N'))) $args->required = 'N';
|
||||
$args->is_active = (isset($args->required));
|
||||
if(!in_array(strtoupper($args->required), array('Y','N')))$args->required = 'N';
|
||||
$args->description = Context::get('description');
|
||||
// Default values
|
||||
if(in_array($args->column_type, array('checkbox','select','radio')) && count($args->default_value) ) {
|
||||
|
|
@ -206,8 +366,10 @@
|
|||
$args->default_value = '';
|
||||
}
|
||||
// Fix if member_join_form_srl exists. Add if not exists.
|
||||
if(!$args->member_join_form_srl){
|
||||
$args->list_order = getNextSequence();
|
||||
$isInsert;
|
||||
if(!$args->member_join_form_srl){
|
||||
$isInsert = true;
|
||||
$args->list_order = $args->member_join_form_srl = getNextSequence();
|
||||
$output = executeQuery('member.insertJoinForm', $args);
|
||||
}else{
|
||||
$output = executeQuery('member.updateJoinForm', $args);
|
||||
|
|
@ -215,16 +377,56 @@
|
|||
|
||||
if(!$output->toBool()) return $output;
|
||||
|
||||
$this->add('act','dispJoinForm');
|
||||
// memberConfig update
|
||||
$signupItem->name = $args->column_name;
|
||||
$signupItem->title = $args->column_title;
|
||||
$signupItem->type = $args->column_type;
|
||||
$signupItem->member_join_form_srl = $args->member_join_form_srl;
|
||||
$signupItem->required = ($args->required == 'Y');
|
||||
$signupItem->isUse = ($args->is_active == 'Y');
|
||||
$signupItem->description = $args->description;
|
||||
|
||||
$oMemberModel = &getModel('member');
|
||||
$config = $oMemberModel->getMemberConfig();
|
||||
|
||||
if($isInsert){
|
||||
$config->signupForm[] = $signupItem;
|
||||
}else{
|
||||
foreach($config->signupForm as $key=>$val){
|
||||
if ($val->member_join_form_srl == $signupItem->member_join_form_srl){
|
||||
$config->signupForm[$key] = $signupItem;
|
||||
}
|
||||
}
|
||||
}
|
||||
$oModuleController = &getController('module');
|
||||
$output = $oModuleController->updateModuleConfig('member', $config);
|
||||
|
||||
$this->setMessage('success_registed');
|
||||
|
||||
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) {
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMemberAdminJoinFormList');
|
||||
header('location:'.$returnUrl);
|
||||
$this->setRedirectUrl($returnUrl);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
function procMemberAdminDeleteJoinForm(){
|
||||
$member_join_form_srl = Context::get('member_join_form_srl');
|
||||
$this->deleteJoinForm($member_join_form_srl);
|
||||
|
||||
$oMemberModel = &getModel('member');
|
||||
$config = $oMemberModel->getMemberConfig();
|
||||
|
||||
foreach($config->signupForm as $key=>$val){
|
||||
if ($val->member_join_form_srl == $member_join_form_srl){
|
||||
unset($config->signupForm[$key]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
$oModuleController = &getController('module');
|
||||
$output = $oModuleController->updateModuleConfig('member', $config);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Move up/down the member join form and modify it
|
||||
**/
|
||||
|
|
@ -253,6 +455,76 @@
|
|||
$this->setMessage($msg_code);
|
||||
}
|
||||
|
||||
/**
|
||||
* selected member manager layer in dispAdminList
|
||||
**/
|
||||
function procMemberAdminSelectedMemberManage(){
|
||||
$var = Context::getRequestVars();
|
||||
$groups = $var->groups;
|
||||
$members = $var->member_srls;
|
||||
|
||||
$oDB = &DB::getInstance();
|
||||
$oDB->begin();
|
||||
|
||||
$oMemberController = &getController('member');
|
||||
foreach($members as $key=>$member_srl){
|
||||
unset($args);
|
||||
$args->member_srl = $member_srl;
|
||||
switch($var->type){
|
||||
case 'modify':{
|
||||
if (count($groups) > 0){
|
||||
$args->site_srl = 0;
|
||||
// One of its members to delete all the group
|
||||
$output = executeQuery('member.deleteMemberGroupMember', $args);
|
||||
if(!$output->toBool()) {
|
||||
$oDB->rollback();
|
||||
return $output;
|
||||
}
|
||||
// Enter one of the loop a
|
||||
foreach($groups as $group_srl) {
|
||||
$output = $oMemberController->addMemberToGroup($args->member_srl,$group_srl);
|
||||
if(!$output->toBool()) {
|
||||
$oDB->rollback();
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($var->denied){
|
||||
$args->denied = $var->denied;
|
||||
$output = executeQuery('member.updateMemberDeniedInfo', $args);
|
||||
if(!$output->toBool()) {
|
||||
$oDB->rollback();
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'delete':{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$message = $var->message;
|
||||
// Send a message
|
||||
if($message) {
|
||||
$oCommunicationController = &getController('communication');
|
||||
|
||||
$logged_info = Context::get('logged_info');
|
||||
$title = cut_str($message,10,'...');
|
||||
$sender_member_srl = $logged_info->member_srl;
|
||||
|
||||
foreach($members as $member_srl){
|
||||
$oCommunicationController->sendMessage($sender_member_srl, $member_srl, $title, $message, false);
|
||||
}
|
||||
}
|
||||
|
||||
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) {
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMemberAdminList');
|
||||
$this->setRedirectUrl($returnUrl);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Delete the selected members
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -159,5 +159,30 @@
|
|||
|
||||
return count($output->data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Return add join Form
|
||||
**/
|
||||
function getMemberAdminInsertJoinForm() {
|
||||
$member_join_form_srl = Context::get('member_join_form_srl');
|
||||
|
||||
$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){
|
||||
$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', 'insert_join_form');
|
||||
|
||||
$this->add('tpl', str_replace("\n"," ",$tpl));
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -60,10 +60,55 @@
|
|||
* @brief default configuration for member management
|
||||
**/
|
||||
function dispMemberAdminConfig() {
|
||||
global $lang;
|
||||
// retrieve configuration via module model instance
|
||||
$oModuleModel = &getModel('module');
|
||||
$oMemberModel = &getModel('member');
|
||||
$config = $oMemberModel->getMemberConfig();
|
||||
|
||||
// Get join form list which is additionally set
|
||||
$extendItems = $oMemberModel->getJoinFormList();
|
||||
|
||||
// check signup form ordering info
|
||||
if (!$config->signupForm || !is_array($config->signupForm)){
|
||||
$items = array('user_id', 'password', 'user_name', 'nick_name', 'email_address', 'find_account_question', 'homepage', 'blog', 'birthday', 'signature', 'profile_image', 'image_name', 'image_mark');
|
||||
$mustRequireds = array('email_address', 'password', 'find_account_question');
|
||||
$orgRequireds = array('email_address', 'password', 'find_account_question', 'user_id', 'nick_name', 'user_name');
|
||||
$orgUse = array('email_address', 'password', 'find_account_question', 'user_id', 'nick_name', 'user_name', 'homepage', 'blog', 'birthday');
|
||||
$list_order = array();
|
||||
foreach($items as $key){
|
||||
unset($signupItem);
|
||||
$signupItem->isDefaultForm = true;
|
||||
$signupItem->name = $key;
|
||||
$signupItem->title = $lang->{$key};
|
||||
$signupItem->mustRequired = in_array($key, $mustRequireds);
|
||||
$signupItem->imageType = (strpos($key, 'image') !== false);
|
||||
$signupItem->required = in_array($key, $orgRequireds);
|
||||
$signupItem->isUse = ($config->{$key} == 'Y') || in_array($key, $orgUse);
|
||||
if ($signupItem->imageType){
|
||||
$signupItem->max_width = $config->{$key.'_max_width'};
|
||||
$signupItem->max_height = $config->{$key.'_max_height'};
|
||||
}
|
||||
$list_order[] = $signupItem;
|
||||
}
|
||||
foreach($extendItems as $form_srl=>$item_info){
|
||||
unset($signupItem);
|
||||
$signupItem->name = $item_info->column_name;
|
||||
$signupItem->title = $item_info->column_title;
|
||||
$signupItem->type = $item_info->column_type;
|
||||
$signupItem->member_join_form_srl = $form_srl;
|
||||
$signupItem->mustRequired = in_array($key, $mustRequireds);
|
||||
$signupItem->required = ($item_info->required == 'Y');
|
||||
$signupItem->isUse = ($item_info->is_active == 'Y');
|
||||
$signupItem->description = $item_info->description;
|
||||
if ($signupItem->imageType){
|
||||
$signupItem->max_width = $config->{$key.'_max_width'};
|
||||
$signupItem->max_height = $config->{$key.'_max_height'};
|
||||
}
|
||||
$list_order[] = $signupItem;
|
||||
}
|
||||
$config->signupForm = $list_order;
|
||||
}
|
||||
Context::set('config',$config);
|
||||
|
||||
// list of skins for member module
|
||||
|
|
@ -86,6 +131,14 @@
|
|||
$editor = $oEditorModel->getEditor(0, $option);
|
||||
Context::set('editor', $editor);
|
||||
|
||||
// get denied ID list
|
||||
$denied_list = $oMemberModel->getDeniedIDs();
|
||||
$deniedIDs = array();
|
||||
foreach($denied_list as $denied_info){
|
||||
$deniedIDs[] = $denied_info->user_id;
|
||||
}
|
||||
Context::set('deniedIDs', $deniedIDs);
|
||||
|
||||
$this->setTemplateFile('member_config');
|
||||
}
|
||||
|
||||
|
|
@ -97,7 +150,11 @@
|
|||
$oModuleModel = &getModel('module');
|
||||
$member_config = $oModuleModel->getModuleConfig('member');
|
||||
Context::set('member_config', $member_config);
|
||||
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($this->memberInfo));
|
||||
$extendForm = $oMemberModel->getCombineJoinForm($this->memberInfo);
|
||||
Context::set('extend_form_list', $extendForm);
|
||||
|
||||
$memberInfo = get_object_vars(Context::get('member_info'));
|
||||
Context::set('memberInfo', $memberInfo);
|
||||
$this->setTemplateFile('member_info');
|
||||
}
|
||||
|
||||
|
|
@ -107,14 +164,14 @@
|
|||
function dispMemberAdminInsert() {
|
||||
// retrieve extend form
|
||||
$oMemberModel = &getModel('member');
|
||||
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($this->memberInfo));
|
||||
$extend_form_list = $oMemberModel->getCombineJoinForm($this->memberInfo);
|
||||
|
||||
$memberInfo = Context::get('member_info');
|
||||
$memberInfo->signature = $oMemberModel->getSignature($this->memberInfo->member_srl);
|
||||
Context::set('member_info', $memberInfo);
|
||||
|
||||
// get an editor for the signature
|
||||
if($this->memberInfo->member_srl) {
|
||||
if($memberInfo->member_srl) {
|
||||
$oEditorModel = &getModel('editor');
|
||||
$option->primary_key_name = 'member_srl';
|
||||
$option->content_key_name = 'signature';
|
||||
|
|
@ -128,6 +185,185 @@
|
|||
Context::set('editor', $editor);
|
||||
}
|
||||
|
||||
$memberInfo = get_object_vars($memberInfo);
|
||||
|
||||
$member_config = $oMemberModel->getMemberConfig();
|
||||
$formTags = array();
|
||||
global $lang;
|
||||
foreach($member_config->signupForm as $no=>$formInfo){
|
||||
if (!$formInfo->isUse)continue;
|
||||
unset($formTag);
|
||||
$inputTag = '';
|
||||
$formTag->title = $formInfo->title;
|
||||
if ($formInfo->required || $formInfo->mustRequired && $formInfo->name != 'password') $formTag->title = '<em style="color:red">* </em>'.$formTag->title;
|
||||
$formTag->name = $formInfo->name;
|
||||
if($formInfo->isDefaultForm){
|
||||
if($formInfo->imageType){
|
||||
if($formInfo->name == 'profile_image'){
|
||||
$target = $memberInfo['profile_image'];
|
||||
$functionName = 'doDeleteProfileImage';
|
||||
}elseif($formInfo->name == 'image_name'){
|
||||
$target = $memberInfo['image_name'];
|
||||
$functionName = 'doDeleteImageName';
|
||||
}elseif($formInfo->name == 'image_mark'){
|
||||
$target = $memberInfo['image_mark'];
|
||||
$functionName = 'doDeleteImageMark';
|
||||
}
|
||||
if($target->src){
|
||||
$inputTag = sprintf('<p class="a"><img src="%s" alt="%s" width="80" height="80" /> <button type="button" class="text" onclick="%s(%d);return false;">%s</button></p>'
|
||||
,$target->src
|
||||
,$formInfo->title
|
||||
,$functionName
|
||||
,$memberInfo['member_srl']
|
||||
,$lang->cmd_delete);
|
||||
}
|
||||
$inputTag .= sprintf('<p class="a"><input type="file" name="%s" id="%s" value="" /> <span class="desc">%s : %dpx, %s : %dpx</span></p>'
|
||||
,$formInfo->name
|
||||
,$formInfo->name
|
||||
,$lang->{$formInfo->name.'_max_width'}
|
||||
,$member_config->{$formInfo->name.'_max_width'}
|
||||
,$lang->{$formInfo->name.'_max_height'}
|
||||
,$member_config->{$formInfo->name.'_max_height'});
|
||||
}//end imageType
|
||||
elseif($formInfo->name == 'birthday'){
|
||||
$inputTag = sprintf('<input type="hidden" name="birthday" id="date_birthday" value="%s" /><input type="text" class="inputDate" id="birthday" value="%s" readonly="readonly" /><span class="button"><input type="button" value="%s" class="dateRemover" /></span>'
|
||||
,$memberInfo['birthday']
|
||||
,zdate($memberInfo['birthday'], 'Y-m-d', false)
|
||||
,$lang->cmd_delete);
|
||||
}elseif($formInfo->name == 'password'){
|
||||
$inputTag = sprintf('<input type="text" name="reset_%s" value="" />'
|
||||
,$formInfo->name);
|
||||
}elseif($formInfo->name == 'find_account_question'){
|
||||
$inputTag = '<select name="find_account_question">%s</select>';
|
||||
$optionTag = array();
|
||||
foreach($lang->find_account_question_items as $key=>$val){
|
||||
if($key == $memberInfo['find_account_question']) $selected = 'selected="selected"';
|
||||
else $selected = '';
|
||||
$optionTag[] = sprintf('<option value="%s" %s >%s</option>'
|
||||
,$key
|
||||
,$selected
|
||||
,$val);
|
||||
}
|
||||
$inputTag = sprintf($inputTag, implode('', $optionTag));
|
||||
$inputTag .= '<input type="text" name="find_account_answer" value="'.$memberInfo['find_account_answer'].'" />';
|
||||
}else{
|
||||
$inputTag = sprintf('<input type="text" name="%s" value="%s" />'
|
||||
,$formInfo->name
|
||||
,$memberInfo[$formInfo->name]);
|
||||
}
|
||||
}//end isDefaultForm
|
||||
else{
|
||||
$extendForm = $extend_form_list[$formInfo->member_join_form_srl];
|
||||
if($extendForm->column_type == 'text' || $extendForm->column_type == 'homepage' || $extendForm->column_type == 'email_address'){
|
||||
$inputTag = sprintf('<input type="text" name="%s" value="%s" />'
|
||||
,$formInfo->name
|
||||
,$extendForm->value);
|
||||
}elseif($extendForm->column_type == 'tel'){
|
||||
$inputTag = sprintf('<input type="text" name="%s" value="%d" size="4" />-<input type="text" name="%s" value="%d" size="4" />-<input type="text" name="%s" value="%d" size="4" />'
|
||||
,$formInfo->name
|
||||
,$extendForm->value[0]
|
||||
,$formInfo->name
|
||||
,$extendForm->value[1]
|
||||
,$formInfo->name
|
||||
,$extendForm->value[2]);
|
||||
}elseif($extendForm->column_type == 'textarea'){
|
||||
$inputTag = sprintf('<textarea name="%s">%s</textarea>'
|
||||
,$formInfo->name
|
||||
,$extendForm->value);
|
||||
|
||||
}elseif($extendForm->column_type == 'checkbox'){
|
||||
if($extendForm->default_value){
|
||||
foreach($extendForm->default_value as $v){
|
||||
if(is_array($extendForm->value) && in_array($v, $extendForm->value))$checked = 'checked="checked"';
|
||||
$inputTag .= sprintf('<input type="checkbox" id="%s" name="%s" value="%s" %s /><label for="%s">%s</label>'
|
||||
,$extendForm->column_name
|
||||
,$extendForm->column_name
|
||||
,htmlspecialchars($v)
|
||||
,$checked
|
||||
,$extendForm->column_name
|
||||
,$v);
|
||||
}
|
||||
}
|
||||
}elseif($extendForm->column_type == 'radio'){
|
||||
if($extendForm->default_value){
|
||||
$inputTag = '<ul class="radio">%s</ul>';
|
||||
$optionTag = array();
|
||||
foreach($extendForm->default_value as $v){
|
||||
if($extendForm->value == $v)$checked = 'checked="checked"';
|
||||
else $checked = '';
|
||||
$optionTag[] = sprintf('<li><input type="radio" name="%s" value="%s" %s />%s</li>'
|
||||
,$extendForm->column_name
|
||||
,$v
|
||||
,$checked
|
||||
,$v);
|
||||
}
|
||||
$inputTag = sprintf($inputTag, implode('', $optionTag));
|
||||
}
|
||||
}elseif($extendForm->column_type == 'select'){
|
||||
$inputTag = '<select name="'.$formInfo->name.'">%s</select>';
|
||||
$optionTag = array();
|
||||
if($extendForm->default_value){
|
||||
foreach($extendForm->default_value as $v){
|
||||
if($v == $extendForm->value) $selected = 'selected="selected"';
|
||||
else $selected = '';
|
||||
$optionTag[] = sprintf('<option value="%s" %s >%s</option>'
|
||||
,$v
|
||||
,$selected
|
||||
,$v);
|
||||
}
|
||||
}
|
||||
$inputTag = sprintf($inputTag, implode('', $optionTag));
|
||||
}elseif($extendForm->column_type == 'kr_zip'){
|
||||
$content = <<<EOD
|
||||
<div class="krZip">
|
||||
<div class="item" id="zone_address_search_%s" %s>
|
||||
<label for="krzip_address1_%s" class="iLabel">%s</label>
|
||||
<input type="text" id="krzip_address1_%s" class="iText w400" value="" />
|
||||
<span class="button"><button type="button">%s</button></span>
|
||||
</div>
|
||||
<div class="item" id="zone_address_list_%s" style="display:none">
|
||||
<select name="%s[]" id="address_list_%s" class="w400"></select>
|
||||
<span class="button"><button type="button">%s</button></span>
|
||||
</div>
|
||||
<div class="item address2">
|
||||
<label for="krzip_address2_%s" class="iLabel">%s</label>
|
||||
<input type="text" name="%s[]" id="krzip_address2_%s" value="%s" class="iText w400" />
|
||||
</div>
|
||||
</div>
|
||||
<load target="js/krzip_search.js" type="body" />
|
||||
<script type="text/javascript">jQuery(function($){ $.krzip('%s') });</script>
|
||||
EOD;
|
||||
$inputTag = sprintf($content
|
||||
,$extendForm->column_name, $extendForm->value[0]?'style="display:none"':''
|
||||
,$extendForm->column_name, $lang->msg_kr_address
|
||||
,$extendForm->column_name
|
||||
,$lang->cmd_search
|
||||
,$extendForm->column_name
|
||||
,$extendForm->column_name, $extendForm->column_name
|
||||
,$lang->cmd_search_again
|
||||
,$extendForm->column_name, $lang->msg_kr_address_etc
|
||||
,$extendForm->column_name, $extendForm->column_name, $extendForm->value[1]
|
||||
,$extendForm->column_name);
|
||||
}elseif($extendForm->column_type == 'jp_zip'){
|
||||
$inputTag = sprintf('<input type="text" name="%s" value="%s" />'
|
||||
,$extendForm->column_name
|
||||
,$extendForm->value);
|
||||
}elseif($extendForm->column_type == 'date'){
|
||||
$inputTag = sprintf('<input type="hidden" name="%s" id="date_%s" value="%s" /><input type="text" class="inputDate" value="%s" readonly="readonly" /><span class="button"><input type="button" value="%s" class="dateRemover" /></span>'
|
||||
,$extendForm->column_name
|
||||
,$extendForm->column_name
|
||||
,$extendForm->value
|
||||
,zdate($extendForm->value, 'Y-m-d')
|
||||
,$lang->cmd_delete);
|
||||
}
|
||||
|
||||
if($extendForm->description)
|
||||
$inputTag .= '<p style="color:#999;">'.htmlspecialchars($extendForm->description).'</p>';
|
||||
}
|
||||
$formTag->inputTag = $inputTag;
|
||||
$formTags[] = $formTag;
|
||||
}
|
||||
Context::set('formTags', $formTags);
|
||||
$this->setTemplateFile('insert_member');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -506,6 +506,9 @@
|
|||
// Execute insert or update depending on the value of member_srl
|
||||
$output = $this->insertMember($args);
|
||||
if(!$output->toBool()) return $output;
|
||||
|
||||
// insert ProfileImage, ImageName, ImageMark
|
||||
debugPrint($all_args);
|
||||
// If a virtual site, join the site
|
||||
$site_module_info = Context::get('site_module_info');
|
||||
if($site_module_info->site_srl > 0) {
|
||||
|
|
|
|||
|
|
@ -509,6 +509,12 @@
|
|||
return $this->denied_id_list;
|
||||
}
|
||||
|
||||
function getDeniedIDs(){
|
||||
$output = executeQueryArray('member.getDeniedIDs');
|
||||
if(!$output->toBool()) return array();
|
||||
return $output->data;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Verify if ID is denied
|
||||
**/
|
||||
|
|
|
|||
8
modules/member/queries/getDeniedIDs.xml
Normal file
8
modules/member/queries/getDeniedIDs.xml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<query id="getDeniedIDs" action="select">
|
||||
<tables>
|
||||
<table name="member_denied_user_id" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="*" />
|
||||
</columns>
|
||||
</query>
|
||||
11
modules/member/queries/updateMemberDeniedInfo.xml
Normal file
11
modules/member/queries/updateMemberDeniedInfo.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<query id="updatememberDeniedInfo" action="update">
|
||||
<tables>
|
||||
<table name="member" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="denied" var="denied" notnull="notnull" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="member_srl" var="member_srl" notnull="notnull" filter="number" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
@ -4,5 +4,6 @@
|
|||
</customrules>
|
||||
<fields>
|
||||
<field name="webmaster_name" required="true" length="2:40" />
|
||||
<field name="webmaster_email" length="1:200" rule="email" />
|
||||
</fields>
|
||||
</ruleset>
|
||||
|
|
|
|||
|
|
@ -1,89 +1,52 @@
|
|||
<!--#include("header.html")-->
|
||||
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form ruleset="insertJoinForm" id="fo_join_form" action="./" method="post">
|
||||
<input type="hidden" name="act" value="procMemberAdminInsertJoinForm" />
|
||||
<input type="hidden" name="member_join_form_srl" value="{$join_form->member_join_form_srl}" />
|
||||
<input type="hidden" name="default_value" value="<!--@if(is_array($join_form->default_value))-->{implode($join_form->default_value,'|@|')}<!--@end-->" />
|
||||
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<tr class="row2" id="zone_column_type">
|
||||
<th scope="row"><div>{$lang->column_type}</div></th>
|
||||
<td>
|
||||
<select name="column_type" onchange="doShowJoinFormValue(this)">
|
||||
<!--@foreach($lang->column_type_list as $key => $val)-->
|
||||
<option value="{$key}" <!--@if($join_form->column_type==$key)-->selected="selected"<!--@end-->>{$lang->column_type_list[$key]}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<p>{$lang->about_column_type}</p>
|
||||
|
||||
<div id="zone_default_value" style="<!--@if($join_form->default_value)-->display:block;<!--@else-->display:none<!--@end-->">
|
||||
|
||||
<div>
|
||||
<select name="default_value_list" size="8" style="width:400px;height:80px;" id="default_value_listup">
|
||||
<!--@if($join_form->default_value)-->
|
||||
<!--@foreach($join_form->default_value as $value_key => $value_val)-->
|
||||
<!--@if($value_val)-->
|
||||
<option value="{$value_val}">{$value_val}</option>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</select>
|
||||
</div>
|
||||
<div class="gap1">
|
||||
<a href="#" onclick="doEditDefaultValue(this,'up');return false;" class="button"><span>{$lang->cmd_move_up}</span></a>
|
||||
<a href="#" onclick="doEditDefaultValue(this,'down');return false;" class="button"><span>{$lang->cmd_move_down}</span></a>
|
||||
<a href="#" onclick="doEditDefaultValue(this, 'delete');return false;" class="button black"><span>{$lang->cmd_delete}</span></a>
|
||||
</div>
|
||||
<div class="gap1">
|
||||
<input type="text" name="default_value_item" id="default_value_item" class="inputTypeText w400" />
|
||||
<a href="#" onclick="doEditDefaultValue(this, 'insert');return false;" class="button"><span>{$lang->cmd_insert}</span></a>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->column_name}</div></th>
|
||||
<td>
|
||||
<input type="text" name="column_name" value="{htmlspecialchars($join_form->column_name)}" class="inputTypeText w400" />
|
||||
<p>{$lang->about_column_name}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->column_title}</div></th>
|
||||
<td>
|
||||
<input type="text" name="column_title" value="{htmlspecialchars($join_form->column_title)}" class="inputTypeText w400" />
|
||||
<p>{$lang->about_column_title}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->is_active}</div></th>
|
||||
<td>
|
||||
<input type="checkbox" name="is_active" value="Y" <!--@if($join_form->is_active=='Y')-->checked="checked"<!--@end-->/>
|
||||
<p>{$lang->about_active}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->is_required}</div></th>
|
||||
<td>
|
||||
<input type="checkbox" name="required" value="Y" <!--@if($join_form->required=='Y')-->checked="checked"<!--@end-->/>
|
||||
<p>{$lang->about_required}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->description}</div></th>
|
||||
<td>
|
||||
<textarea name="description" class="inputTypeTextArea w400">{htmlspecialchars($join_form->description)}</textarea>
|
||||
<p>{$lang->about_form_description}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th colspan="2" class="button">
|
||||
<span class="button black strong"><input type="submit" value="{$lang->cmd_registration}" /></span>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
<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_name">{$lang->column_name} *</label></p>
|
||||
<p class="a"><input type="text" id="column_name" name="column_name" value="{$formInfo->column_name}" /></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">
|
||||
<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="5" cols="42" id="multiSelect" name="default_value">{implode('<enter>', $default_value)}</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');
|
||||
{@$default_value_types = array('checkbox', 'radio', 'select')}
|
||||
<!--@if(!in_array($formInfo->column_type, $default_value_types))-->
|
||||
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="5" 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>
|
||||
|
|
|
|||
|
|
@ -1,277 +1,89 @@
|
|||
<!--#include("header.html")-->
|
||||
<!--%import("css/member_admin.css")-->
|
||||
|
||||
<!--// datepicker javascript plugin load -->
|
||||
<load target="js/member_admin.js" />
|
||||
<load target="js/krzip_search.js" />
|
||||
<!--%load_js_plugin("ui.datepicker")-->
|
||||
<!--%load_js_plugin("filebox")-->
|
||||
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form id="fo_insert_member" action="./" method="post">
|
||||
<input type="hidden" name="act" value="procMemberAdminInsert" />
|
||||
<input type="hidden" name="page" value="{$page}" />
|
||||
<input type="hidden" name="member_srl" value="{$member_info->member_srl}" />
|
||||
<input type="hidden" name="signature" value="{htmlspecialchars($member_info->signature)}" />
|
||||
<!--@if($member_info->member_srl)-->
|
||||
<input type="hidden" name="user_id" value="{htmlspecialchars($member_info->user_id)}" />
|
||||
<!--@end-->
|
||||
|
||||
|
||||
<h4 class="xeAdmin">{$lang->member_default_info}</h4>
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->user_id}</div></th>
|
||||
<td class="wide">
|
||||
<!--@if($member_info->member_srl)-->
|
||||
{htmlspecialchars($member_info->user_id)}
|
||||
<input type="hidden" name="user_id" value="{$member_info->user_id}" class="inputTypeText" />
|
||||
<!--@else-->
|
||||
<input type="text" name="user_id" value="" class="inputTypeText" />
|
||||
<p>{$lang->about_user_id}</p>
|
||||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->password}</div></th>
|
||||
<td>
|
||||
<input type="text" name="password" value="" class="inputTypeText" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->user_name}</div></th>
|
||||
<td>
|
||||
<input type="text" name="user_name" value="{htmlspecialchars($member_info->user_name)}" class="inputTypeText" />
|
||||
<p>{$lang->about_user_name}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->nick_name}</div></th>
|
||||
<td>
|
||||
<input type="text" name="nick_name" value="{htmlspecialchars($member_info->nick_name)}" class="inputTypeText" />
|
||||
<p>{$lang->about_nick_name}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->email_address}</div></th>
|
||||
<td>
|
||||
<input type="text" name="email_address" value="{htmlspecialchars($member_info->email_address)}" class="inputTypeText" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->homepage}</div></th>
|
||||
<td>
|
||||
<input type="text" name="homepage" value="{htmlspecialchars($member_info->homepage)}" class="inputTypeText"/>
|
||||
<p>{$lang->about_homepage}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->blog}</div></th>
|
||||
<td>
|
||||
<input type="text" name="blog" value="{htmlspecialchars($member_info->blog)}" class="inputTypeText" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->birthday}</div></th>
|
||||
<td>
|
||||
<input type="hidden" name="birthday" id="date_birthday" value="{$member_info->birthday}" />
|
||||
<input type="text" class="inputDate" value="{zdate($member_info->birthday,'Y-m-d',false)}" readonly="readonly" />
|
||||
<span class="button"><input type="button" value="{$lang->cmd_delete}" class="dateRemover" /></span>
|
||||
<p>{$lang->about_birthday}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->allow_mailing}</div></th>
|
||||
<td>
|
||||
<input type="checkbox" name="allow_mailing" value="Y" <!--@if($member_info->allow_mailing!='N')-->checked="checked"<!--@end-->/>
|
||||
{$lang->about_allow_mailing}
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->allow_message}</div></th>
|
||||
<td>
|
||||
<select name="allow_message">
|
||||
<!--@foreach($lang->allow_message_type as $key => $val)-->
|
||||
<option value="{$key}" <!--@if($member_info->allow_message == $key)-->selected="selected"<!--@end-->>{$val}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<p>{$lang->about_allow_message}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<!--@if($member_srl && $editor)-->
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->signature}</div></th>
|
||||
<td>{$editor}</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->denied}</div></th>
|
||||
<td>
|
||||
<input type="checkbox" name="denied" value="Y" <!--@if($member_info->denied=='Y')-->checked="checked"<!--@end-->/>
|
||||
<p>{$lang->about_denied}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->limit_date}</div></th>
|
||||
<td>
|
||||
<input type="hidden" name="limit_date" id="date_limit_date" value="{$member_info->limit_date}" />
|
||||
<input type="text" class="inputDate" value="{zdate($member_info->limit_date,'Y-m-d',false)}" readonly="readonly" />
|
||||
<span class="button"><input type="button" value="{$lang->cmd_delete}" class="dateRemover" /></span>
|
||||
|
||||
<p class="clear">{$lang->about_limit_date}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->is_admin}</div></th>
|
||||
<td>
|
||||
<input type="checkbox" name="is_admin" value="Y" <!--@if($member_info->is_admin=='Y')-->checked="checked"<!--@end-->/>
|
||||
<p>{$lang->about_is_admin}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->description}</div></th>
|
||||
<td>
|
||||
<textarea name="description" class="inputTypeTextArea fullWidth">{htmlspecialchars($member_info->description)}</textarea>
|
||||
<p>{$lang->about_member_description}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->group}</div></th>
|
||||
<td>
|
||||
<!--@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--> class="checkbox" />
|
||||
<label for="group_{$key}">{$val->title}</label>
|
||||
<!--@end-->
|
||||
<p>{$lang->about_group}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!--@if($extend_form_list)-->
|
||||
|
||||
<h4 class="xeAdmin">{$lang->member_extend_info}</h4>
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<!--@foreach($extend_form_list as $key => $val)-->
|
||||
<!--@if($val->is_active=='Y')-->
|
||||
<tr class="row{$cycle_idx}">
|
||||
<th scope="row"><div>
|
||||
{htmlspecialchars($val->column_title)}
|
||||
<!--@if($val->required=='Y')-->*<!--@end-->
|
||||
<div class="publicItem">
|
||||
<input type="checkbox" class="checkbox" name="open_{$val->column_name}" <!--@if($val->is_opened)-->checked="checked"<!--@end--> value="Y" id="open_{$val->column_name}" />
|
||||
<label for="open_{$val->column_name}">{$lang->public}</label>
|
||||
</div>
|
||||
</div></th>
|
||||
<td class="wide">
|
||||
<!--// 일반 text -->
|
||||
<!--@if($val->column_type == 'text')-->
|
||||
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
|
||||
|
||||
<!--// 홈페이지 주소 -->
|
||||
<!--@elseif($val->column_type == 'homepage')-->
|
||||
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
|
||||
|
||||
<!--// Email 주소 -->
|
||||
<!--@elseif($val->column_type == 'email_address')-->
|
||||
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
|
||||
|
||||
<!--// 전화번호 -->
|
||||
<!--@elseif($val->column_type == 'tel')-->
|
||||
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[0])}" size="4" class="inputTypeText" />-
|
||||
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[1])}" size="4" class="inputTypeText" />-
|
||||
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[2])}" size="4" class="inputTypeText" />
|
||||
|
||||
<!--// textarea -->
|
||||
<!--@elseif($val->column_type == 'textarea')-->
|
||||
<textarea name="{$val->column_name}" class="inputTypeTextArea w400">{htmlspecialchars($val->value)}</textarea>
|
||||
|
||||
<!--// 다중 선택 -->
|
||||
<!--@elseif($val->column_type == 'checkbox')-->
|
||||
<!--@if($val->default_value)-->
|
||||
<!--@foreach($val->default_value as $v)-->
|
||||
<input type="checkbox" name="{$val->column_name}" value="{htmlspecialchars($v)}" <!--@if(is_array($val->value)&&in_array($v, $val->value))-->checked="checked"<!--@end-->/> {$v}
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
|
||||
<!--@elseif($val->column_type == 'radio')-->
|
||||
<!--@if($val->default_value)-->
|
||||
<ul class="radio">
|
||||
<!--@foreach($val->default_value as $v)-->
|
||||
<li><input type="radio" name="{$val->column_name}" value="{$v}" <!--@if($val->value == $v)-->checked="checked"<!--@end-->/>{$v}</li>
|
||||
<!--@end-->
|
||||
</ul>
|
||||
<!--@end-->
|
||||
|
||||
|
||||
<!--// 단일 선택 -->
|
||||
<!--@elseif($val->column_type == 'select')-->
|
||||
<select name="{$val->column_name}">
|
||||
<!--@if($val->default_value)-->
|
||||
<!--@foreach($val->default_value as $v)-->
|
||||
<option value="{$v}" <!--@if($v == $val->value)-->selected="selected"<!--@end-->>{$v}</option>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</select>
|
||||
|
||||
<!--// 한국 주소 검색 -->
|
||||
<!--@elseif($val->column_type == 'kr_zip')-->
|
||||
<div class="krZip">
|
||||
<div class="item" id="zone_address_search_{$val->column_name}" style="display:none"|cond="$val->value[0]">
|
||||
<label for="krzip_address1_{$val->column_name}" class="iLabel">{$lang->msg_kr_address}</label>
|
||||
<input type="text" id="krzip_address1_{$val->column_name}" class="iText w400" value="" />
|
||||
<span class="button"><button type="button">{$lang->cmd_search}</button></span>
|
||||
</div>
|
||||
<div class="item" id="zone_address_list_{$val->column_name}" style="display:none">
|
||||
<select name="{$val->column_name}[]" id="address_list_{$val->column_name}" class="w400"></select>
|
||||
<span class="button"><button type="button">{$lang->cmd_search_again}</button></span>
|
||||
</div>
|
||||
<div class="item address2">
|
||||
<label for="krzip_address2_{$val->column_name}" class="iLabel">{$lang->msg_kr_address_etc}</label>
|
||||
<input type="text" name="{$val->column_name}[]" id="krzip_address2_{$val->column_name}" value="{htmlspecialchars($val->value[1])}" class="iText w400" />
|
||||
</div>
|
||||
</div>
|
||||
<load target="js/krzip_search.js" type="body" />
|
||||
<script type="text/javascript">jQuery(function($){ $.krzip('{$val->column_name}') });</script>
|
||||
<!--// 일본 주소 검색 -->
|
||||
<!--@elseif($val->column_type == 'jp_zip')-->
|
||||
<input type="text" name="{$val->column_name}" value="{$val->value}" class="inputTypeText w400" />
|
||||
|
||||
<!--// 날짜 입력 -->
|
||||
<!--@elseif($val->column_type == 'date')-->
|
||||
<input type="hidden" name="{$val->column_name}" id="date_{$val->column_name}" value="{$val->value}" />
|
||||
<input type="text" class="inputDate" value="{zdate($val->value,"Y-m-d")}" />
|
||||
|
||||
|
||||
<!--@end-->
|
||||
<!--@if($val->description)--><p class="clear">{htmlspecialchars($val->description)}</p><!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</table>
|
||||
<!--@end-->
|
||||
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="button">
|
||||
<span class="button black strong"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
|
||||
<!--@if($member_srl)-->
|
||||
<a href="{getUrl('act','dispMemberAdminInfo')}" class="button"><span>{$lang->cmd_cancel}</span></a>
|
||||
<!--@else-->
|
||||
<a href="{getUrl('act','dispMemberAdminList')}" class="button"><span>{$lang->cmd_cancel}</span></a>
|
||||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<div class="content" id="content">
|
||||
<form action="./" class="form" ruleset="@insertMember">
|
||||
<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)}" />
|
||||
<h1 class="h1">{$lang->member_default_info}</h1>
|
||||
<ul>
|
||||
<li loop="$formTags=>$formTag">
|
||||
<p class="q"><label for="id">{$formTag->title}</label></p>
|
||||
<p class="a" cond="$formTag->name != 'signature'">{$formTag->inputTag}</p>
|
||||
<p class="a" cond="$formTag->name =='signature'">{$editor}</p>
|
||||
</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">
|
||||
<select name="allow_message">
|
||||
<option loop="$lang->allow_message_type=>$key,$val" value="{$key}" selected="selected"|cond="$member_info->allow_message == $key">{$val}</option>
|
||||
</select>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->denied}</p>
|
||||
<p class="a">
|
||||
<input type="radio" name="denied" id="appoval" value="N" checked="checked"|cond="$member_info->denied != 'Y'" > <label for="appoval">{$lang->use}</label>
|
||||
<input type="radio" name="denied" id="deny" value="Y" checked="checked"|cond="$member_info->denied == 'Y'" > <label for="deny">{$lang->denied}</label>
|
||||
<p>{$lang->about_denied}</p>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->limit_date}</p>
|
||||
<p class="a">
|
||||
<input type="hidden" name="limit_date" id="date_limit_date" value="{$member_info->limit_date}" />
|
||||
<input type="text" class="inputDate" value="{zdate($member_info->limit_date,'Y-m-d',false)}" readonly="readonly" />
|
||||
<span class="button"><input type="button" value="{$lang->cmd_delete}" class="dateRemover" /></span>
|
||||
|
||||
<p>{$lang->about_limit_date}</p>
|
||||
</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>{$lang->about_is_admin}</p>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->description}</p>
|
||||
<p class="a">
|
||||
<textarea name="description" cols="42" rows="5">{htmlspecialchars($member_info->description)}</textarea>
|
||||
<p>{$lang->about_member_description}</p>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="group">Group</label></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--> class="checkbox" />
|
||||
<label for="group_{$key}">{$val->title}</label>
|
||||
<!--@end-->
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="btnArea">
|
||||
<span class="btn medium"><input type="submit" value="Save" /></span>
|
||||
</div>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
(function($){
|
||||
$(function(){
|
||||
var option = { changeMonth: true, changeYear: true, gotoCurrent: false,yearRange:'-100:+10', onSelect: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,""))}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -266,29 +266,6 @@ function doDeleteImageMark(member_srl) {
|
|||
}
|
||||
|
||||
|
||||
/* 멤버 스킨 컬러셋 구해옴 */
|
||||
function doGetSkinColorset(skin) {
|
||||
var params = {skin:skin};
|
||||
var response_tags = ['error','message','tpl'];
|
||||
|
||||
function on_complete(ret) {
|
||||
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 doManageMemberGroup() {
|
||||
|
|
|
|||
112
modules/member/tpl/js/member_admin_config.js
Normal file
112
modules/member/tpl/js/member_admin_config.js
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
/* 멤버 스킨 컬러셋 구해옴 */
|
||||
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']
|
||||
);
|
||||
}
|
||||
|
||||
jQuery(function($){
|
||||
// hide form if enable_join is setted "No"
|
||||
var suSetting = $('fieldset.suSetting'); // 회원가입 설정
|
||||
var suForm = $('fieldset.suForm'); // 회원가입 양식
|
||||
var isEnable = suSetting.find(':radio[name=enable_join]:checked').val();
|
||||
if (isEnable == 'N'){
|
||||
suSetting.find('>ul>li:gt(0)').hide();
|
||||
suForm.hide();
|
||||
}
|
||||
|
||||
suSetting.find(':radio[name=enable_join]').change(function(){
|
||||
if($('#enable_join_yes').is(':checked')){
|
||||
// 회원 가입을 허용하지 않는 경우 불필요한 항목을 모두 감춘다
|
||||
suSetting.find('>ul>li:gt(0)').slideDown(200);
|
||||
suForm.slideDown(200);
|
||||
} else {
|
||||
// 회원 가입을 허용하는 경우 필요한 항목을 모두 펼친다
|
||||
suSetting.find('>ul>li:gt(0)').slideUp(200);
|
||||
suForm.slideUp(200);
|
||||
}
|
||||
});
|
||||
suForm.find(':checkbox').each(function(){
|
||||
var $i = $(this);
|
||||
$i.change(function(){
|
||||
if($i.is(':checked')){
|
||||
$i.parent('td').next('td')
|
||||
.find(':radio, :text')
|
||||
.removeAttr('disabled')
|
||||
.end()
|
||||
.find(':radio[value=option]').attr('checked', 'checked');
|
||||
|
||||
} else {
|
||||
$i.parent('td').next('td').find(':radio, :text').attr('disabled','disabled').removeAttr('checked').next('label').css('fontWeight','normal');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
suForm.find('._imageType')
|
||||
.find('input:checkbox:not(:checked)').closest('tr')
|
||||
.find('._subItem').hide().end()
|
||||
.end()
|
||||
.find('input:checkbox')
|
||||
.change(function(){
|
||||
var $subItem = $(this).closest('tr').find('._subItem');
|
||||
if($(this).is(':checked')) $subItem.show();
|
||||
else $subItem.hide();
|
||||
})
|
||||
.end();
|
||||
|
||||
$('a.modalAnchor._extendFormEdit').bind('before-open.mw', function(event){
|
||||
var memberFormSrl = $(event.target).parent().attr('id');
|
||||
var checked = $(event.target).closest('tr').find('input:radio:checked').val();
|
||||
|
||||
exec_xml(
|
||||
'member',
|
||||
'getMemberAdminInsertJoinForm',
|
||||
{member_join_form_srl:memberFormSrl},
|
||||
function(ret){
|
||||
var tpl = ret.tpl.replace(/<enter>/g, '\n');
|
||||
$('#extendForm').html(tpl);
|
||||
|
||||
if (checked)$('#extendForm #radio_'+checked).attr('checked', 'checked');
|
||||
},
|
||||
['error','message','tpl']
|
||||
);
|
||||
|
||||
});
|
||||
|
||||
$('a._extendFormDelete').click(function(event){
|
||||
event.preventDefault();
|
||||
if (!confirm(xe.lang.msg_delete_extend_form)) return;
|
||||
|
||||
var memberFormSrl = $(event.target).parent().attr('id');
|
||||
var targetTR = $(event.target).closest('tr');
|
||||
|
||||
|
||||
exec_xml(
|
||||
'member',
|
||||
'procMemberAdminDeleteJoinForm',
|
||||
{member_join_form_srl:memberFormSrl},
|
||||
function(ret){
|
||||
targetTR.remove();
|
||||
},
|
||||
['error','message','tpl']
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
jQuery(function ($){
|
||||
|
||||
$('a.modalAnchor._member').bind('before-open.mw', function(){
|
||||
var $memberList = $('.memberList input[name=user]:checked');
|
||||
var $memberList = $('._memberList input[name=user]:checked');
|
||||
if ($memberList.length == 0){
|
||||
alert(xe.lang.msg_select_user);
|
||||
return false;
|
||||
|
|
@ -1,190 +1,194 @@
|
|||
<!--%import("../../editor/tpl/js/editor_module_config.js",optimized=false)-->
|
||||
|
||||
<!--#include("header.html")-->
|
||||
|
||||
<load target="js/member_admin_config.js" />
|
||||
<script type="text/javascript">
|
||||
xe.lang.msg_delete_extend_form = '{$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="insertConfig" action="./" method="post">
|
||||
<input type="hidden" name="act" value="procMemberAdminInsertConfig" />
|
||||
<input type="hidden" name="temp_srl" value="" />
|
||||
<input type="hidden" name="agreement" value="{htmlspecialchars($config->agreement)}" />
|
||||
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->webmaster_name}</div></th>
|
||||
<td>
|
||||
<input type="text" name="webmaster_name" value="{$config->webmaster_name}" size="20" class="inputTypeText lang_code" id="webmaster_name" />
|
||||
<p>{$lang->about_webmaster_name}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->webmaster_email}</div></th>
|
||||
<td>
|
||||
<input type="text" name="webmaster_email" value="{$config->webmaster_email}" size="40" class="inputTypeText" />
|
||||
<p>{$lang->about_webmaster_email}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->enable_openid}</div></th>
|
||||
<td>
|
||||
<input type="checkbox" name="enable_openid" value="Y" <!--@if($config->enable_openid=='Y')-->checked="checked"<!--@end--> class="checkbox" />
|
||||
{$lang->about_enable_openid}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->enable_join}</div></th>
|
||||
<td>
|
||||
<input type="checkbox" name="enable_join" value="Y" <!--@if($config->enable_join=='Y')-->checked="checked"<!--@end--> class="checkbox" />
|
||||
{$lang->about_enable_join}
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->enable_confirm}</div></th>
|
||||
<td>
|
||||
<input type="checkbox" name="enable_confirm" value="Y" <!--@if($config->enable_confirm=='Y')-->checked="checked"<!--@end--> class="checkbox" />
|
||||
{$lang->about_enable_confirm}
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->change_password_date}</div></th>
|
||||
<td>
|
||||
<input type="text" name="change_password_date" value="{$config->change_password_date}" size="2" class="inputTypeText" />{$lang->unit_day}
|
||||
<p>{$lang->about_change_password_date}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->limit_day}</div></th>
|
||||
<td>
|
||||
<input type="text" name="limit_day" value="{$config->limit_day}" size="2" class="inputTypeText" />{$lang->unit_day}
|
||||
<p>{$lang->about_limit_day}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->profile_image}</div></th>
|
||||
<td>
|
||||
<p>
|
||||
<input type="checkbox" name="profile_image" value="Y" <!--@if($config->profile_image=='Y')-->checked="checked"<!--@end--> class="checkbox" />
|
||||
{$lang->about_profile_image}
|
||||
</p>
|
||||
{$lang->profile_image_max_width} : <input type="text" name="profile_image_max_width" size="3" value="{$config->profile_image_max_width}" class="inputTypeText" />px<br />
|
||||
{$lang->profile_image_max_height} : <input type="text" name="profile_image_max_height" size="3" value="{$config->profile_image_max_height}" class="inputTypeText" />px<br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->image_name}</div></th>
|
||||
<td>
|
||||
<p>
|
||||
<input type="checkbox" name="image_name" value="Y" <!--@if($config->image_name=='Y')-->checked="checked"<!--@end--> class="checkbox" />
|
||||
{$lang->about_image_name}
|
||||
</p>
|
||||
{$lang->image_name_max_width} : <input type="text" name="image_name_max_width" size="3" value="{$config->image_name_max_width}" class="inputTypeText" />px<br />
|
||||
{$lang->image_name_max_height} : <input type="text" name="image_name_max_height" size="3" value="{$config->image_name_max_height}" class="inputTypeText" />px<br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->image_mark}</div></th>
|
||||
<td>
|
||||
<p>
|
||||
<input type="checkbox" name="image_mark" value="Y" <!--@if($config->image_mark=='Y')-->checked="checked"<!--@end--> class="checkbox"/>
|
||||
{$lang->about_image_mark}
|
||||
</p>
|
||||
{$lang->image_mark_max_width} : <input type="text" name="image_mark_max_width" size="3" value="{$config->image_mark_max_width}" class="inputTypeText"/>px<br />
|
||||
{$lang->image_mark_max_height} : <input type="text" name="image_mark_max_height" size="3" value="{$config->image_mark_max_height}" class="inputTypeText"/>px<br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->group_image_mark}</div></th>
|
||||
<td>
|
||||
<p>
|
||||
<input type="checkbox" name="group_image_mark" value="Y" <!--@if($config->group_image_mark=='Y')-->checked="checked"<!--@end--> class="checkbox"/>
|
||||
{$lang->about_group_image_mark}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->signature}</div></th>
|
||||
<td>
|
||||
<p>
|
||||
<input type="checkbox" name="signature" value="Y" <!--@if($config->signature=='Y')-->checked="checked"<!--@end--> class="checkbox"/>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->signature_max_height}</div></th>
|
||||
<td>
|
||||
<input type="text" name="signature_max_height" size="3" value="{$config->signature_max_height}" class="inputTypeText"/>px
|
||||
<p>{$lang->about_signature_max_height}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->editor_skin}</div></th>
|
||||
<td>
|
||||
<select name="editor_skin" onchange="getEditorSkinColorList(this.value)">
|
||||
<!--@foreach($editor_skin_list as $editor_skin)-->
|
||||
<option value="{$editor_skin}" <!--@if($editor_skin==$config->editor_skin)-->selected="selected"<!--@end-->>{$editor_skin}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<select name="editor_colorset" id="sel_editor_colorset" style="display:none"></select>
|
||||
<script "text/javascript">//<![CDATA[
|
||||
getEditorSkinColorList('{$config->editor_skin}','{$config->editor_colorset}');
|
||||
//]]></script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->after_login_url}</div></th>
|
||||
<td>
|
||||
<input type="text" name="after_login_url" value="{$config->after_login_url}" class="inputTypeText w400" />
|
||||
<p>{$lang->about_after_login_url}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->after_logout_url}</div></th>
|
||||
<td>
|
||||
<input type="text" name="after_logout_url" value="{$config->after_logout_url}" class="inputTypeText w400" />
|
||||
<p>{$lang->about_after_logout_url}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->redirect_url}</div></th>
|
||||
<td>
|
||||
<input type="text" name="redirect_url" value="{$config->redirect_url}" class="inputTypeText w400" />
|
||||
<p>{$lang->about_redirect_url}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->agreement}</div></th>
|
||||
<td>
|
||||
{$editor}
|
||||
<p>{$lang->about_agreement}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->skin}</div></th>
|
||||
<td>
|
||||
<select name="skin" onchange="doGetSkinColorset(this.options[this.selectedIndex].value)">
|
||||
<!--@foreach($skin_list as $key => $val)-->
|
||||
<option value="{$key}" <!--@if($config->skin == $key)-->selected="selected"<!--@end-->>{$val->title} ({$key})</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->colorset}</div></th>
|
||||
<td><div id="member_colorset"></div></td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th colspan="2" class="button">
|
||||
<span class="button black strong"><input type="submit" value="{$lang->cmd_registration}" /></span>
|
||||
<!--@if($module=="admin")-->
|
||||
<a href="{getUrl('act','dispMemberAdminList')}" class="button"><span>{$lang->cmd_back}</span></a>
|
||||
<!--@end-->
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function(){ doGetSkinColorset("{$config->skin}") });
|
||||
</script>
|
||||
<div class="content" id="content">
|
||||
<form action="./" class="form" ruleset="insertConfig" >
|
||||
<input type="hidden" name="act" value="procMemberAdminInsertConfig" />
|
||||
<input type="hidden" name="success_return_url" value="{getUrl('act', $act)}" />
|
||||
<input type="hidden" name="agreement" value="{htmlspecialchars($config->agreement)}" />
|
||||
<h1 class="h1">Setting</h1>
|
||||
<fieldset class="section suSetting">
|
||||
<h2 class="h2">Sign Up Setting</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>{$lang->about_webmaster_name}</p>
|
||||
</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>{$lang->about_webmaster_email}</p>
|
||||
</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"><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>{$lang->about_after_login_url}</p>
|
||||
</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>{$lang->about_after_logout_url}</p>
|
||||
</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>{$lang->about_redirect_url}</p>
|
||||
</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="prohibited_id">{$lang->cmd_manage_id}</label></p>
|
||||
<p class="a">
|
||||
<textarea cols="42" rows="5" id="prohibited_id" name="denied_id">
|
||||
{implode("\r\n", $deniedIDs)}
|
||||
</textarea>
|
||||
<span class="desc">{$lang->about_manage_id} {sprintf($lang->count_manage_id, count($deniedIDs))}</span></p>
|
||||
</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->use}</th>
|
||||
<th scope="col">{$lang->cmd_required_option}</th>
|
||||
<th scope="col" class="text">{$lang->description}</th>
|
||||
<th scope="col">{$lang->cmd_edit}</th>
|
||||
</thead>
|
||||
<tbody class="uDrag">
|
||||
<!--@foreach($config->signupForm as $item)-->
|
||||
<!--@if($item->isDefaultForm)-->
|
||||
<tr class="_imageType"|cond="$item->imageType">
|
||||
<input type="hidden" name="list_order[]" value="{$item->name}" />
|
||||
<th scope="row">
|
||||
<div class="wrap">
|
||||
<button type="button" class="dragBtn">Move to</button>
|
||||
{$item->title}
|
||||
</div>
|
||||
</th>
|
||||
<input type="hidden" name="usable_list[]" value="{$item->name}" cond="$item->mustRequired"/>
|
||||
<input type="hidden" name="{$item->name}" value="requierd" cond="$item->mustRequired"/>
|
||||
<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>
|
||||
<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>
|
||||
</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>
|
||||
{$item->title}
|
||||
</div>
|
||||
</th>
|
||||
<td><input type="checkbox" name="usable_list[]" value="{$item->name}" title="{$lang->use}" checked="checked"|cond="$item->isUse" /></td>
|
||||
<td>
|
||||
<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 class="text">{$item->description}</td>
|
||||
<td id="{$item->member_join_form_srl}"><a href="#userDefine" class="modalAnchor _extendFormEdit">{$lang->cmd_edit}</a> | <a href="#" class="_extendFormDelete">삭제</a></td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p class="btnArea">
|
||||
<span class="btn small"><a href="#userDefine" class="modalAnchor _extendFormEdit">사용자 정의 항목 추가...</a></span>
|
||||
<span class="btn small"><a href="#preview" class="modalAnchor">Preview</a></span>
|
||||
</p>
|
||||
</fieldset>
|
||||
<div class="btnArea">
|
||||
<span class="btn medium"><input type="submit" value="Save" /></span>
|
||||
</div>
|
||||
</form>
|
||||
<div class="modal" id="userDefine">
|
||||
<form action="./" class="fg form" ruleset="insertJoinForm" >
|
||||
<input type="hidden" name="act" value="procMemberAdminInsertJoinForm" />
|
||||
<input type="hidden" name="success_return_url" value="{getUrl('act', $act)}" />
|
||||
<div id="extendForm">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal" id="preview">
|
||||
<form action="" class="fg form">
|
||||
<h2 class="h2">회원가입 양식 미리보기</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<p class="q"><label for="email">Email</label></p>
|
||||
<p class="a"><input type="text" id="email" value=""></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q"><label for="password">Password</label></p>
|
||||
<p class="a"><input type="text" id="password" value=""></p>
|
||||
</li>
|
||||
<li>...</li>
|
||||
</ul>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,188 +1,79 @@
|
|||
<!--%import("filter/delete_profile_image.xml")-->
|
||||
<!--%import("filter/delete_image_name.xml")-->
|
||||
<!--%import("filter/delete_image_mark.xml")-->
|
||||
<!--#include("header.html")-->
|
||||
<div class="content" id="content">
|
||||
<h1 class="h1">User Detail</h1>
|
||||
<div class="table even">
|
||||
<table width="100%" border="1" cellspacing="0">
|
||||
<!--@foreach($member_config->signupForm as $no=>$formInfo)-->
|
||||
<!--@if($formInfo->isDefaultForm)-->
|
||||
{@$title = $formInfo->title}
|
||||
{@$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}" width="80" height="80" />'}
|
||||
<!--@elseif($formInfo->name == 'image_name' && $memberInfo['image_name'])-->
|
||||
{@$target = $memberInfo['image_name']}
|
||||
{@$value = '<img src="{$target->src}" width="80" height="80" />'}
|
||||
<!--@elseif($formInfo->name == 'image_mark' && $memberInfo['image_mark'])-->
|
||||
{@$target = $memberInfo['image_mark']}
|
||||
{@$value = '<img src="{$target->src}" width="80" height="80" />'}
|
||||
<!--@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 = htmlspecialchars($orgValue[0])}
|
||||
<!--@if($value[1])-->-<!--@end-->
|
||||
{@$value .= htmlspecialchars($orgValue[1])}
|
||||
<!--@if($value[2])-->-<!--@end-->
|
||||
{@$value .= htmlspecialchars($orgValue[2])}
|
||||
<!--@elseif($formInfo->type=='kr_zip')-->
|
||||
{@$value = htmlspecialchars($orgValue[0])}<!--@if($orgValue[1]&&$orgValue[0])--><br /><!--@end-->{@$value .= htmlspecialchars($orgValue[1])}
|
||||
<!--@elseif($formInfo->type=='checkbox' && is_array($orgValue))-->
|
||||
{@$value = htmlspecialchars(implode(", ",$orgValue))}
|
||||
<!--@elseif($formInfo->type=='date')-->
|
||||
{@$value = zdate($orgValue, "Y-m-d")}
|
||||
<!--@else-->
|
||||
{@$value = nl2br(htmlspecialchars($orgValue))}
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
|
||||
<!-- 이미지 이름/마크를 삭제하기 위한 폼 -->
|
||||
<form action="./" method="get" id="fo_image">
|
||||
<input type="hidden" name="member_srl" />
|
||||
</form>
|
||||
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->user_id}</div></th>
|
||||
<td>{htmlspecialchars($member_info->user_id)}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->user_name}</div></th>
|
||||
<td>{htmlspecialchars($member_info->user_name)}</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->nick_name}</div></th>
|
||||
<td>{htmlspecialchars($member_info->nick_name)}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" rowspan="2"><div>{$lang->profile_image}</div></th>
|
||||
<td>
|
||||
<!--@if($member_info->profile_image->src)-->
|
||||
<img src="{$member_info->profile_image->src}" border="0" alt="profile_image" />
|
||||
<a href="#" onclick="doDeleteProfileImage({$member_info->member_srl});return false;" class="button"><span>{$lang->cmd_delete}</span></a>
|
||||
<!--@else-->
|
||||
|
||||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<td>
|
||||
<form action="./" method="post" enctype="multipart/form-data" target="hidden_iframe">
|
||||
<input type="hidden" name="member_srl" value="{$member_info->member_srl}" />
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberInsertProfileImage" />
|
||||
<input type="file" name="profile_image" value="" />
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_submit}" /></span>
|
||||
</form>
|
||||
<p>{$lang->profile_image_max_width} : {$member_config->profile_image_max_width}px, {$lang->profile_image_max_height} : {$member_config->profile_image_max_height}px</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" rowspan="2"><div>{$lang->image_name}</div></th>
|
||||
<td>
|
||||
<!--@if($member_info->image_name->src)-->
|
||||
<img src="{$member_info->image_name->src}" border="0" alt="image_name" />
|
||||
<a href="#" onclick="doDeleteImageName({$member_info->member_srl});return false;" class="button"><span>{$lang->cmd_delete}</span></a>
|
||||
<!--@else-->
|
||||
|
||||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<td>
|
||||
<form action="./" method="post" enctype="multipart/form-data" target="hidden_iframe">
|
||||
<input type="hidden" name="member_srl" value="{$member_info->member_srl}" />
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberInsertImageName" />
|
||||
<input type="file" name="image_name" value="" />
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_submit}" /></span>
|
||||
</form>
|
||||
<p>{$lang->image_name_max_width} : {$member_config->image_name_max_width}px, {$lang->image_name_max_height} : {$member_config->image_name_max_height}px</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" rowspan="2"><div>{$lang->image_mark}</div></th>
|
||||
<td>
|
||||
<!--@if($member_info->image_mark->src)-->
|
||||
<img src="{$member_info->image_mark->src}" border="0" alt="image_mark" />
|
||||
<a href="#" onclick="doDeleteImageMark({$member_info->member_srl});return false;" class="button"><span>{$lang->cmd_delete}</span></a>
|
||||
<!--@else-->
|
||||
|
||||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<td>
|
||||
<form action="./" method="post" enctype="multipart/form-data" target="hidden_iframe">
|
||||
<input type="hidden" name="member_srl" value="{$member_info->member_srl}" />
|
||||
<input type="hidden" name="module" value="member" />
|
||||
<input type="hidden" name="act" value="procMemberInsertImageMark" />
|
||||
<input type="file" name="image_mark" value="" />
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_submit}" /></span>
|
||||
</form>
|
||||
<p>{$lang->image_mark_max_width} : {$member_config->image_mark_max_width}px, {$lang->image_mark_max_height} : {$member_config->image_mark_max_height}px</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->email_address}</div></th>
|
||||
<td>{htmlspecialchars($member_info->email_address)}</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->homepage}</div></th>
|
||||
<td><!--@if($member_info->homepage)--><a href="{$member_info->homepage}" onclick="winopen(this.href); return false;">{htmlspecialchars($member_info->homepage)}</a><!--@end--> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->blog}</div></th>
|
||||
<td><!--@if($member_info->blog)--><a href="{$member_info->blog}" onclick="windopen(this.href); return false;">{htmlspecialchars($member_info->blog)}</a><!--@end--> </td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->birthday}</div></th>
|
||||
<td>{zdate($member_info->birthday,'Y-m-d')} </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->allow_mailing}</div></th>
|
||||
<td>{$member_info->allow_mailing} </td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->allow_message}</div></th>
|
||||
<td>{$lang->allow_message_type[$member_info->allow_message]}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->signature}</div></th>
|
||||
<td>{$member_info->signature} </td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->denied}</div></th>
|
||||
<td>{$member_info->denied}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->limit_date}</div></th>
|
||||
<td>
|
||||
<!--@if($member_info->limit_date)-->
|
||||
{zdate($member_info->limit_date,"Y-m-d H:i")}
|
||||
<!--@end-->
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->is_admin}</div></th>
|
||||
<td>{$member_info->is_admin}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->group}</div></th>
|
||||
<td>
|
||||
<!--@foreach($member_info->group_list as $key => $val)-->
|
||||
{$val}
|
||||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--@if($extend_form_list)-->
|
||||
<!--@foreach($extend_form_list as $key => $val)-->
|
||||
<tr class="row{$cycle_idx}">
|
||||
<th scope="row"><div>{htmlspecialchars($val->column_title)}<!--@if($val->is_opened)--> <span class="publicItem">({$lang->public})</span><!--@end--></div></th>
|
||||
<td>
|
||||
<!--@if($val->column_type=='tel')-->
|
||||
{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')-->
|
||||
{zdate($val->value, "Y-m-d")}
|
||||
<!--@else-->
|
||||
{nl2br(htmlspecialchars($val->value))}
|
||||
<!--@end-->
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->description}</div></th>
|
||||
<td>{htmlspecialchars($member_info->description)} </td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th colspan="2" class="button">
|
||||
<a href="{getUrl('act','dispMemberAdminInsert')}" class="button black strong"><span>{$lang->cmd_modify}</span></a>
|
||||
<!--@if($member_info->is_admin!='Y')-->
|
||||
<a href="{getUrl('act','dispMemberAdminDeleteForm','member_srl',$member_info->member_srl)}" class="button red"><span>{$lang->cmd_delete}</span></a>
|
||||
<!--@end-->
|
||||
<!--@if($module=="admin")-->
|
||||
<a href="{getUrl('act','dispMemberAdminList','module_srl','')}" class="button"><span>{$lang->cmd_back}</span></a>
|
||||
<!--@end-->
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<iframe name="hidden_iframe" frameborder="0" style="display:none"></iframe>
|
||||
<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->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>
|
||||
<div class="btnArea">
|
||||
<span class="btn medium"><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminInsert', 'member_srl', $member_srl)}">{$lang->cmd_modify}...</a></span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,132 +1,179 @@
|
|||
<!-- 설명 -->
|
||||
<!--#include("header.html")-->
|
||||
<!--%import("css/member_list.css")-->
|
||||
<load target="js/member_admin_list.js" type="body" />
|
||||
<script type="text/javascript">
|
||||
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}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<div class="content" id="content">
|
||||
<form action="" class="form">
|
||||
<h1 class="h1">{$lang->user_list}</h1>
|
||||
<div class="table even">
|
||||
<div class="cnb">
|
||||
<a href="#">All</a> | <a href="#">Super Admin</a> | <a href="#">Site Admin</a> | <a href="#">Approval</a> | <a href="#">Denied</a> | <a href="#">Trash</a>
|
||||
</div>
|
||||
<table width="100%" border="1" cellspacing="0" class="_memberList">
|
||||
<caption>
|
||||
All(789)
|
||||
<span class="side"><span class="btn"><a href="#listManager" class="modalAnchor _member">{$lang->cmd_selected_user_manage}...</a></span></span>
|
||||
</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{$lang->user_id}</th>
|
||||
<th scope="col">{$lang->user_name}</th>
|
||||
<th scope="col">{$lang->nick_name}</th>
|
||||
<th scope="col">{$lang->signup_date}</th>
|
||||
<th scope="col">{$lang->last_login}</th>
|
||||
<th scope="col" class="text">{$lang->group}</th>
|
||||
<th scope="col">{$lang->status}</th>
|
||||
<th scope="col">{$lang->cmd_modify}</th>
|
||||
<th scope="col">
|
||||
<input type="checkbox" title="Check All" data-name="user" />
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th scope="col">{$lang->user_id}</th>
|
||||
<th scope="col">{$lang->user_name}</th>
|
||||
<th scope="col">{$lang->nick_name}</th>
|
||||
<th scope="col">{$lang->signup_date}</th>
|
||||
<th scope="col">{$lang->last_login}</th>
|
||||
<th scope="col" class="text">{$lang->group}</th>
|
||||
<th scope="col">{$lang->status}</th>
|
||||
<th scope="col">{$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->group_list = implode(', ', $member_info->group_list)}
|
||||
<td><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminInfo', 'member_srl', $member_info->member_srl)}">{$member_info->user_id}</a></td>
|
||||
<td>{$member_info->user_name}</td>
|
||||
<td><span class="member_{$member_info->member_srl}">{$member_info->nick_name}</span></td>
|
||||
<td>{zdate($member_info->regdate, 'Y-m-d')}</td>
|
||||
<td>{zdate($member_info->last_login, 'Y-m-d')}</td>
|
||||
<td class="text">{$member_info->group_list} </td>
|
||||
{@ $lang_denied = ($member_info->denied == 'N')?$lang->use:$lang->denied}
|
||||
<td>{$lang_denied}</td>
|
||||
<td><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminInsert', 'member_srl', $member_info->member_srl)}">{$lang->cmd_modify}</a></td>
|
||||
<td><input type="checkbox" name="user" value="{$member_info->member_srl."\t".$member_info->user_id."\t".$member_info->user_name."\t".$member_info->nick_name."\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="btn"><a href="#listManager" class="modalAnchor _member">{$lang->cmd_selected_user_manage}...</a></span>
|
||||
</div>
|
||||
</form>
|
||||
<div class="modal" id="listManager" style="display: none; ">
|
||||
<form action="./" ruleset="updateSeletecdMemberInfo" class="fg form">
|
||||
<input type="hidden" name="act" value="procMemberAdminSelectedMemberManage" />
|
||||
<input type="hidden" name="success_return_url" value="{getUrl('act', $act)}" />
|
||||
<h2 class="h2">선택한 사용자 관리</h2>
|
||||
<div class="table even">
|
||||
<table width="100%" border="1" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{$lang->user_id}</th>
|
||||
<th scope="col">{$lang->user_name}</th>
|
||||
<th scope="col">{$lang->nick_name}</th>
|
||||
<th scope="col" class="text">{$lang->group}</th>
|
||||
<th scope="col">{$lang->status}</th>
|
||||
<th scope="col"><input type="checkbox" name="user" checked="checked" title="Check All"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="popupBody">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p class="q">선택한 사용자의 상태를 다시 설정.</p>
|
||||
<p>
|
||||
<input type="radio" name="denied" id="approval" value="N" > <label for="approval" style="font-weight: normal; ">Approval</label>
|
||||
<input type="radio" name="denied" id="deny" value="Y" > <label for="deny" style="font-weight: normal; ">Deny</label>
|
||||
</p>
|
||||
<p class="q">{$lang->about_change_user_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 cols="42" rows="3" id="message" style="width:98%" name="message" ></textarea>
|
||||
</p>
|
||||
<div class="btnArea">
|
||||
<button type="submit" name="type" value="modify">{$lang->cmd_modify}</button>
|
||||
<button type="submit" name="type" value="delete">{$lang->cmd_delete}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="search">
|
||||
<form action="" class="pagination">
|
||||
<input type="hidden" name="error_return_url" value="" />
|
||||
<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}" />
|
||||
<input cond="$order_type" type="hidden" name="order_type" value="{$order_type}" />
|
||||
<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}" />
|
||||
|
||||
<form action="./" method="get" class="adminSearch">
|
||||
<input type="hidden" name="module" value="{$module}" />
|
||||
<input type="hidden" name="act" value="{$act}" />
|
||||
<a href="{getUrl('page', '')}" class="direction">« FIRST</a>
|
||||
|
||||
<fieldset>
|
||||
<block cond="$page_navigation->first_page + $page_navigation->page_count > $page_navigation->last_page && $page_navigation->page_count != $page_navigation->total_page">
|
||||
<a href="{getUrl('page', '')}">1</a>
|
||||
<a href="#goTo" class="tgSimple" title="{$lang->cmd_go_to_page}">...</a>
|
||||
</block>
|
||||
|
||||
<select name="is_admin">
|
||||
<option value="" <!--@if($is_admin!='Y')-->selected="selected"<!--@end-->>{$lang->total}</option>
|
||||
<option value="Y" <!--@if($is_admin=='Y')-->selected="selected"<!--@end-->>{$lang->is_admin}</option>
|
||||
</select>
|
||||
<select name="is_denied">
|
||||
<option value="" <!--@if($is_denied!='Y')-->selected="selected"<!--@end-->>{$lang->total}</option>
|
||||
<option value="Y" <!--@if($is_denied=='Y')-->selected="selected"<!--@end-->>{$lang->denied}</option>
|
||||
</select>
|
||||
<select name="selected_group_srl">
|
||||
<option value="0">{$lang->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">
|
||||
<option value="">{$lang->search_target}</option>
|
||||
<!--@foreach($lang->search_target_list as $key => $val)-->
|
||||
<option value="{$key}" <!--@if($search_target==$key)-->selected="selected"<!--@end-->>{$val}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<input type="text" name="search_keyword" value="{htmlspecialchars($search_keyword)}" class="inputTypeText" />
|
||||
<span class="button black strong"><input type="submit" value="{$lang->cmd_search}" /></span>
|
||||
<a href="#" onclick="location.href='{getUrl('','module',$module,'act',$act)}';return false;" class="button"><span>{$lang->cmd_cancel}</span></a>
|
||||
</fieldset>
|
||||
</form>
|
||||
<!--@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-->
|
||||
|
||||
<!-- 목록 -->
|
||||
<form method="get" action="./" id="member_fo">
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<caption>Total {number_format($total_count)}, Page {number_format($page)}/{number_format($total_page)}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col"><div><a href="{getUrl('sort_index','','sort_order',$sort_index!='last_login'&&$sort_order=='desc'?'asc':'')}">{$lang->no}</a></div></th>
|
||||
<th scope="col"><div><input type="checkbox" onclick="XE.checkboxToggleAll(); return false;"/></div></th>
|
||||
<th scope="col" class="quarter_wide"><div>{$lang->user_id}</div></th>
|
||||
<th scope="col" class="quarter_wide"><div>{$lang->user_name}</div></th>
|
||||
<th scope="col" class="quarter_wide"><div>{$lang->nick_name}</div></th>
|
||||
<th scope="col" class="quarter_wide"><div><a href="{getUrl('sort_index','','sort_order',$sort_index!='last_login'&&$sort_order=='desc'?'asc':'')}">{$lang->signup_date}</a></div></th>
|
||||
<th scope="col"><div><a href="{getUrl('sort_index','last_login','sort_order',$sort_index=='last_login'&&$sort_order=='desc'?'asc':'')}">{$lang->last_login}</a></div></th>
|
||||
<th scope="col" colspan="2"><div> </div></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!--@foreach($member_list as $no => $val)-->
|
||||
{@ $val->group_list = implode(', ', $val->group_list)}
|
||||
<tr class="row{$cycle_idx}">
|
||||
<td rowspan="2">{$no}</td>
|
||||
<td rowspan="2"><input type="checkbox" name="cart" value="{$val->member_srl}"/></td>
|
||||
<td><a href="{getUrl('act','dispMemberAdminInfo','member_srl',$val->member_srl)}">{htmlspecialchars($val->user_id)}</a></td>
|
||||
<td>{htmlspecialchars($val->user_name)}</td>
|
||||
<td><span class="member_{$val->member_srl}">{htmlspecialchars($val->nick_name)}</span></td>
|
||||
<td>{zdate($val->regdate,"Y-m-d H:i:s")}</td>
|
||||
<td>{zdate($val->last_login,"Y-m-d H:i:s")}</td>
|
||||
<td class="nowrap">
|
||||
<!--@if($val->homepage)--><a href="{$val->homepage}" class="homepage" onclick="window.open(this.href);return false;"><img src="./images/icon_homepage.gif" title="{$lang->homepage}" alt="{$lang->homepage}" /></a> <!--@end-->
|
||||
<!--@if($val->blog)--><a href="{$val->blog}" class="blog" onclick="window.open(this.href);return false;"><img src="./images/icon_blog.gif" title="{$lang->blog}" alt="{$lang->blog}" /></a> <!--@end-->
|
||||
</td>
|
||||
<td><!--@if($val->is_admin != 'Y')--><a href="{getUrl('act','dispMemberAdminDeleteForm','member_srl', $val->member_srl)}" title="{$lang->cmd_delete}" class="buttonSet buttonDelete"><span>{$lang->cmd_delete}</span></a><!--@else--><img src="./images/icon_management.gif" title="{$lang->is_admin}" alt="{$lang->is_admin}" /><!--@end--></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="8"><p>{$val->group_list} </p></td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
</tbody>
|
||||
</table>
|
||||
<block cond="$last_page != $page_navigation->last_page">
|
||||
<a href="#goTo" class="tgSimple" 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>
|
||||
|
||||
<!-- 버튼 -->
|
||||
<div class="clear">
|
||||
<div class="fl">
|
||||
<a href="#" onclick="doManageMemberGroup(); return false;" class="button blue"><span>{$lang->cmd_member_group}</span></a>
|
||||
<a href="#" onclick="doDeleteMembers(); return false;" class="button red"><span>{$lang->cmd_delete}</span></a>
|
||||
</div>
|
||||
<div class="fr">
|
||||
<a href="{getUrl('act','dispMemberAdminInsert','member_srl','')}" class="button black strong"><span>{$lang->cmd_make}</span></a>
|
||||
</div>
|
||||
</div>
|
||||
<span id="goTo" class="tgContent">
|
||||
<input name="page" title="{$lang->cmd_go_to_page}" />
|
||||
<button type="submit">Go</button>
|
||||
</span>
|
||||
</form>
|
||||
<form action="">
|
||||
<select name="search_target">
|
||||
<option value="">{$lang->search_target}</option>
|
||||
<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)}" class="inputTypeText" />
|
||||
<input type="submit" value="{$lang->cmd_search}" />
|
||||
<a href="{getUrl('search_target', '', 'search_keyword', '')}">{$lang->cmd_cancel}</a>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
jQuery(function($){
|
||||
var clickedBTN = '';
|
||||
|
||||
<!-- 페이지 네비게이션 -->
|
||||
<div class="pagination a1">
|
||||
<a href="{getUrl('page','','module_srl','')}" class="prevEnd">{$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="nextEnd">{$lang->last_page}</a>
|
||||
</div>
|
||||
</form>
|
||||
$('.btnArea button').click(function(){
|
||||
clickedBTN = $(this).val();
|
||||
});
|
||||
|
||||
<form action="./" method="get" class="adminSearch">
|
||||
<input type="hidden" name="module" value="{$module}" />
|
||||
<input type="hidden" name="act" value="{$act}" />
|
||||
|
||||
<fieldset>
|
||||
|
||||
<select name="is_admin">
|
||||
<option value="" <!--@if($is_admin!='Y')-->selected="selected"<!--@end-->>{$lang->total}</option>
|
||||
<option value="Y" <!--@if($is_admin=='Y')-->selected="selected"<!--@end-->>{$lang->is_admin}</option>
|
||||
</select>
|
||||
<select name="is_denied">
|
||||
<option value="" <!--@if($is_denied!='Y')-->selected="selected"<!--@end-->>{$lang->total}</option>
|
||||
<option value="Y" <!--@if($is_denied=='Y')-->selected="selected"<!--@end-->>{$lang->denied}</option>
|
||||
</select>
|
||||
<select name="selected_group_srl">
|
||||
<option value="0">{$lang->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">
|
||||
<option value="">{$lang->search_target}</option>
|
||||
<!--@foreach($lang->search_target_list as $key => $val)-->
|
||||
<option value="{$key}" <!--@if($search_target==$key)-->selected="selected"<!--@end-->>{$val}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<input type="text" name="search_keyword" value="{htmlspecialchars($search_keyword)}" class="inputTypeText" />
|
||||
<span class="button black strong"><input type="submit" value="{$lang->cmd_search}" /></span>
|
||||
<a href="#" onclick="location.href='{getUrl('','module',$module,'act',$act)}';return false;" class="button"><span>{$lang->cmd_cancel}</span></a>
|
||||
</fieldset>
|
||||
</form>
|
||||
var CheckConfirm = xe.createPlugin('checkConfirm', {
|
||||
API_BEFORE_VALIDATE : function(sender, params){
|
||||
if (clickedBTN == 'delete') return confirm(xe.lang.msg_delete_user);
|
||||
}
|
||||
});
|
||||
|
||||
var checkConfirm = new CheckConfirm();
|
||||
var v = xe.getApp('Validator')[0];
|
||||
v.registerPlugin(checkConfirm);
|
||||
});
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue