'plan' => $this->make_hook('plan', AUTH_PUBLIC),
'photo' => $this->make_hook('photo', AUTH_MDP),
'autologin' => $this->make_hook('autologin', AUTH_MDP),
+
+ 'Xnet' => $this->make_wiki_hook(),
);
}
function handler_photo(&$page, $x = null)
{
- if (is_null($x)) {
+ if (!$x || !($profile = Profile::get($x))) {
return PL_NOT_FOUND;
}
- $res = XDB::query("SELECT attachmime, attach
- FROM aliases AS a
- INNER JOIN photo AS p ON(a.uid = p.uid)
- WHERE alias = {?}", $x);
-
- if ((list($type, $data) = $res->fetchOneRow())) {
- pl_cached_dynamic_content_headers("image/$type");
- echo $data;
- } else {
- pl_cached_dynamic_content_headers("image/png");
- echo file_get_contents(dirname(__FILE__).'/../htdocs/images/none.png');
- }
- exit;
+ // Retrieve the photo and its mime type.
+ $photo = $profile->getPhoto(true);
+
+ // Display the photo, or a default one when not available.
+ $photo->send();
}
function handler_index(&$page)