add cli command to check a users last login

This commit is contained in:
Arthur Schiwon 2014-05-23 10:37:34 +02:00
parent 86880acee9
commit 09bb8e0e3a
2 changed files with 48 additions and 0 deletions

View file

@ -0,0 +1,47 @@
<?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;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Input\InputArgument;
class LastSeen extends Command {
protected function configure() {
$this
->setName('user:lastseen')
->setDescription('shows when the user was logged it last time')
->addArgument(
'uid',
InputArgument::REQUIRED,
'the username'
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
$userManager = \OC::$server->getUserManager();
$user = $userManager->get($input->getArgument('uid'));
if(is_null($user)) {
$output->writeln('User does not exist');
return;
}
$lastLogin = $user->getLastLogin();
if($lastLogin === 0) {
$output->writeln('User ' . $user->getUID() .
' has never logged in, yet.');
} else {
$date = new \DateTime();
$date->setTimestamp($lastLogin);
$output->writeln($user->getUID() . '`s ' .
' last login: ' . $date->format('d.m.Y h:i'));
}
}
}

View file

@ -17,3 +17,4 @@ $application->add(new OC\Core\Command\App\Enable());
$application->add(new OC\Core\Command\App\ListApps());
$application->add(new OC\Core\Command\Maintenance\Repair(new \OC\Repair()));
$application->add(new OC\Core\Command\User\Report());
$application->add(new OC\Core\Command\User\LastSeen());