AvocadoAmber/AvocadoEdition_Light/adm/member_form_update.php

204 lines
7.5 KiB
PHP
Raw Normal View History

2022-09-17 20:50:50 +09:00
<?php
$sub_menu = "200100";
2024-09-23 11:07:19 +09:00
include_once "./_common.php";
2024-09-28 13:03:15 +09:00
include_once G5_LIB_PATH . "/register.lib.php";
2022-09-17 20:50:50 +09:00
if ($w == 'u')
2024-09-19 20:57:39 +09:00
check_demo();
2022-09-17 20:50:50 +09:00
auth_check($auth[$sub_menu], 'w');
check_admin_token();
$mb_id = trim($_POST['mb_id']);
// 휴대폰번호 체크
$mb_hp = hyphen_hp_number($_POST['mb_hp']);
2024-09-19 20:57:39 +09:00
if ($mb_hp) {
$result = exist_mb_hp($mb_hp, $mb_id);
if ($result)
alert($result);
2022-09-17 20:50:50 +09:00
}
// 인증정보처리
2024-09-19 20:57:39 +09:00
if ($_POST['mb_certify_case'] && $_POST['mb_certify']) {
$mb_certify = $_POST['mb_certify_case'];
$mb_adult = $_POST['mb_adult'];
2022-09-17 20:50:50 +09:00
} else {
2024-09-19 20:57:39 +09:00
$mb_certify = '';
$mb_adult = 0;
2022-09-17 20:50:50 +09:00
}
$_POST['mb_nick'] = $_POST['mb_name'];
$mb_zip1 = substr($_POST['mb_zip'], 0, 3);
$mb_zip2 = substr($_POST['mb_zip'], 3);
2024-09-19 20:57:55 +09:00
// 관리자가 자동등록방지를 사용해야 할 경우 ( 회원의 비밀번호 변경시 캡챠를 체크한다 )
if ($mb_password && function_exists('get_admin_captcha_by') && get_admin_captcha_by()) {
include_once G5_CAPTCHA_PATH . "/captcha.lib.php";
2024-09-19 20:57:55 +09:00
if (!chk_captcha()) {
alert('자동등록방지 숫자가 틀렸습니다.');
}
}
$check_keys = array(
'mb_name',
'mb_homepage',
'mb_tel',
'mb_addr1',
'mb_addr2',
'mb_addr3',
'mb_addr_jibeon',
'mb_signature',
'mb_leave_date',
'mb_intercept_date',
'mb_mailling',
'mb_sms',
'mb_open',
'mb_profile',
'mb_level'
);
for ($i = 1; $i <= 10; $i++) {
$check_keys[] = 'mb_' . $i;
}
foreach ($check_keys as $key) {
if (in_array($key, array('mb_signature', 'mb_profile'))) {
$posts[$key] = isset($_POST[$key]) ? clean_xss_tags($_POST[$key], 1, 1, 0, 0) : '';
} else {
$posts[$key] = isset($_POST[$key]) ? clean_xss_tags($_POST[$key], 1, 1) : '';
}
}
2024-09-28 13:03:15 +09:00
$sql_common = " mb_name = '{$_POST['mb_name']}',
mb_nick = '{$_POST['mb_nick']}',
mb_email = '{$_POST['mb_email']}',
mb_homepage = '{$_POST['mb_homepage']}',
mb_tel = '{$_POST['mb_tel']}',
mb_hp = '{$mb_hp}',
mb_certify = '{$mb_certify}',
mb_adult = '{$mb_adult}',
mb_zip1 = '{$mb_zip1}',
mb_zip2 = '{$mb_zip2}',
mb_addr1 = '{$_POST['mb_addr1']}',
mb_addr2 = '{$_POST['mb_addr2']}',
mb_addr3 = '{$_POST['mb_addr3']}',
mb_addr_jibeon = '{$_POST['mb_addr_jibeon']}',
mb_signature = '{$_POST['mb_signature']}',
mb_leave_date = '{$_POST['mb_leave_date']}',
mb_intercept_date='{$_POST['mb_intercept_date']}',
mb_memo = '{$_POST['mb_memo']}',
mb_mailling = '{$_POST['mb_mailling']}',
mb_sms = '{$_POST['mb_sms']}',
mb_open = '{$_POST['mb_open']}',
mb_profile = '{$_POST['mb_profile']}',
mb_level = '{$_POST['mb_level']}',
mb_1 = '{$_POST['mb_1']}',
mb_2 = '{$_POST['mb_2']}',
mb_3 = '{$_POST['mb_3']}',
mb_4 = '{$_POST['mb_4']}',
mb_5 = '{$_POST['mb_5']}',
mb_6 = '{$_POST['mb_6']}',
mb_7 = '{$_POST['mb_7']}',
mb_8 = '{$_POST['mb_8']}',
mb_9 = '{$_POST['mb_9']}',
mb_10 = '{$_POST['mb_10']}' ";
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
if ($w == '') {
$mb = get_member($mb_id);
if ($mb['mb_id'])
alert('이미 존재하는 회원아이디입니다.\\n : ' . $mb['mb_id'] . '\\n이름 : ' . $mb['mb_name'] . '\\n닉네임 : ' . $mb['mb_nick'] . '\\n메일 : ' . $mb['mb_email']);
// 닉네임중복체크
2024-09-30 01:58:32 +09:00
$sql = "SELECT mb_id, mb_name, mb_nick, mb_email FROM {$g5['member_table']} where mb_nick = '{$_POST['mb_nick']}' ";
2024-09-19 20:57:39 +09:00
$row = sql_fetch($sql);
if ($row['mb_id'])
alert('이미 존재하는 닉네임입니다.\\n : ' . $row['mb_id'] . '\\n이름 : ' . $row['mb_name'] . '\\n닉네임 : ' . $row['mb_nick'] . '\\n메일 : ' . $row['mb_email']);
// 이메일중복체크
2024-09-30 01:58:32 +09:00
$sql = "SELECT mb_id, mb_name, mb_nick, mb_email FROM {$g5['member_table']} where mb_email = '{$_POST['mb_email']}' ";
2024-09-19 20:57:39 +09:00
$row = sql_fetch($sql);
if ($row['mb_id'])
alert('이미 존재하는 이메일입니다.\\n : ' . $row['mb_id'] . '\\n이름 : ' . $row['mb_name'] . '\\n닉네임 : ' . $row['mb_nick'] . '\\n메일 : ' . $row['mb_email']);
2024-09-30 01:58:32 +09:00
sql_query("INSERT INTO {$g5['member_table']} set mb_id = '{$mb_id}', mb_password = '" . get_encrypt_string($mb_password) . "', mb_datetime = '" . G5_TIME_YMDHIS . "', mb_ip = '{$_SERVER['REMOTE_ADDR']}', mb_email_certify = '" . G5_TIME_YMDHIS . "', {$sql_common} ");
2024-09-19 20:57:39 +09:00
} else if ($w == 'u') {
$mb = get_member($mb_id);
if (!$mb['mb_id'])
alert('존재하지 않는 회원자료입니다.');
if ($is_admin != 'super' && $mb['mb_level'] >= $member['mb_level'])
alert('자신보다 권한이 높거나 같은 회원은 수정할 수 없습니다.');
if ($_POST['mb_id'] == $member['mb_id'] && $_POST['mb_level'] != $mb['mb_level'])
alert($mb['mb_id'] . ' : 로그인 중인 관리자 레벨은 수정 할 수 없습니다.');
// 닉네임중복체크
2024-09-30 01:58:32 +09:00
$sql = "SELECT mb_id, mb_name, mb_nick, mb_email FROM {$g5['member_table']} where mb_nick = '{$_POST['mb_nick']}' and mb_id <> '{$mb_id}' ";
2024-09-19 20:57:39 +09:00
$row = sql_fetch($sql);
if ($row['mb_id'])
alert('이미 존재하는 닉네임입니다.\\n : ' . $row['mb_id'] . '\\n이름 : ' . $row['mb_name'] . '\\n닉네임 : ' . $row['mb_nick'] . '\\n메일 : ' . $row['mb_email']);
// 이메일중복체크
2024-09-30 01:58:32 +09:00
$sql = "SELECT mb_id, mb_name, mb_nick, mb_email FROM {$g5['member_table']} where mb_email = '{$_POST['mb_email']}' and mb_id <> '$mb_id' ";
2024-09-19 20:57:39 +09:00
$row = sql_fetch($sql);
if ($row['mb_id'])
alert('이미 존재하는 이메일입니다.\\n : ' . $row['mb_id'] . '\\n이름 : ' . $row['mb_name'] . '\\n닉네임 : ' . $row['mb_nick'] . '\\n메일 : ' . $row['mb_email']);
$mb_dir = substr($mb_id, 0, 2);
// 회원 아이콘 삭제
if ($del_mb_icon)
@unlink(G5_DATA_PATH . '/member/' . $mb_dir . '/' . $mb_id . '.gif');
// 아이콘 업로드
if (is_uploaded_file($_FILES['mb_icon']['tmp_name'])) {
if (!preg_match("/(\.gif)$/i", $_FILES['mb_icon']['name'])) {
alert($_FILES['mb_icon']['name'] . '은(는) gif 파일이 아닙니다.');
}
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
if (preg_match("/(\.gif)$/i", $_FILES['mb_icon']['name'])) {
@mkdir(G5_DATA_PATH . '/member/' . $mb_dir, G5_DIR_PERMISSION);
@chmod(G5_DATA_PATH . '/member/' . $mb_dir, G5_DIR_PERMISSION);
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
$dest_path = G5_DATA_PATH . '/member/' . $mb_dir . '/' . $mb_id . '.gif';
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
move_uploaded_file($_FILES['mb_icon']['tmp_name'], $dest_path);
chmod($dest_path, G5_FILE_PERMISSION);
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
if (file_exists($dest_path)) {
$size = getimagesize($dest_path);
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $config['cf_member_icon_width'] || $size[1] > $config['cf_member_icon_height']) {
@unlink($dest_path);
2022-09-17 20:50:50 +09:00
}
2024-09-19 20:57:39 +09:00
}
2022-09-17 20:50:50 +09:00
}
2024-09-19 20:57:39 +09:00
}
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
if ($mb_password)
$sql_password = " , mb_password = '" . get_encrypt_string($mb_password) . "' ";
else
$sql_password = "";
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
if ($passive_certify)
$sql_certify = " , mb_email_certify = '" . G5_TIME_YMDHIS . "' ";
else
$sql_certify = "";
2022-09-17 20:50:50 +09:00
2024-09-19 20:57:39 +09:00
$sql = " update {$g5['member_table']}
2024-09-28 13:03:15 +09:00
set {$sql_common}
{$sql_password}
{$sql_certify}
where mb_id = '{$mb_id}' ";
2024-09-19 20:57:39 +09:00
sql_query($sql);
} else
alert('제대로 된 값이 넘어오지 않았습니다.');
2024-09-28 13:03:15 +09:00
EventHandler::triggerEvent("gnuboard.admin.member_form_update", $w, $mb_id);
2024-09-19 20:57:39 +09:00
goto_url('./member_form.php?' . $qstr . '&amp;w=u&amp;mb_id=' . $mb_id);