tazpanel rev 511

Set default gui user
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Jul 28 12:26:28 2015 +0200 (2015-07-28)
parents e4207d6f46b0
children f476216ae0e1
files lib/libtazpanel network.cgi po/fr.po tazpanel
line diff
     1.1 --- a/lib/libtazpanel	Mon Jul 13 15:06:06 2015 +0200
     1.2 +++ b/lib/libtazpanel	Tue Jul 28 12:26:28 2015 +0200
     1.3 @@ -17,10 +17,19 @@
     1.4  	printf "$(ngettext "$S" "$P" "$N")" "$@"; }
     1.5  
     1.6  
     1.7 -[ "$(id -un)" == "${REMOTE_USER:=nobody}" ] || exec su -s /bin/sh -c "$(realpath $0) $@" $REMOTE_USER
     1.8 +GUI_USER=nobody
     1.9 +[ "$HTTP_HOST" == "127.0.0.1:82" ] &&
    1.10 +for i in "$HTTP_COOKIE" "$QUERY_STRING" ; do
    1.11 +    v="$(echo "$i" | sed '/guiuser=/!d;s/.*guiuser=\([A-Za-z0-9_]*\).*/\1/')"
    1.12 +    [ "$v" ] || continue
    1.13 +    ps | sed '/d;/d;/127\.0\.0\.1:82/!d' | grep -q " $v " || continue
    1.14 +    GUI_USER="$v"
    1.15 +done
    1.16 +[ "$REMOTE_USER" ] || REMOTE_USER="$GUI_USER"
    1.17 +[ "$(id -un)" == "$REMOTE_USER" ] || exec su -s /bin/sh -c "$(realpath $0) $@" $REMOTE_USER
    1.18  
    1.19  
    1.20 -# Get parameters with GET, POST and FILE functions
    1.21 +# Get parameters with GET, POST, COOKIE and FILE functions
    1.22  
    1.23  . /usr/lib/slitaz/httphelper
    1.24  
    1.25 @@ -250,6 +259,11 @@
    1.26  xhtml_header() {
    1.27  	SUBTITLE="$1"
    1.28  	. ${PANEL}$HEADER
    1.29 +	cat <<EOT
    1.30 +<script type="text/javascript">
    1.31 +	document.cookie = "guiuser=$GUI_USER";
    1.32 +</script>
    1.33 +EOT
    1.34  	if [ "$DEBUG" -eq 1 ]; then
    1.35  		local i j x
    1.36  		args=''
     2.1 --- a/network.cgi	Mon Jul 13 15:06:06 2015 +0200
     2.2 +++ b/network.cgi	Tue Jul 28 12:26:28 2015 +0200
     2.3 @@ -115,6 +115,7 @@
     2.4  select_if() {
     2.5  	echo '<select name="interface">'
     2.6  	for i in $(ls /sys/class/net); do
     2.7 +		grep -qs 1 /sys/class/net/$i/carrier &&
     2.8  		echo "<option>$i"
     2.9  	done
    2.10  	echo '</select>'
     3.1 --- a/po/fr.po	Mon Jul 13 15:06:06 2015 +0200
     3.2 +++ b/po/fr.po	Tue Jul 28 12:26:28 2015 +0200
     3.3 @@ -1047,7 +1047,7 @@
     3.4  
     3.5  #: settings.cgi:273
     3.6  msgid "Remove user"
     3.7 -msgstr "Enléve un utilisateur"
     3.8 +msgstr "Enlève un utilisateur"
     3.9  
    3.10  #: settings.cgi:286 settings.cgi:594
    3.11  msgid "Manage users"
     4.1 --- a/tazpanel	Mon Jul 13 15:06:06 2015 +0200
     4.2 +++ b/tazpanel	Tue Jul 28 12:26:28 2015 +0200
     4.3 @@ -74,12 +74,12 @@
     4.4  		. /etc/slitaz/applications.conf
     4.5  		USER_CONFIG="$HOME/.config/slitaz/applications.conf"
     4.6  		[ -f "$USER_CONFIG" ] && . $USER_CONFIG
     4.7 -		[ -n "$1" ] && app="/${1}.cgi"
     4.8 -		echo http://127.0.0.1:82${app}
     4.9 +		url="http://127.0.0.1:82/${1:-index}.cgi?guiuser=$(id -un)"
    4.10 +		echo "$url"
    4.11  		case "$BROWSER" in
    4.12 -			tazweb) tazweb --notoolbar http://127.0.0.1:82${app} & ;;
    4.13 -			midori) midori --app=http://127.0.0.1:82${app} & ;;
    4.14 -			*) $BROWSER http://127.0.0.1:82${app} & ;;
    4.15 +			tazweb) tazweb --notoolbar "$url" & ;;
    4.16 +			midori) midori "--app=$url" & ;;
    4.17 +			*) $BROWSER "$url" & ;;
    4.18  		esac ;;
    4.19  esac
    4.20