1,4c1,4
< #!/bin/sh
< #
< # 20/10/2007 selected record disabled to prevent reselection
< # 7/11/02Semicolons put into echoed javascript
---
> #!/bin/sh
> #
> # 20/10/2007 selected record disabled to prevent reselection
> # 7/11/02Semicolons put into echoed javascript
6,13c6,13
< # this script leads on to editor.cgi for delete or edit functions
<  set -f
< 
<  dirs=$(./local/dirs)		#get data & script directories
<  datadir=${dirs% *} ; scriptdir=${dirs#* }
< 
< nextscript="editor.cgi"
< 
---
> # this script leads on to editor.cgi for delete or edit functions
>  set -f
> 
>  dirs=$(./local/dirs)		#get data & script directories
>  datadir=${dirs% *} ; scriptdir=${dirs#* }
> 
> nextscript="editor.cgi"
> 
15,32c15,32
< echo 'Content-type: text/html'
< echo
< echo
< echo '<html><head>
< <script language="javascript">
< function valid() {
< n=inform.record.selectedIndex; if(n <0) {
< alert("You must select a record");
< return false;}
< else {doform.record.value=inform.record.options[n].value;
< inform.record.options[n].selected=false;
< inform.record.options[n].disabled=true; 
< return true;} }
< n=document.URL.indexOf("/selector");
< scriptbase=document.URL.substring(0,n);
< </script>
< </head><body bgcolor="#FFFFC0">'
< 
---
> echo 'Content-type: text/html'
> echo
> echo
> echo '<html><head>
> <script language="javascript">
> function valid() {
> n=inform.record.selectedIndex; if(n <0) {
> alert("You must select a record");
> return false;}
> else {doform.record.value=inform.record.options[n].value;
> inform.record.options[n].selected=false;
> inform.record.options[n].disabled=true; 
> return true;} }
> n=document.URL.indexOf("/selector");
> scriptbase=document.URL.substring(0,n);
> </script>
> </head><body bgcolor="#FFFFC0">'
> 
35,169c35,169
<   read posttext
< 
< # get destination and data from posttext
<  dest=${posttext%%=*}		#first subject
<  data=${posttext##*=}		#last object
< 
<  if [ "${dest%%*.*}" = "" ]; then
<   destroot=${dest%.*};
<  else
<   destroot=${dest%_*}	#lose suffix
<   sufx=${dest##*_}
<   dest=$destroot.$sufx;
<  fi
< 
< #get base
<  base=${posttext%&*}		#lose last statement
<  base=${base##*=}		#penultimate object (modified)
< 
<  base=$(echo $base | sed -f $scriptdir/depost)
< 
< #echo "debug $base <br>"
< 
< ud=$(./local/udat)		# User data
< 
< # Programmer note - users not logged in get user names such as sasu
< # and groups such as %G
< 
< echo '<font color="#C00000"> <b>'
< echo "These records contain the requested text,"
< echo "select one.</b><br>"
< echo "<form name=\"doform\" method=\"post\""
< echo "onSubmit=\"return valid()\">"
< #
< # if sec2 allows, edit button:
< sec2=$( ./local/security2 $dest $ud )
< #
< echo "<input name=\"$dest\" \
< type=\"submit\" "
< if [ "$sec2" = "*" ]; then
<  echo "value=\"Edit selected record\">"
< else
<  echo "value=\"Edit not allowed\" disabled>"
< fi 
< #
< # if ecurity3 allows, delete button:
< sec3=$( ./local/security3 $dest $ud )
< # echo "debug delete on $dest by $ud returned $sec3"
< #
< echo "<input name=\"$destroot"_"sed\" \
< type=\"submit\" "
< if [ "$sec3" = "*" ]; then
<  echo "value=\"Delete selected record\"><br>"
< else
<  echo "value=\"Delete not allowed\" disabled><br>"
< fi
< 
< echo "<input name=\"base\" value=\"$base\" type=\"hidden\">"
< echo "<input name=\"record\" type=\"hidden\">"
< echo "</form> <form name=\"inform\">"
< 
< echo "<select name=\"record\" SIZE=\"25\" onChange="
< echo "\"prov(inform.record.options[inform.record.selectedIndex].value)\">"
< 
< data=",++%09$data"	# can't echo tab & data needs depost
< cleaned=$(echo $data | sed -f depost -f toscr) 
< 
< sec=$( ./local/security1 $dest $ud )
< 
<  if (! [ -e $datadir/$destroot.sed ] ); then
<    echo "# deletions" > $datadir/$destroot.sed ;
<  fi
< 
< # this debug line can only be seeen in the html source.  It is not rendered.
< #echo "debug (|$datadir/$dest| for |$ud| returns |$sec|) <br>"
< 
< # The reallocation of IP addresses has still to be adressed....
< 
< # Get data file
< # delete non-current entries listed in the .sed file
< # use doubler to make the data entry and the visible text
< # select the required records in the cleaned selection criteria
< # build the javascript select command elements
< 
< if [ "$sec" = "*" ]; then 
<    cat $datadir/$dest \
<  | sed -f $datadir/$destroot.sed \
<  | sed -f $scriptdir/doubler.txt \
<  | grep -i ".*	.*$cleaned"  \
<  | sed -e 's:&lt;br&gt;:</option><br>:' \
<        -e 's:^:<option value=\":' ;
< else  if [ "$sec" != "#" ];then
<          grep "$sec" $datadir/$dest \
<  | sed -f $datadir/$destroot.sed \
<  | sed -f $scriptdir/doubler.txt \
<  | grep -i ".*	.*$cleaned"  \
<  | sed -e 's:&lt;br&gt;:</option><br>:' \
<        -e 's:^:<option value=\":' ;
<       else echo '<p><font color="FF0000" size="4"></b>'
<          echo "This computer is not properly set up -"
<          echo "- please tell a member of staff. Thanks."
<          echo "</b></font>"
<       fi
< fi
< echo '</select></form><br>'
< # echo '<p>'
< echo '<script language="javascript">'
< echo 'self.status=inform.record.selectedIndex ;'
< echo 'doform.action=scriptbase+"/'$nextscript\"\; 
< echo 'if(inform.record.selectedIndex >= 0) {
< history.go(-1);
< } </script>'
< 
< echo '<script> 
< function prov(p$) { 
<   provenance=""; '
<   sec=$(./local/security0 $dest $ud)
< echo "// debug security0 returned |$sec| for $dest $ud <br>"
<   if [ "$sec" = "*" ]; then
<     cat local/prov.txt | sed -e s/ppppp/p$/;
<   fi
< echo '  pro.innerHTML=provenance; 
<   n=p$.indexOf("	"); 
<   dat=p$.substring(n); 
<   data.innerHTML=dat; 
<   } 
< </script> 
<  
< <b><label ID="pro"></label></b><br> 
< <label ID="data"></label><p> 
<  
< <p><font color="green"><b> 
< Use your browser Back button to abort this process. 
< </b></font><br> 
<  
< </body></html> '
---
>   read posttext
> 
> # get destination and data from posttext
>  dest=${posttext%%=*}		#first subject
>  data=${posttext##*=}		#last object
> 
>  if [ "${dest%%*.*}" = "" ]; then
>   destroot=${dest%.*};
>  else
>   destroot=${dest%_*}	#lose suffix
>   sufx=${dest##*_}
>   dest=$destroot.$sufx;
>  fi
> 
> #get base
>  base=${posttext%&*}		#lose last statement
>  base=${base##*=}		#penultimate object (modified)
> 
>  base=$(echo $base | sed -f $scriptdir/depost)
> 
> #echo "debug $base <br>"
> 
> ud=$(./local/udat)		# User data
> 
> # Programmer note - users not logged in get user names such as sasu
> # and groups such as %G
> 
> echo '<font color="#C00000"> <b>'
> echo "These records contain the requested text,"
> echo "select one.</b><br>"
> echo "<form name=\"doform\" method=\"post\""
> echo "onSubmit=\"return valid()\">"
> #
> # if sec2 allows, edit button:
> sec2=$( ./local/security2 $dest $ud )
> #
> echo "<input name=\"$dest\" \
> type=\"submit\" "
> if [ "$sec2" = "*" ]; then
>  echo "value=\"Edit selected record\">"
> else
>  echo "value=\"Edit not allowed\" disabled>"
> fi 
> #
> # if ecurity3 allows, delete button:
> sec3=$( ./local/security3 $dest $ud )
> # echo "debug delete on $dest by $ud returned $sec3"
> #
> echo "<input name=\"$destroot"_"sed\" \
> type=\"submit\" "
> if [ "$sec3" = "*" ]; then
>  echo "value=\"Delete selected record\"><br>"
> else
>  echo "value=\"Delete not allowed\" disabled><br>"
> fi
> 
> echo "<input name=\"base\" value=\"$base\" type=\"hidden\">"
> echo "<input name=\"record\" type=\"hidden\">"
> echo "</form> <form name=\"inform\">"
> 
> echo "<select name=\"record\" SIZE=\"25\" onChange="
> echo "\"prov(inform.record.options[inform.record.selectedIndex].value)\">"
> 
> data=",++%09$data"	# can't echo tab & data needs depost
> cleaned=$(echo $data | sed -f depost -f toscr) 
> 
> sec=$( ./local/security1 $dest $ud )
> 
>  if (! [ -e $datadir/$destroot.sed ] ); then
>    echo "# deletions" > $datadir/$destroot.sed ;
>  fi
> 
> # this debug line can only be seeen in the html source.  It is not rendered.
> #echo "debug (|$datadir/$dest| for |$ud| returns |$sec|) <br>"
> 
> # The reallocation of IP addresses has still to be adressed....
> 
> # Get data file
> # delete non-current entries listed in the .sed file
> # use doubler to make the data entry and the visible text
> # select the required records in the cleaned selection criteria
> # build the javascript select command elements
> 
> if [ "$sec" = "*" ]; then 
>    cat $datadir/$dest \
>  | sed -f $datadir/$destroot.sed \
>  | sed -f $scriptdir/doubler.txt \
>  | grep -i ".*	.*$cleaned"  \
>  | sed -e 's:&lt;br&gt;:</option><br>:' \
>        -e 's:^:<option value=\":' ;
> else  if [ "$sec" != "#" ];then
>          grep "$sec" $datadir/$dest \
>  | sed -f $datadir/$destroot.sed \
>  | sed -f $scriptdir/doubler.txt \
>  | grep -i ".*	.*$cleaned"  \
>  | sed -e 's:&lt;br&gt;:</option><br>:' \
>        -e 's:^:<option value=\":' ;
>       else echo '<p><font color="FF0000" size="4"></b>'
>          echo "This computer is not properly set up -"
>          echo "- please tell a member of staff. Thanks."
>          echo "</b></font>"
>       fi
> fi
> echo '</select></form><br>'
> # echo '<p>'
> echo '<script language="javascript">'
> echo 'self.status=inform.record.selectedIndex ;'
> echo 'doform.action=scriptbase+"/'$nextscript\"\; 
> echo 'if(inform.record.selectedIndex >= 0) {
> history.go(-1);
> } </script>'
> 
> echo '<script> 
> function prov(p$) { 
>   provenance=""; '
>   sec=$(./local/security0 $dest $ud)
> echo "// debug security0 returned |$sec| for $dest $ud <br>"
>   if [ "$sec" = "*" ]; then
>     cat local/prov.txt | sed -e s/ppppp/p$/;
>   fi
> echo '  pro.innerHTML=provenance; 
>   n=p$.indexOf("	"); 
>   dat=p$.substring(n); 
>   data.innerHTML=dat; 
>   } 
> </script> 
>  
> <b><label ID="pro"></label></b><br> 
> <label ID="data"></label><p> 
>  
> <p><font color="green"><b> 
> Use your browser Back button to abort this process. 
> </b></font><br> 
>  
> </body></html> '
