]> source.dussan.org Git - nextcloud-server.git/commitdiff
add cli command to check a users last login
authorArthur Schiwon <blizzz@owncloud.com>
Fri, 23 May 2014 08:37:34 +0000 (10:37 +0200)
committerArthur Schiwon <blizzz@owncloud.com>
Fri, 23 May 2014 08:37:34 +0000 (10:37 +0200)
core/command/user/lastseen.php [new file with mode: 0644]
core/register_command.php

diff --git a/core/command/user/lastseen.php b/core/command/user/lastseen.php
new file mode 100644 (file)
index 0000000..bf5914b
--- /dev/null
@@ -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'));
+               }
+       }
+}
index f1361c859fcd79e0aa62c91bca2b13d73beca48f..dfb5134eff957dca25698c67b6930077cf922e51 100644 (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());