tinycm annotate plugins/dashboard/dashboard.cgi @ rev 81

Improve dashboard plugin (more to come)
author Christophe Lincoln <pankso@slitaz.org>
date Sat Feb 11 14:33:17 2017 +0100 (2017-02-11)
parents 854c4a8f0972
children 4418f0315c8e
rev   line source
pankso@59 1 #!/bin/sh
pankso@59 2 #
pankso@59 3 # TinyCM Plugin - Users and admin Dashboard.
pankso@59 4 #
pankso@59 5
pankso@59 6 if [ "$(GET dashboard)" ]; then
pankso@60 7 d="Dashboard"
pankso@60 8 header
pankso@60 9 html_header
pankso@60 10 user_box
pankso@60 11 users=$(ls -1 $PEOPLE | wc -l)
pankso@60 12 docs=$(find $wiki -type f | wc -l)
pankso@60 13 wikisize="$(du -sh $wiki | awk '{print $1}')"
pankso@60 14 cachesize="$(du -sh $cache | awk '{print $1}')"
pankso@60 15 [ "$HG" != "yes" ] && hg=$(gettext "disabled")
pankso@60 16 [ "$HG" == "yes" ] && hg=$(gettext "enabled")
pankso@60 17 # Source all plugins.conf to get DASHBOARD_TOOLS and ADMIN_TOOLS
pankso@60 18 ADMIN_TOOLS=""
pankso@60 19 DASHBOARD_TOOLS=""
pankso@60 20 for p in $(ls $plugins)
pankso@60 21 do
pankso@60 22 . $plugins/$p/$p.conf
pankso@60 23 done
pankso@60 24 if check_auth && ! admin_user; then
pankso@59 25 ADMIN_TOOLS=""
pankso@60 26 fi
pankso@60 27 if check_auth; then
pankso@60 28 cat << EOT
pankso@59 29 <div id="tools">
pankso@59 30 <a href='$script?log'>Activity log</a>
pankso@59 31 <a href='$script?ls'>Pages list</a>
pankso@59 32 $DASHBOARD_TOOLS
pankso@59 33 $ADMIN_TOOLS
pankso@59 34 </div>
pankso@59 35
pankso@59 36 <h2>$d</h2>
pankso@59 37
pankso@59 38 <pre>
pankso@81 39 Wiki docs : $docs ($wikisize)
pankso@81 40 Cache size : $cachesize
pankso@81 41 Mercurial : $hg
pankso@81 42 User accounts : $users
pankso@81 43 Server uptime : $(uptime | cut -d " " -f 4 | sed s"/:/h /" | sed s"/,/min/")
pankso@59 44 </pre>
pankso@59 45
pankso@59 46 <h3>Admin users</h3>
pankso@59 47 EOT
pankso@60 48 # Get the list of administrators
pankso@81 49 fgrep -l "ADMIN_USER=" $PEOPLE/*/account.conf | while read file;
pankso@60 50 do
pankso@81 51 . ${file}
pankso@81 52 echo "<a href='?user=$USER'>$USER</a>"
pankso@81 53 unset NAME USER
pankso@60 54 done
pankso@60 55
pankso@60 56 # Only for admins
pankso@60 57 if check_auth && admin_user; then
pankso@60 58 # List all plugins
pankso@59 59 cat << EOT
pankso@59 60 <h3>$(gettext "Plugins")</h3>
pankso@81 61 <table>
pankso@81 62 <thead>
pankso@81 63 <td>$(gettext "Name")</td>
pankso@81 64 <td>$(gettext "Description")</td>
pankso@81 65 <td>$(gettext "Action")</td>
pankso@81 66 </thead>
pankso@59 67 EOT
pankso@59 68 for p in $(ls -1 $plugins)
pankso@59 69 do
pankso@59 70 . $plugins/$p/$p.conf
pankso@81 71 cat << EOT
pankso@81 72 <tr>
pankso@81 73 <td><a href='?$p'>$PLUGIN</a></td>
pankso@81 74 <td>$SHORT_DESC</td>
pankso@81 75 <td>remove</td>
pankso@81 76 </tr>
pankso@81 77 EOT
pankso@59 78 done
pankso@81 79 echo "</table>"
pankso@60 80 fi
pankso@60 81 else
pankso@59 82 gettext "You must be logged in to view the dashboard."
pankso@60 83 fi
pankso@60 84 html_footer && exit 0
pankso@59 85 fi