Blame view

sources/core/command/user/report.php 1.59 KB
a293d369c   Kload   Update sources to...
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   Kload   Update sources to...
12
13
  use Symfony\Component\Console\Input\InputInterface;
  use Symfony\Component\Console\Output\OutputInterface;
a293d369c   Kload   Update sources to...
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   Kload   Update sources to...
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   Cédric Dupont   Update sources OC...
58
  }