#
### linkxml.sh
###
### Usage:
###
### linkxml.sh linkdir file.html phrase
###
### Create link to file.html in all html
### files under linkdir that have phrase
###
### Run this from the directory where file.html is located
###
###
if [ "$3" = "" ]
then
echo "Usage: $0 linkdir filename phrase"
exit 1
fi
linkdir=$1
file=$2
key1=$3
key2=$4
key3=$5
key4=$6
path=`pwd | sed "s,/var/www,," | sed "s,/,/,g"`
phrase=$key1
if [ "$key2" != "" ]
then
phrase="${key1} ${key2}"
fi
if [ "$key3" != "" ]
then
phrase="${key1} ${key2} ${key3}"
fi
if [ "$key4" != "" ]
then
phrase="${key1} ${key2} ${key3} ${key4}"
fi
if [ "$linkdir" = "" ]
then
echo "Must enter link directory"
exit 1
fi
echo "Looking for $grep"
#for i in `find $linkdir -name \*.xml.html -print | grep -v "/$file" `
for i in `find $linkdir -name \*.htm\* -print | grep -v "/$file" `
do
if `grep -w "lt;$grep" $i >/dev/null 2>/dev/null`
then
atag=`/usr/local/bin/atag.sh $i $grep`
if `echo $atag | grep 1 >/dev/null 2>/dev/null`
then
echo "disqualified atag"
continue
fi
titletag=`/usr/local/bin/titletag.sh $i $grep`
if `echo $titletag | grep 1 >/dev/null 2>/dev/null`
then
echo "disqualified titletag"
continue
fi
h1tag=`/usr/local/bin/h1tag.sh $i $grep`
if `echo $h1tag | grep 1 >/dev/null 2>/dev/null`
then
echo "disqualified h1tag"
continue
fi
# Atag=`/usr/local/bin/Atag.sh $i $grep`
# if `echo $Atag | grep 1 >/dev/null 2>/dev/null`
# then
# echo "disqualified Atag"
# continue
# fi
TITLEtag=`/usr/local/bin/TITLEtag.sh $i $grep`
if `echo $TITLEtag | grep 1 >/dev/null 2>/dev/null`
then
echo "disqualified TITLEtag"
continue
fi
H1tag=`/usr/local/bin/H1tag.sh $i $grep`
if `echo $H1tag | grep 1 >/dev/null 2>/dev/null`
then
echo "disqualified H1tag"
continue
fi
xfile=`echo $file | sed "s/\////g"`
p="http://www.setgetweb.com${path}/${xfile}"
echo " "
echo "Creating link in:"
echo " $i"
echo " "
echo "using the phrase: "
echo " $grep"
echo " "
###
### The syntax below fails if term is on line twice, with one bad term and one good term.
### It matches against the good term, and then replaces the bad term. For example
### if term is target, and the line contains "xyztargetxyz" and " target ", it will match
### against the latter, and replace the former. Quel dommage.
###
#sed "/[ \.,\'\/\"(]$grep[ ,;\'\"($]/s/$phrase/<a href=\"$p\">$phrase<\/a>/" $i | \
###
### Here is the compromise syntax
###
sed "s/lt;$grep /lt;<a href=\"$p\">$phrase<\/a> /" $i | \
sed "s/lt;$grep\//lt;<a href=\"$p\">$phrase<\/a>\//g" | \
sed "s/lt;$grep$/lt;<a href=\"$p\">$phrase<\/a>/" | \
sed "s/lt;$grep>/lt;<a href=\"$p\">$phrase<\/a>>/" | \
sed "s/lt;$grep&gt;/lt;<a href=\"$p\">$phrase<\/a>>/" | \
sed "s///\//g" > tmp.$$
mv tmp.$$ $i
#sed "s/>$grep\&lt;/><a href=\"$p\">$phrase<\/a>\&lt;/" | \
fi
done