12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?php
- /**
- * View an avatar
- */
- // page owner library sets this based on URL
- $user = elgg_get_page_owner_entity();
- // Get the size
- $size = strtolower(get_input('size'));
- if (!in_array($size, array('master', 'large', 'medium', 'small', 'tiny', 'topbar'))) {
- $size = 'medium';
- }
- // If user doesn't exist, return default icon
- if (!$user) {
- $url = "_graphics/icons/default/{$size}.png";
- $url = elgg_normalize_url($url);
- forward($url);
- }
- $user_guid = $user->getGUID();
- // Try and get the icon
- $filehandler = new ElggFile();
- $filehandler->owner_guid = $user_guid;
- $filehandler->setFilename("profile/{$user_guid}{$size}.jpg");
- $success = false;
- try {
- if ($filehandler->open("read")) {
- if ($contents = $filehandler->read($filehandler->getSize())) {
- $success = true;
- }
- }
- } catch (InvalidParameterException $e) {
- elgg_log("Unable to get avatar for user with GUID $user_guid", 'ERROR');
- }
- if (!$success) {
- $url = "_graphics/icons/default/{$size}.png";
- $url = elgg_normalize_url($url);
- forward($url);
- }
- header("Content-type: image/jpeg", true);
- header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', strtotime("+6 months")), true);
- header("Pragma: public", true);
- header("Cache-Control: public", true);
- header("Content-Length: " . strlen($contents));
- echo $contents;
|