aboutsummaryrefslogtreecommitdiff
path: root/pages/avatar
diff options
context:
space:
mode:
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-12-18 21:25:54 +0000
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-12-18 21:25:54 +0000
commit9bc9a3e7590ba15039b019da22c60bdd9d9868e0 (patch)
tree405dd4a5fc8cfd5a9861507200b4c3982547b347 /pages/avatar
parent9ac841f26e05af3515643e44eb5fde30bcfb1b75 (diff)
downloadelgg-9bc9a3e7590ba15039b019da22c60bdd9d9868e0.tar.gz
elgg-9bc9a3e7590ba15039b019da22c60bdd9d9868e0.tar.bz2
pulling the avatar code out of the profile plugin - just some minor icon related code left
git-svn-id: http://code.elgg.org/elgg/trunk@7671 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'pages/avatar')
-rw-r--r--pages/avatar/edit.php20
-rw-r--r--pages/avatar/view.php46
2 files changed, 66 insertions, 0 deletions
diff --git a/pages/avatar/edit.php b/pages/avatar/edit.php
new file mode 100644
index 000000000..a577170a0
--- /dev/null
+++ b/pages/avatar/edit.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Upload and crop an avatar page
+ */
+
+// Only logged in users
+gatekeeper();
+
+$title = elgg_echo('avatar:edit');
+
+$content = elgg_view('core/avatar/upload', array('entity' => elgg_get_page_owner()));
+$content .= elgg_view('core/avatar/crop', array('entity' => elgg_get_page_owner()));
+
+$params = array(
+ 'content' => $content,
+ 'title' => $title,
+);
+$body = elgg_view_layout('one_sidebar', $params);
+
+echo elgg_view_page($title, $body);
diff --git a/pages/avatar/view.php b/pages/avatar/view.php
new file mode 100644
index 000000000..ed8a47d59
--- /dev/null
+++ b/pages/avatar/view.php
@@ -0,0 +1,46 @@
+<?php
+/**
+ * View an avatar
+ */
+
+$user = elgg_get_page_owner();
+
+// 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) {
+ $path = elgg_view("icon/user/default/$size");
+ header("Location: $path");
+ exit;
+}
+
+// Try and get the icon
+$filehandler = new ElggFile();
+$filehandler->owner_guid = $user->getGUID();
+$filehandler->setFilename("profile/" . $user->getGUID() . $size . ".jpg");
+
+$success = false;
+if ($filehandler->open("read")) {
+ if ($contents = $filehandler->read($filehandler->size())) {
+ $success = true;
+ }
+}
+
+if (!$success) {
+ global $CONFIG;
+ $path = elgg_view('icon/user/default/'.$size);
+ header("Location: {$path}");
+ exit;
+}
+
+header("Content-type: image/jpeg");
+header('Expires: ' . date('r', time() + 864000));
+header("Pragma: public");
+header("Cache-Control: public");
+header("Content-Length: " . strlen($contents));
+
+echo $contents;