diff --git a/avatar.php b/avatar.php index a6d6666c62..70444dafcb 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 fb2271339b..24ba541ac5 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 e9572080bb..0000000000 Binary files a/core/img/defaultavatar.png and /dev/null differ diff --git a/lib/avatar.php b/lib/avatar.php index b091161aef..fa8fece080 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); } - } + + $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 returns the active avatar mode - * @return string active avatar mode - */ - public static function getMode () { - return \OC_Config::getValue("avatar", "local"); - } - - /** - * @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 394d6b55d7..869729a9e4 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 f6f19f50cc..0000000000 --- a/settings/ajax/setavatarmode.php +++ /dev/null @@ -1,12 +0,0 @@ - - * 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 6fa1c768ea..f2d6f37a51 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 233b1440eb..d109d33e4b 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 9a27c3e439..73ee70d1d5 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 64c1b1112c..e54586b80d 100644 --- a/settings/templates/admin.php +++ b/settings/templates/admin.php @@ -116,33 +116,6 @@ if (!$_['internetconnectionworking']) {

-
- t('Profile images')); ?> -

- - > -
- t('Use gravatar for profile images')); ?>
- t('This sends data to gravatar and may slow down loading')); ?> - -
t('Gravatar needs an internet connection!')); ?> - -

-

- > -
- t('Use local avatars, which each user has to upload themselves')); ?> -

-

- > -
- t('Do not provide avatars')); ?> -

-
-
t('Sharing'));?> diff --git a/settings/templates/personal.php b/settings/templates/personal.php index 7832c79894..7cd5361a92 100644 --- a/settings/templates/personal.php +++ b/settings/templates/personal.php @@ -83,26 +83,17 @@ if($_['passwordChangeSupported']) { } ?> -
t('Profile Image')); ?>
- - t('Your profile image has to be a square and either a PNG or JPG image')); ?>
-
t('Upload a new image')); ?>
- -
t('Select a new image from your files')); ?>
-
t('Remove my image')); ?>
- - t('Your profile image is provided by gravatar, which is based on your Email.')); ?> -
t('Use my local avatar instead')); ?>
- - t('Your profile image is provided by a custom service, ask your administrator, on how to change your image.')); ?> - + t('Has to be square and either PNG or JPG')); ?>
+
t('Upload new')); ?>
+ +
t('Select new from files')); ?>
+
t('Remove image')); ?>
-
diff --git a/settings/templates/users.php b/settings/templates/users.php index 78bdbcd8c4..d3f356a7ba 100644 --- a/settings/templates/users.php +++ b/settings/templates/users.php @@ -81,9 +81,7 @@ $_['subadmingroups'] = array_flip($items);
- - - + @@ -99,9 +97,7 @@ $_['subadmingroups'] = array_flip($items); " data-displayName=""> - - - +
t('Username'))?> t( 'Display Name' )); ?> t( 'Password' )); ?>
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()); - } + }*/ }