1313use OCP \Files \IRootFolder ;
1414use OCP \IAppConfig ;
1515use OCP \IDBConnection ;
16+ use OCP \IUserManager ;
1617
1718class StorageStatistics {
1819
1920 public function __construct (
2021 private IDBConnection $ connection ,
2122 private IRootFolder $ rootFolder ,
2223 private IAppConfig $ appConfig ,
24+ private IUserManager $ userManager ,
2325 ) {
2426 }
2527
2628 public function getStorageStatistics (): array {
2729 return [
2830 'num_users ' => $ this ->countUserEntries (),
31+ 'num_disabled_users ' => $ this ->countDisabledUserEntries (),
2932 'num_files ' => $ this ->getCountOf ('filecache ' ),
3033 'num_storages ' => $ this ->getCountOf ('storages ' ),
3134 'num_storages_local ' => $ this ->countStorages ('local ' ),
@@ -40,14 +43,11 @@ public function getStorageStatistics(): array {
4043 * count number of users
4144 */
4245 protected function countUserEntries (): int {
43- $ query = $ this ->connection ->getQueryBuilder ();
44- $ query ->selectAlias ($ query ->createFunction ('COUNT(*) ' ), 'num_entries ' )
45- ->from ('preferences ' )
46- ->where ($ query ->expr ()->eq ('configkey ' , $ query ->createNamedParameter ('lastLogin ' )));
47- $ result = $ query ->executeQuery ();
48- $ row = $ result ->fetch ();
49- $ result ->closeCursor ();
50- return (int )$ row ['num_entries ' ];
46+ return $ this ->userManager ->countSeenUsers ();
47+ }
48+
49+ protected function countDisabledUserEntries (): int {
50+ return $ this ->userManager ->countDisabledUsers ();
5151 }
5252
5353 protected function getCountOf (string $ table ): int {
0 commit comments