Pass view in \OC_Avatar to constructor and use $_ for enable_avatars
This commit is contained in:
parent
d18a070a03
commit
1832eb8872
|
@ -23,8 +23,8 @@ class Controller {
|
|||
$size = 64;
|
||||
}
|
||||
|
||||
$avatar = new \OC_Avatar();
|
||||
$image = $avatar->get($user, $size);
|
||||
$avatar = new \OC_Avatar($user);
|
||||
$image = $avatar->get($size);
|
||||
|
||||
\OC_Response::disableCaching();
|
||||
\OC_Response::setLastModifiedHeader(time());
|
||||
|
@ -63,8 +63,8 @@ class Controller {
|
|||
}
|
||||
|
||||
try {
|
||||
$avatar = new \OC_Avatar();
|
||||
$avatar->set($user, $newAvatar);
|
||||
$avatar = new \OC_Avatar($user);
|
||||
$avatar->set($newAvatar);
|
||||
\OC_JSON::success();
|
||||
} catch (\OC\NotSquareException $e) {
|
||||
$image = new \OC_Image($newAvatar);
|
||||
|
@ -96,8 +96,8 @@ class Controller {
|
|||
$user = \OC_User::getUser();
|
||||
|
||||
try {
|
||||
$avatar = new \OC_Avatar();
|
||||
$avatar->remove($user);
|
||||
$avatar = new \OC_Avatar($user);
|
||||
$avatar->remove();
|
||||
\OC_JSON::success();
|
||||
} catch (\Exception $e) {
|
||||
\OC_JSON::error(array("data" => array("message" => $e->getMessage()) ));
|
||||
|
@ -145,8 +145,8 @@ class Controller {
|
|||
$image = new \OC_Image($tmpavatar);
|
||||
$image->crop($crop['x'], $crop['y'], $crop['w'], $crop['h']);
|
||||
try {
|
||||
$avatar = new \OC_Avatar();
|
||||
$avatar->set($user, $image->data());
|
||||
$avatar = new \OC_Avatar($user);
|
||||
$avatar->set($$image->data());
|
||||
// Clean up
|
||||
\OC_Cache::remove('tmpavatar');
|
||||
\OC_JSON::success();
|
||||
|
|
|
@ -11,46 +11,51 @@
|
|||
*/
|
||||
|
||||
class OC_Avatar {
|
||||
|
||||
private $view;
|
||||
|
||||
/**
|
||||
* @brief constructor
|
||||
* @param $user string user to do avatar-management with
|
||||
*/
|
||||
public function __construct ($user) {
|
||||
$this->view = new \OC\Files\View('/'.$user);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief get the users avatar
|
||||
* @param $user string which user to get the avatar for
|
||||
* @param $size integer size in px of the avatar, defaults to 64
|
||||
* @return boolean|\OC_Image containing the avatar or false if there's no image
|
||||
*/
|
||||
public function get ($user, $size = 64) {
|
||||
$view = new \OC\Files\View('/'.$user);
|
||||
|
||||
if ($view->file_exists('avatar.jpg')) {
|
||||
public function get ($size = 64) {
|
||||
if ($thus->view->file_exists('avatar.jpg')) {
|
||||
$ext = 'jpg';
|
||||
} elseif ($view->file_exists('avatar.png')) {
|
||||
} elseif ($this->view->file_exists('avatar.png')) {
|
||||
$ext = 'png';
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
$avatar = new OC_Image();
|
||||
$avatar->loadFromData($view->file_get_contents('avatar.'.$ext));
|
||||
$avatar->loadFromData($this->view->file_get_contents('avatar.'.$ext));
|
||||
$avatar->resize($size);
|
||||
return $avatar;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief sets the users avatar
|
||||
* @param $user string user to set the avatar for
|
||||
* @param $data mixed imagedata or path to set a new avatar
|
||||
* @throws Exception if the provided file is not a jpg or png image
|
||||
* @throws Exception if the provided image is not valid
|
||||
* @throws \OC\NotSquareException if the image is not square
|
||||
* @return void
|
||||
*/
|
||||
public function set ($user, $data) {
|
||||
public function set ($data) {
|
||||
if (\OC_App::isEnabled('files_encryption')) {
|
||||
$l = \OC_L10N::get('lib');
|
||||
throw new \Exception($l->t("Custom profile pictures don't work with encryption yet"));
|
||||
}
|
||||
|
||||
$view = new \OC\Files\View('/'.$user);
|
||||
|
||||
$img = new OC_Image($data);
|
||||
$type = substr($img->mimeType(), -3);
|
||||
if ($type === 'peg') { $type = 'jpg'; }
|
||||
|
@ -68,19 +73,17 @@ class OC_Avatar {
|
|||
throw new \OC\NotSquareException();
|
||||
}
|
||||
|
||||
$view->unlink('avatar.jpg');
|
||||
$view->unlink('avatar.png');
|
||||
$view->file_put_contents('avatar.'.$type, $data);
|
||||
$this->view->unlink('avatar.jpg');
|
||||
$this->view->unlink('avatar.png');
|
||||
$this->view->file_put_contents('avatar.'.$type, $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief remove the users avatar
|
||||
* @param $user string user to delete the avatar from
|
||||
* @return void
|
||||
*/
|
||||
public function remove ($user) {
|
||||
$view = new \OC\Files\View('/'.$user);
|
||||
$view->unlink('avatar.jpg');
|
||||
$view->unlink('avatar.png');
|
||||
public function remove () {
|
||||
$this->view->unlink('avatar.jpg');
|
||||
$this->view->unlink('avatar.png');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -89,6 +89,7 @@ $tmpl->assign('passwordChangeSupported', OC_User::canUserChangePassword(OC_User:
|
|||
$tmpl->assign('displayNameChangeSupported', OC_User::canUserChangeDisplayName(OC_User::getUser()));
|
||||
$tmpl->assign('displayName', OC_User::getDisplayName());
|
||||
$tmpl->assign('enableDecryptAll' , $enableDecryptAll);
|
||||
$tmpl->assign('enableAvatars', \OC_Config::getValue('enable_avatars', true));
|
||||
|
||||
$forms=OC_App::getForms('personal');
|
||||
$tmpl->assign('forms', array());
|
||||
|
|
|
@ -80,7 +80,7 @@ if($_['passwordChangeSupported']) {
|
|||
}
|
||||
?>
|
||||
|
||||
<?php if (\OC_Config::getValue('enable_avatars', true) === true): ?>
|
||||
<?php if ($_['enableAvatars']): ?>
|
||||
<form id="avatar" method="post" action="<?php p(\OC_Helper::linkToRoute('core_avatar_post')); ?>">
|
||||
<fieldset class="personalblock">
|
||||
<legend><strong><?php p($l->t('Profile picture')); ?></strong></legend>
|
||||
|
|
|
@ -81,7 +81,7 @@ $_['subadmingroups'] = array_flip($items);
|
|||
<table class="hascontrols" data-groups="<?php p(json_encode($allGroups));?>">
|
||||
<thead>
|
||||
<tr>
|
||||
<?php if (\OC_Config::getValue('enable_avatars', true) === true): ?>
|
||||
<?php if ($_['enableAvatars']): ?>
|
||||
<th id='headerAvatar'></th>
|
||||
<?php endif; ?>
|
||||
<th id='headerName'><?php p($l->t('Username'))?></th>
|
||||
|
@ -99,7 +99,7 @@ $_['subadmingroups'] = array_flip($items);
|
|||
<?php foreach($_["users"] as $user): ?>
|
||||
<tr data-uid="<?php p($user["name"]) ?>"
|
||||
data-displayName="<?php p($user["displayName"]) ?>">
|
||||
<?php if (\OC_Config::getValue('enable_avatars', true) === true): ?>
|
||||
<?php if ($_['enableAvatars']): ?>
|
||||
<td class="avatar"><div class="avatardiv"></div></td>
|
||||
<?php endif; ?>
|
||||
<td class="name"><?php p($user["name"]); ?></td>
|
||||
|
|
|
@ -81,4 +81,5 @@ $tmpl->assign( 'quota_preset', $quotaPreset);
|
|||
$tmpl->assign( 'default_quota', $defaultQuota);
|
||||
$tmpl->assign( 'defaultQuotaIsUserDefined', $defaultQuotaIsUserDefined);
|
||||
$tmpl->assign( 'recoveryAdminEnabled', $recoveryAdminEnabled);
|
||||
$tmpl->assign('enableAvatars', \OC_Config::getValue('enable_avatars', true));
|
||||
$tmpl->printPage();
|
||||
|
|
|
@ -11,16 +11,16 @@ class Test_Avatar extends PHPUnit_Framework_TestCase {
|
|||
public function testAvatar() {
|
||||
$this->markTestSkipped("Setting custom avatars with encryption doesn't work yet");
|
||||
|
||||
$avatar = new \OC_Avatar();
|
||||
$avatar = new \OC_Avatar(\OC_User::getUser());
|
||||
|
||||
$this->assertEquals(false, $avatar->get(\OC_User::getUser()));
|
||||
$this->assertEquals(false, $avatar->get());
|
||||
|
||||
$expected = new OC_Image(\OC::$SERVERROOT.'/tests/data/testavatar.png');
|
||||
$avatar->set(\OC_User::getUser(), $expected->data());
|
||||
$avatar->set($expected->data());
|
||||
$expected->resize(64);
|
||||
$this->assertEquals($expected->data(), $avatar->get(\OC_User::getUser())->data());
|
||||
$this->assertEquals($expected->data(), $avatar->get()->data());
|
||||
|
||||
$avatar->remove(\OC_User::getUser());
|
||||
$this->assertEquals(false, $avatar->get(\OC_User::getUser()));
|
||||
$avatar->remove();
|
||||
$this->assertEquals(false, $avatar->get());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue