tazpanel rev 129

pkgs.cgi: add undigest support in search_form
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sat Apr 16 11:19:16 2011 +0200 (2011-04-16)
parents 436203625f21
children 2b8fdf8a45aa
files pkgs.cgi
line diff
     1.1 --- a/pkgs.cgi	Fri Apr 15 23:59:33 2011 +0100
     1.2 +++ b/pkgs.cgi	Sat Apr 16 11:19:16 2011 +0200
     1.3 @@ -82,6 +82,8 @@
     1.4  
     1.5  # ENTER will search but user may search for a button, so put one.
     1.6  search_form() {
     1.7 +	[ -n "$repo" ] || repo="$(GET repo)"
     1.8 +	[ -n "$repo" ] || repo=Any
     1.9  	cat << EOT
    1.10  <div class="search">
    1.11  	<form method="get" action="$SCRIPT_NAME">
    1.12 @@ -90,6 +92,7 @@
    1.13  			<input type="submit" value="`gettext "Search"`">
    1.14  			<input class="radius" type="submit" name="files"
    1.15  				value="`gettext "Files"`">
    1.16 +			<input type="hidden" name="repo" value="$repo" />
    1.17  		</p>
    1.18  	</form>
    1.19  </div>
    1.20 @@ -108,7 +111,7 @@
    1.21  }
    1.22  
    1.23  sidebar() {
    1.24 -	[ -n "$repo" ] || repo=public
    1.25 +	[ -n "$repo" ] || repo=Public
    1.26  	cat << EOT
    1.27  <div id="sidebar">
    1.28  	<h4>Categories</h4>
    1.29 @@ -134,7 +137,7 @@
    1.30  		cat << EOT
    1.31  	<p></p>
    1.32  	<h4>Repositories</h4>
    1.33 -	<a class="repo_public" href="$SCRIPT_NAME?repo=public&cat=$category">Public</a>
    1.34 +	<a class="repo_Public" href="$SCRIPT_NAME?repo=Public&cat=$category">Public</a>
    1.35  EOT
    1.36  		for i in $(ls $LOCALSTATE/undigest); do
    1.37  			cat << EOT
    1.38 @@ -142,7 +145,7 @@
    1.39  EOT
    1.40  		done
    1.41  		cat << EOT
    1.42 -	<a class="repo_any" href="$SCRIPT_NAME?repo=any&cat=$category">Any</a>
    1.43 +	<a class="repo_Any" href="$SCRIPT_NAME?repo=Any&cat=$category">Any</a>
    1.44  EOT
    1.45  	fi
    1.46  	echo "</div>"
    1.47 @@ -151,15 +154,15 @@
    1.48  repo_list() {
    1.49  	if [ -n "$(ls $LOCALSTATE/undigest/ 2> /dev/null)" ]; then
    1.50  		case "$repo" in
    1.51 -		public)	;;
    1.52 -		""|any) for i in $LOCALSTATE/undigest/* ; do
    1.53 -				echo "$i/$1"
    1.54 +		Public)	;;
    1.55 +		""|Any) for i in $LOCALSTATE/undigest/* ; do
    1.56 +				[ -d "$i" ] && echo "$i$1"
    1.57  			done ;;
    1.58 -		*)	echo "$LOCALSTATE/undigest/$repo/$1"
    1.59 +		*)	echo "$LOCALSTATE/undigest/$repo$1"
    1.60  			return ;;
    1.61  		esac
    1.62  	fi
    1.63 -	echo "$LOCALSTATE/$1"
    1.64 +	echo "$LOCALSTATE$1"
    1.65  }
    1.66  
    1.67  #
    1.68 @@ -221,7 +224,6 @@
    1.69  		#
    1.70  		cd  $LOCALSTATE
    1.71  		repo=$(GET repo)
    1.72 -		[ -n "$repo" ] || repo=Any
    1.73  		category=$(GET cat)
    1.74  		[ "$category" == "cat" ] && category="base-system"
    1.75  		grep_category=$category
    1.76 @@ -249,12 +251,13 @@
    1.77  </div>
    1.78  </div>
    1.79  EOT
    1.80 -		for i in $(repo_list packages.desc); do
    1.81 -			[ "$repo" != "public" -a -d $LOCALSTATE/undigest ] &&
    1.82 -				echo "<h3>Repository: $(dirname $i)</h3>"
    1.83 +		for i in $(repo_list ""); do
    1.84 +			[ "$repo" != "Public" ] &&
    1.85 +				echo "<h3>Repository: $i</h3>"
    1.86  			table_start
    1.87  			table_head
    1.88 -			grep "| $grep_category |" $i | parse_packages_desc
    1.89 +			grep "| $grep_category |" $i/packages.desc | \
    1.90 +				parse_packages_desc
    1.91  			table_end
    1.92  		done
    1.93  		echo '</form>' ;;
    1.94 @@ -264,9 +267,10 @@
    1.95  		# and so get result including packages names and descriptions
    1.96  		#
    1.97  		pkg=$(GET search)
    1.98 +		repo=$(GET repo)
    1.99  		cd  $LOCALSTATE
   1.100  		search_form
   1.101 -		sidebar
   1.102 +		sidebar | sed "s/repo_$repo/active/"
   1.103  		LOADING_MSG="Searching packages..."
   1.104  		loading_msg
   1.105  		cat << EOT
   1.106 @@ -287,6 +291,7 @@
   1.107  		<img src="$IMAGES/tazpkg.png" />`gettext "My packages"`</a>
   1.108  </div>
   1.109  </div>
   1.110 +	<input type="hidden" name="repo" value="$repo" />
   1.111  EOT
   1.112  		table_start
   1.113  		if [ "$(GET files)" ]; then
   1.114 @@ -295,8 +300,8 @@
   1.115  			<td>`gettext "Package"`</td>
   1.116  			<td>`gettext "File"`</td>
   1.117  		</tr>
   1.118 -		$(unlzma -c files.list.lzma undigest/*/files.list.lzma \
   1.119 -		  2>/dev/null | grep -Ei ": .*$(GET search)" | \
   1.120 +		$(unlzma -c $(repo_list /files.list.lzma) \
   1.121 +		  | grep -Ei ": .*$(GET search)" | \
   1.122  		  while read PACKAGE FILE; do
   1.123  		  	PACKAGE=${PACKAGE%:}
   1.124  		  	image=tazpkg-installed.png
   1.125 @@ -310,7 +315,7 @@
   1.126  EOT
   1.127  		else
   1.128  			table_head
   1.129 -			grep -is $pkg packages.desc undigest/*/packages.desc | \
   1.130 +			grep -ih $pkg $(repo_list /packages.desc) | \
   1.131  				parse_packages_desc
   1.132  		fi
   1.133  		table_end
   1.134 @@ -450,7 +455,7 @@
   1.135  			LOADING_MSG=$(gettext "Getting package info...")
   1.136  			loading_msg
   1.137  			IFS='|'
   1.138 -			set -- $(grep -s "^$pkg |" packages.desc \
   1.139 +			set -- $(grep -hs "^$pkg |" packages.desc \
   1.140  				 undigest/*/packages.desc)
   1.141  			unset IFS
   1.142  			PACKAGE=$1
   1.143 @@ -526,7 +531,7 @@
   1.144  		else
   1.145  			cat << EOT
   1.146  Website     : <a href="$WEB_SITE">$WEB_SITE</a>
   1.147 -Sizes       : `grep -sA 3 ^$pkg$ packages.txt undigest/*/packages.txt | \
   1.148 +Sizes       : `grep -hsA 3 ^$pkg$ packages.txt undigest/*/packages.txt | \
   1.149  		tail -n 1 | sed 's/ *//'`
   1.150  </pre>
   1.151