Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions apps/admin_audit/lib/AppInfo/Application.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@
use Closure;
use OC\Files\Filesystem;
use OC\Files\Node\File;
use OC\Group\Manager;
use OC\Group\Manager as GroupManager;
use OC\User\Session as UserSession;
use OCA\AdminAudit\Actions\AppManagement;
use OCA\AdminAudit\Actions\Auth;
use OCA\AdminAudit\Actions\Console;
Expand Down Expand Up @@ -134,6 +135,7 @@ private function userManagementHooks(ILogger $logger,
Util::connectHook('OC_User', 'post_deleteUser', $userActions, 'delete');
Util::connectHook('OC_User', 'changeUser', $userActions, 'change');

assert($userSession instanceof UserSession);
$userSession->listen('\OC\User', 'postSetPassword', [$userActions, 'setPassword']);
$userSession->listen('\OC\User', 'assignedUserId', [$userActions, 'assign']);
$userSession->listen('\OC\User', 'postUnassignedUserId', [$userActions, 'unassign']);
Expand All @@ -143,7 +145,7 @@ private function groupHooks(ILogger $logger,
IGroupManager $groupManager) {
$groupActions = new GroupManagement($logger);

/** @var IGroupManager|Manager $groupManager */
assert($groupManager instanceof GroupManager);
$groupManager->listen('\OC\Group', 'postRemoveUser', [$groupActions, 'removeUser']);
$groupManager->listen('\OC\Group', 'postAddUser', [$groupActions, 'addUser']);
$groupManager->listen('\OC\Group', 'postDelete', [$groupActions, 'deleteGroup']);
Expand Down
13 changes: 11 additions & 2 deletions apps/provisioning_api/lib/AppInfo/Application.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,13 @@

use OC\AppFramework\Utility\SimpleContainer;
use OC\AppFramework\Utility\TimeFactory;
use OC\Group\Manager as GroupManager;
use OCA\Provisioning_API\Middleware\ProvisioningApiMiddleware;
use OCA\Settings\Mailer\NewUserMailHelper;
use OCP\AppFramework\App;
use OCP\AppFramework\Utility\IControllerMethodReflector;
use OCP\Defaults;
use OCP\IUser;
use OCP\Util;

class Application extends App {
Expand All @@ -58,8 +60,15 @@ public function __construct(array $urlParams = []) {
});
$container->registerService('ProvisioningApiMiddleware', function (SimpleContainer $c) use ($server) {
$user = $server->getUserManager()->get($c['UserId']);
$isAdmin = $user !== null ? $server->getGroupManager()->isAdmin($user->getUID()) : false;
$isSubAdmin = $user !== null ? $server->getGroupManager()->getSubAdmin()->isSubAdmin($user) : false;
$isAdmin = false;
$isSubAdmin = false;

if ($user instanceof IUser) {
$groupManager = $server->query(GroupManager::class);
$isAdmin = $groupManager->isAdmin($user->getUID());
$isSubAdmin = $groupManager->getSubAdmin()->isSubAdmin($user);
}

return new ProvisioningApiMiddleware(
$c->query(IControllerMethodReflector::class),
$isAdmin,
Expand Down
5 changes: 3 additions & 2 deletions apps/settings/lib/Controller/ChangePasswordController.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@

namespace OCA\Settings\Controller;

use OC\Group\Manager as GroupManager;
use OC\HintException;
use OC\User\Session;
use OCP\App\IAppManager;
Expand All @@ -58,7 +59,7 @@ class ChangePasswordController extends Controller {
/** @var IL10N */
private $l;

/** @var IGroupManager */
/** @var GroupManager */
private $groupManager;

/** @var Session */
Expand All @@ -72,7 +73,7 @@ public function __construct(string $appName,
string $userId,
IUserManager $userManager,
IUserSession $userSession,
IGroupManager $groupManager,
GroupManager $groupManager,
IAppManager $appManager,
IL10N $l) {
parent::__construct($appName, $request);
Expand Down
12 changes: 9 additions & 3 deletions apps/settings/lib/Controller/UsersController.php
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,10 @@
use function in_array;

class UsersController extends Controller {
/** @var IUserManager */
/**
* @var IUserManager
* @phan-var \OC\User\Manager
*/
private $userManager;
/** @var IGroupManager */
private $groupManager;
Expand All @@ -77,7 +80,10 @@ class UsersController extends Controller {
private $l10n;
/** @var IMailer */
private $mailer;
/** @var IFactory */
/**
* @var IFactory
* @phan-var \OC\L10N\Factory
*/
private $l10nFactory;
/** @var IAppManager */
private $appManager;
Expand Down Expand Up @@ -214,7 +220,7 @@ public function usersList() {
$groups[$key]['usercount']--;
$userCount -= 1; // we also lower from one the total count
}
};
}
$userCount += $this->userManager->countUsersOfGroups($groupsInfo->getGroups());
$disabledUsers = $this->userManager->countDisabledUsersOfGroups($groupsNames);
}
Expand Down
6 changes: 4 additions & 2 deletions lib/private/Group/MetaData.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,10 @@ class MetaData {
protected $isAdmin;
/** @var array */
protected $metaData = [];
/** @var IGroupManager */
/**
* @var IGroupManager
* @phan-var \OC\Group\Manager
*/
protected $groupManager;
/** @var bool */
protected $sorting = false;
Expand All @@ -55,7 +58,6 @@ class MetaData {
* @param string $user the uid of the current user
* @param bool $isAdmin whether the current users is an admin
* @param IGroupManager $groupManager
* @param IUserManager $userManager
* @param IUserSession $userSession
*/
public function __construct(
Expand Down
5 changes: 3 additions & 2 deletions lib/public/IContainer.php
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,10 @@ public function resolve($name);
/**
* Look up a service for a given name in the container.
*
* @param string $name
* @template T
* @param class-string<T> $name
* @param bool $autoload Should we try to autoload the service. If we are trying to resolve built in types this makes no sense for example
* @return mixed
* @return T
* @throws ContainerExceptionInterface if the query could not be resolved
* @throws QueryException if the query could not be resolved
* @since 6.0.0
Expand Down