tazpkg diff tazpanel/pkgs.cgi @ rev 815

Update zh_CN.po (thanks Zhangwenyu)
author Paul Issott <paul@slitaz.org>
date Sat Jul 11 13:37:16 2015 +0100 (2015-07-11)
parents a73c9918a5de
children 2607b466301c
line diff
     1.1 --- a/tazpanel/pkgs.cgi	Thu Jun 04 00:15:13 2015 +0300
     1.2 +++ b/tazpanel/pkgs.cgi	Sat Jul 11 13:37:16 2015 +0100
     1.3 @@ -165,8 +165,7 @@
     1.4  
     1.5  
     1.6  # xHTML 5 header with special side bar for categories.
     1.7 -TITLE=$(TEXTDOMAIN='tazpkg'; _ 'TazPanel - Packages')
     1.8 -xhtml_header | sed 's/id="content"/id="content-sidebar"/'
     1.9 +TITLE=$(TEXTDOMAIN='tazpkg'; _ 'Packages')
    1.10  
    1.11  
    1.12  pkg_info_link() {
    1.13 @@ -275,20 +274,6 @@
    1.14  #
    1.15  
    1.16  
    1.17 -# ENTER will search but user may search for a button, so put one.
    1.18 -
    1.19 -search_form() {
    1.20 -	cat <<EOT
    1.21 -<form class="search"><!--
    1.22 -	--><a data-icon="web" href="http://pkg.slitaz.org/" target="_blank" title="$(_n 'Web search tool')"></a> <!--
    1.23 -	--><input type="search" name="search" results="5" autosave="pkgsearch" autocomplete="on"><!--
    1.24 -	--><button type="submit">$(_n 'Search')</button><!--
    1.25 -	--><button name="files" value="yes">$(_n 'Files')</button><!--
    1.26 ---></form>
    1.27 -EOT
    1.28 -}
    1.29 -
    1.30 -
    1.31  table_head() {
    1.32  	cat <<EOT
    1.33  <table class="wide zebra pkglist" id="head1">
    1.34 @@ -379,7 +364,7 @@
    1.35  
    1.36  
    1.37  repo_list() {
    1.38 -	if [ -n "$(ls $PKGS_DB/undigest/ 2> /dev/null)" ]; then
    1.39 +	if [ -n "$(ls $PKGS_DB/undigest/ 2>/dev/null)" ]; then
    1.40  		case "$repo" in
    1.41  			Public)
    1.42  				;;
    1.43 @@ -388,11 +373,11 @@
    1.44  					[ -d "$i" ] && echo "$i$1"
    1.45  				done ;;
    1.46  			*)
    1.47 -				echo "$PKGS_DB/undigest/$repo$1"
    1.48 +				ls "$PKGS_DB/undigest/$repo$1" 2>/dev/null
    1.49  				return ;;
    1.50  		esac
    1.51  	fi
    1.52 -	echo "$PKGS_DB$1"
    1.53 +	[ -e "$PKGS_DB$1" ] && echo "$PKGS_DB$1"
    1.54  }
    1.55  
    1.56  
    1.57 @@ -456,7 +441,7 @@
    1.58  		sed 's|.*|&\ti|' $i/installed.info
    1.59  		[ "$cat" == 'extra' ] || [ $1 == 'my' ] || cat $i/packages.info
    1.60  		[ "$cat" == 'extra' ] &&
    1.61 -		sed 's,\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\).*,\1\t\5\textra\t\2\thttp://mirror.slitaz.org/packages/get/\1\t-\t-\t-,' $PKGS_DB/extra.list
    1.62 +		sed 's,\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\).*,\1\t\5\textra\t\2\thttp://mirror.slitaz.org/packages/get/\1\t-\t-\t-\t-,' $PKGS_DB/extra.list
    1.63  	} | sort -t$'\t' -k1,1 | sed '/^$/d' | awk -F$'\t' -vc="${cat:--}" -vt="${tag:--}" '
    1.64  {
    1.65  	if (PKG && PKG != $1) {
    1.66 @@ -474,8 +459,8 @@
    1.67  	if (NF == 2) { DSCL = $2; next }
    1.68  	if (c == "all" || $3 == c || index(" "$6" ", " "t" ")) { SEL = 1 }
    1.69  	if (SEL) {
    1.70 -		if ($9 == "i") { VER = $2; DSC = $4; WEB = $5; INS = "i"; next}
    1.71 -		if (! INS)     { VER = $2; DSC = $4; WEB = $5 }
    1.72 +		if ($10 == "i") { VER = $2; DSC = $4; WEB = $5; INS = "i"; next}
    1.73 +		if (! INS)      { VER = $2; DSC = $4; WEB = $5 }
    1.74  	}
    1.75  }' > $cached
    1.76  
    1.77 @@ -547,6 +532,21 @@
    1.78  }
    1.79  
    1.80  
    1.81 +tazpanel_header() {
    1.82 +	xhtml_header "$1" | sed 's/id="content"/id="content-sidebar"/'
    1.83 +	cat <<EOT
    1.84 +<form class="search"><!--
    1.85 +	--><a data-icon="web" href="http://pkg.slitaz.org/" target="_blank" title="$(_n 'Web search tool')"></a> <!--
    1.86 +	--><input type="search" name="search" value="$(GET search)" results="5" autosave="pkgsearch" autocomplete="on"><!--
    1.87 +	--><button type="submit">$(_n 'Search')</button><!--
    1.88 +	--><button name="files" value="yes">$(_n 'Files')</button><!--
    1.89 +--></form>
    1.90 +EOT
    1.91 +	sidebar
    1.92 +}
    1.93 +
    1.94 +
    1.95 +
    1.96  
    1.97  #
    1.98  # Commands
    1.99 @@ -560,12 +560,10 @@
   1.100  		#
   1.101  		# List linkable packages.
   1.102  		#
   1.103 -		search_form; sidebar
   1.104 +		tazpanel_header "$(_ 'Linkable packages')"
   1.105  		loading_msg "$(_ 'Listing linkable packages...')"
   1.106  
   1.107  		cat <<EOT
   1.108 -<h2>$(_ 'Linkable packages')</h2>
   1.109 -
   1.110  <form class="wide">
   1.111  	$(_ 'Selection:') $(show_button do=Link)
   1.112  EOT
   1.113 @@ -596,9 +594,7 @@
   1.114  		#
   1.115  		# List of all categories.
   1.116  		#
   1.117 -		search_form; sidebar
   1.118 -
   1.119 -		echo "<h2>$(_ 'Categories list')</h2>"
   1.120 +		tazpanel_header "$(_ 'Categories list')"
   1.121  
   1.122  		for pkgsinfo in $(repo_list /packages.info); do
   1.123  			cat <<EOT
   1.124 @@ -640,7 +636,7 @@
   1.125  		#
   1.126  		# List all packages by category.
   1.127  		#
   1.128 -		search_form; sidebar
   1.129 +		tazpanel_header "$(_ 'Packages list')"
   1.130  		loading_msg "$(_ 'Listing packages...')"
   1.131  
   1.132  		bcat="<b>$cat</b>"; brepo="<b>$repo</b>"
   1.133 @@ -658,9 +654,7 @@
   1.134  		esac
   1.135  
   1.136  		cat <<EOT
   1.137 -<h2>$(_ 'Packages list')</h2>
   1.138  <p>$title</p>
   1.139 -
   1.140  EOT
   1.141  
   1.142  		[ ! -f $PKGS_DB/packages.info ] && msg warn \
   1.143 @@ -697,16 +691,13 @@
   1.144  		# Search for packages. Here default is to search in packages.desc
   1.145  		# and so get result including packages names and descriptions
   1.146  		#
   1.147 +		tazpanel_header "$(_ 'Search packages')"
   1.148 +		loading_msg "$(_ 'Searching packages...')"
   1.149 +
   1.150  		pkg=$(GET search); [ -z "$pkg" ] && xhtml_footer && exit
   1.151  		cd $PKGS_DB
   1.152  
   1.153 -		search_form | sed "s|name=\"search\"|& value=\"$pkg\"|"
   1.154 -		sidebar
   1.155 -		loading_msg "$(_ 'Searching packages...')"
   1.156 -
   1.157  		cat <<EOT
   1.158 -<h2>$(_ 'Search packages')</h2>
   1.159 -
   1.160  <section>
   1.161  	<div>$(_ 'Selected packages:') <span id="countSelected"></span></div>
   1.162  	<footer>
   1.163 @@ -761,11 +752,10 @@
   1.164  		#
   1.165  		# Lets recharge the packages list
   1.166  		#
   1.167 -		search_form; sidebar
   1.168 +		tazpanel_header "$(_ 'Recharge')"
   1.169  		loading_msg "$(_ 'Recharging lists...')"
   1.170  
   1.171  		cat <<EOT
   1.172 -<h2>$(_ 'Recharge')</h2>
   1.173  <p>$(_ 'Recharge checks for new or updated packages')</p>
   1.174  
   1.175  <section>
   1.176 @@ -787,12 +777,10 @@
   1.177  		#
   1.178  		# Upgrade packages
   1.179  		#
   1.180 -		search_form; sidebar
   1.181 +		tazpanel_header "$(_ 'Up packages')"
   1.182  		loading_msg "$(_ 'Checking for upgrades...')"
   1.183  
   1.184  		cat <<EOT
   1.185 -<h2>$(_ 'Up packages')</h2>
   1.186 -
   1.187  <section>
   1.188  	<div>$(_ 'Selected packages:') <span id="countSelected"></span></div>
   1.189  	<footer>
   1.190 @@ -824,7 +812,7 @@
   1.191  		#
   1.192  		# Do an action on one or some packages
   1.193  		#
   1.194 -		search_form; sidebar
   1.195 +		tazpanel_header "TazPkg: $(GET do)"
   1.196  		loading_msg
   1.197  
   1.198  		# Find the command
   1.199 @@ -847,8 +835,6 @@
   1.200  		esac
   1.201  
   1.202  		cat <<EOT
   1.203 -<h2>TazPkg: $(GET do)</h2>
   1.204 -
   1.205  <div>$MSG</div>
   1.206  EOT
   1.207  		# Do the command for all asked packages
   1.208 @@ -866,24 +852,33 @@
   1.209  		#
   1.210  		# Packages info
   1.211  		#
   1.212 -		pkg=$(GET info)
   1.213 -		search_form; sidebar
   1.214 +		tazpanel_header "$(_ 'Package info')"
   1.215  		loading_msg "$(_ 'Getting package info...')"
   1.216  
   1.217 +		pkg="$(GET info)"
   1.218 +
   1.219 +		# Symbolic icon
   1.220 +		if [ -d "$INSTALLED/$pkg" ]; then
   1.221 +			if grep -q "^$pkg$" "$PKGS_DB/blocked-packages.list"
   1.222 +				then icon='pkgib'
   1.223 +				else icon='pkgi'
   1.224 +			fi
   1.225 +			else icon='pkg'
   1.226 +		fi
   1.227 +
   1.228  		cat <<EOT
   1.229  <section>
   1.230  	<header>
   1.231 -		$(_ 'Package %s' $pkg)
   1.232 +		<span data-icon="$icon">$(_ 'Package %s' "$pkg")</span>
   1.233  		<form>
   1.234  			<input type="hidden" name="pkg" value="${pkg#get-}"/>
   1.235  EOT
   1.236  
   1.237  		# Get receipt variables, show Install/Remove buttons
   1.238 -		if [ -d $INSTALLED/$pkg ]; then
   1.239 +		if [ -d "$INSTALLED/$pkg" ]; then
   1.240  			. $INSTALLED/$pkg/receipt
   1.241  			files=$(wc -l < $INSTALLED/$pkg/files.list)
   1.242 -			[ "$REMOTE_USER" == "root" ] &&
   1.243 -			show_button do=Remove
   1.244 +			[ "$REMOTE_USER" == 'root' ] && show_button do=Remove
   1.245  		else
   1.246  			cd $PKGS_DB
   1.247  			eval "$(awk -F$'\t' -vp=$pkg '
   1.248 @@ -898,13 +893,13 @@
   1.249  					printf "PACKAGE=\"%s\"; SHORT_DESC=\"%s\"; WEB_SITE=\"%s\"; ", $1, $2, $3
   1.250  					printf "CATEGORY=\"%s\"; VERSION=\"%s\"; LICENSE=\"%s\"; ", $4, $5, $6
   1.251  				}' extra.list undigest/*/extra.list)"
   1.252 -				[ "$CATEGORY" ] || CATEGORY="non-free"
   1.253 +				[ -z "$CATEGORY" ] && CATEGORY='non-free'
   1.254  			fi
   1.255  			PACKED_SIZE=${SIZES% *}
   1.256  			UNPACKED_SIZE=${SIZES#* }
   1.257 -			[ "$REMOTE_USER" == "root" ] &&
   1.258 +			[ "$REMOTE_USER" == 'root' ] &&
   1.259  			if [ "${pkg#get-}" != "$pkg" ]; then
   1.260 -				show_button "do=Install&amp;nf"
   1.261 +				show_button 'do=Install&amp;nf'
   1.262  			else
   1.263  				show_button do=Install
   1.264  			fi
   1.265 @@ -929,24 +924,23 @@
   1.266  		</form>
   1.267  	</header>
   1.268  
   1.269 -<table class="wide summary">
   1.270 -	<tr><td id="appImg"><img src="pkgs.cgi?app_img=$PACKAGE"/></td><td>
   1.271  <table class="wide zebra summary" id="infoTable">
   1.272  <tbody>
   1.273 -	<tr><td><b>$(_ 'Name')</b></td><td>$PACKAGE</td></tr>
   1.274 -	<tr><td><b>$(_ 'Version')</b></td><td>$VERSION</td></tr>
   1.275 +	<tr><td><b>$(_ 'Name')</b></td><td>$PACKAGE
   1.276 +	<div id="appImg"><img src="pkgs.cgi?app_img=$PACKAGE"/></div>
   1.277 +	</td></tr>
   1.278 +	$([ -n "$VERSION" ] && echo "<tr><td><b>$(_ 'Version')</b></td><td>$VERSION</td></tr>")
   1.279  	<tr><td><b>$(_ 'Category')</b></td><td><a href="?list&amp;cat=$CATEGORY">$CATEGORY</a></td></tr>
   1.280  	<tr><td><b>$(_ 'Description')</b></td><td>$SHORT_DESC</td></tr>
   1.281  	$([ -n "$MAINTAINER" ] && echo "<tr><td><b>$(_ 'Maintainer')</b></td><td>$MAINTAINER</td></tr>")
   1.282  	$([ -n "$LICENSE" ] && echo "<tr><td><b>$(_ 'License')</b></td><td><a href=\"?license=$pkg\">$LICENSE</a></td></tr>")
   1.283  	<tr><td><b>$(_ 'Website')</b></td><td><a href="$WEB_SITE" target="_blank">$WEB_SITE</a></td></tr>
   1.284  	$(show_info_links "$TAGS" "$(_ 'Tags')" 'tag')
   1.285 -	<tr><td><b>$(_ 'Sizes')</b></td><td>${PACKED_SIZE/.0/}/${UNPACKED_SIZE/.0/}</td></tr>
   1.286 +	$([ -n "$PACKED_SIZE" ] && echo "<tr><td><b>$(_ 'Sizes')</b></td><td>${PACKED_SIZE/.0/}/${UNPACKED_SIZE/.0/}</td></tr>")
   1.287  	$(show_info_links "$DEPENDS" "$(_ 'Depends')" 'info')
   1.288  	$(show_info_links "$SUGGESTED" "$(_ 'Suggested')" 'info')
   1.289  </tbody>
   1.290  </table>
   1.291 -</td></tr></table>
   1.292  
   1.293  	<footer>
   1.294  		<a data-icon="text" href="?show_receipt=$pkg">$(_ 'View receipt')</a>
   1.295 @@ -1000,13 +994,14 @@
   1.296  		#
   1.297  		# TazPkg configuration page
   1.298  		#
   1.299 +		tazpanel_header "$(_ 'Administration')"
   1.300 +		loading_msg
   1.301 +
   1.302  		cmd=$(GET admin)
   1.303  		pager="$(GET pager)"; pager=${pager:-$PAGE_SIZE}; pager=${pager:-100}
   1.304  		mirror="$(GET mirror)"; mirror="${mirror%/}/"
   1.305  		repository="$PKGS_DB/undigest/$(GET repository)"
   1.306  		link="$(GET link)"; link=${link%/}
   1.307 -		search_form; sidebar
   1.308 -		loading_msg
   1.309  
   1.310  		case "$cmd" in
   1.311  			clean)
   1.312 @@ -1037,8 +1032,6 @@
   1.313  		esac
   1.314  
   1.315  		cat <<EOT
   1.316 -<h2>$(_ 'Administration')</h2>
   1.317 -
   1.318  <p>$(_ 'TazPkg administration and settings')</p>
   1.319  
   1.320  <form id="actions">
   1.321 @@ -1245,7 +1238,7 @@
   1.322  		#
   1.323  		# Show licenses for installed packages
   1.324  		#
   1.325 -		search_form; sidebar
   1.326 +		tazpanel_header "$(_ 'Administration')"
   1.327  
   1.328  		pkg=$(GET license)
   1.329  		case $pkg in
   1.330 @@ -1322,24 +1315,23 @@
   1.331  		#
   1.332  		# Show tag cloud
   1.333  		#
   1.334 -		search_form; sidebar
   1.335 +		tazpanel_header "$(_ 'Tags list')"
   1.336  
   1.337 -		echo "<h2>$(_ 'Tags list')</h2>"
   1.338  		brepo="<b>$repo</b>"
   1.339  		case $repo in
   1.340  			Any) title="$(_ 'List of tags in all repositories')" ;;
   1.341  			*)   title="$(_ 'List of tags in repository "%s"' "$brepo")" ;;
   1.342  		esac
   1.343  		echo "<p>$title</p><p id=\"tags\">"
   1.344 -		to_read=""
   1.345 -		for i in $(repo_list ""); do
   1.346 -			if [ ! -e $i/packages.info ]; then
   1.347 -				list=installed
   1.348 -			else
   1.349 -				list=packages
   1.350 +		to_read=''
   1.351 +		for i in $(repo_list ''); do
   1.352 +			if [ -e "$i/packages.info" ]; then
   1.353 +				to_read="$to_read $i/packages.info"
   1.354 +			elif [ -e "$i/installed.info" ]; then
   1.355 +				to_read="$to_read $i/installed.info"
   1.356  			fi
   1.357 -			to_read="$to_read $i/$list.info"
   1.358  		done
   1.359 +
   1.360  		TAGS="$(awk -F$'\t' '{if($6){print $6}}' $to_read | tr ' ' $'\n' | sort | uniq -c)"
   1.361  		MAX="$(echo "$TAGS" | awk '{if ($1 > MAX) MAX = $1} END{print MAX}')"
   1.362  		echo "$TAGS" | awk -vMAX="$MAX" '{
   1.363 @@ -1353,13 +1345,10 @@
   1.364  		#
   1.365  		# Show packages with matching tag
   1.366  		#
   1.367 -		search_form; sidebar
   1.368 +		tag=$(GET tag)
   1.369 +		tazpanel_header "$(_ 'Tag "%s"' $tag)"
   1.370  
   1.371 -		tag=$(GET tag)
   1.372 -		cat <<EOT
   1.373 -<h2 data-icon="tag">$(_ 'Tag "%s"' $tag)</h2>
   1.374 -EOT
   1.375 -		[ "$REMOTE_USER" == "root" ] && cat <<EOT
   1.376 +		[ "$REMOTE_USER" == 'root' ] && cat <<EOT
   1.377  <section>
   1.378  	<div>$(_ 'Selected packages:') <span id="countSelected"></span></div>
   1.379  	<footer>
   1.380 @@ -1385,11 +1374,9 @@
   1.381  		#
   1.382  		# Show blocked packages list
   1.383  		#
   1.384 -		search_form; sidebar
   1.385 +		tazpanel_header "$(_ 'Blocked packages list')"
   1.386  
   1.387  		cat <<EOT
   1.388 -<h2>$(_ 'Blocked packages list')</h2>
   1.389 -
   1.390  <section>
   1.391  	<div>$(_ 'Selected packages:') <span id="countSelected"></span></div>
   1.392  	<footer>
   1.393 @@ -1420,10 +1407,11 @@
   1.394  		#
   1.395  		# Improving packages by the community effort
   1.396  		#
   1.397 -		search_form; sidebar
   1.398 +		pkg=$(GET improve)
   1.399 +		tazpanel_header "$(_ 'Improve package "%s"' $pkg)"
   1.400 +
   1.401  		msg warn 'Under construction!<br/>It is only imitation of working'
   1.402  
   1.403 -		pkg=$(GET improve)
   1.404  		user=$(POST user); type=$(POST type); text="$(POST text)"
   1.405  		login=$(POST login); password=$(POST password)
   1.406  
   1.407 @@ -1464,6 +1452,8 @@
   1.408  			<tr><td>$(_ 'Password:')</td>
   1.409  				<td><input type="password" name="password"/></td></tr>
   1.410  			<tr><td colspan="2">
   1.411 +				<label><input type="checkbox" name="rememberme"/>$(_ 'Remember me')</label></td></tr>
   1.412 +			<tr><td colspan="2">
   1.413  				<button type="submit" data-icon="user">$(_ 'Log in')</button></td></tr>
   1.414  		</table>
   1.415  	</form>
   1.416 @@ -1542,7 +1532,9 @@
   1.417  		</table>
   1.418  
   1.419  		<textarea name="text" id="improveText" style="width:100%; resize: vertical; min-height:10rem"></textarea>
   1.420 -		<button type="submit" data-icon="slitaz">$(_ 'Send')</button>
   1.421 +		<footer>
   1.422 +			<button type="submit" data-icon="slitaz">$(_ 'Send')</button>
   1.423 +		</footer>
   1.424  	</form>
   1.425  </section>
   1.426  EOT
   1.427 @@ -1569,7 +1561,8 @@
   1.428  		#
   1.429  		# Default to summary
   1.430  		#
   1.431 -		search_form; sidebar; loading_msg
   1.432 +		tazpanel_header
   1.433 +		loading_msg
   1.434  
   1.435  		cat <<EOT
   1.436  <form>