#!/usr/athena/bin/perl

$uwho = $ENV{'USER'};
while($input ne "x"){
($bexist=1) if -e "/mit/$uwho/.plan.base";
($pexist=1) if -e "/mit/$uwho/.plan";

print `clear`;
print("Make Plan\n");
print("c  Create new plan.base ");
if($bexist) {print("(one already exists)");}
print("\n");
print("n  New plan ");
if($pexist) {print("(one already exists)");}
print("\n");
if($bexist){
print("s  Show plan.base\n");}
if($pexist){
print("r  Read plan\n");}
print("x  Exit\n");
print("\n\n");
print("MakePlan>  ");
$input = (<STDIN>);
chop($input);
if($input eq "c"){ do newbase(); }
if($input eq "n"){ do newplan(); }
if($input eq "s"){ do shbase(); }
if($input eq "r"){ do rplan();}
}
system("chmod 644 /mit/$uwho/.plan");

sub newbase {
    @body=('');
    if($bexist)
    {
	print("Moving old .plan.base to /usr/tmp...");
	$err = `mv /mit/$uwho/.plan.base /usr/tmp`;
	if($err){
	    print("\nError moving .plan.base!  Ack!\nAlas, I am dead...\nExiting.\n");
	    exit(1);}
	print("done.\n");
    }
    print("\n\nType your plan.base now.  A line with a '.' by itself when you're done.\n");
    while($line ne ".\n"){
	$line = (<STDIN>);
	push(@body, $line);
    }
    pop(@body);
    open(PB, ">/mit/$uwho/.plan.base");
    foreach $l (@body)
    {
	print(PB $l);
    }
    close PB;
}

sub newplan {
    @body=('');
    if($pexist)
    {
	print("Moving old .plan to /usr/tmp...");
	$err = `mv /mit/$uwho/.plan /usr/tmp`;
	if($err){print("\nError moving .plan!  Ack!\nAlas, I am dead...\nExiting.\n");exit(1);}
	print("done.\n");
    }
    $line="";
    print("\n\nType your plan now.  A line with a '.' by itself when you're done.\n");
    while($line ne ".\n"){
	$line = (<STDIN>);
	push(@body, $line);
    }
    pop(@body);
    print("\nInserting plan.base...");
    $foo = `cat /mit/$uwho/.plan.base > /mit/$uwho/.plan`;
    if($foo){print("\nUh oh Screw up!\n"); exit(1);}
    open(P, ">>/mit/$uwho/.plan");
    print("Writing new plan.");
    foreach $l (@body)
    {
	print(".");
	print(P $l);
    }
    close(P);
    print("Done\n");
    do retwait();
}
sub shbase {
    system("more /mit/$uwho/.plan.base");
    do retwait();
}
sub rplan {
    system("more /mit/$uwho/.plan");
    do retwait();
}

sub retwait {
    print("Press Return to continue...");
    $garbage = (<STDIN>);
}
