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