summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkondou <kondou@ts.unde.re>2013-08-19 12:15:48 +0200
committerkondou <kondou@ts.unde.re>2013-08-25 21:06:02 +0200
commit81cadd5ea37f1db30cdd085dc58a27ef8a9ee5c2 (patch)
tree0b969f6246bd80f989cea6d903e08e6ff9260fe8
parent960262bbb469f8418ac590c5e4d789568d7c9a7e (diff)
downloadnextcloud-server-81cadd5ea37f1db30cdd085dc58a27ef8a9ee5c2.tar.gz
nextcloud-server-81cadd5ea37f1db30cdd085dc58a27ef8a9ee5c2.zip
Remove gravatar and no-avatar functionality, prepare for default avatars even more and reword some stuff
-rw-r--r--avatar.php11
-rw-r--r--config/config.sample.php6
-rw-r--r--core/img/defaultavatar.pngbin12444 -> 0 bytes
-rw-r--r--lib/avatar.php114
-rwxr-xr-xsettings/admin.php1
-rw-r--r--settings/ajax/setavatarmode.php12
-rw-r--r--settings/js/admin.js6
-rw-r--r--settings/personal.php4
-rw-r--r--settings/routes.php2
-rw-r--r--settings/templates/admin.php27
-rw-r--r--settings/templates/personal.php19
-rw-r--r--settings/templates/users.php8
-rw-r--r--tests/lib/avatar.php38
13 files changed, 45 insertions, 203 deletions
diff --git a/avatar.php b/avatar.php
index a6d6666c623..70444dafcb5 100644
--- a/avatar.php
+++ b/avatar.php
@@ -7,11 +7,6 @@ if (!\OC_User::isLoggedIn()) {
\OC_Template::printErrorPage("Permission denied");
}
-$mode = \OC_Avatar::getMode();
-if ($mode === "none") {
- exit();
-}
-
if ($_SERVER['REQUEST_METHOD'] === "GET") {
if (isset($_GET['user'])) {
//SECURITY TODO does this fully eliminate directory traversals?
@@ -33,8 +28,6 @@ if ($_SERVER['REQUEST_METHOD'] === "GET") {
if ($image instanceof \OC_Image) {
$image->show();
- } elseif (is_string($image)) { // Gravatar alike services
- header("Location: ".$image);
} else {
$image = \OC_Avatar::getDefaultAvatar($user, $size);
$image->show();
@@ -60,7 +53,7 @@ if ($_SERVER['REQUEST_METHOD'] === "GET") {
}
try {
- \OC_Avatar::setLocalAvatar($user, $avatar);
+ \OC_Avatar::set($user, $avatar);
OC_JSON::success();
} catch (\Exception $e) {
OC_JSON::error(array("data" => array ("message" => $e->getMessage()) ));
@@ -69,7 +62,7 @@ if ($_SERVER['REQUEST_METHOD'] === "GET") {
$user = OC_User::getUser();
try {
- \OC_Avatar::setLocalAvatar($user, false);
+ \OC_Avatar::set($user, false);
OC_JSON::success();
} catch (\Exception $e) {
OC_JSON::error(array("data" => array ("message" => $e->getMessage()) ));
diff --git a/config/config.sample.php b/config/config.sample.php
index fb2271339b2..24ba541ac5c 100644
--- a/config/config.sample.php
+++ b/config/config.sample.php
@@ -65,12 +65,6 @@ $CONFIG = array(
/* URL to the parent directory of the 3rdparty directory, as seen by the browser */
"3rdpartyurl" => "",
-/* What avatars to use.
- * May be "none" for none, "local" for uploaded avatars, or "gravatar" for gravatars.
- * Default is "local".
- */
-"avatars" => "local",
-
/* Default app to load on login */
"defaultapp" => "files",
diff --git a/core/img/defaultavatar.png b/core/img/defaultavatar.png
deleted file mode 100644
index e9572080bbf..00000000000
--- a/core/img/defaultavatar.png
+++ /dev/null
Binary files differ
diff --git a/lib/avatar.php b/lib/avatar.php
index b091161aef0..fa8fece080c 100644
--- a/lib/avatar.php
+++ b/lib/avatar.php
@@ -8,52 +8,44 @@
/**
* This class gets and sets users avatars.
- * Available backends are local (saved in users root at avatar.[png|jpg]), gravatar TODO and custom backends.
- * However the get function is easy to extend with further backends.
-*/
+ */
class OC_Avatar {
/**
- * @brief gets the users avatar
- * @param $user string username, if not provided, the default avatar will be returned
- * @param $size integer size in px of the avatar, defaults to 64
- * @return mixed \OC_Image containing the avatar, a link to the avatar, false if avatars are disabled
- */
- public static function get ($user = false, $size = 64) {
- $mode = self::getMode();
- if ($mode === "none") {
- // avatars are disabled
- return false;
- } else {
- if ($user === false) {
- return self::getDefaultAvatar($size);
- } elseif ($mode === "gravatar") {
- return self::getGravatar($user, $size);
- } elseif ($mode === "local") {
- return self::getLocalAvatar($user, $size);
- } elseif ($mode === "custom") {
- return self::getCustomAvatar($user, $size);
- }
+ * @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 \OC_Image containing the avatar
+ */
+ public static function get ($user, $size = 64) {
+ if ($user === false) {
+ return self::getDefaultAvatar($user, $size);
}
- }
- /**
- * @brief returns the active avatar mode
- * @return string active avatar mode
- */
- public static function getMode () {
- return \OC_Config::getValue("avatar", "local");
- }
+ $view = new \OC\Files\View('/'.$user);
+
+ if ($view->file_exists('avatar.jpg')) {
+ $ext = 'jpg';
+ } elseif ($view->file_exists('avatar.png')) {
+ $ext = 'png';
+ } else {
+ return self::getDefaultAvatar($user, $size);
+ }
+
+ $avatar = new OC_Image($view->file_get_contents('avatar.'.$ext));
+ $avatar->resize($size);
+ return $avatar;
+ }
/**
- * @brief sets the users local 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, 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, $data) {
+ public static function set ($user, $data) {
$view = new \OC\Files\View('/'.$user);
if ($data === false) {
@@ -66,7 +58,7 @@ class OC_Avatar {
if ($type === 'peg') { $type = 'jpg'; }
if ($type !== 'jpg' && $type !== 'png') {
$l = \OC_L10N::get('lib');
- throw new \Exception($l->t("Unknown filetype for avatar"));
+ throw new \Exception($l->t("Unknown filetype"));
}
if (!( $img->valid() && ($img->height() === $img->width()) )) {
@@ -82,54 +74,6 @@ class OC_Avatar {
}
/**
- * @brief get the users gravatar
- * @param $user string which user to get the gravatar for
- * @param $size integer size in px of the avatar, defaults to 64
- * @return string link to the gravatar, or \OC_Image with the default avatar
- */
- public static function getGravatar ($user, $size = 64) {
- $email = \OC_Preferences::getValue($user, 'settings', 'email');
- if ($email !== null) {
- $emailhash = md5(strtolower(trim($email)));
- $url = "http://secure.gravatar.com/avatar/".$emailhash."?d=404&s=".$size;
- $headers = get_headers($url, 1);
- if (strpos($headers[0], "404 Not Found") === false) {
- return $url;
- }
- }
- return self::getDefaultAvatar($user, $size);
- }
-
- /**
- * @brief get the local avatar
- * @param $user string which user to get the avatar for
- * @param $size integer size in px of the avatar, defaults to 64
- * @return string \OC_Image containing the avatar
- */
- public static function getLocalAvatar ($user, $size = 64) {
- $view = new \OC\Files\View('/'.$user);
-
- if ($view->file_exists('avatar.jpg')) {
- $ext = 'jpg';
- } elseif ($view->file_exists('avatar.png')) {
- $ext = 'png';
- } else {
- return self::getDefaultAvatar($user, $size);
- }
-
- $avatar = new OC_Image($view->file_get_contents('avatar.'.$ext));
- $avatar->resize($size);
- return $avatar;
- }
-
- /**
- * @todo todo
- */
- public static function getCustomAvatar($user, $size) {
- // TODO
- }
-
- /**
* @brief gets the default avatar
* @brief $user string which user to get the avatar for
* @param $size integer size of the avatar in px, defaults to 64
@@ -137,8 +81,10 @@ class OC_Avatar {
* @todo use custom default images, when they arive
*/
public static function getDefaultAvatar ($user, $size = 64) {
- $default = new OC_Image(OC::$SERVERROOT."/core/img/defaultavatar.png");
+ // TODO
+ /*$default = new OC_Image(OC::$SERVERROOT."/core/img/defaultavatar.png");
$default->resize($size);
- return $default;
+ return $default;*/
+ return;
}
}
diff --git a/settings/admin.php b/settings/admin.php
index 394d6b55d78..869729a9e41 100755
--- a/settings/admin.php
+++ b/settings/admin.php
@@ -30,7 +30,6 @@ $tmpl->assign('isWebDavWorking', OC_Util::isWebDAVWorking());
$tmpl->assign('has_fileinfo', OC_Util::fileInfoLoaded());
$tmpl->assign('backgroundjobs_mode', OC_Appconfig::getValue('core', 'backgroundjobs_mode', 'ajax'));
$tmpl->assign('shareAPIEnabled', OC_Appconfig::getValue('core', 'shareapi_enabled', 'yes'));
-$tmpl->assign('avatar', OC_Config::getValue("avatar", "local"));
// Check if connected using HTTPS
if (OC_Request::serverProtocol() === 'https') {
diff --git a/settings/ajax/setavatarmode.php b/settings/ajax/setavatarmode.php
deleted file mode 100644
index f6f19f50cc9..00000000000
--- a/settings/ajax/setavatarmode.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-/**
- * Copyright (c) 2013 Christopher Schäpers <christopher@schaepers.it>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-OC_Util::checkAdminUser();
-OCP\JSON::callCheck();
-
-OC_Config::setValue('avatar', $_POST['mode']);
diff --git a/settings/js/admin.js b/settings/js/admin.js
index 6fa1c768ea3..f2d6f37a51a 100644
--- a/settings/js/admin.js
+++ b/settings/js/admin.js
@@ -14,12 +14,6 @@ $(document).ready(function(){
}
});
- $('#avatar input').change(function(){
- if ($(this).attr('checked')) {
- $.post(OC.filePath('settings', 'ajax', 'setavatarmode.php'), {mode: $(this).val()});
- }
- });
-
$('#shareAPIEnabled').change(function() {
$('.shareAPI td:not(#enable)').toggle();
});
diff --git a/settings/personal.php b/settings/personal.php
index 233b1440eb2..d109d33e4bd 100644
--- a/settings/personal.php
+++ b/settings/personal.php
@@ -15,9 +15,7 @@ OC_Util::addScript( 'settings', 'personal' );
OC_Util::addStyle( 'settings', 'settings' );
OC_Util::addScript( '3rdparty', 'chosen/chosen.jquery.min' );
OC_Util::addStyle( '3rdparty', 'chosen' );
-if (OC_Config::getValue('avatar', 'local') === 'local') {
- \OC_Util::addScript('files', 'jquery.fileupload');
-}
+\OC_Util::addScript('files', 'jquery.fileupload');
OC_App::setActiveNavigationEntry( 'personal' );
$storageInfo=OC_Helper::getStorageInfo();
diff --git a/settings/routes.php b/settings/routes.php
index 9a27c3e439b..73ee70d1d5c 100644
--- a/settings/routes.php
+++ b/settings/routes.php
@@ -70,5 +70,3 @@ $this->create('settings_ajax_setsecurity', '/settings/ajax/setsecurity.php')
->actionInclude('settings/ajax/setsecurity.php');
$this->create('isadmin', '/settings/js/isadmin.js')
->actionInclude('settings/js/isadmin.php');
-$this->create('settings_ajax_setavatarmode', '/settings/ajax/setavatarmode.php')
- ->actionInclude('settings/ajax/setavatarmode.php');
diff --git a/settings/templates/admin.php b/settings/templates/admin.php
index 64c1b1112ce..e54586b80df 100644
--- a/settings/templates/admin.php
+++ b/settings/templates/admin.php
@@ -116,33 +116,6 @@ if (!$_['internetconnectionworking']) {
</p>
</fieldset>
-<fieldset class="personalblock" id="avatar">
- <legend><strong><?php p($l->t('Profile images')); ?></strong></legend>
- <p>
- <input type="radio" name="avatarmode" value="gravatar" id="avatar_gravatar"
- <?php if ($_['avatar'] === "gravatar") { p('checked'); } ?>
- <?php if (!$_['internetconnectionworking']) { p('disabled'); } ?>>
- <label for="avatar_gravatar">Gravatar</label><br>
- <em><?php print_unescaped($l->t('Use <a href="http://gravatar.com/">gravatar</a> for profile images')); ?></em><br>
- <em><?php p($l->t('This sends data to gravatar and may slow down loading')); ?></em>
- <?php if (!$_['internetconnectionworking']): ?>
- <br><em><?php p($l->t('Gravatar needs an internet connection!')); ?></em>
- <?php endif; ?>
- </p>
- <p>
- <input type="radio" name="avatarmode" value="local" id="avatar_local"
- <?php if ($_['avatar'] === "local") { p('checked'); } ?>>
- <label for="avatar_local"><?php p($l->t('Local avatars')); ?></label><br>
- <em><?php p($l->t('Use local avatars, which each user has to upload themselves')); ?></em>
- </p>
- <p>
- <input type="radio" name="avatarmode" value="none" id="avatar_none"
- <?php if ($_['avatar'] === "none") { p('checked'); } ?>>
- <label for="avatar_none"><?php p($l->t('No avatars')); ?></label><br>
- <em><?php p($l->t('Do not provide avatars')); ?></em>
- </p>
-</fieldset>
-
<fieldset class="personalblock" id="shareAPI">
<legend><strong><?php p($l->t('Sharing'));?></strong></legend>
<table class="shareAPI nostyle">
diff --git a/settings/templates/personal.php b/settings/templates/personal.php
index 7832c79894b..7cd5361a924 100644
--- a/settings/templates/personal.php
+++ b/settings/templates/personal.php
@@ -83,26 +83,17 @@ if($_['passwordChangeSupported']) {
}
?>
-<?php if ($_['avatar'] !== "none"): ?>
<form id="avatar" method="post" action="<?php p(\OC_Helper::linkTo('', 'avatar.php')); ?>">
<fieldset class="personalblock">
<legend><strong><?php p($l->t('Profile Image')); ?></strong></legend>
<img src="<?php print_unescaped(link_to('', 'avatar.php').'?user='.OC_User::getUser().'&size=128'); ?>"><br>
- <?php if ($_['avatar'] === "local"): ?>
- <em><?php p($l->t('Your profile image has to be a square and either a PNG or JPG image')); ?></em><br>
- <div class="inlineblock button" id="uploadavatarbutton"><?php p($l->t('Upload a new image')); ?></div>
- <input type="file" class="hidden" name="files[]" id="uploadavatar">
- <div class="inlineblock button" id="selectavatar"><?php p($l->t('Select a new image from your files')); ?></div>
- <div class="inlineblock button" id="removeavatar"><?php p($l->t('Remove my image')); ?></div>
- <?php elseif ($_['avatar'] === "gravatar"): ?>
- <em><?php p($l->t('Your profile image is provided by gravatar, which is based on your Email.')); ?></em>
- <div class?"inlineblock button" id="overridegravatar"><?php p($l->t('Use my local avatar instead')); ?></div>
- <?php else: ?>
- <em><?php p($l->t('Your profile image is provided by a custom service, ask your administrator, on how to change your image.')); ?></em>
- <?php endif; ?>
+ <em><?php p($l->t('Has to be square and either PNG or JPG')); ?></em><br>
+ <div class="inlineblock button" id="uploadavatarbutton"><?php p($l->t('Upload new')); ?></div>
+ <input type="file" class="hidden" name="files[]" id="uploadavatar">
+ <div class="inlineblock button" id="selectavatar"><?php p($l->t('Select new from files')); ?></div>
+ <div class="inlineblock button" id="removeavatar"><?php p($l->t('Remove image')); ?></div>
</fieldset>
</form>
-<?php endif; ?>
<form>
<fieldset class="personalblock">
diff --git a/settings/templates/users.php b/settings/templates/users.php
index 78bdbcd8c43..d3f356a7ba8 100644
--- a/settings/templates/users.php
+++ b/settings/templates/users.php
@@ -81,9 +81,7 @@ $_['subadmingroups'] = array_flip($items);
<table class="hascontrols" data-groups="<?php p(json_encode($allGroups));?>">
<thead>
<tr>
- <?php if(\OC_Avatar::getMode() !== "none"): ?>
- <th id='headerAvatar'></th>
- <?php endif; ?>
+ <th id='headerAvatar'></th>
<th id='headerName'><?php p($l->t('Username'))?></th>
<th id="headerDisplayName"><?php p($l->t( 'Display Name' )); ?></th>
<th id="headerPassword"><?php p($l->t( 'Password' )); ?></th>
@@ -99,9 +97,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_Avatar::getMode() !== "none"): ?>
- <td class="avatar"><img src="<?php print_unescaped(link_to('', 'avatar.php')); ?>?user=<?php p($user['name']); ?>&size=32"></td>
- <?php endif; ?>
+ <td class="avatar"><img src="<?php print_unescaped(link_to('', 'avatar.php')); ?>?user=<?php p($user['name']); ?>&size=32"></td>
<td class="name"><?php p($user["name"]); ?></td>
<td class="displayName"><span><?php p($user["displayName"]); ?></span> <img class="svg action"
src="<?php p(image_path('core', 'actions/rename.svg'))?>"
diff --git a/tests/lib/avatar.php b/tests/lib/avatar.php
index 0e1aa3d9f62..42b06f8bccb 100644
--- a/tests/lib/avatar.php
+++ b/tests/lib/avatar.php
@@ -8,51 +8,23 @@
class Test_Avatar extends PHPUnit_Framework_TestCase {
- public function testModes() {
- $this->assertEquals('local', \OC_Avatar::getMode());
-
- \OC_Config::setValue('avatar', 'local');
- $this->assertEquals('local', \OC_Avatar::getMode());
-
- \OC_Config::setValue('avatar', 'gravatar');
- $this->assertEquals('gravatar', \OC_Avatar::getMode());
-
- \OC_Config::setValue('avatar', 'none');
- $this->assertEquals('none', \OC_Avatar::getMode());
- }
-
- public function testDisabledAvatar() {
- \OC_Config::setValue('avatar', 'none');
- $this->assertFalse(\OC_Avatar::get(\OC_User::getUser()));
- $this->assertFalse(\OC_Avatar::get(\OC_User::getUser(), 32));
- }
-
- public function testLocalAvatar() {
- \OC_Config::setValue('avatar', 'local');
+ public function testAvatar() {
$expected = \OC_Avatar::getDefaultAvatar()->data();
$this->assertEquals($expected, \OC_Avatar::get(\OC_User::getUser())->data());
$expected = new OC_Image(\OC::$SERVERROOT.'/tests/data/testavatar.png');
- \OC_Avatar::setLocalAvatar(\OC_User::getUser(), $expected->data());
+ \OC_Avatar::set(\OC_User::getUser(), $expected->data());
$expected->resize(64);
$this->assertEquals($expected->data(), \OC_Avatar::get(\OC_User::getUser())->data());
- \OC_Avatar::setLocalAvatar(\OC_User::getUser(), false);
+ \OC_Avatar::set(\OC_User::getUser(), false);
$expected = \OC_Avatar::getDefaultAvatar()->data();
$this->assertEquals($expected, \OC_Avatar::get(\OC_User::getUser())->data());
}
- public function testGravatar() {
- \OC_Preferences::setValue(\OC_User::getUser(), 'settings', 'email', 'someone@example.com');
- \OC_Config::setValue('avatar', 'gravatar');
- $expected = "http://www.gravatar.com/avatar/".md5("someone@example.com")."?s=";
- $this->assertEquals($expected."64", \OC_Avatar::get(\OC_User::getUser()));
- $this->assertEquals($expected."32", \OC_Avatar::get(\OC_User::getUser(), 32));
- }
-
- public function testDefaultAvatar() {
+ /*public function testDefaultAvatar() {
$img = new \OC_Image(OC::$SERVERROOT.'/core/img/defaultavatar.png');
$img->resize(128);
$this->assertEquals($img->data(), \OC_Avatar::getDefaultAvatar(\OC_User::getUser(), 128)->data());
- }
+ }*/
}