#!/usr/bin/sh #---------------------------------------------------------------------------- # /var/install/bin/sn-delng - delete newsgroup # # Creation : 2001 chriswue # Last update: $Id$ # # Copyright (c) 2001-2003 by Christian Wuerdig eisfair(at)chriswue(dot)de # Copyright (c) 2010-@@YEAR@@ Holger Bruenjes, holgerbruenjes(at)gmx(dot)net # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. #---------------------------------------------------------------------------- . /var/install/include/eislib . /var/lib/sn/sn.info NEWS_FOLDER=/var/spool/news # --------------------------------------------------------------------------- # get groups # --------------------------------------------------------------------------- get_groups() { n=0 for i in $(ls -1) do n=$((${n} + 1)) eval ng_${n}='"${i}"' done if [ "${n}" -eq 0 ] then mecho --warn "No more groups left." anykey exit 0 fi } # --------------------------------------------------------------------------- # main # --------------------------------------------------------------------------- cd ${NEWS_FOLDER} while [ 1 ] do get_groups while [ 1 ] do SN_TITLE="Delete newsgroups" SN_SUBTITLE="\n( ${n} subscribed )" SN_FLAGS='--indent 12' SN_COLS='60*' SN_ROWS=0 export SN_TITLE export SN_FLAGS export SN_COLS while [ "${SN_ROWS}" -ne "${n}" ] do SN_ROWS=$((${SN_ROWS} + 1)) eval SN_${SN_ROWS}_1=\"'$ng_'${SN_ROWS}\" export SN_${SN_ROWS}_1 export SN_ROWS done SN_QUESTION='Select' export SN_QUESTION ask_tmpfile=$(${MKTEMP} -t XXXXXXXXXXXXX) ${CHOOSE} SN 1 > ${ask_tmpfile} rc=${?} read answer < ${ask_tmpfile} rm -f ${ask_tmpfile} # if ask break, ask returned 255 if [ ${rc} = 255 ] then answer=0 fi unset SN_SUBTITLE case "${answer}" in '') exit 0 ;; 0) exit 127 ;; *) eval group='$ng_'${answer} touch /var/spool/news/.noservice su news -s /usr/bin/sh -c "/usr/sbin/sndelgroup $group 2>>/var/log/sn/snconf.log" mecho -n --info "Newsgroup" mecho -n " '$group'" mecho --info " removed." rm -f /var/spool/news/.noservice anykey break ;; esac done done exit 0 # --------------------------------------------------------------------------- # end # ---------------------------------------------------------------------------