tazpanel rev 23

Rename tazpkg.cgi to pkgs.cgi
author Christophe Lincoln <pankso@slitaz.org>
date Tue Apr 05 01:42:16 2011 +0200 (2011-04-05)
parents c630f623ac7c
children fa19c333f9c6
files Makefile pkgs.cgi po/tazpanel-pkgs/tazpkg-cgi.pot po/tazpkg-cgi/tazpkg-cgi.pot styles/default/header.html tazpkg.cgi
line diff
     1.1 --- a/Makefile	Tue Apr 05 01:34:37 2011 +0200
     1.2 +++ b/Makefile	Tue Apr 05 01:42:16 2011 +0200
     1.3 @@ -11,12 +11,15 @@
     1.4  # i18n
     1.5  
     1.6  pot:
     1.7 -	xgettext -o po/tazpkg-cgi/tazpkg-cgi.pot -L Shell \
     1.8 -		--package-name="Tazpkg CGI" \
     1.9 +	xgettext -o po/tazpanel-pkgs/tazpanel-pkgs.pot -L Shell \
    1.10 +		--package-name="Tazpanel pkgs CGI" \
    1.11  		--package-version="$(VERSION)" ./tazpkg.cgi
    1.12  	xgettext -o po/tazpanel/tazpanel.pot -L Shell \
    1.13  		--package-name="TazPanel cmdline" \
    1.14  		--package-version="$(VERSION)" ./tazpanel
    1.15 +	xgettext -o po/tazpanel-cgi/tazpanel-cgi.pot -L Shell \
    1.16 +		--package-name="TazPanel CGI" \
    1.17 +		--package-version="$(VERSION)" ./index.cgi
    1.18  
    1.19  msgmerge:
    1.20  	@for l in $(LINGUAS); do \
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/pkgs.cgi	Tue Apr 05 01:42:16 2011 +0200
     2.3 @@ -0,0 +1,400 @@
     2.4 +#!/bin/sh
     2.5 +#
     2.6 +# TazPKG CGI interface - Manage packages via the a browse
     2.7 +#
     2.8 +# This CGI interface intensively use tazpkg to manage package and have
     2.9 +# it how code for some tasks. Please KISS it important and keep speed
    2.10 +# in mind. Thanks, Pankso.
    2.11 +#
    2.12 +# (C) 2011 SliTaz GNU/Linux - GNU gpl v2
    2.13 +#
    2.14 +echo "Content-Type: text/html"
    2.15 +echo ""
    2.16 +
    2.17 +. lib/libtazpanel
    2.18 +get_config
    2.19 +
    2.20 +# Include gettext helper script.
    2.21 +. /usr/bin/gettext.sh
    2.22 +
    2.23 +# Export package name for gettext.
    2.24 +TEXTDOMAIN='tazpanel-pkgs'
    2.25 +export TEXTDOMAIN
    2.26 +
    2.27 +# xHTML 5 header
    2.28 +cat $HEADER | sed s'/%TITLE%/Tazpkg/'
    2.29 +
    2.30 +# DEBUG mode
    2.31 +if [ $DEBUG == "1" ]; then
    2.32 +	echo "<p class='debug'>$REQUEST_METHOD ${QUERY_STRING}</p>"
    2.33 +fi
    2.34 +
    2.35 +# We need packages information for list and search
    2.36 +parse_packages_desc() {
    2.37 +while read line
    2.38 +	do
    2.39 +		echo '<tr>'
    2.40 +		pkg=$(echo $line | cut -d "|" -f 1)
    2.41 +		vers=$(echo $line | cut -d "|" -f 2)
    2.42 +		desc=$(echo $line | cut -d "|" -f 3)
    2.43 +		web=$(echo $line | cut -d "|" -f 5)
    2.44 +		if [ -d $INSTALLED/$pkg ]; then
    2.45 +			echo -e "<td><input type='checkbox' name='pkg' value=\"$pkg\">\n
    2.46 +				<img src='$IMAGES/tazpkg-installed.png'/>$pkg</td>"
    2.47 +		else
    2.48 +			echo -e "<td><input type='checkbox' name='pkg' value=\"$pkg\">\n
    2.49 +				<img src='$IMAGES/tazpkg.png'/>$pkg</td>"
    2.50 +		fi
    2.51 +		echo "<td>$vers</td>"
    2.52 +		echo "<td class='desc'>$desc</td>"
    2.53 +		echo "<td><a href='$web'>web</a></td>"
    2.54 +		echo '</tr>'
    2.55 +	done
    2.56 +}
    2.57 +
    2.58 +# Remove status and ESC char from tazpkg commands output
    2.59 +filter_tazpkg_msgs() {
    2.60 +	grep ^[a-zA-Z0-9] | sed s'/\.*\]//'
    2.61 +}
    2.62 +
    2.63 +# Display a full summary of packages stats
    2.64 +packages_summary() {
    2.65 +	gettext "Installed packages   : "
    2.66 +	ls $INSTALLED | wc -l
    2.67 +	gettext "Mirrored packages    : "
    2.68 +	cat $LOCALSTATE/packages.list | wc -l
    2.69 +	gettext "Last recharge        : "
    2.70 +	stat -c %y $LOCALSTATE/packages.list | sed 's/\(:..\):.*/\1/'
    2.71 +	gettext "Upgradeable packages : "
    2.72 +	cat $LOCALSTATE/upgradeable-packages.list | wc -l
    2.73 +	gettext "Installed files      : "
    2.74 +	cat $INSTALLED/*/files.list | wc -l
    2.75 +	gettext "Blocked packages     : "
    2.76 +	cat $LOCALSTATE/blocked-packages.list | wc -l
    2.77 +}
    2.78 +
    2.79 +# Parse mirrors list to be able to have an icon an remove link
    2.80 +list_mirrors() {
    2.81 +	cat $LOCALSTATE/mirrors | while read line
    2.82 +	do
    2.83 +		cat << EOT
    2.84 +<li><a href="$SCRIPT_NAME?config=rm-mirror=$line"><img
    2.85 +	src="$IMAGES/clear.png" /></a><a href="$line">$line</a></li>
    2.86 +EOT
    2.87 +	done
    2.88 +}
    2.89 +
    2.90 +#
    2.91 +# xHTML functions
    2.92 +#
    2.93 +
    2.94 +# ENTER will search but user may search for a button, so put one.
    2.95 +search_form() {
    2.96 +	cat << EOT
    2.97 +<div class="search">
    2.98 +	<form method="get" action="$SCRIPT_NAME">
    2.99 +		<p>
   2.100 +			<input type="text" name="search" size="20">
   2.101 +			<input type="submit" value="`gettext "Search"`">
   2.102 +		</p>
   2.103 +	</form>
   2.104 +</div>
   2.105 +EOT
   2.106 +}
   2.107 +
   2.108 +table_head() {
   2.109 +	cat << EOT
   2.110 +		<tr id="thead">
   2.111 +			<td>`gettext "Name"`</td>
   2.112 +			<td>`gettext "Version"`</td>
   2.113 +			<td>`gettext "Description"`</td>
   2.114 +			<td>`gettext "Web"`</td>
   2.115 +		</tr>
   2.116 +EOT
   2.117 +}
   2.118 +
   2.119 +sub_block() {
   2.120 +	cat << EOT
   2.121 +<div id="sub_block">
   2.122 +	<a href='$SCRIPT_NAME?list'>`gettext "My packages"`</a> |
   2.123 +	<a href='$SCRIPT_NAME?list-all'>`gettext "All packages"`</a> |
   2.124 +	<a href='$SCRIPT_NAME?recharge'>`gettext "Recharge list"`</a> |
   2.125 +	<a href='$SCRIPT_NAME?upgradeable'>`gettext "Upgrade"`</a> |
   2.126 +	<a href='$SCRIPT_NAME?config'>`gettext "Configuration"`</a>
   2.127 +</div>
   2.128 +EOT
   2.129 +}
   2.130 +
   2.131 +# For my packages list
   2.132 +list_actions() {
   2.133 +	cat << EOT
   2.134 +<p>
   2.135 +	`gettext "Selection:"`
   2.136 +	<input type="submit" name="do" value="remove" />
   2.137 +</p>
   2.138 +EOT
   2.139 +}
   2.140 +
   2.141 +# For list-all
   2.142 +list_all_actions() {
   2.143 +	cat << EOT
   2.144 +<p>
   2.145 +	`gettext "Selection:"`
   2.146 +	<input type="submit" name="do" value="install" />
   2.147 +	<input type="submit" name="do" value="remove" />
   2.148 +</p>
   2.149 +EOT
   2.150 +}
   2.151 +
   2.152 +# For search and upgrade with JS function to toogle all pkgs
   2.153 +list_full_actions() {
   2.154 +	cat << EOT
   2.155 +<p>
   2.156 +	`gettext "Selection:"`
   2.157 +	<input type="submit" name="do" value="install" />
   2.158 +	<input type="submit" name="do" value="remove" />
   2.159 +	<a href="`cat $PANEL/lib/checkbox.js`">`gettext "Toogle all"`</a>
   2.160 +</p>
   2.161 +EOT
   2.162 +}
   2.163 +
   2.164 +#
   2.165 +# Commands
   2.166 +#
   2.167 +
   2.168 +case "$QUERY_STRING" in
   2.169 +	list)
   2.170 +		# List installed packages. This is the default because parsing
   2.171 +		# the full packages.desc can be long and take some resources
   2.172 +		cd $INSTALLED
   2.173 +		search_form
   2.174 +		sub_block
   2.175 +		cat << EOT
   2.176 +<h2>`gettext "My packages"`</h2>
   2.177 +<form method='get' action='$SCRIPT_NAME'>
   2.178 +<div id="actions">
   2.179 +EOT
   2.180 +		list_actions
   2.181 +		echo '</div>'
   2.182 +		table_start
   2.183 +		for pkg in *
   2.184 +		do
   2.185 +			. $pkg/receipt
   2.186 +			echo '<tr>'
   2.187 +			# Use default tazpkg icon since all packages displayed are
   2.188 +			# installed
   2.189 +			echo "<td class='pkg'>
   2.190 +				<input type='checkbox' name='pkg' value=\"$pkg\" />
   2.191 +				<a href='$SCRIPT_NAME?info=$pkg'><img
   2.192 +					src='$IMAGES/tazpkg-installed.png'/></a>$pkg</td>"
   2.193 +			echo "<td>$VERSION</td>"
   2.194 +			echo "<td class='desc'>$SHORT_DESC</td>"
   2.195 +			echo "<td><a href='$WEB_SITE'>web</a></td>"
   2.196 +			echo '</tr>'
   2.197 +		done
   2.198 +		table_end
   2.199 +		list_actions
   2.200 +		echo '</form>' ;;
   2.201 +	list-all)
   2.202 +		# List all available packages on mirror
   2.203 +		cd  $LOCALSTATE
   2.204 +		search_form
   2.205 +		sub_block
   2.206 +		cat << EOT
   2.207 +<h2>`gettext "All packages"`</h2>
   2.208 +<form method='get' action='$SCRIPT_NAME'>
   2.209 +<div id="actions">
   2.210 +EOT
   2.211 +		list_all_actions
   2.212 +		echo '</div>'
   2.213 +		table_start
   2.214 +		table_head
   2.215 +		cat packages.desc | parse_packages_desc
   2.216 +		table_end
   2.217 +		list_all_actions
   2.218 +		echo '</form>' ;;
   2.219 +	search=*)
   2.220 +		# Search for packages
   2.221 +		pkg=${QUERY_STRING#*=}
   2.222 +		cd  $LOCALSTATE
   2.223 +		search_form
   2.224 +		sub_block
   2.225 +		cat << EOT
   2.226 +<h2>`gettext "Search packages"`</h2>
   2.227 +<form method="get" action="$SCRIPT_NAME">
   2.228 +<div id="actions">
   2.229 +EOT
   2.230 +		list_full_actions
   2.231 +		echo '</div>'
   2.232 +		table_start
   2.233 +		table_head
   2.234 +		grep $pkg packages.desc | parse_packages_desc
   2.235 +		table_end
   2.236 +		echo '</form>' ;;
   2.237 +	recharge)
   2.238 +		# Let recharge the packages list
   2.239 +		search_form
   2.240 +		sub_block
   2.241 +		cat << EOT
   2.242 +<h2>`gettext "Recharge"`</h2>
   2.243 +<form method='get' action='$SCRIPT_NAME'>
   2.244 +<div id="actions">
   2.245 +	<p>
   2.246 +		`gettext "Recharge will check for new or updated packages...
   2.247 +		please wait"`
   2.248 +	</p>
   2.249 +</div>	
   2.250 +<pre>
   2.251 +EOT
   2.252 +		tazpkg recharge | filter_tazpkg_msgs
   2.253 +		echo '</pre>'
   2.254 +		echo '<p>'
   2.255 +		gettext "Packages lists are up-to-date"
   2.256 +		echo '</p>' ;;
   2.257 +	upgradeable)
   2.258 +		cd $LOCALSTATE
   2.259 +		search_form
   2.260 +		sub_block
   2.261 +		cat << EOT
   2.262 +<h2>`gettext "Upgradeable packages"`</h2>
   2.263 +<form method="get" action="$SCRIPT_NAME">
   2.264 +<div id="actions">
   2.265 +EOT
   2.266 +		list_full_actions
   2.267 +		tazpkg upgradeable
   2.268 +		echo '</div>'
   2.269 +		table_start
   2.270 +		table_head
   2.271 +		for pkg in `cat upgradeable-packages.list`
   2.272 +		do
   2.273 +			grep "^$pkg |" $LOCALSTATE/packages.desc | parse_packages_desc
   2.274 +		done
   2.275 +		table_end
   2.276 +		echo '</form>' ;;
   2.277 +	do=*)
   2.278 +		# Do an action on one or some packages
   2.279 +		cmdline=`echo ${QUERY_STRING#do=} | sed s'/&/ /g'`		
   2.280 +		cmd=`echo ${cmdline} | awk '{print $1}'`		
   2.281 +		pkgs=`echo $cmdline | sed -e s'/+/ /g' -e s'/pkg=//g' -e s/$cmd//`
   2.282 +		[ $cmd == install ] && cmd=get-install opt=--forced
   2.283 +		search_form
   2.284 +		sub_block
   2.285 +		cat << EOT
   2.286 +<h2>Tazpkg: $cmd</h2>
   2.287 +<form method="get" action="$SCRIPT_NAME">
   2.288 +<div id="actions">
   2.289 +<p>
   2.290 +EOT
   2.291 +		gettext "Performing task on packages"
   2.292 +		echo '</p></div>'
   2.293 +		echo '<pre class="pre_main">'
   2.294 +		gettext "Executing $cmd for:$pkgs"
   2.295 +		echo '</pre>'
   2.296 +		for pkg in $pkgs
   2.297 +		do
   2.298 +			echo '<pre>'
   2.299 +			echo 'y' | tazpkg $cmd $pkg $opt 2>/dev/null | filter_tazpkg_msgs
   2.300 +			echo '</pre>'
   2.301 +		done ;;
   2.302 +	info=*)
   2.303 +		pkg=${QUERY_STRING#*=}
   2.304 +		search_form
   2.305 +		sub_block
   2.306 +		. $INSTALLED/$pkg/receipt
   2.307 +		cat << EOT
   2.308 +<h2>`gettext "Package info"`</h2>
   2.309 +<div id="actions">
   2.310 +	<p>`gettext "Detailled information on:"` $PACKAGE</p>
   2.311 +</div>
   2.312 +<pre>
   2.313 +Name        : $PACKAGE
   2.314 +Version     : $VERSION
   2.315 +Description : $SHORT_DESC
   2.316 +Maintainer  : $MAINTAINER
   2.317 +Depends     : `for i in $DEPENDS; do echo -n \
   2.318 +	"<a href="$SCRIPT_NAME?info=$i">$i</a> "; done`
   2.319 +Website     : <a href="$WEB_SITE">$WEB_SITE</a>
   2.320 +Sizes       : $PACKED_SIZE/$UNPACKED_SIZE
   2.321 +Files       : `cat $INSTALLED/$pkg/files.list | wc -l`
   2.322 +</pre>
   2.323 +
   2.324 +<p>`gettext "Installed files"`</p>
   2.325 +<pre>
   2.326 +`cat $INSTALLED/$pkg/files.list`
   2.327 +</pre>
   2.328 +EOT
   2.329 +		;;
   2.330 +	config*)
   2.331 +		# Tazpkg configuration page
   2.332 +		cmd=${QUERY_STRING#*=}
   2.333 +		case "$cmd" in
   2.334 +			clean)
   2.335 +				rm -rf /var/cache/tazpkg/* ;;
   2.336 +			add-mirror*=http*|add-mirror*=ftp*)
   2.337 +				# Decode url
   2.338 +				mirror=`httpd -d ${cmd#*=}`
   2.339 +				echo "$mirror" >> $LOCALSTATE/mirrors ;;
   2.340 +			rm-mirror=http://*|rm-mirror=ftp://*)
   2.341 +				mirror=${QUERY_STRING#*=rm-mirror=}
   2.342 +				sed -i -e "s@$mirror@@" -e '/^$/d' $LOCALSTATE/mirrors ;;
   2.343 +		esac
   2.344 +		cache_files=`find /var/cache/tazpkg -name *.tazpkg | wc -l`
   2.345 +		cache_size=`du -sh /var/cache/tazpkg`
   2.346 +		sub_block
   2.347 +		cat << EOT
   2.348 +<h2>`gettext "Configuration"`</h2>
   2.349 +<div>
   2.350 +	<p>`gettext "Tazpkg configuration and settings"`</p>
   2.351 +</div>
   2.352 +<div>
   2.353 +	<form method="get" action="$SCRIPT_NAME">
   2.354 +		<p>
   2.355 +			`gettext "Packages in the cache:"` $cache_files ($cache_size)
   2.356 +			<input type="hidden" name="config" value="clean" />
   2.357 +			<input type="submit" value="Clean" />
   2.358 +		</p>
   2.359 +	</form>
   2.360 +</div>
   2.361 +
   2.362 +<h3>`gettext "Current mirror list"`</h3>
   2.363 +<div class="box">
   2.364 +	<ul>
   2.365 +		`list_mirrors`
   2.366 +	</ul>
   2.367 +</div>
   2.368 +<form method="get" action="$SCRIPT_NAME">
   2.369 +	<p>
   2.370 +		<input type="hidden" name="config" value="add-mirror" />
   2.371 +		<input type="text" name="mirror" size="60">
   2.372 +		<input type="submit" value="Add mirror" />
   2.373 +	</p>
   2.374 +</form>
   2.375 +EOT
   2.376 +		 ;;
   2.377 +	*)
   2.378 +		#
   2.379 +		# Default to summary
   2.380 +		#
   2.381 +		search_form
   2.382 +		sub_block
   2.383 +		cat << EOT
   2.384 +<h2>`gettext "Summary"`</h2>
   2.385 +<div id="actions">
   2.386 +	<p>`gettext "Overview of all installed and mirrored packages"`</p>
   2.387 +</div>
   2.388 +<pre class="pre_main">
   2.389 +`packages_summary`
   2.390 +</pre>
   2.391 +<h3>`gettext "Latest log entries"`</h3>
   2.392 +<pre>
   2.393 +`tail -n 6 /var/log/tazpkg.log | fgrep "-" | \
   2.394 +	awk '{print $1, $2, $3, $4, $5, $6, $7}'`
   2.395 +</pre>
   2.396 +
   2.397 +EOT
   2.398 +		;;
   2.399 +esac
   2.400 +
   2.401 +# xHTML 5 footer
   2.402 +cd $PANEL && xhtml_footer
   2.403 +exit 0
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/po/tazpanel-pkgs/tazpkg-cgi.pot	Tue Apr 05 01:42:16 2011 +0200
     3.3 @@ -0,0 +1,154 @@
     3.4 +# SOME DESCRIPTIVE TITLE.
     3.5 +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
     3.6 +# This file is distributed under the same license as the PACKAGE package.
     3.7 +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
     3.8 +#
     3.9 +#, fuzzy
    3.10 +msgid ""
    3.11 +msgstr ""
    3.12 +"Project-Id-Version: Tazpkg CGI 1.0\n"
    3.13 +"Report-Msgid-Bugs-To: \n"
    3.14 +"POT-Creation-Date: 2011-04-03 17:41+0200\n"
    3.15 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    3.16 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    3.17 +"Language-Team: LANGUAGE <LL@li.org>\n"
    3.18 +"Language: \n"
    3.19 +"MIME-Version: 1.0\n"
    3.20 +"Content-Type: text/plain; charset=CHARSET\n"
    3.21 +"Content-Transfer-Encoding: 8bit\n"
    3.22 +
    3.23 +#: tazpkg.cgi:61
    3.24 +msgid "Installed packages   : "
    3.25 +msgstr ""
    3.26 +
    3.27 +#: tazpkg.cgi:63
    3.28 +msgid "Mirrored packages    : "
    3.29 +msgstr ""
    3.30 +
    3.31 +#: tazpkg.cgi:65
    3.32 +msgid "Last recharge        : "
    3.33 +msgstr ""
    3.34 +
    3.35 +#: tazpkg.cgi:67
    3.36 +msgid "Upgradeable packages : "
    3.37 +msgstr ""
    3.38 +
    3.39 +#: tazpkg.cgi:69
    3.40 +msgid "Installed files      : "
    3.41 +msgstr ""
    3.42 +
    3.43 +#: tazpkg.cgi:71
    3.44 +msgid "Blocked packages     : "
    3.45 +msgstr ""
    3.46 +
    3.47 +#: tazpkg.cgi:96
    3.48 +msgid "Search"
    3.49 +msgstr ""
    3.50 +
    3.51 +#: tazpkg.cgi:108
    3.52 +msgid "Name"
    3.53 +msgstr ""
    3.54 +
    3.55 +#: tazpkg.cgi:109
    3.56 +msgid "Version"
    3.57 +msgstr ""
    3.58 +
    3.59 +#: tazpkg.cgi:110
    3.60 +msgid "Description"
    3.61 +msgstr ""
    3.62 +
    3.63 +#: tazpkg.cgi:111
    3.64 +msgid "Web"
    3.65 +msgstr ""
    3.66 +
    3.67 +#: tazpkg.cgi:126 tazpkg.cgi:180
    3.68 +msgid "My packages"
    3.69 +msgstr ""
    3.70 +
    3.71 +#: tazpkg.cgi:127 tazpkg.cgi:212 tazpkg.cgi:230
    3.72 +msgid "All packages"
    3.73 +msgstr ""
    3.74 +
    3.75 +#: tazpkg.cgi:128
    3.76 +msgid "Recharge list"
    3.77 +msgstr ""
    3.78 +
    3.79 +#: tazpkg.cgi:129
    3.80 +msgid "Upgrade"
    3.81 +msgstr ""
    3.82 +
    3.83 +#: tazpkg.cgi:130 tazpkg.cgi:348
    3.84 +msgid "Configuration"
    3.85 +msgstr ""
    3.86 +
    3.87 +#: tazpkg.cgi:139 tazpkg.cgi:149 tazpkg.cgi:160
    3.88 +msgid "Selection:"
    3.89 +msgstr ""
    3.90 +
    3.91 +#: tazpkg.cgi:163
    3.92 +msgid "Toogle all"
    3.93 +msgstr ""
    3.94 +
    3.95 +#: tazpkg.cgi:245
    3.96 +msgid "Recharge"
    3.97 +msgstr ""
    3.98 +
    3.99 +#: tazpkg.cgi:248
   3.100 +msgid "Recharge lists will check for new or updated packages"
   3.101 +msgstr ""
   3.102 +
   3.103 +#: tazpkg.cgi:252
   3.104 +msgid "Recharging the packages list... please wait"
   3.105 +msgstr ""
   3.106 +
   3.107 +#: tazpkg.cgi:256
   3.108 +msgid "Packages lists are up-to-date"
   3.109 +msgstr ""
   3.110 +
   3.111 +#: tazpkg.cgi:263
   3.112 +msgid "Upgradeable packages"
   3.113 +msgstr ""
   3.114 +
   3.115 +#: tazpkg.cgi:291
   3.116 +msgid "Performing task on packages"
   3.117 +msgstr ""
   3.118 +
   3.119 +#: tazpkg.cgi:308
   3.120 +msgid "Package info"
   3.121 +msgstr ""
   3.122 +
   3.123 +#: tazpkg.cgi:310
   3.124 +msgid "Detailled information on:"
   3.125 +msgstr ""
   3.126 +
   3.127 +#: tazpkg.cgi:324
   3.128 +msgid "Installed files"
   3.129 +msgstr ""
   3.130 +
   3.131 +#: tazpkg.cgi:350
   3.132 +msgid "Tazpkg configuration and settings"
   3.133 +msgstr ""
   3.134 +
   3.135 +#: tazpkg.cgi:353
   3.136 +msgid "Package in cache"
   3.137 +msgstr ""
   3.138 +
   3.139 +#: tazpkg.cgi:356
   3.140 +msgid "Packages in the cache:"
   3.141 +msgstr ""
   3.142 +
   3.143 +#: tazpkg.cgi:362
   3.144 +msgid "Current mirror list"
   3.145 +msgstr ""
   3.146 +
   3.147 +#: tazpkg.cgi:384
   3.148 +msgid "Summary"
   3.149 +msgstr ""
   3.150 +
   3.151 +#: tazpkg.cgi:386
   3.152 +msgid "Overview of all installed and mirrored packages"
   3.153 +msgstr ""
   3.154 +
   3.155 +#: tazpkg.cgi:391
   3.156 +msgid "Latest log entries"
   3.157 +msgstr ""
     4.1 --- a/po/tazpkg-cgi/tazpkg-cgi.pot	Tue Apr 05 01:34:37 2011 +0200
     4.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.3 @@ -1,154 +0,0 @@
     4.4 -# SOME DESCRIPTIVE TITLE.
     4.5 -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
     4.6 -# This file is distributed under the same license as the PACKAGE package.
     4.7 -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
     4.8 -#
     4.9 -#, fuzzy
    4.10 -msgid ""
    4.11 -msgstr ""
    4.12 -"Project-Id-Version: Tazpkg CGI 1.0\n"
    4.13 -"Report-Msgid-Bugs-To: \n"
    4.14 -"POT-Creation-Date: 2011-04-03 17:41+0200\n"
    4.15 -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    4.16 -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    4.17 -"Language-Team: LANGUAGE <LL@li.org>\n"
    4.18 -"Language: \n"
    4.19 -"MIME-Version: 1.0\n"
    4.20 -"Content-Type: text/plain; charset=CHARSET\n"
    4.21 -"Content-Transfer-Encoding: 8bit\n"
    4.22 -
    4.23 -#: tazpkg.cgi:61
    4.24 -msgid "Installed packages   : "
    4.25 -msgstr ""
    4.26 -
    4.27 -#: tazpkg.cgi:63
    4.28 -msgid "Mirrored packages    : "
    4.29 -msgstr ""
    4.30 -
    4.31 -#: tazpkg.cgi:65
    4.32 -msgid "Last recharge        : "
    4.33 -msgstr ""
    4.34 -
    4.35 -#: tazpkg.cgi:67
    4.36 -msgid "Upgradeable packages : "
    4.37 -msgstr ""
    4.38 -
    4.39 -#: tazpkg.cgi:69
    4.40 -msgid "Installed files      : "
    4.41 -msgstr ""
    4.42 -
    4.43 -#: tazpkg.cgi:71
    4.44 -msgid "Blocked packages     : "
    4.45 -msgstr ""
    4.46 -
    4.47 -#: tazpkg.cgi:96
    4.48 -msgid "Search"
    4.49 -msgstr ""
    4.50 -
    4.51 -#: tazpkg.cgi:108
    4.52 -msgid "Name"
    4.53 -msgstr ""
    4.54 -
    4.55 -#: tazpkg.cgi:109
    4.56 -msgid "Version"
    4.57 -msgstr ""
    4.58 -
    4.59 -#: tazpkg.cgi:110
    4.60 -msgid "Description"
    4.61 -msgstr ""
    4.62 -
    4.63 -#: tazpkg.cgi:111
    4.64 -msgid "Web"
    4.65 -msgstr ""
    4.66 -
    4.67 -#: tazpkg.cgi:126 tazpkg.cgi:180
    4.68 -msgid "My packages"
    4.69 -msgstr ""
    4.70 -
    4.71 -#: tazpkg.cgi:127 tazpkg.cgi:212 tazpkg.cgi:230
    4.72 -msgid "All packages"
    4.73 -msgstr ""
    4.74 -
    4.75 -#: tazpkg.cgi:128
    4.76 -msgid "Recharge list"
    4.77 -msgstr ""
    4.78 -
    4.79 -#: tazpkg.cgi:129
    4.80 -msgid "Upgrade"
    4.81 -msgstr ""
    4.82 -
    4.83 -#: tazpkg.cgi:130 tazpkg.cgi:348
    4.84 -msgid "Configuration"
    4.85 -msgstr ""
    4.86 -
    4.87 -#: tazpkg.cgi:139 tazpkg.cgi:149 tazpkg.cgi:160
    4.88 -msgid "Selection:"
    4.89 -msgstr ""
    4.90 -
    4.91 -#: tazpkg.cgi:163
    4.92 -msgid "Toogle all"
    4.93 -msgstr ""
    4.94 -
    4.95 -#: tazpkg.cgi:245
    4.96 -msgid "Recharge"
    4.97 -msgstr ""
    4.98 -
    4.99 -#: tazpkg.cgi:248
   4.100 -msgid "Recharge lists will check for new or updated packages"
   4.101 -msgstr ""
   4.102 -
   4.103 -#: tazpkg.cgi:252
   4.104 -msgid "Recharging the packages list... please wait"
   4.105 -msgstr ""
   4.106 -
   4.107 -#: tazpkg.cgi:256
   4.108 -msgid "Packages lists are up-to-date"
   4.109 -msgstr ""
   4.110 -
   4.111 -#: tazpkg.cgi:263
   4.112 -msgid "Upgradeable packages"
   4.113 -msgstr ""
   4.114 -
   4.115 -#: tazpkg.cgi:291
   4.116 -msgid "Performing task on packages"
   4.117 -msgstr ""
   4.118 -
   4.119 -#: tazpkg.cgi:308
   4.120 -msgid "Package info"
   4.121 -msgstr ""
   4.122 -
   4.123 -#: tazpkg.cgi:310
   4.124 -msgid "Detailled information on:"
   4.125 -msgstr ""
   4.126 -
   4.127 -#: tazpkg.cgi:324
   4.128 -msgid "Installed files"
   4.129 -msgstr ""
   4.130 -
   4.131 -#: tazpkg.cgi:350
   4.132 -msgid "Tazpkg configuration and settings"
   4.133 -msgstr ""
   4.134 -
   4.135 -#: tazpkg.cgi:353
   4.136 -msgid "Package in cache"
   4.137 -msgstr ""
   4.138 -
   4.139 -#: tazpkg.cgi:356
   4.140 -msgid "Packages in the cache:"
   4.141 -msgstr ""
   4.142 -
   4.143 -#: tazpkg.cgi:362
   4.144 -msgid "Current mirror list"
   4.145 -msgstr ""
   4.146 -
   4.147 -#: tazpkg.cgi:384
   4.148 -msgid "Summary"
   4.149 -msgstr ""
   4.150 -
   4.151 -#: tazpkg.cgi:386
   4.152 -msgid "Overview of all installed and mirrored packages"
   4.153 -msgstr ""
   4.154 -
   4.155 -#: tazpkg.cgi:391
   4.156 -msgid "Latest log entries"
   4.157 -msgstr ""
     5.1 --- a/styles/default/header.html	Tue Apr 05 01:34:37 2011 +0200
     5.2 +++ b/styles/default/header.html	Tue Apr 05 01:42:16 2011 +0200
     5.3 @@ -14,7 +14,7 @@
     5.4  	</div>
     5.5  	<div id="menu">
     5.6  		<a href="./">Panel</a>
     5.7 -		<a href="tazpkg.cgi">Packages</a>
     5.8 +		<a href="pkgs.cgi">Packages</a>
     5.9  		<a href="index.cgi?boot">Boot</a>
    5.10  		<a href="index.cgi?users">Users</a>
    5.11  		<a href="index.cgi?network">Network</a>
     6.1 --- a/tazpkg.cgi	Tue Apr 05 01:34:37 2011 +0200
     6.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.3 @@ -1,400 +0,0 @@
     6.4 -#!/bin/sh
     6.5 -#
     6.6 -# TazPKG CGI interface - Manage packages via the a browse
     6.7 -#
     6.8 -# This CGI interface intensively use tazpkg to manage package and have
     6.9 -# it how code for some tasks. Please KISS it important and keep speed
    6.10 -# in mind. Thanks, Pankso.
    6.11 -#
    6.12 -# (C) 2011 SliTaz GNU/Linux - GNU gpl v2
    6.13 -#
    6.14 -echo "Content-Type: text/html"
    6.15 -echo ""
    6.16 -
    6.17 -. lib/libtazpanel
    6.18 -get_config
    6.19 -
    6.20 -# Include gettext helper script.
    6.21 -. /usr/bin/gettext.sh
    6.22 -
    6.23 -# Export package name for gettext.
    6.24 -TEXTDOMAIN='tazpanel-pkgs'
    6.25 -export TEXTDOMAIN
    6.26 -
    6.27 -# xHTML 5 header
    6.28 -cat $HEADER | sed s'/%TITLE%/Tazpkg/'
    6.29 -
    6.30 -# DEBUG mode
    6.31 -if [ $DEBUG == "1" ]; then
    6.32 -	echo "<p class='debug'>$REQUEST_METHOD ${QUERY_STRING}</p>"
    6.33 -fi
    6.34 -
    6.35 -# We need packages information for list and search
    6.36 -parse_packages_desc() {
    6.37 -while read line
    6.38 -	do
    6.39 -		echo '<tr>'
    6.40 -		pkg=$(echo $line | cut -d "|" -f 1)
    6.41 -		vers=$(echo $line | cut -d "|" -f 2)
    6.42 -		desc=$(echo $line | cut -d "|" -f 3)
    6.43 -		web=$(echo $line | cut -d "|" -f 5)
    6.44 -		if [ -d $INSTALLED/$pkg ]; then
    6.45 -			echo -e "<td><input type='checkbox' name='pkg' value=\"$pkg\">\n
    6.46 -				<img src='$IMAGES/tazpkg-installed.png'/>$pkg</td>"
    6.47 -		else
    6.48 -			echo -e "<td><input type='checkbox' name='pkg' value=\"$pkg\">\n
    6.49 -				<img src='$IMAGES/tazpkg.png'/>$pkg</td>"
    6.50 -		fi
    6.51 -		echo "<td>$vers</td>"
    6.52 -		echo "<td class='desc'>$desc</td>"
    6.53 -		echo "<td><a href='$web'>web</a></td>"
    6.54 -		echo '</tr>'
    6.55 -	done
    6.56 -}
    6.57 -
    6.58 -# Remove status and ESC char from tazpkg commands output
    6.59 -filter_tazpkg_msgs() {
    6.60 -	grep ^[a-zA-Z0-9] | sed s'/\.*\]//'
    6.61 -}
    6.62 -
    6.63 -# Display a full summary of packages stats
    6.64 -packages_summary() {
    6.65 -	gettext "Installed packages   : "
    6.66 -	ls $INSTALLED | wc -l
    6.67 -	gettext "Mirrored packages    : "
    6.68 -	cat $LOCALSTATE/packages.list | wc -l
    6.69 -	gettext "Last recharge        : "
    6.70 -	stat -c %y $LOCALSTATE/packages.list | sed 's/\(:..\):.*/\1/'
    6.71 -	gettext "Upgradeable packages : "
    6.72 -	cat $LOCALSTATE/upgradeable-packages.list | wc -l
    6.73 -	gettext "Installed files      : "
    6.74 -	cat $INSTALLED/*/files.list | wc -l
    6.75 -	gettext "Blocked packages     : "
    6.76 -	cat $LOCALSTATE/blocked-packages.list | wc -l
    6.77 -}
    6.78 -
    6.79 -# Parse mirrors list to be able to have an icon an remove link
    6.80 -list_mirrors() {
    6.81 -	cat $LOCALSTATE/mirrors | while read line
    6.82 -	do
    6.83 -		cat << EOT
    6.84 -<li><a href="$SCRIPT_NAME?config=rm-mirror=$line"><img
    6.85 -	src="$IMAGES/clear.png" /></a><a href="$line">$line</a></li>
    6.86 -EOT
    6.87 -	done
    6.88 -}
    6.89 -
    6.90 -#
    6.91 -# xHTML functions
    6.92 -#
    6.93 -
    6.94 -# ENTER will search but user may search for a button, so put one.
    6.95 -search_form() {
    6.96 -	cat << EOT
    6.97 -<div class="search">
    6.98 -	<form method="get" action="$SCRIPT_NAME">
    6.99 -		<p>
   6.100 -			<input type="text" name="search" size="20">
   6.101 -			<input type="submit" value="`gettext "Search"`">
   6.102 -		</p>
   6.103 -	</form>
   6.104 -</div>
   6.105 -EOT
   6.106 -}
   6.107 -
   6.108 -table_head() {
   6.109 -	cat << EOT
   6.110 -		<tr id="thead">
   6.111 -			<td>`gettext "Name"`</td>
   6.112 -			<td>`gettext "Version"`</td>
   6.113 -			<td>`gettext "Description"`</td>
   6.114 -			<td>`gettext "Web"`</td>
   6.115 -		</tr>
   6.116 -EOT
   6.117 -}
   6.118 -
   6.119 -sub_block() {
   6.120 -	cat << EOT
   6.121 -<div id="sub_block">
   6.122 -	<a href='$SCRIPT_NAME?list'>`gettext "My packages"`</a> |
   6.123 -	<a href='$SCRIPT_NAME?list-all'>`gettext "All packages"`</a> |
   6.124 -	<a href='$SCRIPT_NAME?recharge'>`gettext "Recharge list"`</a> |
   6.125 -	<a href='$SCRIPT_NAME?upgradeable'>`gettext "Upgrade"`</a> |
   6.126 -	<a href='$SCRIPT_NAME?config'>`gettext "Configuration"`</a>
   6.127 -</div>
   6.128 -EOT
   6.129 -}
   6.130 -
   6.131 -# For my packages list
   6.132 -list_actions() {
   6.133 -	cat << EOT
   6.134 -<p>
   6.135 -	`gettext "Selection:"`
   6.136 -	<input type="submit" name="do" value="remove" />
   6.137 -</p>
   6.138 -EOT
   6.139 -}
   6.140 -
   6.141 -# For list-all
   6.142 -list_all_actions() {
   6.143 -	cat << EOT
   6.144 -<p>
   6.145 -	`gettext "Selection:"`
   6.146 -	<input type="submit" name="do" value="install" />
   6.147 -	<input type="submit" name="do" value="remove" />
   6.148 -</p>
   6.149 -EOT
   6.150 -}
   6.151 -
   6.152 -# For search and upgrade with JS function to toogle all pkgs
   6.153 -list_full_actions() {
   6.154 -	cat << EOT
   6.155 -<p>
   6.156 -	`gettext "Selection:"`
   6.157 -	<input type="submit" name="do" value="install" />
   6.158 -	<input type="submit" name="do" value="remove" />
   6.159 -	<a href="`cat $PANEL/lib/checkbox.js`">`gettext "Toogle all"`</a>
   6.160 -</p>
   6.161 -EOT
   6.162 -}
   6.163 -
   6.164 -#
   6.165 -# Commands
   6.166 -#
   6.167 -
   6.168 -case "$QUERY_STRING" in
   6.169 -	list)
   6.170 -		# List installed packages. This is the default because parsing
   6.171 -		# the full packages.desc can be long and take some resources
   6.172 -		cd $INSTALLED
   6.173 -		search_form
   6.174 -		sub_block
   6.175 -		cat << EOT
   6.176 -<h2>`gettext "My packages"`</h2>
   6.177 -<form method='get' action='$SCRIPT_NAME'>
   6.178 -<div id="actions">
   6.179 -EOT
   6.180 -		list_actions
   6.181 -		echo '</div>'
   6.182 -		table_start
   6.183 -		for pkg in *
   6.184 -		do
   6.185 -			. $pkg/receipt
   6.186 -			echo '<tr>'
   6.187 -			# Use default tazpkg icon since all packages displayed are
   6.188 -			# installed
   6.189 -			echo "<td class='pkg'>
   6.190 -				<input type='checkbox' name='pkg' value=\"$pkg\" />
   6.191 -				<a href='$SCRIPT_NAME?info=$pkg'><img
   6.192 -					src='$IMAGES/tazpkg-installed.png'/></a>$pkg</td>"
   6.193 -			echo "<td>$VERSION</td>"
   6.194 -			echo "<td class='desc'>$SHORT_DESC</td>"
   6.195 -			echo "<td><a href='$WEB_SITE'>web</a></td>"
   6.196 -			echo '</tr>'
   6.197 -		done
   6.198 -		table_end
   6.199 -		list_actions
   6.200 -		echo '</form>' ;;
   6.201 -	list-all)
   6.202 -		# List all available packages on mirror
   6.203 -		cd  $LOCALSTATE
   6.204 -		search_form
   6.205 -		sub_block
   6.206 -		cat << EOT
   6.207 -<h2>`gettext "All packages"`</h2>
   6.208 -<form method='get' action='$SCRIPT_NAME'>
   6.209 -<div id="actions">
   6.210 -EOT
   6.211 -		list_all_actions
   6.212 -		echo '</div>'
   6.213 -		table_start
   6.214 -		table_head
   6.215 -		cat packages.desc | parse_packages_desc
   6.216 -		table_end
   6.217 -		list_all_actions
   6.218 -		echo '</form>' ;;
   6.219 -	search=*)
   6.220 -		# Search for packages
   6.221 -		pkg=${QUERY_STRING#*=}
   6.222 -		cd  $LOCALSTATE
   6.223 -		search_form
   6.224 -		sub_block
   6.225 -		cat << EOT
   6.226 -<h2>`gettext "Search packages"`</h2>
   6.227 -<form method="get" action="$SCRIPT_NAME">
   6.228 -<div id="actions">
   6.229 -EOT
   6.230 -		list_full_actions
   6.231 -		echo '</div>'
   6.232 -		table_start
   6.233 -		table_head
   6.234 -		grep $pkg packages.desc | parse_packages_desc
   6.235 -		table_end
   6.236 -		echo '</form>' ;;
   6.237 -	recharge)
   6.238 -		# Let recharge the packages list
   6.239 -		search_form
   6.240 -		sub_block
   6.241 -		cat << EOT
   6.242 -<h2>`gettext "Recharge"`</h2>
   6.243 -<form method='get' action='$SCRIPT_NAME'>
   6.244 -<div id="actions">
   6.245 -	<p>
   6.246 -		`gettext "Recharge will check for new or updated packages...
   6.247 -		please wait"`
   6.248 -	</p>
   6.249 -</div>	
   6.250 -<pre>
   6.251 -EOT
   6.252 -		tazpkg recharge | filter_tazpkg_msgs
   6.253 -		echo '</pre>'
   6.254 -		echo '<p>'
   6.255 -		gettext "Packages lists are up-to-date"
   6.256 -		echo '</p>' ;;
   6.257 -	upgradeable)
   6.258 -		cd $LOCALSTATE
   6.259 -		search_form
   6.260 -		sub_block
   6.261 -		cat << EOT
   6.262 -<h2>`gettext "Upgradeable packages"`</h2>
   6.263 -<form method="get" action="$SCRIPT_NAME">
   6.264 -<div id="actions">
   6.265 -EOT
   6.266 -		list_full_actions
   6.267 -		tazpkg upgradeable
   6.268 -		echo '</div>'
   6.269 -		table_start
   6.270 -		table_head
   6.271 -		for pkg in `cat upgradeable-packages.list`
   6.272 -		do
   6.273 -			grep "^$pkg |" $LOCALSTATE/packages.desc | parse_packages_desc
   6.274 -		done
   6.275 -		table_end
   6.276 -		echo '</form>' ;;
   6.277 -	do=*)
   6.278 -		# Do an action on one or some packages
   6.279 -		cmdline=`echo ${QUERY_STRING#do=} | sed s'/&/ /g'`		
   6.280 -		cmd=`echo ${cmdline} | awk '{print $1}'`		
   6.281 -		pkgs=`echo $cmdline | sed -e s'/+/ /g' -e s'/pkg=//g' -e s/$cmd//`
   6.282 -		[ $cmd == install ] && cmd=get-install opt=--forced
   6.283 -		search_form
   6.284 -		sub_block
   6.285 -		cat << EOT
   6.286 -<h2>Tazpkg: $cmd</h2>
   6.287 -<form method="get" action="$SCRIPT_NAME">
   6.288 -<div id="actions">
   6.289 -<p>
   6.290 -EOT
   6.291 -		gettext "Performing task on packages"
   6.292 -		echo '</p></div>'
   6.293 -		echo '<pre class="pre_main">'
   6.294 -		gettext "Executing $cmd for:$pkgs"
   6.295 -		echo '</pre>'
   6.296 -		for pkg in $pkgs
   6.297 -		do
   6.298 -			echo '<pre>'
   6.299 -			echo 'y' | tazpkg $cmd $pkg $opt 2>/dev/null | filter_tazpkg_msgs
   6.300 -			echo '</pre>'
   6.301 -		done ;;
   6.302 -	info=*)
   6.303 -		pkg=${QUERY_STRING#*=}
   6.304 -		search_form
   6.305 -		sub_block
   6.306 -		. $INSTALLED/$pkg/receipt
   6.307 -		cat << EOT
   6.308 -<h2>`gettext "Package info"`</h2>
   6.309 -<div id="actions">
   6.310 -	<p>`gettext "Detailled information on:"` $PACKAGE</p>
   6.311 -</div>
   6.312 -<pre>
   6.313 -Name        : $PACKAGE
   6.314 -Version     : $VERSION
   6.315 -Description : $SHORT_DESC
   6.316 -Maintainer  : $MAINTAINER
   6.317 -Depends     : `for i in $DEPENDS; do echo -n \
   6.318 -	"<a href="$SCRIPT_NAME?info=$i">$i</a> "; done`
   6.319 -Website     : <a href="$WEB_SITE">$WEB_SITE</a>
   6.320 -Sizes       : $PACKED_SIZE/$UNPACKED_SIZE
   6.321 -Files       : `cat $INSTALLED/$pkg/files.list | wc -l`
   6.322 -</pre>
   6.323 -
   6.324 -<p>`gettext "Installed files"`</p>
   6.325 -<pre>
   6.326 -`cat $INSTALLED/$pkg/files.list`
   6.327 -</pre>
   6.328 -EOT
   6.329 -		;;
   6.330 -	config*)
   6.331 -		# Tazpkg configuration page
   6.332 -		cmd=${QUERY_STRING#*=}
   6.333 -		case "$cmd" in
   6.334 -			clean)
   6.335 -				rm -rf /var/cache/tazpkg/* ;;
   6.336 -			add-mirror*=http*|add-mirror*=ftp*)
   6.337 -				# Decode url
   6.338 -				mirror=`httpd -d ${cmd#*=}`
   6.339 -				echo "$mirror" >> $LOCALSTATE/mirrors ;;
   6.340 -			rm-mirror=http://*|rm-mirror=ftp://*)
   6.341 -				mirror=${QUERY_STRING#*=rm-mirror=}
   6.342 -				sed -i -e "s@$mirror@@" -e '/^$/d' $LOCALSTATE/mirrors ;;
   6.343 -		esac
   6.344 -		cache_files=`find /var/cache/tazpkg -name *.tazpkg | wc -l`
   6.345 -		cache_size=`du -sh /var/cache/tazpkg`
   6.346 -		sub_block
   6.347 -		cat << EOT
   6.348 -<h2>`gettext "Configuration"`</h2>
   6.349 -<div>
   6.350 -	<p>`gettext "Tazpkg configuration and settings"`</p>
   6.351 -</div>
   6.352 -<div>
   6.353 -	<form method="get" action="$SCRIPT_NAME">
   6.354 -		<p>
   6.355 -			`gettext "Packages in the cache:"` $cache_files ($cache_size)
   6.356 -			<input type="hidden" name="config" value="clean" />
   6.357 -			<input type="submit" value="Clean" />
   6.358 -		</p>
   6.359 -	</form>
   6.360 -</div>
   6.361 -
   6.362 -<h3>`gettext "Current mirror list"`</h3>
   6.363 -<div class="box">
   6.364 -	<ul>
   6.365 -		`list_mirrors`
   6.366 -	</ul>
   6.367 -</div>
   6.368 -<form method="get" action="$SCRIPT_NAME">
   6.369 -	<p>
   6.370 -		<input type="hidden" name="config" value="add-mirror" />
   6.371 -		<input type="text" name="mirror" size="60">
   6.372 -		<input type="submit" value="Add mirror" />
   6.373 -	</p>
   6.374 -</form>
   6.375 -EOT
   6.376 -		 ;;
   6.377 -	*)
   6.378 -		#
   6.379 -		# Default to summary
   6.380 -		#
   6.381 -		search_form
   6.382 -		sub_block
   6.383 -		cat << EOT
   6.384 -<h2>`gettext "Summary"`</h2>
   6.385 -<div id="actions">
   6.386 -	<p>`gettext "Overview of all installed and mirrored packages"`</p>
   6.387 -</div>
   6.388 -<pre class="pre_main">
   6.389 -`packages_summary`
   6.390 -</pre>
   6.391 -<h3>`gettext "Latest log entries"`</h3>
   6.392 -<pre>
   6.393 -`tail -n 6 /var/log/tazpkg.log | fgrep "-" | \
   6.394 -	awk '{print $1, $2, $3, $4, $5, $6, $7}'`
   6.395 -</pre>
   6.396 -
   6.397 -EOT
   6.398 -		;;
   6.399 -esac
   6.400 -
   6.401 -# xHTML 5 footer
   6.402 -cd $PANEL && xhtml_footer
   6.403 -exit 0