tazpkg rev 852

pkgs.cgi: pkgs.slitaz.org integration
author Aleksej Bobylev <al.bobylev@gmail.com>
date Fri Oct 30 01:31:52 2015 +0000 (2015-10-30)
parents 98077c63c209
children 4a8e2cb6e0a6
files tazpanel/pkgs.cgi
line diff
     1.1 --- a/tazpanel/pkgs.cgi	Sun Oct 25 22:19:19 2015 +0200
     1.2 +++ b/tazpanel/pkgs.cgi	Fri Oct 30 01:31:52 2015 +0000
     1.3 @@ -87,10 +87,11 @@
     1.4  		orig_pkg=''
     1.5  		# Small hack to get 'pkgi' symbol:
     1.6  		data_icon="pkgi"; pkgi="$data_icon"
     1.7 +		responce='i'
     1.8  
     1.9  		if ! grep -q "^$pkg"$'\t' "$PKGS_DB/installed.info"; then
    1.10  			# Package not installed
    1.11 -			data_icon="pkg"
    1.12 +			data_icon="pkg"; responce='n'
    1.13  			equivs=$(grep "^$pkg=" "$PKGS_DB/packages.equiv")
    1.14  			if [ "$(GET pkg)" == "$pkg" -a -n "$equivs" ]; then
    1.15  				# Check equivalent packages
    1.16 @@ -100,12 +101,14 @@
    1.17  							if grep -q "^${equiv%:*}"$'\t' "$PKGS_DB/installed.info" &&
    1.18  							   grep -q "^${equiv#*:}"$'\t' "$PKGS_DB/installed.info"; then
    1.19  								# Equivalent installed
    1.20 -								orig_pkg="$pkg→"; pkg="${equiv#*:}"; data_icon="pkgi"; break
    1.21 +								orig_pkg="$pkg→"; pkg="${equiv#*:}"
    1.22 +								data_icon="pkgi"; responce='i'; break
    1.23  							fi;;
    1.24  						*)
    1.25  							if grep -q "^$equiv"$'\t' "$PKGS_DB/installed.info"; then
    1.26  								# Equivalent installed
    1.27 -								orig_pkg="$pkg→"; pkg="$equiv"; data_icon="pkgi"; break
    1.28 +								orig_pkg="$pkg→"; pkg="$equiv"
    1.29 +								data_icon="pkgi"; responce='i'; break
    1.30  							fi;;
    1.31  					esac
    1.32  				done
    1.33 @@ -115,9 +118,19 @@
    1.34  		# Installed and blocked?
    1.35  		[ "$data_icon" == "$pkgi" ] && grep -q "^$pkg$" "$BLOCKED" && data_icon="pkgib"
    1.36  
    1.37 -		header
    1.38 -		echo -n "<a data-icon=\"$data_icon\" href=\"?info=${pkg//+/%2B}\">$orig_pkg$pkg</a>"
    1.39 -		exit 0 ;;
    1.40 +		if [ $(GET web) == 'y' ]; then
    1.41 +			# Request from page http://pkgs.slitaz.org/ for example:
    1.42 +			# http://127.0.0.1:82/pkgs.cgi?status&web=y&pkg=nano
    1.43 +			# Allow http://pkgs.slitaz.org/ to get information from tazpanel server
    1.44 +			header "Access-Control-Allow-Origin: http://pkgs.slitaz.org"
    1.45 +			echo -n "$responce"
    1.46 +		else
    1.47 +			# Local request: don't check CORS (fails for cross domain requests unconditionally)
    1.48 +			header
    1.49 +			echo -n "<a data-icon=\"$data_icon\" href=\"?info=${pkg//+/%2B}\">$orig_pkg$pkg</a>"
    1.50 +		fi
    1.51 +		exit 0
    1.52 +		;;
    1.53  
    1.54  
    1.55  	*\ app_img\ * )
    1.56 @@ -489,7 +502,7 @@
    1.57  
    1.58  	cat <<EOT
    1.59  <form class="search">
    1.60 -	<a data-icon="web" href="http://pkg.slitaz.org/" target="_blank" title="$(_n 'Web search tool')"></a>
    1.61 +	<a data-icon="web" href="http://pkgs.slitaz.org/" target="_blank" title="$(_n 'Web search tool')"></a>
    1.62  	<input type="search" name="search" value="$(GET search)" results="5" autosave="pkgsearch" autocomplete="on"><!--
    1.63  	--><button type="submit">$(_n 'Search')</button><!--
    1.64  	--><button name="files" value="yes">$(_n 'Files')</button><!--