--- capa/capa51/Discuss/Ver1.3/Attic/capadiscuss 1999/10/13 18:45:28 1.2
+++ capa/capa51/Discuss/Ver1.3/Attic/capadiscuss 1999/10/14 18:47:01 1.3
@@ -102,8 +102,9 @@ exit;
#######################
sub GetSetList {
opendir(DDIR,"$capadir/$class/discussion");
- @sets = grep(/[0-9]/,sort(readdir(DDIR)));
+ @sets = grep(/^[0-9]+$/,sort(readdir(DDIR)));
closedir(DDIR);
+ if ($debug) {print "
Sets:". @sets ."
\n";}
}
sub SetListHeader {
@@ -116,11 +117,40 @@ sub SetListHeader {
$pdset .= "\n";
}
+sub GetInfoList {
+ local(@temp,@alldir,@setdir);
+# if ($debug) {print "
GetInfoList
";}
+ opendir(DDIR,"$capadir/$class/discussion");
+ @alldir = sort(grep(/.info$/,readdir(DDIR)));
+ closedir(DDIR);
+
+ opendir(FORUM,"$capadir/$class/discussion/$setid");
+ @setdir = sort(grep(/.info$/,readdir(FORUM)));
+ closedir(FORUM);
+
+ foreach $file(@setdir) { @setdir2 = (@setdir2,"$setid/$file"); }
+ @infofiles = (@alldir,@setdir2);
+ $infostring = "";
+# if ($debug) {print "
GetInfoList" . @infofiles."
";}
+ foreach $infofile(@infofiles) {
+# if ($debug) {print "
GetInfoList" . $infofile."
";}
+ @temp = reverse split /\//, $infofile;
+ $infodesc = $temp[0];
+ $infodesc =~ s/.info//g;
+ $infodesc =~ s/_/ /g;
+ $infostring .= &InfoButtonHTML;
+ }
+ if ($infostring ne "") {
+ # $infostring = "
" . $infostring;
+ }
+# if ($debug) {print "
GetInfoList" . $infostring."
";}
+}
+
sub NewSet {
&Log("NewSet");
if($setid <= $psetid) { #grab capaid
- if ($debug) {print "ViewSet
";$BenchmarkTa = new Benchmark;}
+ if ($debug) {print "NewSet
";$BenchmarkTa = new Benchmark;}
@allcapaid = `allcapaid -s $setid -e $setid -stu $snum -c $capadir/$class -i`;
$capaid = $allcapaid[2];
@@ -131,7 +161,9 @@ if($debug) {$BenchmarkTb = new Benchmark
return;
}
+ if ($debug) { print "
GetSetList\n"; }
&GetSetList;
+ if ($debug) { print "
EndGetSetList\n"; }
&SetListHeader;
&NewSetHTML;
#exit;
@@ -148,20 +180,13 @@ sub ViewSet {
$capasbin = "$capasbin/$teachdir/capasbin";
&SetJumpBox;
+ $backfunction="viewset";
+ &GetInfoList;
+
opendir(FORUM,"$capadir/$class/discussion/$setid");
@dir = sort(readdir(FORUM));
closedir(FORUM);
- @infofiles = grep(/.info/,@dir);
- $infostring = "";
- $backfunction = "viewset";
- foreach $infofile(@infofiles) {
- $infodesc = $infofile;
- $infodesc =~ s/.info//g;
- $infodesc =~ s/_/ /g;
- $infostring .= &InfoButtonHTML;
- }
-
foreach $i(@dir) {
$probnum = &RemZero(substr($i,0,6));
$found[$probnum]++;
@@ -268,6 +293,7 @@ sub ViewProblem {
}
if($msgcount eq "1") {
+ &GetInfoList;
$postbutton = &ReplyButtonHTML;
&ProblemJumpBox;
&ViewProblemTopHTML;
@@ -309,6 +335,7 @@ sub ViewProblem {
}
if($msgfind eq "no") {
+ &GetInfoList;
$postbutton = &PostNewButtonHTML;
&ProblemJumpBox;
&ViewProblemTopHTML;
@@ -322,7 +349,7 @@ sub ViewProblem {
}
sub ViewInfoFile {
- open(INFOFILE,"$capadir/$class/discussion/$setid/$file");
+ open(INFOFILE,"$capadir/$class/discussion/$file");
@file = ;
closedir(INFOFILE);
@@ -721,17 +748,8 @@ sub ProblemJumpBox {
}
sub SetJumpBox {
- opendir(DDIR,"$capadir/$class/discussion");
- @sets = grep(/[0-9]/,sort(readdir(DDIR)));
- closedir(DDIR);
-
- $pdset = "";
+ &GetSetList;
+ &SetListHeader;
}
sub AddZero {