2015-04-01 15:46:10 +00:00
|
|
|
<?php
|
|
|
|
/*
|
|
|
|
* Sakura user image serving
|
|
|
|
*/
|
|
|
|
|
|
|
|
// Declare Namespace
|
|
|
|
namespace Sakura;
|
|
|
|
|
2015-07-30 01:12:53 +00:00
|
|
|
// Define that this page won't require templating
|
|
|
|
define('SAKURA_NO_TPL', true);
|
|
|
|
|
2015-04-01 15:46:10 +00:00
|
|
|
// Include components
|
2015-09-14 20:51:23 +00:00
|
|
|
require_once str_replace(basename(__DIR__), '', dirname(__FILE__)) . '_sakura/sakura.php';
|
2015-04-01 15:46:10 +00:00
|
|
|
|
|
|
|
// Set Content type
|
2015-10-10 21:17:50 +00:00
|
|
|
header('Content-Type: application/octet-stream');
|
2015-04-01 15:46:10 +00:00
|
|
|
|
2015-06-04 12:41:55 +00:00
|
|
|
// Path to user uploads
|
2015-11-06 22:30:37 +00:00
|
|
|
$userDirPath = ROOT . Config::getConfig('user_uploads') . '/';
|
2015-06-04 12:41:55 +00:00
|
|
|
|
2015-04-01 15:46:10 +00:00
|
|
|
// Check if the m(ode) GET request is set
|
2015-09-14 20:51:23 +00:00
|
|
|
if (isset($_GET['m'])) {
|
|
|
|
switch ($_GET['m']) {
|
2015-04-01 15:46:10 +00:00
|
|
|
case 'avatar':
|
2015-05-03 21:43:25 +00:00
|
|
|
// Set paths
|
2015-09-14 21:41:43 +00:00
|
|
|
$noAvatar = ROOT . str_replace(
|
|
|
|
'{{ TPL }}',
|
|
|
|
$templateName,
|
2015-11-06 22:30:37 +00:00
|
|
|
Config::getConfig('no_avatar_img')
|
2015-09-14 21:41:43 +00:00
|
|
|
);
|
|
|
|
$deactiveAvatar = ROOT . str_replace(
|
|
|
|
'{{ TPL }}',
|
|
|
|
$templateName,
|
2015-11-06 22:30:37 +00:00
|
|
|
Config::getConfig('deactivated_avatar_img')
|
2015-09-14 21:41:43 +00:00
|
|
|
);
|
|
|
|
$bannedAvatar = ROOT . str_replace(
|
|
|
|
'{{ TPL }}',
|
|
|
|
$templateName,
|
2015-11-06 22:30:37 +00:00
|
|
|
Config::getConfig('banned_avatar_img')
|
2015-09-14 21:41:43 +00:00
|
|
|
);
|
2015-04-01 15:46:10 +00:00
|
|
|
|
|
|
|
// If ?u= isn't set or if it isn't numeric
|
2015-10-16 20:50:11 +00:00
|
|
|
if (!isset($_GET['u']) || !is_numeric($_GET['u'])) {
|
2015-04-01 15:46:10 +00:00
|
|
|
$serveImage = $noAvatar;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2015-04-27 16:30:31 +00:00
|
|
|
// Get user data
|
2015-08-21 22:07:45 +00:00
|
|
|
$user = new User($_GET['u']);
|
2015-04-27 16:30:31 +00:00
|
|
|
|
|
|
|
// If user is deactivated use deactive avatar
|
2015-11-11 21:54:56 +00:00
|
|
|
if ($user->hasRanks([0, 1])) {
|
2015-04-27 16:30:31 +00:00
|
|
|
$serveImage = $deactiveAvatar;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check if user is banned
|
2015-09-14 20:51:23 +00:00
|
|
|
if ($user->checkBan()) {
|
2015-04-27 16:30:31 +00:00
|
|
|
$serveImage = $bannedAvatar;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check if user has an avatar set
|
2015-11-07 22:58:02 +00:00
|
|
|
if (empty($user->userData()['userAvatar']) || !file_exists($userDirPath . $user->userData()['userAvatar'])) {
|
2015-04-27 16:30:31 +00:00
|
|
|
$serveImage = $noAvatar;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2015-04-01 15:46:10 +00:00
|
|
|
// Check if the avatar exist and assign it to a value
|
2015-11-07 22:58:02 +00:00
|
|
|
$serveImage = $userDirPath . $user->userData()['userAvatar'];
|
2015-04-27 16:30:31 +00:00
|
|
|
break;
|
2015-05-03 21:43:25 +00:00
|
|
|
|
2015-04-01 15:46:10 +00:00
|
|
|
case 'background':
|
2015-05-03 21:43:25 +00:00
|
|
|
// Set paths
|
2015-11-06 22:30:37 +00:00
|
|
|
$noBackground = ROOT . Config::getConfig('no_background_img');
|
2015-04-01 15:46:10 +00:00
|
|
|
|
|
|
|
// If ?u= isn't set or if it isn't numeric
|
2015-09-14 20:51:23 +00:00
|
|
|
if (!isset($_GET['u']) || !is_numeric($_GET['u'])) {
|
2015-04-01 15:46:10 +00:00
|
|
|
$serveImage = $noBackground;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2015-05-03 21:43:25 +00:00
|
|
|
// Get user data
|
2015-08-21 22:07:45 +00:00
|
|
|
$user = new User($_GET['u']);
|
2015-05-03 21:43:25 +00:00
|
|
|
|
2015-06-04 12:41:55 +00:00
|
|
|
// If user is deactivated use deactive avatar
|
2015-11-11 21:54:56 +00:00
|
|
|
if ($user->hasRanks([0, 1])) {
|
2015-06-04 12:41:55 +00:00
|
|
|
$serveImage = $noBackground;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check if user is banned
|
2015-09-14 20:51:23 +00:00
|
|
|
if (Bans::checkBan($_GET['u'])) {
|
2015-06-04 12:41:55 +00:00
|
|
|
$serveImage = $noBackground;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check if user has a background set
|
2015-11-07 22:58:02 +00:00
|
|
|
if (empty($user->userData()['profileBackground'])
|
|
|
|
|| !file_exists($userDirPath . $user->userData()['profileBackground'])) {
|
2015-06-04 12:41:55 +00:00
|
|
|
$serveImage = $noBackground;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check if the avatar exist and assign it to a value
|
2015-11-07 22:58:02 +00:00
|
|
|
$serveImage = $userDirPath . $user->userData()['profileBackground'];
|
2015-06-04 12:41:55 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 'header':
|
|
|
|
// Set paths
|
2015-11-06 22:30:37 +00:00
|
|
|
$noHeader = ROOT . Config::getConfig('no_header_img');
|
2015-06-04 12:41:55 +00:00
|
|
|
|
|
|
|
// If ?u= isn't set or if it isn't numeric
|
2015-09-14 20:51:23 +00:00
|
|
|
if (!isset($_GET['u']) || !is_numeric($_GET['u'])) {
|
2015-06-04 12:41:55 +00:00
|
|
|
$serveImage = $noHeader;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get user data
|
2015-08-21 22:07:45 +00:00
|
|
|
$user = new User($_GET['u']);
|
2015-06-04 12:41:55 +00:00
|
|
|
|
|
|
|
// If user is deactivated use deactive avatar
|
2015-11-11 21:54:56 +00:00
|
|
|
if ($user->hasRanks([0, 1])) {
|
2015-06-04 12:41:55 +00:00
|
|
|
$serveImage = $noHeader;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check if user is banned
|
2015-09-14 20:51:23 +00:00
|
|
|
if (Bans::checkBan($_GET['u'])) {
|
2015-06-04 12:41:55 +00:00
|
|
|
$serveImage = $noHeader;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check if user has a background set
|
2015-11-07 22:58:02 +00:00
|
|
|
if (empty($user->userData()['profileHeader'])
|
|
|
|
|| !file_exists($userDirPath . $user->userData()['profileHeader'])) {
|
2015-06-04 12:41:55 +00:00
|
|
|
$serveImage = $noHeader;
|
2015-05-03 21:43:25 +00:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2015-04-01 15:46:10 +00:00
|
|
|
// Check if the avatar exist and assign it to a value
|
2015-11-07 22:58:02 +00:00
|
|
|
$serveImage = $userDirPath . $user->userData()['profileHeader'];
|
2015-04-27 16:30:31 +00:00
|
|
|
break;
|
2015-05-03 21:43:25 +00:00
|
|
|
|
2015-04-01 15:46:10 +00:00
|
|
|
default:
|
2015-11-06 22:30:37 +00:00
|
|
|
$serveImage = ROOT . Config::getConfig('pixel_img');
|
2015-05-03 21:43:25 +00:00
|
|
|
|
2015-04-01 15:46:10 +00:00
|
|
|
}
|
2015-08-21 22:07:45 +00:00
|
|
|
} else {
|
2015-11-06 22:30:37 +00:00
|
|
|
$serveImage = ROOT . Config::getConfig('pixel_img');
|
2015-08-21 22:07:45 +00:00
|
|
|
}
|
|
|
|
|
2015-04-01 15:46:10 +00:00
|
|
|
$serveImage = file_get_contents($serveImage);
|
|
|
|
|
2015-09-14 20:51:23 +00:00
|
|
|
header('Content-Type: ' . getimagesizefromstring($serveImage)['mime']);
|
2015-04-01 15:46:10 +00:00
|
|
|
|
|
|
|
print $serveImage;
|