[LON-CAPA-cvs] cvs: doc /loncapafiles updatequery.piml

www lon-capa-cvs@mail.lon-capa.org
Sat, 21 May 2005 15:35:10 -0000


www		Sat May 21 11:35:10 2005 EDT

  Modified files:              
    /doc/loncapafiles	updatequery.piml 
  Log:
  Friends don't let friends set up bad machines
  
  
Index: doc/loncapafiles/updatequery.piml
diff -u doc/loncapafiles/updatequery.piml:1.37 doc/loncapafiles/updatequery.piml:1.38
--- doc/loncapafiles/updatequery.piml:1.37	Fri May 20 20:40:01 2005
+++ doc/loncapafiles/updatequery.piml	Sat May 21 11:35:07 2005
@@ -1,6 +1,6 @@
 <!-- updatequery.piml -->
 
-<!-- $Id: updatequery.piml,v 1.37 2005/05/21 00:40:01 www Exp $ -->
+<!-- $Id: updatequery.piml,v 1.38 2005/05/21 15:35:07 www Exp $ -->
 
 <!--
 
@@ -237,7 +237,7 @@
   my $choice=&lt;&gt;;
   chomp($choice);
   my $bad_domain_flag=0;
-  my @bad_domain_names=('raw','userfiles','priv','adm','uploaded');
+  my @bad_domain_names=('res','raw','userfiles','priv','adm','uploaded');
   foreach my $bad (@bad_domain_names) {
     $bad_domain_flag=1 if $choice eq $bad;
   }
@@ -255,6 +255,9 @@
     print "Name too long\n";
   } elsif (length($choice)<2) {
     print "Name too short\n";
+  } elsif ($bad_domain_flag) {
+    print "Invalid input ('$choice' conflicts with LON-CAPA namespace).\n";
+    print "Please try something different than '$choice'\n";
   } elsif ($choice!~/\_/ and $choice=~/^\w+$/) {
     open(OUT,'&gt;&gt;/tmp/loncapa_updatequery.out');
     print(OUT 'lonDefDomain'."\t".$choice."\n");
@@ -262,9 +265,6 @@
     $lonDefDomain=$choice;
     $r='l';
     $flag=1;
-  } elsif ($bad_domain_flag) {
-    print "Invalid input ('$choice' conflicts with LON-CAPA namespace).\n";
-    print "Please try something different than '$choice'\n";
   } else {
     print "Invalid input (only alphanumeric characters supported).\n";
   }
@@ -586,30 +586,27 @@
 10) Allow only secure connections: $securestatus 
 11) Everything is correct up above
 END
-my $hbug=-1;
-my $dbug=-1;
-{
-  my $v=$perlvar{'lonHostID'};
-  $hbug=0;
-  $hbug=1 if $v=~/\W/;
-  $hbug=1 if $v=~/\_/;
-}
-{
-  my $v=$1;
-  $dbug=0;
-  $dbug=1 if $v=~/\W/;
-  $dbug=1 if $v=~/\_/;
-}
-
-if ($hbug) {
-  print "**** ERROR **** ".
-	"Invalid lonHostID (should only be letters and/or digits)\n";
-}
-if ($dbug) {
-  print "**** ERROR **** ".
-	"Invalid lonDefDomain (should only be letters and/or digits)\n";
-}
 
+my $error='';
+foreach my $v ($perlvar{'lonDefDomain'},$perlvar{'lonHostID'}) {
+   if (length($v)>16) { $error.="\nName $v too long"; }		
+   if (length($v)<2) { $error.="\nName $v too short"; }
+   if ($v=~/capa/i) { $error.="\nName $v contains 'capa'"; }
+   foreach my $bad ('res','raw','userfiles','priv','adm','uploaded') {
+      $error.="\nName $v reserved." if $v eq $bad;
+   }
+   if ($v=~/\W/) { $error.="\nName $v contains special characters"; }
+}
+if ($domainDescription!~/^[\w\s]+$/) {
+   $error.="\nDomain Description contains special characters";
+} 
+foreach my $v ($perlvar{'lonExpire'},$perlvar{'lonLoadLim'}) {
+   unless ($v=~/^[\d+\.]+$/) { $error.="\nNumber expected instead of $v"; }
+}
+unless (($perlvar{'lonRole'} eq 'library') || ($perlvar{'lonRole'} eq 'access')) {
+   $error.="\nInvalid Role";
+}
+if ($error) { print "\n*** ERRORS: $error\n"; }
   print(&lt;&lt;END);
 ENTER A CHOICE OF 1-10 TO CHANGE, otherwise ENTER 11:
 END
@@ -734,11 +731,11 @@
     }
     ($securestatus,$securenum)=&securesetting(%perlvar);
   }
-  elsif ($choice==11) {
+  elsif (($choice==11) && (!$error)) {
     $flag=1;
   }
   else {
-
+    print "Invalid input.\n";
   }
 }
     open(OUT,"&gt;$confdir$filename") or