diff --git a/src/static/web/css/style.css b/src/static/web/css/style.css index d464eadd..51bbf3ec 100644 --- a/src/static/web/css/style.css +++ b/src/static/web/css/style.css @@ -387,11 +387,7 @@ input[type=file] { position:relative } .file-absolute { - position:absolute; - top:0; - right:0; - opacity:0; - cursor:pointer + display: none; } #btnScrollTop { display:none; diff --git a/src/user/api.php b/src/user/api.php index 1926bfa4..02578bc4 100755 --- a/src/user/api.php +++ b/src/user/api.php @@ -58,7 +58,66 @@ if ($action === 'is_need_check_code') { "email" => $row['email'], ), )); -} else { +} else if($action === 'upload_face'){ + if (!$cfg_ml->IsLogin()) { + if ($format === 'json') { + echo json_encode(array( + "code" => -1, + "msg" => "未登录", + "data" => null, + )); + } else { + echo ""; + } + exit; + } + $target_dir = "uploads/"; //上传目录 + + $allowedTypes = array('image/png', 'image/jpg', 'image/jpeg'); + $uploadedFile = $_FILES['file']['tmp_name']; + $fileType = mime_content_type($uploadedFile); + $imgSize = getimagesize($uploadedFile); + if (!in_array($fileType, $allowedTypes) || !$imgSize) { + echo json_encode(array( + "code" => -1, + "msg" => "仅支持图片格式文件", + "data" => null, + )); + exit; + } + + if (!is_dir($cfg_basedir.$cfg_user_dir."/{$cfg_ml->M_ID}")) { + MkdirAll($cfg_basedir.$cfg_user_dir."/{$cfg_ml->M_ID}", $cfg_dir_purview); + CloseFtp(); + } + $target_file = $cfg_basedir.$cfg_user_dir."/{$cfg_ml->M_ID}/newface.png"; //上传文件名 + $target_url = $cfg_mediasurl.'/userup'."/{$cfg_ml->M_ID}/newface.png"; + if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) { + require_once DEDEINC."/libraries/imageresize.class.php"; + try{ + $image = new ImageResize($target_file); + $image->crop(150, 150); + $image->save($target_file); + echo json_encode(array( + "code" => 0, + "msg" => "上传成功", + "data" => $target_url, + )); + } catch (ImageResizeException $e) { + echo json_encode(array( + "code" => -1, + "msg" => "图片自动裁剪失败", + "data" => null, + )); + } + } else { + echo json_encode(array( + "code" => -1, + "msg" => "上传失败", + "data" => null, + )); + } +} else { $format = isset($format) ? "json" : ""; if (!$cfg_ml->IsLogin()) { if ($format === 'json') { diff --git a/src/user/edit_baseinfo.php b/src/user/edit_baseinfo.php index 872c31e5..660e4f63 100755 --- a/src/user/edit_baseinfo.php +++ b/src/user/edit_baseinfo.php @@ -13,6 +13,7 @@ if (!isset($dopost)) $dopost = ''; $pwd2 = (empty($pwd2)) ? "" : $pwd2; $row = $dsql->GetOne("SELECT * FROM `#@__member` WHERE mid='".$cfg_ml->M_ID."'"); $face = $row['face']; +$newface = isset($newface)? $newface : ''; if ($dopost == 'save') { //校验CSRF CheckCSRF(); @@ -31,6 +32,7 @@ if ($dopost == 'save') { ShowMsg('您两次输入的新密码不一致', '-1'); exit(); } + $addupquery = ''; $admaddupquery = ''; $pp = "pwd"; @@ -56,6 +58,14 @@ if ($dopost == 'save') { $pwd2 = substr(md5($userpwd), 5, 20); } } + //修改头像 + $target_file = $cfg_basedir.$cfg_user_dir."/{$cfg_ml->M_ID}/newface.png"; + if (!empty($newface) && file_exists($target_file)) { + rename($target_file, $cfg_basedir.$cfg_user_dir."/{$cfg_ml->M_ID}/face.png"); + $target_url = $cfg_mediasurl.'/userup'."/{$cfg_ml->M_ID}/face.png"; + $addupquery = ",face='{$target_url}'"; + @unlink($target_file); + } //修改安全问题或邮箱 if ($email != $row['email'] || ($newsafequestion != 0 && $newsafeanswer != '')) { if ($row['safequestion'] != 0 && ($row['safequestion'] != $safequestion || $row['safeanswer'] != $safeanswer)) { diff --git a/src/user/edit_email.php b/src/user/edit_email.php deleted file mode 100644 index 8e5ef687..00000000 --- a/src/user/edit_email.php +++ /dev/null @@ -1,37 +0,0 @@ -fields['email']) || $cfg_ml->fields['checkmail'] != -1) { - ShowMsg('邮箱已经设置,无需重复提交', '-1'); - exit(); - } - //校验CSRF - CheckCSRF(); - if (!CheckEmail($email)) { - ShowMsg('邮箱格式不正确', '-1'); - exit(); - } - $email = HtmlReplace($email, -1); - - $query = "UPDATE `#@__member` SET `email` = '$email' WHERE mid='{$cfg_ml->M_ID}' "; - $dsql->ExecuteNoneQuery($query); - //清除缓存 - $cfg_ml->DelCache($cfg_ml->M_ID); - ShowMsg('成功更新邮箱信息', $backurl); - exit(); -} -$email = $cfg_ml->fields['email']; -include(DEDEMEMBER."/templets/edit_email.htm"); -exit(); -?> \ No newline at end of file diff --git a/src/user/edit_face.php b/src/user/edit_face.php deleted file mode 100755 index 35acbf67..00000000 --- a/src/user/edit_face.php +++ /dev/null @@ -1,33 +0,0 @@ -M_ID}' "; - $dsql->ExecuteNoneQuery($query); - //清除缓存 - $cfg_ml->DelCache($cfg_ml->M_ID); - ShowMsg('成功更新头像信息', $backurl); - exit(); -} -$face = $cfg_ml->fields['face']; -include(DEDEMEMBER."/templets/edit_face.htm"); -exit(); -?> \ No newline at end of file diff --git a/src/user/templets/edit_baseinfo.htm b/src/user/templets/edit_baseinfo.htm index 9a043db9..66782813 100755 --- a/src/user/templets/edit_baseinfo.htm +++ b/src/user/templets/edit_baseinfo.htm @@ -1,140 +1,195 @@ -
- - -