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-04-06 16:15:20 +00:00
|
|
|
require_once str_replace(basename(__DIR__), '', dirname(__FILE__)) .'_sakura/sakura.php';
|
2015-04-01 15:46:10 +00:00
|
|
|
|
|
|
|
// Set Content type
|
|
|
|
header('Content-Type: application/octet-stream');
|
|
|
|
|
2015-06-04 12:41:55 +00:00
|
|
|
// Path to user uploads
|
|
|
|
$userDirPath = ROOT .'content/images/user/';
|
|
|
|
|
2015-04-01 15:46:10 +00:00
|
|
|
// Check if the m(ode) GET request is set
|
|
|
|
if(isset($_GET['m'])) {
|
2015-05-03 21:43:25 +00:00
|
|
|
|
2015-04-01 15:46:10 +00:00
|
|
|
switch($_GET['m']) {
|
2015-05-03 21:43:25 +00:00
|
|
|
|
2015-04-01 15:46:10 +00:00
|
|
|
case 'avatar':
|
2015-05-03 21:43:25 +00:00
|
|
|
// Set paths
|
2015-04-27 16:30:31 +00:00
|
|
|
$noAvatar = ROOT .'content/images/no-av.png';
|
|
|
|
$deactiveAvatar = ROOT .'content/images/deactivated-av.png';
|
|
|
|
$bannedAvatar = ROOT .'content/images/banned-av.png';
|
2015-04-01 15:46:10 +00:00
|
|
|
|
|
|
|
// If ?u= isn't set or if it isn't numeric
|
2015-06-19 16:12:44 +00:00
|
|
|
if(!isset($_GET['u']) || !is_numeric($_GET['u']) || $_GET['u'] == 0) {
|
2015-04-01 15:46:10 +00:00
|
|
|
$serveImage = $noAvatar;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2015-04-27 16:30:31 +00:00
|
|
|
// Get user data
|
|
|
|
$user = Users::getUser($_GET['u']);
|
|
|
|
|
|
|
|
// If user is deactivated use deactive avatar
|
|
|
|
if(Users::checkIfUserHasRanks([0, 1], $user, true)) {
|
|
|
|
$serveImage = $deactiveAvatar;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check if user is banned
|
|
|
|
if(false) { // [Flashwave 2015-04-27] Banning isn't implemented yet
|
|
|
|
$serveImage = $bannedAvatar;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check if user has an avatar set
|
2015-06-28 14:43:46 +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-06-28 14:43:46 +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-06-04 12:41:55 +00:00
|
|
|
$noBackground = ROOT .'content/pixel.png';
|
2015-04-01 15:46:10 +00:00
|
|
|
|
|
|
|
// If ?u= isn't set or if it isn't numeric
|
|
|
|
if(!isset($_GET['u']) || !is_numeric($_GET['u'])) {
|
|
|
|
$serveImage = $noBackground;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2015-05-03 21:43:25 +00:00
|
|
|
// Get user data
|
|
|
|
$user = Users::getUser($_GET['u']);
|
|
|
|
|
2015-06-04 12:41:55 +00:00
|
|
|
// If user is deactivated use deactive avatar
|
|
|
|
if(Users::checkIfUserHasRanks([0, 1], $user, true)) {
|
|
|
|
$serveImage = $noBackground;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check if user is banned
|
|
|
|
if(false) { // [Flashwave 2015-04-27] Banning isn't implemented yet
|
|
|
|
$serveImage = $noBackground;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check if user has a background set
|
2015-06-28 14:43:46 +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-06-28 14:43:46 +00:00
|
|
|
$serveImage = $userDirPath . $user['userData']['profileBackground'];
|
2015-06-04 12:41:55 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 'header':
|
|
|
|
// Set paths
|
|
|
|
$noHeader = ROOT .'content/images/triangles.png';
|
|
|
|
|
|
|
|
// If ?u= isn't set or if it isn't numeric
|
|
|
|
if(!isset($_GET['u']) || !is_numeric($_GET['u'])) {
|
|
|
|
$serveImage = $noHeader;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get user data
|
|
|
|
$user = Users::getUser($_GET['u']);
|
|
|
|
|
|
|
|
// If user is deactivated use deactive avatar
|
|
|
|
if(Users::checkIfUserHasRanks([0, 1], $user, true)) {
|
|
|
|
$serveImage = $noHeader;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check if user is banned
|
|
|
|
if(false) { // [Flashwave 2015-04-27] Banning isn't implemented yet
|
|
|
|
$serveImage = $noHeader;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check if user has a background set
|
2015-06-28 14:43:46 +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-06-28 14:43:46 +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:
|
|
|
|
$serveImage = ROOT .'content/pixel.png';
|
2015-05-03 21:43:25 +00:00
|
|
|
|
2015-04-01 15:46:10 +00:00
|
|
|
}
|
2015-05-03 21:43:25 +00:00
|
|
|
|
|
|
|
} else
|
2015-04-01 15:46:10 +00:00
|
|
|
$serveImage = ROOT .'content/pixel.png';
|
|
|
|
|
|
|
|
$serveImage = file_get_contents($serveImage);
|
|
|
|
|
|
|
|
header('Content-Type: ' .getimagesizefromstring($serveImage)['mime']);
|
|
|
|
|
|
|
|
print $serveImage;
|