#!/bin/csh -f
# delinv_data

# Deletes data from inventory file.

# Edited March 17 1998 Change /data to /data5 and httpd.alt reference rcg
# R. Groman January 20, 1997

echo "Content-type: text/html"
echo ""
#echo "<p>**DEBUG at delinv_data script"
cd /data/rgroman/Inventory/scripts

set HD=/data5/globec

#set POSTDATA=(`/data/rgroman/Inventory/scripts/test-env`)
set  POSTDATA=(`/data/rgroman/Inventory/scripts/poststring`)

set backup=/data/rgroman/Inventory/backup

set datadir=/data/rgroman/Inventory
#set datadir=/data/rgroman/Inventory/debug

#Make backup of existing data file just in case
setenv TMP `date '+%Y.%b.%d.%H%M'`
cp $datadir/toplevel.dat $backup/toplevel.dat-$TMP

#echo " <p>**DEBUG POSTDATA[1-]=$POSTDATA[1-]"
set numb=`${datadir}/$POSTDATA[1]*.dat`
#echo "<p>**DEBUG numb=$numb"
if ( $numb != "" ) then
  foreach file (${datadir}/$POSTDATA[1]*.dat)
	if ( -e $file ) then
		\cp $file ${backup}/${file}-$TMP
		#echo " <p>**DEBUG made backup of $file"
	endif
  end
endif

if ( -e /tmp/toplevel.dat ) \rm -f /tmp/toplevel.dat
\cp $datadir/toplevel.dat /tmp/toplevel.dat
#echo " <p>**DEBUG made /tmp/toplevel.dat of $datadir/toplevel.dat"

#If deleting entry at top level, then delete all related files too
if ( $POSTDATA[2] == "Yes" ) then
	if ( -e /tmp/toplevel.dat ) \rm /tmp/toplevel.dat
	echo "<p>**DEBUG removing $POSTDATA[1] data line from level 0 file"
	grep -v $POSTDATA[1] $datadir/toplevel.dat > /tmp/toplevel.dat
	set numb=`${datadir}/$POSTDATA[1]*.dat`
	echo " <p>**DEBUG numb=$numb"
	if ( $numb != "" ) then
	  foreach file (${datadir}/$POSTDATA[1]*.dat)
		echo " <p>**DEBUG removing $file"
		\rm $file
	  end
	endif
	echo "<p>**DEBUG rewriting $datadir/toplevel.dat file"
	\cp /tmp/toplevel.dat $datadir/toplevel.dat
	echo "<p><h3 align=center>$POSTDATA[1] data deleted per"
	echo "your request</h3>"	
	exit 0
else
	echo "<p><h3 align=center>$POSTDATA[1] data line <i>not</i> deleted per"
	echo "your request.</h3>"
endif

@ numb = $#POSTDATA
#echo " <p>**DEBUG numb=$numb"
if ( $numb <= 2) exit
@ index = 3

foreach x ($POSTDATA[3-])
	#echo " <p>**DEBUG index=$index"
	@ pos = $index
	@ flag = $index % 2
	@ index = $index + 1
	if ( $flag == 0 ) continue
	if ( $POSTDATA[$index] == "Yes" ) then
		#echo " <p>**DEBUG deleting data for datatype=$x"
		if ( -e /tmp/tmpdata ) \rm /tmp/tmpdata
		#echo " <P>**DEBUG delete $x entry in file $datadir/$POSTDATA[1].dat"
		grep -v $x $datadir/$POSTDATA[1].dat > /tmp/tmpdata
		if ( -e $datadir/$POSTDATA[1]-$x.dat ) then
			\rm $datadir/$POSTDATA[1]-$x.dat
			#echo " <p>**DEBUG deleted file $datadir/$POSTDATA[1]-$x.dat"
		endif
		\cp /tmp/tmpdata $datadir/$POSTDATA[1].dat
		#echo " <p>**DEBUG replaced file $datadir/$POSTDATA[1].dat"
	else
		echo "<p><h3 align=center>$POSTDATA[$pos] data <i>not</i> deleted per"
		echo "your request</h3>"
	endif
end

echo " <p><h3 align=center>Inventory data deletion task completed as requested.</h3>"
