mirror of
https://github.com/DzzXH/DzzOffice.git
synced 2026-01-16 04:36:50 +08:00
88 lines
2.8 KiB
PHP
88 lines
2.8 KiB
PHP
<?php
|
|
/*
|
|
* @copyright Leyun internet Technology(Shanghai)Co.,Ltd
|
|
* @license http://www.dzzoffice.com/licenses/license.txt
|
|
* @package DzzOffice
|
|
* @link http://www.dzzoffice.com
|
|
* @author zyx(zyx@dzz.cc)
|
|
*/
|
|
if(!defined('IN_DZZ')) {
|
|
exit('Access Denied');
|
|
}
|
|
$verify = C::t('user_verify')->fetch($_G['uid']);//验证信息
|
|
Hook::listen('check_login');
|
|
$navtitle=lang('Modify_the_picture').' - '.lang('myCountCenter');
|
|
if(submitcheck('avatarsubmit')) {
|
|
|
|
if($_GET['imagedata']) $success=upbase64($_GET['imagedata'],$_G['uid']);
|
|
if($_GET['aid']) IO::delete('attach::'.intval($_GET['aid']));
|
|
if($success) exit(json_encode(array('msg'=>'success')));
|
|
else exit(json_encode(array('error'=>'头像保存错误,请稍候重试')));
|
|
|
|
showmessage('do_success', MOD_URL.'&op=avatar');
|
|
|
|
}elseif($_GET['do']=='imageupload'){
|
|
|
|
include libfile('class/uploadhandler');
|
|
$options=array( 'accept_file_types' => '/\.(gif|jpe?g|png)$/i',
|
|
'upload_dir' =>$_G['setting']['attachdir'].'cache/',
|
|
'upload_url' => $_G['setting']['attachurl'].'cache/',
|
|
'thumbnail'=>array('max-width'=>512,'max-height'=>512)
|
|
);
|
|
$upload_handler = new uploadhandler($options);
|
|
exit();
|
|
}
|
|
$user = C::t('user')->get_user_by_uid($_G['uid']);
|
|
|
|
if(empty($user['avatarstatus']) && dzz_check_avatar($_G['uid'], 'middle')) {
|
|
|
|
C::t('user')->update($_G['uid'], array('avatarstatus'=>'1'));
|
|
}
|
|
|
|
include template("avatar");
|
|
|
|
function dzz_check_avatar($uid, $size = 'middle', $type = 'virtual') {
|
|
global $_G;
|
|
$url = $_G['siteurl']."avatar.php?uid=$uid&size=$size&type=$type&check_file_exists=1";
|
|
$res =dfsockopen($url, 500000, '', '', TRUE, '', 20);
|
|
if($res == 1) {
|
|
return 1;
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
function upBase64($base64Data,$uid){
|
|
$img = base64_decode(str_replace('data:image/png;base64,','',$base64Data));
|
|
$temp=getglobal('setting/attachdir').'cache/'.random(5).'.png';
|
|
//移动文件
|
|
if (!(file_put_contents($temp, $img))) { //移动失败
|
|
return false;
|
|
} else { //移动成功,生成3种尺寸头像
|
|
|
|
$home = get_home($uid);
|
|
if(!is_dir(DZZ_ROOT.'./data/avatar/'.$home)) {
|
|
set_home($uid, DZZ_ROOT.'./data/avatar/');
|
|
}
|
|
$bigavatarfile = DZZ_ROOT.'./data/avatar/'.get_avatar($uid, 'big');
|
|
$middleavatarfile =DZZ_ROOT.'./data/avatar/'.get_avatar($uid, 'middle');
|
|
$smallavatarfile = DZZ_ROOT.'./data/avatar/'.get_avatar($uid, 'small');
|
|
include_once libfile('class/image');
|
|
$image=new image();
|
|
$success=0;
|
|
if($thumb = $image->Thumb($temp,$bigavatarfile,200, 200,1)){
|
|
$success++;
|
|
}
|
|
if($thumb = $image->Thumb($temp,$middleavatarfile,120, 120,1)){
|
|
$success++;
|
|
}
|
|
if($thumb = $image->Thumb($temp,$smallavatarfile,48, 48,1)){
|
|
$success++;
|
|
}
|
|
if($success>2){
|
|
C::t('user')->update($uid, array('avatarstatus'=>'1'));
|
|
}
|
|
@unlink($temp);
|
|
return $success;
|
|
}
|
|
}
|