diff options
author | kondou <kondou@ts.unde.re> | 2013-08-01 17:13:11 +0200 |
---|---|---|
committer | kondou <kondou@ts.unde.re> | 2013-08-25 21:04:09 +0200 |
commit | a58d270684110334aab1b296b69e98def6cc6558 (patch) | |
tree | 8912f763df59d9c2e75a608e039af19701696df5 | |
parent | 2bfe66223563b16a067be273e0d6979b420598ad (diff) | |
download | nextcloud-server-a58d270684110334aab1b296b69e98def6cc6558.tar.gz nextcloud-server-a58d270684110334aab1b296b69e98def6cc6558.zip |
Load avatar from path, if one's provided
-rw-r--r-- | lib/avatar.php | 12 | ||||
-rw-r--r-- | settings/ajax/newavatar.php | 10 |
2 files changed, 9 insertions, 13 deletions
diff --git a/lib/avatar.php b/lib/avatar.php index f3db07142ca..dcaf81f0349 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 456cd84e970..4c8ff0c4169 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(); |