# HG changeset patch # User Christophe Lincoln # Date 1388876494 -3600 # Node ID bb625b6de9028f5da902a1ac74a7e2797efd417f # Parent a8652095c93f9d76d2bf847376182b2d3b6cbb69 Add a small dashboard plugin and misc fixes diff -r a8652095c93f -r bb625b6de902 web/bugs.cgi --- a/web/bugs.cgi Sat Jan 04 21:46:07 2014 +0100 +++ b/web/bugs.cgi Sun Jan 05 00:01:34 2014 +0100 @@ -116,14 +116,18 @@ fi } +# Check if user is admin +admin_user() { + fgrep -q 'ADMIN_USER="yes"' ${PEOPLE}/${user}/account.conf +} # Authentified or not user_box() { - -IDLOC="" -if [[ "$(GET id)" ]] ;then - IDLOC="&id=$(GET id)" -fi + + IDLOC="" + if [[ "$(GET id)" ]] ;then + IDLOC="&id=$(GET id)" + fi if check_auth; then . $PEOPLE/$user/account.conf @@ -188,11 +192,11 @@ # Login page login_page() { -IDLOC="" -if [[ "$(GET id)" ]] ;then - IDLOC="?id=$(GET id)" -fi - + + IDLOC="" + if [[ "$(GET id)" ]] ;then + IDLOC="?id=$(GET id)" + fi cat << EOT

$(gettext 'Login')

@@ -205,7 +209,7 @@
-
+
@@ -262,7 +266,6 @@ done } - # Stripped down Wiki parser for bug desc and messages which are simply # displayed in
 wiki_parser() {
@@ -272,7 +275,6 @@
 		-e 's#\\\\n#\n#g;s#%22#"#g;s#%21#!#g'
 }
 
-
 # Bug page
 bug_page() {
 	if [ -f "$PEOPLE/$CREATOR/account.conf" ]; then
@@ -348,7 +350,6 @@
 	fi
 }
 
-
 # Write a new message
 new_msg() {
 	date=$(date "+%Y-%m-%d %H:%M")
@@ -365,7 +366,6 @@
 EOT
 }
 
-
 # Create a new Bug
 new_bug() {
 	count=$(ls -1 $bugdir | wc -l)
@@ -391,7 +391,6 @@
 EOT
 }
 
-
 # New bug page for the web interface
 new_bug_page() {
 	cat << EOT
@@ -486,7 +485,6 @@
 	echo "\"\""
 }
 
-
 # Create a new user in AUTH_FILE and PEOPLE
 new_user_config() {
 	if [ ! "$online" ]; then
@@ -572,11 +570,19 @@
 			header
 			html_header
 			user_box
-			echo "

gettext "User already exists: $user"

" + echo "

$(gettext "User already exists:") $user

" html_footer && exit 0 fi ;; esac +# +# Plugins Now! +# +for p in $(ls -1 $plugins) +do + [ -f "$plugins/$p/$p.conf" ] && . $plugins/$p/$p.conf + [ -x "$plugins/$p/$p.cgi" ] && . $plugins/$p/$p.cgi +done ######################################################################## # GET actions # @@ -788,8 +794,8 @@
${pct}%
-

$(gettext "Please read the README for help and more \ -information. You may also be interested by the SliTaz \ +

$(gettext "Please read the README for help and \ +more information. You may also be interested by the SliTaz \ Roadmap and the packages \ Cooker. To perform a search \ enter your term and press ENTER.") @@ -800,6 +806,7 @@ EOT if check_auth; then echo "$(gettext 'Create a new bug')" + echo "$PLUGINS_TOOLS" fi cat << EOT

@@ -808,16 +815,4 @@ html_footer ;; esac - -######################################################################## -# Plugins # -######################################################################## - -for p in $(ls -1 $plugins) -do - [ -f "$plugins/$p/$p.conf" ] && . $plugins/$p/$p.conf - [ -x "$plugins/$p/$p.cgi" ] && . $plugins/$p/$p.cgi -done - - exit 0 diff -r a8652095c93f -r bb625b6de902 web/plugins/dashboard/dashboard.cgi --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/plugins/dashboard/dashboard.cgi Sun Jan 05 00:01:34 2014 +0100 @@ -0,0 +1,80 @@ +#!/bin/sh +# +# TinyCM/TazBug Plugin - Dashboard +# +. /usr/lib/slitaz/httphelper + +case " $(GET) " in + *\ users\ *) + d="Dashboard" + header + html_header + user_box + if ! admin_user; then + gettext "You must be admin in to manage users." + exit 0 + fi + users=$(ls -1 $PEOPLE | wc -l) + cat << EOT +

Users: $users

+
+EOT
+		for u in $(ls $PEOPLE)
+		do
+			#. ${PEOPLE}/${u}/account.conf
+			. "${PEOPLE}/${u}/account.conf"
+			cat << EOT
+ $USER | $NAME
+EOT
+# deluser link
+#: $(gettext "delete")
+			unset NAME USER 
+		done
+		echo "
" && exit 0 ;; + + *\ dashboard\ *) + d="Dashboard" + header + html_header + user_box + if ! check_auth; then + gettext "You must be logged in to view the dashboard." + exit 0 + fi + if admin_user; then + admintools="Users" + fi + users=$(ls -1 $PEOPLE | wc -l) + bugsize=$(du -sh $bugdir | awk '{print $1}') + cat << EOT +

Dashboard

+
+Users     : $users
+Bugsize   : $bugsize
+
+
+$admintools +
+

Admin users

+EOT + # Get the list of administrators + for u in $(ls $PEOPLE) + do + user=${u} + if admin_user; then + echo "$u" + fi + done + cat << EOT +

$(gettext "Plugins")

+
+EOT
+		for p in $(ls -1 $plugins)
+		do
+			. $plugins/$p/$p.conf
+			echo "$PLUGIN - $SHORT_DESC"
+		done
+		echo '
' + html_footer + exit 0 ;; +esac diff -r a8652095c93f -r bb625b6de902 web/plugins/dashboard/dashboard.conf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/plugins/dashboard/dashboard.conf Sun Jan 05 00:01:34 2014 +0100 @@ -0,0 +1,8 @@ +# TinycM/TazBug Plugin configuration + +PLUGIN="TazBug Dashboard" +SHORT_DESC="Light TazBug Dashboard" +MAINTAINER="devel@slitaz.org" +PLUGINS_TOOLS="Dashboard ${PLUGINS_TOOLS}" + +# Configurable variables used in plugin.cgi diff -r a8652095c93f -r bb625b6de902 web/plugins/skel/skel.conf --- a/web/plugins/skel/skel.conf Sat Jan 04 21:46:07 2014 +0100 +++ b/web/plugins/skel/skel.conf Sun Jan 05 00:01:34 2014 +0100 @@ -1,7 +1,8 @@ -# TinyCM Plugin configuration +# TinyCM/TazBug Plugin configuration PLUGIN="Plugin Skeleton" -SHORT_DESC="An example plugin for TinyCM" +SHORT_DESC="An example plugin for TinyCM/TazBug" MAINTAINER="devel@slitaz.org" +PLUGINS_TOOLS="${PLUGINS_TOOLS}" # Configurable variables used in plugin.cgi