0707070000020070021006440000020000020000010662560400454110100000500000000003Size81 0707070000020070031007550000020000020000010662550402215447400001000000011252Install######################################################################### # Step 1: Remove any possible earlier version of the Reminder program # # (which was known as UNIXCAL) if it has previously been # # installed. Pieces of code have been copied from the # # /usr/bin/Uninstall.sh script. # ######################################################################### LIST=/usr/installed/CONTENTS OLDPROG="Calendar.*THE STORE" trap "" 1 2 3 15 if [ -r $LIST -a -s $LIST ] then KEY=`grep "$OLDPROG" $LIST | cut -d\ -f1` if [ "$KEY" ] then UNFILE=/usr/installed/${KEY}.un if [ -r $UNFILE ] then chmod +x $UNFILE $UNFILE if [ "$?" = "0" ] then grep -v "$OLDPROG" $LIST > /tmp/C$$ mv /tmp/C$$ $LIST grep -v "$OLDPROG" $UA/Uninstall.menu > /tmp/U$$ mv /tmp/U$$ $UA/Uninstall.menu grep -v "$OLDPROG" $UA/Showsoft.menu > /tmp/S$$ mv /tmp/S$$ $UA/Showsoft.menu rm $UNFILE fi fi fi fi trap 1 2 3 15 ######################################################################### # Step 2: Check to insure that Reminder is not already installed on # # this system. If it is, remove old copy first! # ######################################################################### LIST=/usr/installed/CONTENTS OLDPROG="Reminders.*THE STORE" if [ -r $LIST -a -s $LIST ] then KEY=`grep "$OLDPROG" $LIST` if [ "$KEY" ] then UNFILE=/usr/installed/${KEY}.un if [ -r $UNFILE ] then chmod +x $UNFILE $UNFILE if [ "$?" = "0" ] then grep -v "$OLDPROG" $LIST > /tmp/C$$ mv /tmp/C$$ $LIST grep -v "$OLDPROG" $UA/Uninstall.menu > /tmp/U$$ mv /tmp/U$$ $UA/Uninstall.menu grep -v "$OLDPROG" $UA/Showsoft.menu > /tmp/S$$ mv /tmp/S$$ $UA/Showsoft.menu rm $UNFILE fi fi fi fi ######################################################################### # Step 3: Move all relevant files to their proper destinations. # ######################################################################### BIN=/usr/bin LIB=/usr/lib BINFILES="calendar.sh calendar egrep fgrep" UAFILES="Reminder Reminder.form" LIBFILES="calprog" rm -f ${BIN}/egrep ${BIN}/fgrep # get rid of old versions chown bin $BINFILES $UAFILES $LIBFILES chgrp bin $BINFILES $UAFILES $LIBFILES chmod 755 $BINFILES $LIBFILES chmod 644 $UAFILES ln $BINFILES $BIN ln $UAFILES $UA ln $LIBFILES $LIB ######################################################################### # Step 4: Install the user documents for this application. # ######################################################################### NAME="Reminders Program" DOCUMENTS="Reminder.man Calendar.man" FOLDER=${HOME}/Filecabinet/DOCS chown $LOGNAME $DOCUMENTS if [ ! -d $FOLDER ] then message -i "A folder called DOCS must be created in you Filecabinet.\n\nPlease touch to continue." mkdir $FOLDER chown $LOGNAME $FOLDER fi for i in $DOCUMENTS do ln $i ${FOLDER}/$i done message -i "Document file(s) titled:\n\t${DOCUMENTS}\n have be placed in your DOCS folder.\n\nThese files contain information about $NAME and should be reviewed. \n\nPlease touch to continue." ######################################################################### # Step 5: Set up crontab to execute the calendar program. # ######################################################################### cat <> /usr/lib/crontab echo "\n\nReminder check will be done at $ANS:00." echo "\nEdit /usr/lib/crontab if you wish to change it later." ######################################################################### # Step 6: Update the User Agent Files. # ######################################################################### uaupd -r "Reminders" -a office.cmds Office message -i "Use this program to keep reminders of birthdays, appointments and other events of interest to you.\n\nRefer to the manuals for additional information\n\nPlease touch to continue." 0707070000020070041006440000020000020000010341360402215350100000500000000070NameReminders - A UNIX mail-reminder Service via THE STORE! 0707070000020040511006440000020000020000010341370400431662400000700000002225Remove################################################################# # Step 1: Remove all files. # ################################################################# BIN=/usr/bin LIB=/usr/lib BINFILES="calendar.sh calendar" # Note: Do not remove [ef]grep! UAFILES="Reminder Reminder.form" LIBFILES="calprog" cd $BIN rm -f $BINFILES cd $LIB rm -f $LIBFILES cd $UA rm -f $UAFILES ################################################################# # Step 2: Remove Documentation. # ################################################################# DOCUMENTS="Reminder.man Calendar.man" FOLDER=${HOME}/Filecabinet/DOCS for i in $DOCUMENTS do if [ -s ${FOLDER}/$i ] then rm -f ${FOLDER}/$i fi done ################################################################# # Step 3: Edit crontab to remove calendar entry. # ################################################################# ed - /usr/lib/crontab <<-ETX /calendar/d w q ETX ################################################################# # Step 4: Update the User Agent Files. # ################################################################# uaupd -r "Reminders" Office 0707070000020056251006440000020000020000010341410402215470200000600000000310Files./Size ./Install ./Name ./Remove ./Files ./calendar.sh ./Reminder ./Reminder.form ./calendar ./calprog ./crontab.cmds ./office.cmds ./egrep ./fgrep ./Calendar.man ./Reminder.man ./MAKEcpio ./MAKEflop 0707070000020036621007550000020000020000010661220400430115300001400000003657calendar.sh######################################################################### # # # Program: calendar.sh (Bourne Shell Script) # # Version: 1.0 # # # # Original Coding: C. Jeffery Small Date: 01-12-87 # # Latest Revision: C. Jeffery Small Date: 01-18-87 # # # # DSCRIPTION # # A shell script used to gather and verify a valid line to be # # added to the personal reminder message file located in: # # ${HOME}/calendar. # # # # REQUIRED FILES # # ${HOME}/calendar # # /usr/lib/ua/Reminder.form # # # ######################################################################### ERR0="\n\nPress ENTER to continue." ERR1="An error has occured in the Shell Form." ERR2="\n\nPlease notify your System Administrator." ERR3="Bad Command.\n\nPlease use Enter, Cancel or Exit only." ERR4="Error. You must enter a valid date.\n\t Enter Days from [1 to 31]." ERR5="Error. You must enter some text\n\t for your reminder." ERR6="Invalid Date!\n\nPlease Check and Re-Enter." trap "exit 1" 1 2 3 15 TERMCAP= export TERMCAP umask 022 clear while true do RET=`shform -u $UA/Reminder.form` if [ "$?" != "0" ] then clear message -u $ERR1 $ERR2 exit 1 fi eval set $RET case $1 in Cancel | Exit) exit 0 ;; Enter) if [ "${3:-XxX}" = "XxX" ] then message -i $ERR4 $ERR0 continue elif [ "${4:-XxX}" = "XxX" -a "${5:-XxX}" = "XxX" ] then message -i $ERR5 $ERR0 continue fi case $2 in Jan | Mar | May | Jul | Aug | Oct | Dec) if [ $3 -lt 1 -o $3 -gt 31 ] then message -i $ERR6 $ERR0 continue fi ;; Feb) if [ $3 -lt 1 -o $3 -gt 29 ] then message -i $ERR6 $ERR0 continue fi ;; Apr | Jun | Sep | Nov) if [ $3 -lt 1 -o $3 -gt 30 ] then message -i $ERR6 $ERR0 continue fi ;; esac echo "$2 $3 $4 $5" >> ${HOME}/calendar exit 0 ;; *) message -i "$ERR3 $ERR0" ;; esac done 0707070000020042101006440000020000020000010662670400454573500001100000002023Reminder######################################################################### # # # Program: Reminder (UA form) # # Version: 1.0 # # # # Copyright (c): 1986 - C. Jeffery Small and Associates # # # # Original Coding: C. Jeffery Small Date: 01-18-87 # # Latest Revision: C. Jeffery Small Date: 01-19-87 # # # # DESCRIPTION # # This UA form is used as a front end to the calendar reminder # # program and is accessed from the Office Window as "Reminder". # # # # REQUIRED FILES # # /usr/bin/calendar.sh (Calendar interface program) # # $HOME/calendar (Personal data storage file) # # # ######################################################################### Name = Enter a New Reminder Default = Run Run = SH -w /usr/bin/calendar.sh Prompt = Msg. will be mailed to you the day before and on the date you specify. Name = Remove old Reminders Default = Run Run = EXEC -wd $EDIT $HOME/calendar Prompt = Delete each unwanted line from the list. 0707070000020067741006440000020000020000010662650400430121000001600000002441Reminder.form######################################################################### # # # Program: Reminder.form (UA form) # # Version: 1.0 # # # # Copyright (c): 1986 - C. Jeffery Small and Associates # # # # Original Coding: C. Jeffery Small Date: 01-18-87 # # Latest Revision: Date: # # # # DESCRIPTION # # This UA form is used as a front end to the calander reminder # # program. # # # # # ######################################################################### Form = Enter a new reminder Label = Entering Reminder Information Name = Month: Rmenu = Month Prompt = Select the Month for your reminder. Menuonly Frow = 0 Ncol = 4 Fcol = 11 Flen = 3 Name = Day: Prompt = Enter the day of the Month for your reminder. Frow = 0 Ncol = 18 Fcol = 23 Flen = 2 Name = Text: Prompt = Enter the reminder text you wish sent to you on that date. Frow = 2 Ncol = 4 Fcol = 11 Flen = 58 Name = Text: Prompt = Enter the reminder text you wish sent to you on that date. Frow = 3 Ncol = 4 Fcol = 11 Flen = 58 Menu = Month Prompt = Select the Month for your reminder. Name = Jan Name = Feb Name = Mar Name = Apr Name = May Name = Jun Name = Jul Name = Aug Name = Sep Name = Oct Name = Nov Name = Dec 0707070000020067401007550000020000020000010662520400222373200001100000001253calendar# calendar.sh - calendar command, uses /usr/lib/calprog # SCCS: @(#)calendar.sh 1.5 PATH=/bin:/usr/bin _tmp=/tmp/cal$$ trap "rm ${_tmp}; trap '' 0; exit" 0 1 2 13 15 /usr/lib/calprog > ${_tmp} case $# in 0) if [ -f calendar ]; then egrep -f ${_tmp} calendar else echo $0: `pwd`/calendar not found fi;; *) cat /etc/passwd | \ sed 's/\([^:]*\):.*:\(.*\):[^:]*$/_dir=\2 _user=\1/' | \ while read _token; do eval ${_token} # evaluates _dir= and _user= if [ -s ${_dir}/calendar ]; then egrep -f ${_tmp} ${_dir}/calendar 2>/dev/null \ > /tmp/calendar.$$ if [ -s /tmp/calendar.$$ ]; then mail ${_user} < /tmp/calendar.$$ fi fi done;; esac exit 0 0707070000020056301007550000020000020000010662530400222373300001000000004316calprogRX  .text .data @.bss .lib /< N1X OQ./HJf/H#0N/N1x0<N@NVHnN1X @-H. n (R/ ("| /1/< N1 N^NuNVHnN1X.NHnN1X @ ( g g` Q.NjQ.NZQ.NJN^Nu@(#)calprog.c 1.4 B I P W ^ e l s z [Jj]an[Ff]eb[Mm]ar[Aa]pr[Mm]ay[Jj]un[Jj]ul[Aa]ug[Ss]ep[Oo]ct[Nn]ov[Dd]ec(^|[ (,;])((%s[^ ]* *|0*%d/|\*/)0*%d)([^0123456789]|$) 0707070000020055461006440000020000020000010307370400222373300001500000000037crontab.cmds0 1 * * * /usr/bin/calendar - 0707070000020056221006440000020000020000010307400400431370100001400000000134office.cmdsName=Reminders Default = Open Open=UA -e Reminder Prompt = A mail-message reminder service! 0707070000020056261007550000020000020000010307450400222373300000600000023474egrepRX < .text .data < @.bss < <.lib  /< N1X OQ./HJf/H#0N/N1x0<N@NV./< /<0N1Pp.N1xN^NuNVH NHHJg g` $gh (g~ )gt *gR +gR .gb ?gJ [g^ \gV ^g |fP <L N^Nut `: <` <` < `HH` <`p`-|B 9 R # N ^f-|NJfNL -fhJo` 9 "| J1gLNgD 9 "| 1`, ^ mNR 9 R "| Rm`* ^ mNv 9 R "| RNH ]fT 9 "|  .`N fNHH# 8 <`NVHJ g> y Sm y "hRp` . N1$pf pLN^Nu y R HH$ `NV. /<0N1Xp.N1xN^NuNV ^ mNp 9 "| I# 9 "| O4B 9 "| TB 9 R N^NuNVH.N$ "| T#  LN^NuNV ^ mN 9 "| I# 9 "| O4#  9 "| T# . "| Z$#  .#  9 R N^NuNV ^ mN` 9 "| I# 9 "| O4#  9 "| TB . "| Z$#  9 R N^NuNV. (/<0N1Xp.N1xN^NuNVH ."| O4JfDB t` "| BR o.Nj./< _NXLN^Nu ."| TJf ."| O4` ."| O4.Nn ."| T.NZ`NV0HB p-@`"| BR .䰹 o 9 S.NJf$ 9 "| #R  I y H"n!i n h (f y H| y H# Hf` n-hf$j g `.LN^NuNVH$.&. g$J Ig( r f.N(.Nf pLN^Nup`NVH$.pampzn LN^NupAmpzn  `p`@(#)fgrep.c 1.3[ -bcilnvx ] [ -e exp ] [ -f file ] [ strings ] [ file ] ...bcie:f:lnvxrfgrep: can't open %s usage: fgrep %s rfgrep: can't open %s %s %s:%d:%ld:%s:%ld wordlist too large 0707070000020056231006440000020000020000010304070400222373400001500000002324Calendar.man CALENDAR(1) UNIX System V CALENDAR(1) NAME calendar - reminder service SYNOPSIS calendar [ - ] DESCRIPTION Calendar consults the file calendar in the current directory and prints out lines that contain today's or tomorrow's date anywhere in the line. Most reasonable month-day dates such as ``Aug. 24,'' ``august 24,'' ``8/24,'' etc., are recognized, but not ``24 August'' or ``24/8''. On weekends ``tomorrow'' extends through Monday. When an argument is present, calendar does its job for every user who has a file calendar in the login directory and sends them any positive results by mail(1). Normally this is done daily by facilities in the UNIX operating system. FILES /usr/lib/calprog to figure out today's and tomorrow's dates /etc/passwd /tmp/cal* SEE ALSO mail(1). BUGS Your calendar must be public information for you to get reminder service. Calendar's extended idea of ``tomorrow'' does not account for holidays. 0707070000020056241006440000020000020000010304110400454055100001500000013713Reminder.man Reminders --------- A UNIX mail-reminder Service from THE STORE! Introduction: Reminders is a program which allows you create short personal messages which you would like to be reminded of sometime in the future. For example, some of the things you might use the Reminder program for are: * Notifying yourself of a business lunch date. * Remembering Birthdays and Anniversaries. * Keeping track of appointments or meetings. * To remember a special event scheduled in the future. When ever you have something of importance which you don't want to forget, just let the Reminder program act as your personal secretary by keeping track of these things for you. The Reminder program will mail you your reminder message twice; once on the day BEFORE the date you have specified and then again on the actual date of the reminder. Therefore, if you have a business meeting at 8:30 AM on July 23rd, and you have created a Reminder for this meeting, you will receive a mail-message reminder of this appointment on July 22nd and then again on July 23rd. Simply read your mail messages to keep informed. It's that easy! Using the Reminder Service: To use the Reminder Service, simply select "Reminders" from your Office window. You will be offered two selections: Enter a New Reminder --or-- Remove old Reminders On the following pages we will take a look at each of these options separately. Reminders --------- A UNIX mail-reminder Service from THE STORE! Page No. 2 Enter a New Reminder -------------------- If you wish to create a new Reminder message, then select the "Enter a New Reminder" option. A menu will appear to allow you to compose your new Reminder. A general note about entering information: To move from one field to the next, use either the key of the key. Enter and/or correct your information just as you do for any other application. When everything appears correct, then use the key to record your completed Reminder. There are three items of information which you must supply. Month: In this space you will see Jan (for January) displayed. To select the appropriate Month, simply use the