You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.7 KiB
55 lines
1.7 KiB
<?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)
|
|
*/
|
|
error_reporting(0);
|
|
define('SITEURL', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
|
|
|
|
$uid = $_GET['uid'] ?? 0;
|
|
$size = $_GET['size'] ?? '';
|
|
$random = $_GET['random'] ?? '';
|
|
$type = $_GET['type'] ?? '';
|
|
$check = $_GET['check_file_exists'] ?? '';
|
|
|
|
$avatar = './data/avatar/' . get_avatar($uid, $size, $type);
|
|
if (file_exists(dirname(__FILE__) . '/' . $avatar)) {
|
|
if ($check) {
|
|
echo 1;
|
|
exit;
|
|
}
|
|
$random = !empty($random) ? rand(1000, 9999) : '';
|
|
$avatar_url = empty($random) ? $avatar : $avatar . '?random=' . $random;
|
|
} else {
|
|
if ($check) {
|
|
echo 0;
|
|
exit;
|
|
}
|
|
$size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
|
|
$avatar_url = 'static/image/avatar/noavatar_' . $size . '.gif';
|
|
}
|
|
|
|
if (empty($random)) {
|
|
header("HTTP/1.1 301 Moved Permanently");
|
|
header("Last-Modified:" . date('r'));
|
|
header("Expires: " . date('r', time() + 86400));
|
|
}
|
|
|
|
header('Location: ' . SITEURL . '/' . $avatar_url);
|
|
exit;
|
|
|
|
function get_avatar($uid, $size = 'middle', $type = '') {
|
|
$size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
|
|
$uid = abs(intval($uid));
|
|
$uid = sprintf("%09d", $uid);
|
|
$dir1 = substr($uid, 0, 3);
|
|
$dir2 = substr($uid, 3, 2);
|
|
$dir3 = substr($uid, 5, 2);
|
|
$typeadd = $type == 'real' ? '_real' : '';
|
|
return $dir1 . '/' . $dir2 . '/' . $dir3 . '/' . substr($uid, -2) . $typeadd . "_avatar_$size.jpg";
|
|
}
|
|
|
|
|