#!/bin/bash
#< Script to generate zazzybob.com tip index files
WEBROOT="/files/zazzybob.com"
TIPS_DIR="${WEBROOT}/tips"
ADM_OUT="${WEBROOT}/tiplist.adm"
CAT_OUT="${WEBROOT}/catlist.adm"
BROWSE_OUT="${WEBROOT}/browse.adm"
function make_tiplist {
echo "--> Creating Tip List @ ${ADM_OUT}"
rm -f ${ADM_OUT}
ls ${TIPS_DIR} | while read file; do
tip_file=${TIPS_DIR}/${file}
TIP_NO=${file}
DATE_ADDED=$( sed -n '2p' ${tip_file} )
AUTHOR=$( sed -n '3p' ${tip_file} )
CONTACT=$( sed -n '4p' ${tip_file} )
CATEGORY=$( sed -n '5p' ${tip_file} )
TITLE=$( sed -n '6p' ${tip_file} )
echo "${TIP_NO};${DATE_ADDED};${AUTHOR};${CONTACT};${CATEGORY};${TITLE}" >> ${ADM_OUT}
done
echo "--> Tip List Generation Complete!"
}
function make_catlist {
CAT_LIST=$( cut -d';' -f5 ${ADM_OUT} | sort | uniq )
echo "--> Creating Category List @ ${CAT_OUT}"
rm -f ${CAT_OUT}
i=1
echo "${CAT_LIST}" | while read category; do
COUNT=$( cut -d';' -f5 ${ADM_OUT} | grep -c "${category}" )
echo "${i};${category};${COUNT}" >> ${CAT_OUT}
(( i = i + 1 ))
done
echo "--> Category List Generation Complete!"
}
function make_browselist {
echo "--> Creating Browse Helper @ ${BROWSE_OUT}"
rm -f ${BROWSE_OUT}
# top line of file has format
# total_no_of_tips;total_no_of_pages
TOTAL_NO_OF_TIPS=$( wc -l < ${ADM_OUT} )
NO_OF_PAGES=$( echo "${TOTAL_NO_OF_TIPS} / 20 " | bc )
MOD_CHECK=$( echo "${NO_OF_PAGES} % 20 " | bc )
if [ "${MOD_CHECK}" -ne "0" ]; then
(( NO_OF_PAGES = NO_OF_PAGES + 1 ))
fi
echo "${TOTAL_NO_OF_TIPS};${NO_OF_PAGES}" >> ${BROWSE_OUT}
for (( i = 1; i <= ${TOTAL_NO_OF_TIPS}; i++ )); do
# format of other lines is
# first_tip_on_page;last_tip_on_page;page_num
if [ "$(( ( i - 1 ) % 20 ))" -eq "0" ]; then
FIRST_TIP_ON_PAGE=${i}
echo -n "${FIRST_TIP_ON_PAGE};" >> ${BROWSE_OUT}
elif [ "$(( i % 20 ))" -eq "0" ]; then
LAST_TIP_ON_PAGE=${i}
echo -n "${LAST_TIP_ON_PAGE};" >> ${BROWSE_OUT}
(( PAGE_NUM = LAST_TIP_ON_PAGE / 20 ))
echo "${PAGE_NUM}" >> ${BROWSE_OUT}
fi
done
# this will be the value of the last tip
if [ "$(( ( i - 1 ) % 20 ))" -ne "0" ]; then
echo -n "$((i - 1));" >> ${BROWSE_OUT}
echo "$(( PAGE_NUM + 1 ))" >> ${BROWSE_OUT}
fi
echo "--> Browse Helper Generation Complete!"
}
# main
make_tiplist
make_catlist
make_browselist
exit 0