squareCrop($dimensions); $avatarImage->save($filename = $avatarCropped); } catch(Exception $ex) {} } } break; case 'background': if(!$canViewImages && !$userExists) { break; } $backgroundStorage = sprintf('%s/backgrounds/original', MSZ_STORAGE); $filename = sprintf('%s/%d.msz', $backgroundStorage, $userId); mkdirs($backgroundStorage, true); break; } if(empty($filename) || !is_file($filename)) { http_response_code(404); return; } $fileContents = file_get_contents($filename); $entityTag = sprintf('W/"{%s}"', hash('sha256', $fileContents)); if(!empty($_SERVER['HTTP_IF_NONE_MATCH']) && $_SERVER['HTTP_IF_NONE_MATCH'] === $entityTag) { http_response_code(304); return; } $finfo = finfo_open(FILEINFO_MIME); $fmime = finfo_buffer($finfo, $fileContents); finfo_close($finfo); http_response_code(200); header(sprintf('Content-Type: %s', $fmime)); header(sprintf('ETag: %s', $entityTag)); echo $fileContents;