tinycm diff plugins/users/users.cgi @ rev 100
Improve users plugin (list last active users)
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Mon Feb 20 13:33:04 2017 +0100 (2017-02-20) |
parents | 95673a3de4e4 |
children | 35354740250d |
line diff
1.1 --- a/plugins/users/users.cgi Mon Feb 20 02:20:44 2017 +0100 1.2 +++ b/plugins/users/users.cgi Mon Feb 20 13:33:04 2017 +0100 1.3 @@ -27,24 +27,63 @@ 1.4 header 1.5 html_header 1.6 user_box 1.7 - if check_auth && ! admin_user; then 1.8 - gettext "You must be admin to manage users" && exit 0 1.9 + # Admin only 1.10 + if admin_user; then 1.11 + tools="<a href='$script?userslist'>Users list</a>" 1.12 fi 1.13 - cat << EOT 1.14 -<h2>Users admin</h2> 1.15 + # Logged users 1.16 + if check_auth; then 1.17 + cat << EOT 1.18 <div id="tools"> 1.19 <a href="$script?dashboard">Dashboard</a> 1.20 <a href='$script?loggedusers'>Logged users</a> 1.21 - <a href='$script?userslist'>Users list</a> 1.22 + $tools 1.23 </div> 1.24 +<h2>${d}</h2> 1.25 <pre> 1.26 User accounts : $(ls -1 $PEOPLE | wc -l) 1.27 Logged users : $(ls $sessions | wc -l) 1.28 +</pre> 1.29 +EOT 1.30 + 1.31 + # Last active user 1.32 + count=10 1.33 + echo "<h3>Last active users</h3>" 1.34 + echo "<pre>" 1.35 + find ${PEOPLE} -name "last" | xargs ls -1t | head -n ${count} | while read last; 1.36 + do 1.37 + dir="$(dirname $last)" 1.38 + date="$(cat $last)" 1.39 + u=$(basename $dir) 1.40 + . "${PEOPLE}/${u}/account.conf" 1.41 + cat << EOT 1.42 +$(get_gravatar $MAIL 24) $date : <a href="?user=$u">$u</a> | $NAME 1.43 +EOT 1.44 + done 1.45 + echo "</pre>" 1.46 + 1.47 + # Admin only 1.48 + if admin_user; then 1.49 + cat << EOT 1.50 +<h3>Config paths</h3> 1.51 +<pre> 1.52 People DB : $PEOPLE 1.53 Auth file : $AUTH_FILE 1.54 +</pre> 1.55 EOT 1.56 - 1.57 - echo "</pre>" 1.58 + # Get the list of administrators 1.59 + echo "<h3>Admin users</h3>" 1.60 + fgrep -l "ADMIN_USER=" $PEOPLE/*/account.conf | while read file; 1.61 + do 1.62 + . ${file} 1.63 + echo "<a href='?user=$USER'>$USER</a>" 1.64 + unset NAME USER 1.65 + done 1.66 + fi 1.67 + 1.68 + else 1.69 + gettext "You must be logged to check or admin users" 1.70 + fi 1.71 html_footer && exit 0 ;; 1.72 1.73 *\ userslist\ *) 1.74 @@ -59,12 +98,12 @@ 1.75 fi 1.76 users=$(ls -1 $PEOPLE | wc -l) 1.77 cat << EOT 1.78 -<h2>Users: $users</h2> 1.79 <div id="tools"> 1.80 <a href="$script?dashboard">Dashboard</a> 1.81 <a href="$script?users">Users admin</a> 1.82 <a href='$script?loggedusers'>Logged users</a> 1.83 </div> 1.84 +<h2>Users: $users</h2> 1.85 <pre> 1.86 EOT 1.87 for u in $(ls $PEOPLE) 1.88 @@ -97,11 +136,11 @@ 1.89 fi 1.90 logged="$(ls $sessions | wc -l)" 1.91 cat << EOT 1.92 -<h2>Logged users: $logged</h2> 1.93 <div id="tools"> 1.94 <a href="$script?dashboard">Dashboard</a> 1.95 - <a href="$script?users">Users admin</a> 1.96 + <a href="$script?users">Users</a> 1.97 </div> 1.98 +<h2>Logged users: $logged</h2> 1.99 <pre> 1.100 EOT 1.101 for u in $(ls $sessions)