From 81cadd5ea37f1db30cdd085dc58a27ef8a9ee5c2 Mon Sep 17 00:00:00 2001 From: kondou <kondou@ts.unde.re> Date: Mon, 19 Aug 2013 12:15:48 +0200 Subject: [PATCH] Remove gravatar and no-avatar functionality, prepare for default avatars even more and reword some stuff --- avatar.php | 11 +-- config/config.sample.php | 6 -- core/img/defaultavatar.png | Bin 12444 -> 0 bytes lib/avatar.php | 114 +++++++++----------------------- settings/admin.php | 1 - settings/ajax/setavatarmode.php | 12 ---- settings/js/admin.js | 6 -- settings/personal.php | 4 +- settings/routes.php | 2 - settings/templates/admin.php | 27 -------- settings/templates/personal.php | 19 ++---- settings/templates/users.php | 8 +-- tests/lib/avatar.php | 38 ++--------- 13 files changed, 45 insertions(+), 203 deletions(-) delete mode 100644 core/img/defaultavatar.png delete mode 100644 settings/ajax/setavatarmode.php 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 e9572080bbf3fb403a8b07b11d9271546c89c78e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12444 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 A-v9sr 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()) )) { @@ -81,54 +73,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 @@ -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()); - } + }*/ } -- GitLab