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 |