From a58d270684110334aab1b296b69e98def6cc6558 Mon Sep 17 00:00:00 2001 From: kondou <kondou@ts.unde.re> Date: Thu, 1 Aug 2013 17:13:11 +0200 Subject: [PATCH] Load avatar from path, if one's provided --- lib/avatar.php | 12 ++++++------ settings/ajax/newavatar.php | 10 +++------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/lib/avatar.php b/lib/avatar.php index f3db07142c..dcaf81f034 100644 --- a/lib/avatar.php +++ b/lib/avatar.php @@ -42,21 +42,21 @@ class OC_Avatar { /** * @brief sets the users local avatar * @param $user string user to set the avatar for - * @param $img mixed imagedata to set a new avatar, or false to delete the current avatar + * @param $data mixed imagedata or path to set a new avatar, or false to delete the current avatar * @throws Exception if the provided file is not a jpg or png image * @throws Exception if the provided image is not valid, or not a square * @return true on success */ - public static function setLocalAvatar ($user, $img) { + public static function setLocalAvatar ($user, $data) { $view = new \OC\Files\View('/'.$user); - if ($img === false) { + if ($data === false) { $view->unlink('avatar.jpg'); $view->unlink('avatar.png'); return true; } else { - $img = new OC_Image($img); - // FIXME this always says "image/png" + $img = new OC_Image($data); + // FIXME this always says "image/png", when loading from data $type = substr($img->mimeType(), -3); if ($type === 'peg') { $type = 'jpg'; } if ($type !== 'jpg' && $type !== 'png') { @@ -69,7 +69,7 @@ class OC_Avatar { $view->unlink('avatar.jpg'); $view->unlink('avatar.png'); - $view->file_put_contents('avatar.'.$type, $img); + $view->file_put_contents('avatar.'.$type, $data); return true; } } diff --git a/settings/ajax/newavatar.php b/settings/ajax/newavatar.php index 456cd84e97..4c8ff0c416 100644 --- a/settings/ajax/newavatar.php +++ b/settings/ajax/newavatar.php @@ -5,16 +5,12 @@ OC_JSON::callCheck(); $user = OC_User::getUser(); if(isset($_POST['path'])) { - $path = $_POST['path']; - if ($path === "false") { // delete avatar + if ($_POST['path'] === "false") { // delete avatar \OC_Avatar::setLocalAvatar($user, false); } else { // select an image from own files - $view = new \OC\Files\View('/'.$user.'/files'); - $img = $view->file_get_contents($path); - - $type = substr($path, -3); try { - \OC_Avatar::setLocalAvatar($user, $img); + $path = OC::$SERVERROOT.'/data/'.$user.'/files'.$_POST['path']; + \OC_Avatar::setLocalAvatar($user, $path); OC_JSON::success(); } catch (Exception $e) { OC_JSON::error(); -- GitLab