public static function getSubAdminsOfGroup($parameters) { $group = $parameters['groupid']; // Check group exists if (!OC_Group::groupExists($group)) { return new OC_OCS_Result(null, 101, 'Group does not exist'); } // Go if (!($subadmins = OC_Subadmin::getGroupsSubAdmins($group))) { return new OC_OCS_Result(null, 102, 'Unknown error occured'); } else { return new OC_OCS_Result($subadmins); } }
/** * gets user info * * exposes the quota of an user: * <data> * <quota> * <free>1234</free> * <used>4321</used> * <total>5555</total> * <ralative>0.78</ralative> * </quota> * </data> * * @param $parameters object should contain parameter 'userid' which identifies * the user from whom the information will be returned */ public static function getUser($parameters) { $return = array(); // Check if they are viewing information on themselves if ($parameters['userid'] === OC_User::getUser()) { // Self lookup $storage = OC_Helper::getStorageInfo('/'); $return['quota'] = array('free' => $storage['free'], 'used' => $storage['used'], 'total' => $storage['total'], 'relative' => $storage['relative']); } if (OC_User::isAdminUser(OC_User::getUser()) || OC_Subadmin::isUserAccessible(OC_User::getUser(), $parameters['userid'])) { // Is an admin/subadmin so can see display name $return['displayname'] = OC_User::getDisplayName($parameters['userid']); } if (count($return)) { return new OC_OCS_Result($return); } else { // No permission to view this user data return new OC_OCS_Result(null, 997); } }
public function __construct(array $urlParams = array()) { parent::__construct('sharing_group', $urlParams); $container = $this->getContainer(); $container->registerService('UserHooks', function ($c) { return new UserHooks($c->query('ServerContainer')->getUserManager()); }); $container->registerService('ActivityApplication', function ($c) { return new \OCA\Activity\AppInfo\Application(); }); $container->registerService('Hooks', function (IContainer $c) { return new FilesHooks($c->query('ActivityApplication')->getContainer()->query('ActivityData'), $c->query('ActivityApplication')->getContainer()->query('UserSettings'), $c->query('ActivityApplication')->getContainer()->query('CurrentUID')); }); $container->registerService('GroupData', function (IContainer $c) { return new Data(); }); $container->registerService('CurrentUID', function (IContainer $c) { $server = $c->query('ServerContainer'); $user = $server->getUserSession()->getUser(); return $user ? $user->getUID() : ''; }); $container->registerService('SharingGroupsController', function (IContainer $c) { return new SharingGroupsController($c->query('AppName'), $c->query('Request'), $c->query('GroupData'), $c->query('CurrentUID')); }); $container->registerService('SettingsApplication', function (IContainer $c) { return new \OC\Settings\Application(); }); $container->registerService('SharingGroupL10N', function (IContainer $c) { return $c->query('ServerContainer')->getL10N('sharing_group'); }); $container->registerService('UserController', function (IContainer $c) { return new UserController($c->query('AppName'), $c->query('Request'), $c->query('UserManager'), $c->query('GroupManager'), $c->query('UserSession'), $c->query('Config'), $c->query('IsAdmin'), $c->query('L10N'), $c->query('Logger'), $c->query('Defaults'), $c->query('Mailer'), $c->query('DefaultMailAddress'), $c->query('URLGenerator'), $c->query('OCP\\App\\IAppManager'), $c->query('SubAdminFactory'), $c->query('SharingGroupsController')); }); /** * Core class wrappers */ $container->registerService('Config', function (IContainer $c) { return $c->query('ServerContainer')->getConfig(); }); $container->registerService('L10N', function (IContainer $c) { return $c->query('ServerContainer')->getL10N('settings'); }); $container->registerService('GroupManager', function (IContainer $c) { return $c->query('ServerContainer')->getGroupManager(); }); $container->registerService('UserManager', function (IContainer $c) { return $c->query('ServerContainer')->getUserManager(); }); $container->registerService('UserSession', function (IContainer $c) { return $c->query('ServerContainer')->getUserSession(); }); /** FIXME: Remove once OC_User is non-static and mockable */ $container->registerService('IsAdmin', function (IContainer $c) { return \OC_User::isAdminUser(\OC_User::getUser()); }); /** FIXME: Remove once OC_SubAdmin is non-static and mockable */ $container->registerService('IsSubAdmin', function (IContainer $c) { return \OC_Subadmin::isSubAdmin(\OC_User::getUser()); }); /** FIXME: Remove once OC_SubAdmin is non-static and mockable */ $container->registerService('SubAdminFactory', function (IContainer $c) { return new SubAdminFactory(); }); $container->registerService('Mailer', function (IContainer $c) { return $c->query('ServerContainer')->getMailer(); }); $container->registerService('Defaults', function (IContainer $c) { return new \OC_Defaults(); }); $container->registerService('DefaultMailAddress', function (IContainer $c) { return Util::getDefaultEmailAddress('no-reply'); }); $container->registerService('Logger', function (IContainer $c) { return $c->query('ServerContainer')->getLogger(); }); $container->registerService('URLGenerator', function (IContainer $c) { return $c->query('ServerContainer')->getURLGenerator(); }); $container->registerService('ClientService', function (IContainer $c) { return $c->query('ServerContainer')->getHTTPClientService(); }); $container->registerService('INavigationManager', function (IContainer $c) { return $c->query('ServerContainer')->getNavigationManager(); }); $container->registerService('IAppManager', function (IContainer $c) { return $c->query('ServerContainer')->getAppManager(); }); }
/** * Removes a subadmin from a group */ public static function removeSubAdmin($parameters) { $group = $parameters['_delete']['groupid']; $user = $parameters['userid']; // Check if the user exists if (!OC_User::userExists($user)) { return new OC_OCS_Result(null, 101, 'User does not exist'); } // Check if they are a subadmin of this said group if (!OC_SubAdmin::isSubAdminofGroup($user, $group)) { return new OC_OCS_Result(null, 102, 'User is not a subadmin of this group'); } // Go if (OC_Subadmin::deleteSubAdmin($user, $group)) { return new OC_OCS_Result(null, 100); } else { return new OC_OCS_Result(null, 103, 'Unknown error occurred'); } }
/** * @param array $urlParams */ public function __construct(array $urlParams = []) { parent::__construct('settings', $urlParams); $container = $this->getContainer(); /** * Controllers */ $container->registerService('MailSettingsController', function (IContainer $c) { return new MailSettingsController($c->query('AppName'), $c->query('Request'), $c->query('L10N'), $c->query('Config'), $c->query('UserSession'), $c->query('Defaults'), $c->query('Mailer'), $c->query('DefaultMailAddress')); }); $container->registerService('EncryptionController', function (IContainer $c) { return new EncryptionController($c->query('AppName'), $c->query('Request'), $c->query('L10N'), $c->query('Config'), $c->query('DatabaseConnection'), $c->query('UserManager'), new View(), $c->query('Logger')); }); $container->registerService('AppSettingsController', function (IContainer $c) { return new AppSettingsController($c->query('AppName'), $c->query('Request'), $c->query('L10N'), $c->query('Config'), $c->query('ICacheFactory'), $c->query('INavigationManager'), $c->query('IAppManager'), $c->query('OcsClient')); }); $container->registerService('SecuritySettingsController', function (IContainer $c) { return new SecuritySettingsController($c->query('AppName'), $c->query('Request'), $c->query('Config')); }); $container->registerService('CertificateController', function (IContainer $c) { return new CertificateController($c->query('AppName'), $c->query('Request'), $c->query('CertificateManager'), $c->query('L10N')); }); $container->registerService('GroupsController', function (IContainer $c) { return new GroupsController($c->query('AppName'), $c->query('Request'), $c->query('GroupManager'), $c->query('UserSession'), $c->query('IsAdmin'), $c->query('L10N')); }); $container->registerService('UsersController', function (IContainer $c) { return new UsersController($c->query('AppName'), $c->query('Request'), $c->query('UserManager'), $c->query('GroupManager'), $c->query('UserSession'), $c->query('Config'), $c->query('IsAdmin'), $c->query('L10N'), $c->query('Logger'), $c->query('Defaults'), $c->query('Mailer'), $c->query('DefaultMailAddress'), $c->query('URLGenerator'), $c->query('OCP\\App\\IAppManager'), $c->query('SubAdminFactory')); }); $container->registerService('LogSettingsController', function (IContainer $c) { return new LogSettingsController($c->query('AppName'), $c->query('Request'), $c->query('Config'), $c->query('L10N')); }); $container->registerService('CheckSetupController', function (IContainer $c) { return new CheckSetupController($c->query('AppName'), $c->query('Request'), $c->query('Config'), $c->query('ClientService'), $c->query('URLGenerator'), $c->query('Util'), $c->query('L10N')); }); /** * Middleware */ $container->registerService('SubadminMiddleware', function (IContainer $c) { return new SubadminMiddleware($c->query('ControllerMethodReflector'), $c->query('IsSubAdmin')); }); // Execute middlewares $container->registerMiddleware('SubadminMiddleware'); /** * Core class wrappers */ $container->registerService('Config', function (IContainer $c) { return $c->query('ServerContainer')->getConfig(); }); $container->registerService('ICacheFactory', function (IContainer $c) { return $c->query('ServerContainer')->getMemCacheFactory(); }); $container->registerService('L10N', function (IContainer $c) { return $c->query('ServerContainer')->getL10N('settings'); }); $container->registerService('GroupManager', function (IContainer $c) { return $c->query('ServerContainer')->getGroupManager(); }); $container->registerService('UserManager', function (IContainer $c) { return $c->query('ServerContainer')->getUserManager(); }); $container->registerService('UserSession', function (IContainer $c) { return $c->query('ServerContainer')->getUserSession(); }); /** FIXME: Remove once OC_User is non-static and mockable */ $container->registerService('IsAdmin', function (IContainer $c) { return \OC_User::isAdminUser(\OC_User::getUser()); }); /** FIXME: Remove once OC_SubAdmin is non-static and mockable */ $container->registerService('IsSubAdmin', function (IContainer $c) { return \OC_Subadmin::isSubAdmin(\OC_User::getUser()); }); /** FIXME: Remove once OC_SubAdmin is non-static and mockable */ $container->registerService('SubAdminFactory', function (IContainer $c) { return new SubAdminFactory(); }); $container->registerService('Mailer', function (IContainer $c) { return $c->query('ServerContainer')->getMailer(); }); $container->registerService('Defaults', function (IContainer $c) { return new \OC_Defaults(); }); $container->registerService('DefaultMailAddress', function (IContainer $c) { return Util::getDefaultEmailAddress('no-reply'); }); $container->registerService('Logger', function (IContainer $c) { return $c->query('ServerContainer')->getLogger(); }); $container->registerService('URLGenerator', function (IContainer $c) { return $c->query('ServerContainer')->getURLGenerator(); }); $container->registerService('ClientService', function (IContainer $c) { return $c->query('ServerContainer')->getHTTPClientService(); }); $container->registerService('INavigationManager', function (IContainer $c) { return $c->query('ServerContainer')->getNavigationManager(); }); $container->registerService('IAppManager', function (IContainer $c) { return $c->query('ServerContainer')->getAppManager(); }); $container->registerService('OcsClient', function (IContainer $c) { return $c->query('ServerContainer')->getOcsClient(); }); $container->registerService('Util', function (IContainer $c) { return new \OC_Util(); }); $container->registerService('DatabaseConnection', function (IContainer $c) { return $c->query('ServerContainer')->getDatabaseConnection(); }); $container->registerService('CertificateManager', function (IContainer $c) { return $c->query('ServerContainer')->getCertificateManager(); }); }