summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkondou <kondou@ts.unde.re>2013-08-01 17:13:11 +0200
committerkondou <kondou@ts.unde.re>2013-08-25 21:04:09 +0200
commita58d270684110334aab1b296b69e98def6cc6558 (patch)
tree8912f763df59d9c2e75a608e039af19701696df5
parent2bfe66223563b16a067be273e0d6979b420598ad (diff)
downloadnextcloud-server-a58d270684110334aab1b296b69e98def6cc6558.tar.gz
nextcloud-server-a58d270684110334aab1b296b69e98def6cc6558.zip
Load avatar from path, if one's provided
-rw-r--r--lib/avatar.php12
-rw-r--r--settings/ajax/newavatar.php10
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();