aboutsummaryrefslogtreecommitdiff
path: root/cli/user-info.php
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2019-03-31 16:38:46 +0200
committerGravatar GitHub <noreply@github.com> 2019-03-31 16:38:46 +0200
commitd413f67dd28738f4a6d8cf036e00714737f757b8 (patch)
tree1509f631dc8814bcf85d907a292ddd6437a2efcd /cli/user-info.php
parent8dcdde6251ae4dfc690b1a014488df125c5e5cdc (diff)
parent2a935516d850d63a215f9650b96ede102311f7ca (diff)
Merge pull request #2298 from FreshRSS/dev1.14.0
FreshRSS 1.14.0
Diffstat (limited to 'cli/user-info.php')
-rwxr-xr-xcli/user-info.php79
1 files changed, 50 insertions, 29 deletions
diff --git a/cli/user-info.php b/cli/user-info.php
index 043bebf7c..aa4db7c2f 100755
--- a/cli/user-info.php
+++ b/cli/user-info.php
@@ -2,19 +2,46 @@
<?php
require(__DIR__ . '/_cli.php');
-$options = getopt('h', array(
- 'user:',
- ));
+const DATA_FORMAT = "%-7s | %-20s | %-25s | %-15s | %-10s | %-10s | %-10s | %-10s | %-10s | %-10s\n";
+
+$params = array(
+ 'user:',
+ 'header',
+);
+$options = getopt('h', $params);
+
+if (!validateOptions($argv, $params)) {
+ fail('Usage: ' . basename(__FILE__) . ' (-h --header --user username --user username …)');
+}
if (empty($options['user'])) {
- fail('Usage: ' . basename(__FILE__) . " -h --user username");
+ $users = listUsers();
+} elseif (is_array($options['user'])) {
+ $users = $options['user'];
+} else {
+ $users = array($options['user']);
}
-$users = $options['user'] === '*' ? listUsers() : array($options['user']);
+sort($users);
+
+if (array_key_exists('header', $options)) {
+ printf(
+ DATA_FORMAT,
+ 'default',
+ 'user',
+ 'last update',
+ 'space used',
+ 'categories',
+ 'feeds',
+ 'reads',
+ 'unreads',
+ 'favourites',
+ 'tags'
+ );
+}
foreach ($users as $username) {
$username = cliInitUser($username);
- echo $username === FreshRSS_Context::$system_conf->default_user ? '*' : ' ', "\t";
$catDAO = FreshRSS_Factory::createCategoryDao();
$feedDAO = FreshRSS_Factory::createFeedDao($username);
@@ -25,29 +52,23 @@ foreach ($users as $username) {
$nbEntries = $entryDAO->countUnreadRead();
$nbFavorites = $entryDAO->countUnreadReadFavorites();
+ $data = array(
+ 'default' => $username === FreshRSS_Context::$system_conf->default_user ? '*' : '',
+ 'user' => $username,
+ 'lastUpdate' => FreshRSS_UserDAO::mtime($username),
+ 'spaceUsed' => $databaseDAO->size(),
+ 'categories' => $catDAO->count(),
+ 'feeds' => count($feedDAO->listFeedsIds()),
+ 'reads' => $nbEntries['read'],
+ 'unreads' => $nbEntries['unread'],
+ 'favourites' => $nbFavorites['all'],
+ 'tags' => $tagDAO->count(),
+ );
if (isset($options['h'])) { //Human format
- echo
- $username, "\t",
- date('c', FreshRSS_UserDAO::mtime($username)), "\t",
- format_bytes($databaseDAO->size()), "\t",
- $catDAO->count(), " categories\t",
- count($feedDAO->listFeedsIds()), " feeds\t",
- $nbEntries['read'], " reads\t",
- $nbEntries['unread'], " unreads\t",
- $nbFavorites['all'], " favourites\t",
- $tagDAO->count(), " tags\t",
- "\n";
- } else {
- echo
- $username, "\t",
- FreshRSS_UserDAO::mtime($username), "\t",
- $databaseDAO->size(), "\t",
- $catDAO->count(), "\t",
- count($feedDAO->listFeedsIds()), "\t",
- $nbEntries['read'], "\t",
- $nbEntries['unread'], "\t",
- $nbFavorites['all'], "\t",
- $tagDAO->count(), "\t",
- "\n";
+ $data['lastUpdate'] = date('c', $data['lastUpdate']);
+ $data['spaceUsed'] = format_bytes($data['spaceUsed']);
}
+ vprintf(DATA_FORMAT, $data);
}
+
+done();