[Pkg-owncloud-commits] [owncloud] 54/239: Round out Avatar Public API

David Prévot taffit at moszumanska.debian.org
Fri Nov 29 01:32:18 UTC 2013


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository owncloud.

commit 00071401d7c16e700becf5447bebdc70441736ea
Author: Arthur Schiwon <blizzz at owncloud.com>
Date:   Thu Nov 21 23:40:25 2013 +0100

    Round out Avatar Public API
---
 lib/avatarmanager.php         | 55 -------------------------------------------
 lib/private/avatar.php        |  2 +-
 lib/private/avatarmanager.php | 26 ++++++++++++++++++++
 lib/public/iavatarmanager.php | 25 ++++----------------
 tests/lib/avatar.php          | 15 ++++++++++++
 5 files changed, 47 insertions(+), 76 deletions(-)

diff --git a/lib/avatarmanager.php b/lib/avatarmanager.php
deleted file mode 100644
index 51481e4..0000000
--- a/lib/avatarmanager.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-/**
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-namespace OC;
-
-use OCP\IAvatar;
-
-/*
- * This class implements methods to access Avatar functionality
- */
-class AvatarManager implements IAvatarManager {
-
-	private $avatar;
-
-	/**
-	 * @brief constructor
-	 * @param $user string user to do avatar-management with
-	 */
-	function __construct($user) {
-		$this->avatar = new \OC\Avatar($user);
-	}
-
-	/**
-	 * @brief get the users avatar
-	 * @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
-	*/
-	function get($size = 64) {
-		$this->avatar->get($size);
-	}
-
-	/**
-	 * @brief sets the users avatar
-	 * @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
-	*/
-	function set($data) {
-		$this->avatar->set($data);
-	}
-
-	/**
-	 * @brief remove the users avatar
-	 * @return void
-	*/
-	function remove() {
-		$this->avatar->remove();
-	}
-}
diff --git a/lib/private/avatar.php b/lib/private/avatar.php
index e9b02a7..e82e517 100644
--- a/lib/private/avatar.php
+++ b/lib/private/avatar.php
@@ -10,7 +10,7 @@
  * This class gets and sets users avatars.
  */
 
-class OC_Avatar {
+class OC_Avatar implements \OCP\IAvatar {
 
 	private $view;
 
diff --git a/lib/private/avatarmanager.php b/lib/private/avatarmanager.php
new file mode 100644
index 0000000..3ca4686
--- /dev/null
+++ b/lib/private/avatarmanager.php
@@ -0,0 +1,26 @@
+<?php
+/**
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC;
+
+use OCP\IAvatarManager;
+
+/*
+ * This class implements methods to access Avatar functionality
+ */
+class AvatarManager implements IAvatarManager {
+
+	/**
+	 * @brief return a user specific instance of \OCP\IAvatar
+	 * @see \OCP\IAvatar
+	 * @param $user string the ownCloud user id
+	 * @return \OCP\IAvatar
+	 */
+	function getAvatar($user) {
+		return new \OC_Avatar($user);
+	}
+}
diff --git a/lib/public/iavatarmanager.php b/lib/public/iavatarmanager.php
index 818dbb1..9b185ae 100644
--- a/lib/public/iavatarmanager.php
+++ b/lib/public/iavatarmanager.php
@@ -14,25 +14,10 @@ namespace OCP;
 interface IAvatarManager {
 
 	/**
-	 * @brief get the users avatar
-	 * @param $size integer size in px of the avatar, avatars are square, defaults to 64
-	 * @return boolean|\OC_Image containing the avatar or false if there's no image
+	 * @brief return a user specific instance of \OCP\IAvatar
+	 * @see \OCP\IAvatar
+	 * @param $user string the ownCloud user id
+	 * @return \OCP\IAvatar
 	 */
-	function get($size = 64);
-
-	/**
-	 * @brief sets the users avatar
-	 * @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 \OCP\NotSquareException if the image is not square
-	 * @return void
-	 */
-	function set($data);
-
-	/**
-	 * @brief remove the users avatar
-	 * @return void
-	 */
-	function remove();
+	function getAvatar($user);
 }
diff --git a/tests/lib/avatar.php b/tests/lib/avatar.php
index 6e6faed..9cc1486 100644
--- a/tests/lib/avatar.php
+++ b/tests/lib/avatar.php
@@ -22,4 +22,19 @@ class Test_Avatar extends PHPUnit_Framework_TestCase {
 		$avatar->remove();
 		$this->assertEquals(false, $avatar->get());
 	}
+
+	public function testAvatarApi() {
+		$avatarManager = \OC::$server->getAvatarManager();
+		$avatar = $avatarManager->getAvatar(\OC_User::getUser());
+
+		$this->assertEquals(false, $avatar->get());
+
+		$expected = new OC_Image(\OC::$SERVERROOT.'/tests/data/testavatar.png');
+		$expected->resize(64);
+		$avatar->set($expected->data());
+		$this->assertEquals($expected->data(), $avatar->get()->data());
+
+		$avatar->remove();
+		$this->assertEquals(false, $avatar->get());
+	}
 }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list