mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-07 02:31:40 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8926 201d5d3c-b55e-5fd7-737f-ddc643e51545
473 lines
19 KiB
PHP
473 lines
19 KiB
PHP
<?php
|
|
/**
|
|
* @class memberAdminView
|
|
* @author NHN (developers@xpressengine.com)
|
|
* @brief member module's admin view class
|
|
**/
|
|
|
|
class memberAdminView extends member {
|
|
|
|
var $group_list = NULL; ///< group list
|
|
var $memberInfo = NULL; ///< selected member info
|
|
|
|
/**
|
|
* @brief initialization
|
|
**/
|
|
function init() {
|
|
$oMemberModel = &getModel('member');
|
|
|
|
// if member_srl exists, set memberInfo
|
|
$member_srl = Context::get('member_srl');
|
|
if($member_srl) {
|
|
$this->memberInfo = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
|
|
if(!$this->memberInfo) Context::set('member_srl','');
|
|
else Context::set('member_info',$this->memberInfo);
|
|
}
|
|
|
|
// retrieve group list
|
|
$this->group_list = $oMemberModel->getGroups();
|
|
Context::set('group_list', $this->group_list);
|
|
|
|
$this->setTemplatePath($this->module_path.'tpl');
|
|
}
|
|
|
|
/**
|
|
* @brief display member list
|
|
**/
|
|
function dispMemberAdminList() {
|
|
|
|
$oMemberAdminModel = &getAdminModel('member');
|
|
$oMemberModel = &getModel('member');
|
|
$output = $oMemberAdminModel->getMemberList();
|
|
|
|
// retrieve list of groups for each member
|
|
if($output->data) {
|
|
foreach($output->data as $key => $member) {
|
|
$output->data[$key]->group_list = $oMemberModel->getMemberGroups($member->member_srl,0);
|
|
}
|
|
}
|
|
|
|
Context::set('total_count', $output->total_count);
|
|
Context::set('total_page', $output->total_page);
|
|
Context::set('page', $output->page);
|
|
Context::set('member_list', $output->data);
|
|
Context::set('page_navigation', $output->page_navigation);
|
|
|
|
$this->setTemplateFile('member_list');
|
|
}
|
|
|
|
/**
|
|
* @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
|
|
$skin_list = $oModuleModel->getSkins($this->module_path);
|
|
Context::set('skin_list', $skin_list);
|
|
|
|
// retrieve skins of editor
|
|
$oEditorModel = &getModel('editor');
|
|
Context::set('editor_skin_list', $oEditorModel->getEditorSkinList());
|
|
|
|
// get an editor
|
|
$option->primary_key_name = 'temp_srl';
|
|
$option->content_key_name = 'agreement';
|
|
$option->allow_fileupload = false;
|
|
$option->enable_autosave = false;
|
|
$option->enable_default_component = true;
|
|
$option->enable_component = true;
|
|
$option->resizable = true;
|
|
$option->height = 300;
|
|
$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');
|
|
}
|
|
|
|
/**
|
|
* @brief display member information
|
|
**/
|
|
function dispMemberAdminInfo() {
|
|
$oMemberModel = &getModel('member');
|
|
$oModuleModel = &getModel('module');
|
|
$member_config = $oModuleModel->getModuleConfig('member');
|
|
Context::set('member_config', $member_config);
|
|
$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');
|
|
}
|
|
|
|
/**
|
|
* @brief display member insert form
|
|
**/
|
|
function dispMemberAdminInsert() {
|
|
// retrieve extend form
|
|
$oMemberModel = &getModel('member');
|
|
$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($memberInfo->member_srl) {
|
|
$oEditorModel = &getModel('editor');
|
|
$option->primary_key_name = 'member_srl';
|
|
$option->content_key_name = 'signature';
|
|
$option->allow_fileupload = false;
|
|
$option->enable_autosave = false;
|
|
$option->enable_default_component = true;
|
|
$option->enable_component = false;
|
|
$option->resizable = false;
|
|
$option->height = 200;
|
|
$editor = $oEditorModel->getEditor($this->memberInfo->member_srl, $option);
|
|
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');
|
|
}
|
|
|
|
/**
|
|
* @brief display member delete form
|
|
**/
|
|
function dispMemberAdminDeleteForm() {
|
|
if(!Context::get('member_srl')) return $this->dispMemberAdminList();
|
|
$this->setTemplateFile('delete_form');
|
|
}
|
|
|
|
/**
|
|
* @brief display group list
|
|
**/
|
|
function dispMemberAdminGroupList() {
|
|
$oModuleModel = &getModel('module');
|
|
|
|
$config = $oModuleModel->getModuleConfig('member');
|
|
Context::set('config', $config);
|
|
|
|
$group_srl = Context::get('group_srl');
|
|
|
|
if($group_srl && $this->group_list[$group_srl]) {
|
|
Context::set('selected_group', $this->group_list[$group_srl]);
|
|
$this->setTemplateFile('group_update_form');
|
|
} else {
|
|
$this->setTemplateFile('group_list');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @brief Display a list of member join form
|
|
**/
|
|
function dispMemberAdminJoinFormList() {
|
|
// Create a member model object
|
|
$oMemberModel = &getModel('member');
|
|
// Get join form list which is additionally set
|
|
$form_list = $oMemberModel->getJoinFormList();
|
|
Context::set('form_list', $form_list);
|
|
|
|
$this->setTemplateFile('join_form_list');
|
|
}
|
|
|
|
/**
|
|
* @brief Display an admin page for memebr join forms
|
|
**/
|
|
function dispMemberAdminInsertJoinForm() {
|
|
// Get the value of join_form
|
|
$member_join_form_srl = Context::get('member_join_form_srl');
|
|
if($member_join_form_srl) {
|
|
$oMemberModel = &getModel('member');
|
|
$join_form = $oMemberModel->getJoinForm($member_join_form_srl);
|
|
|
|
if(!$join_form) Context::set('member_join_form_srl','',true);
|
|
else Context::set('join_form', $join_form);
|
|
}
|
|
$this->setTemplateFile('insert_join_form');
|
|
}
|
|
|
|
/**
|
|
* @brief Display denied ID list
|
|
**/
|
|
function dispMemberAdminDeniedIDList() {
|
|
// Create a member model object
|
|
$oMemberModel = &getModel('member');
|
|
// Get a denied ID list
|
|
$output = $oMemberModel->getDeniedIDList();
|
|
|
|
Context::set('total_count', $output->total_count);
|
|
Context::set('total_page', $output->total_page);
|
|
Context::set('page', $output->page);
|
|
Context::set('member_list', $output->data);
|
|
Context::set('page_navigation', $output->page_navigation);
|
|
|
|
$this->setTemplateFile('denied_id_list');
|
|
}
|
|
|
|
/**
|
|
* @brief Update all the member groups
|
|
**/
|
|
function dispMemberAdminManageGroup() {
|
|
// Get a list of the selected member
|
|
$args->member_srl = trim(Context::get('member_srls'));
|
|
$output = executeQueryArray('member.getMembers', $args);
|
|
Context::set('member_list', $output->data);
|
|
// Get a list of the selected member
|
|
$oMemberModel = &getModel('member');
|
|
Context::set('member_groups', $oMemberModel->getGroups());
|
|
|
|
$this->setLayoutFile('popup_layout');
|
|
$this->setTemplateFile('manage_member_group');
|
|
}
|
|
|
|
/**
|
|
* @brief Delete all members
|
|
**/
|
|
function dispMemberAdminDeleteMembers() {
|
|
// Get a list of the selected member
|
|
$args->member_srl = trim(Context::get('member_srls'));
|
|
$output = executeQueryArray('member.getMembers', $args);
|
|
Context::set('member_list', $output->data);
|
|
|
|
$this->setLayoutFile('popup_layout');
|
|
$this->setTemplateFile('delete_members');
|
|
}
|
|
}
|
|
?>
|