Add public API for \OC\Avatar
This commit is contained in:
parent
263603aa4c
commit
507325dd50
|
@ -0,0 +1,55 @@
|
||||||
|
<?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();
|
||||||
|
}
|
||||||
|
}
|
|
@ -24,7 +24,7 @@ class OC_Avatar {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief get the users avatar
|
* @brief get the users avatar
|
||||||
* @param $size integer size in px of the avatar, defaults to 64
|
* @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
|
* @return boolean|\OC_Image containing the avatar or false if there's no image
|
||||||
*/
|
*/
|
||||||
public function get ($size = 64) {
|
public function get ($size = 64) {
|
||||||
|
|
|
@ -56,7 +56,7 @@ class Server extends SimpleContainer implements IServerContainer {
|
||||||
});
|
});
|
||||||
$this->registerService('TagManager', function($c) {
|
$this->registerService('TagManager', function($c) {
|
||||||
$user = \OC_User::getUser();
|
$user = \OC_User::getUser();
|
||||||
return new TagManager($user);
|
return new Tags($user);
|
||||||
});
|
});
|
||||||
$this->registerService('RootFolder', function($c) {
|
$this->registerService('RootFolder', function($c) {
|
||||||
// TODO: get user and user manager from container as well
|
// TODO: get user and user manager from container as well
|
||||||
|
@ -131,6 +131,9 @@ class Server extends SimpleContainer implements IServerContainer {
|
||||||
$this->registerService('ActivityManager', function($c) {
|
$this->registerService('ActivityManager', function($c) {
|
||||||
return new ActivityManager();
|
return new ActivityManager();
|
||||||
});
|
});
|
||||||
|
$this->registerService('AvatarManager', function($c) {
|
||||||
|
return new AvatarManager(); //TODO AvatarManager needs $user
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -160,6 +163,15 @@ class Server extends SimpleContainer implements IServerContainer {
|
||||||
return $this->query('PreviewManager');
|
return $this->query('PreviewManager');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the avatar manager, used for avatar functionality
|
||||||
|
*
|
||||||
|
* @return \OCP\IAvatar
|
||||||
|
*/
|
||||||
|
function getAvatarManager() {
|
||||||
|
return $this->query('AvatarManager');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the tag manager which can get and set tags for different object types
|
* Returns the tag manager which can get and set tags for different object types
|
||||||
*
|
*
|
||||||
|
@ -170,6 +182,15 @@ class Server extends SimpleContainer implements IServerContainer {
|
||||||
return $this->query('TagManager');
|
return $this->query('TagManager');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the avatar manager, used for avatar functionality
|
||||||
|
*
|
||||||
|
* @return \OCP\IAvatar
|
||||||
|
*/
|
||||||
|
function getAvatarManager() {
|
||||||
|
return $this->query('AvatarManager');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the root folder of ownCloud's data directory
|
* Returns the root folder of ownCloud's data directory
|
||||||
*
|
*
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* This file is licensed under the Affero General Public License version 3 or
|
||||||
|
* later.
|
||||||
|
* See the COPYING-README file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace OCP;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class provides avatar functionality
|
||||||
|
*/
|
||||||
|
|
||||||
|
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
|
||||||
|
*/
|
||||||
|
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();
|
||||||
|
}
|
|
@ -154,4 +154,10 @@ interface IServerContainer {
|
||||||
*/
|
*/
|
||||||
function getDatabaseConnection();
|
function getDatabaseConnection();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Returns an avatar manager, used for avatar functionality
|
||||||
|
* @return \OCP\IAvatar
|
||||||
|
*/
|
||||||
|
function getAvatarManager();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue