Blame view
sources/core/command/user/report.php
1.59 KB
|
a293d369c
|
1 2 3 4 5 6 7 8 9 10 11 |
<?php /** * Copyright (c) 2014 Arthur Schiwon <blizzz@owncloud.com> * This file is licensed under the Affero General Public License version 3 or * later. * See the COPYING-README file. */ namespace OC\Core\Command\User; use Symfony\Component\Console\Command\Command; |
|
a293d369c
|
12 13 |
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; |
|
a293d369c
|
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
class Report extends Command {
protected function configure() {
$this
->setName('user:report')
->setDescription('shows how many users have access');
}
protected function execute(InputInterface $input, OutputInterface $output) {
$table = $this->getHelperSet()->get('table');
$table->setHeaders(array('User Report', ''));
$userCountArray = $this->countUsers();
if(!empty($userCountArray)) {
$total = 0;
$rows = array();
foreach($userCountArray as $classname => $users) {
$total += $users;
$rows[] = array($classname, $users);
}
$rows[] = array(' ');
$rows[] = array('total users', $total);
} else {
$rows[] = array('No backend enabled that supports user counting', '');
}
$userDirectoryCount = $this->countUserDirectories();
$rows[] = array(' ');
$rows[] = array('user directories', $userDirectoryCount);
$table->setRows($rows);
$table->render($output);
}
private function countUsers() {
|
|
a293d369c
|
49 50 51 52 53 54 55 56 57 |
$userManager = \OC::$server->getUserManager();
return $userManager->countUsers();
}
private function countUserDirectories() {
$dataview = new \OC\Files\View('/');
$userDirectories = $dataview->getDirectoryContent('/', 'httpd/unix-directory');
return count($userDirectories);
}
|
|
6d9380f96
|
58 |
} |