Diff for /doc/loncapafiles/updatequery.piml between versions 1.14 and 1.18

version 1.14, 2002/06/06 15:44:27 version 1.18, 2002/08/17 19:05:03
Line 145  END Line 145  END
 }  }
   my $choice=<>;    my $choice=<>;
   chomp($choice);    chomp($choice);
     my $bad_domain_flag=0;
     my @bad_domain_names=('raw','userfiles','priv','adm','uploaded');
     foreach my $bad (@bad_domain_names) {
       $bad_domain_flag=1 if $choice eq $bad;
     }
   if ($ipdomain and $choice=~/^\s*$/) {    if ($ipdomain and $choice=~/^\s*$/) {
     $choice=$ipdomain;      $choice=$ipdomain;
     open(OUT,'>>/tmp/loncapa_updatequery.out');      open(OUT,'>>/tmp/loncapa_updatequery.out');
Line 161  END Line 166  END
     $r='l';      $r='l';
     $flag=1;      $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 {    else {
     print "Invalid input (only alphanumeric characters supported).\n";      print "Invalid input (only alphanumeric characters supported).\n";
   }    }
Line 264  my %perlvar; Line 273  my %perlvar;
     $perlvar{'lonDefDomain'}=$lonDefDomain;      $perlvar{'lonDefDomain'}=$lonDefDomain;
     $perlvar{'lonAdmEMail'}=$lonAdmEMail;      $perlvar{'lonAdmEMail'}=$lonAdmEMail;
     $perlvar{'lonRole'}=$lonRole;      $perlvar{'lonRole'}=$lonRole;
     unless ($perlvar{'lonSqlAccess'}) {      unless ($perlvar{'lonLoadLim'} and $perlvar{'lonLoadLim'}!~/\{\[\[\[\[/) {
        $perlvar{'lonSqlAccess'}='localhostkey';  
     }  
     unless ($perlvar{'lonLoadLim'}) {  
        $perlvar{'lonLoadLim'}='2.00';         $perlvar{'lonLoadLim'}='2.00';
     }      }
     unless ($perlvar{'lonExpire'}) {      unless ($perlvar{'lonExpire'} and $perlvar{'lonExpire'}!~/\{\[\[\[\[/) {
        $perlvar{'lonExpire'}='86400';         $perlvar{'lonExpire'}='86400';
     }      }
     unless ($perlvar{'lonReceipt'}) {      unless ($perlvar{'lonReceipt'} and $perlvar{'lonReceipt'}!~/\{\[\[\[\[/) {
        my $lonReceipt='';         my $lonReceipt='';
        srand(time ^ $$ ^ unpack "%L*", `ps axww | gzip`);         srand(time ^ $$ ^ unpack "%L*", `ps axww | gzip`);
        my @alnum=(0..9,a..z);         my @alnum=(0..9,a..z);
Line 299  END Line 305  END
 <perlscript mode='fg'>  <perlscript mode='fg'>
 # read values from loncapa.conf  # read values from loncapa.conf
 my $confdir='/etc/httpd/conf/';  my $confdir='/etc/httpd/conf/';
 #my $confdir='';  
 my $filename='loncapa.conf';  my $filename='loncapa.conf';
 my %perlvar;  my %perlvar;
     if (-e "$confdir$filename") {      if (-e "$confdir$filename") {
Line 314  my %perlvar; Line 319  my %perlvar;
  }   }
  close(CONFIG);   close(CONFIG);
     }      }
       unless ($perlvar{'lonLoadLim'} and $perlvar{'lonLoadLim'}!~/\{\[\[\[\[/) {
          $perlvar{'lonLoadLim'}='2.00';
       }
       unless ($perlvar{'lonExpire'} and $perlvar{'lonExpire'}!~/\{\[\[\[\[/) {
          $perlvar{'lonExpire'}='86400';
       }
       unless ($perlvar{'lonReceipt'} and $perlvar{'lonReceipt'}!~/\{\[\[\[\[/) {
          my $lonReceipt='';
          srand(time ^ $$ ^ unpack "%L*", `ps axww | gzip`);
          my @alnum=(0..9,a..z);
          foreach my $i (1..20) {
    $lonReceipt.=$alnum[int(rand(36))];
          }
          $perlvar{'lonReceipt'}=$lonReceipt;
       }
 my %perlvarstatic;  my %perlvarstatic;
     if (-e "${confdir}loncapa_apache.conf") {      if (-e "${confdir}loncapa_apache.conf") {
  open(CONFIG,'&lt;'.$confdir.'loncapa_apache.conf') or    open(CONFIG,'&lt;'.$confdir.'loncapa_apache.conf') or 
Line 331  my %perlvarstatic; Line 351  my %perlvarstatic;
 # update loncapa.conf until 7 is entered  # update loncapa.conf until 7 is entered
   
 $flag=0;  $flag=0;
   
 while (!$flag) {  while (!$flag) {
   print(&lt;&lt;END);    print(&lt;&lt;END);
   
Line 344  This is now the current configuration of Line 365  This is now the current configuration of
 6) Server Load: $perlvar{'lonLoadLim'}  6) Server Load: $perlvar{'lonLoadLim'}
 7) Everything is correct up above  7) Everything is correct up above
 END  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";
   }
   
   print(&lt;&lt;END);    print(&lt;&lt;END);
 ENTER A CHOICE OF 1-6 TO CHANGE, otherwise ENTER 7:  ENTER A CHOICE OF 1-6 TO CHANGE, otherwise ENTER 7:
 END  END
Line 351  my $choice=&lt;&gt;; Line 396  my $choice=&lt;&gt;;
 chomp($choice);  chomp($choice);
   if ($choice==1) {    if ($choice==1) {
   print(&lt;&lt;END);    print(&lt;&lt;END);
 2) Domain Name: $perlvar{'lonDefDomain'}  1) Domain Name: $perlvar{'lonDefDomain'}
 ENTER NEW VALUE:  ENTER NEW VALUE:
 END  END
     my $choice2=&lt;&gt;;      my $choice2=&lt;&gt;;
Line 360  END Line 405  END
   }    }
   elsif ($choice==2) {    elsif ($choice==2) {
   print(&lt;&lt;END);    print(&lt;&lt;END);
 1) Machine Name: $perlvar{'lonHostID'}  2) Machine Name: $perlvar{'lonHostID'}
 ENTER NEW VALUE:  ENTER NEW VALUE:
 END  END
     my $choice2=&lt;&gt;;      my $choice2=&lt;&gt;;
Line 454  while (!$flag) { Line 499  while (!$flag) {
   print "ENTER 1, 2, 3, or 4:\n";    print "ENTER 1, 2, 3, or 4:\n";
   my $choice=&lt;&gt;;    my $choice=&lt;&gt;;
   chomp($choice);    chomp($choice);
     $line2insert=&lt;&lt;END;    $line2insert=&lt;&lt;END;
 $perlvar{'lonHostID'}:$perlvar{'lonDefDomain'}:$perlvar{'lonRole'}:$hostname:$hostaddress  $perlvar{'lonHostID'}:$perlvar{'lonDefDomain'}:$perlvar{'lonRole'}:$hostname:$hostaddress
 END  END
     $date=`date -I`; chomp($date);    $date=`date -I`; chomp($date);
     $lonHostID=$perlvar{'lonHostID'};    $lonHostID=$perlvar{'lonHostID'};
     $lonHostID=~s/\W//g;    $lonHostID=~s/\W//g;
     $lineexistflag=0;    $lineexistflag=0;
     $hostidexistflag=0;    $hostidexistflag=0;
   if ($choice==1) {    if ($choice==1) {
     $lonCluster='production';      $lonCluster='production'; $flag=1;
     }
     elsif ($choice==2) {
       $lonCluster='standalone'; $flag=1;
       open(OUT,'&gt;../'.$lonCluster.'_hosts.tab') or
         die('file generation error');
         print(OUT $line2insert);
       close(OUT);
     }
     elsif ($choice==3) {
       $lonCluster='development'; $flag=1;
     }
     elsif ($choice==4) {
       $lonCluster='existing'; $flag=1;
       if (-e '/home/httpd/lonTabs/hosts.tab') {
         `cp /home/httpd/lonTabs/hosts.tab ../existing_hosts.tab`;
       }
       else {
         print &lt;&lt;END;
   There is no existing /home/httpd/lonTabs/hosts.tab
   END
         die('');
       }
     }
     elsif ($choice==26) {
       $lonCluster='rawhide'; $flag=1;
     }
     if ($flag==1) {
     `rm -f ../hosts.tab`;      `rm -f ../hosts.tab`;
     open(IN,'&lt;../production_hosts.tab');      open(IN,'&lt;../'.$lonCluster.'_hosts.tab');
     while(&lt;IN&gt;) {      while(&lt;IN&gt;) {
       if (/^$line2insert$/) {        if (/^$line2insert$/) {
         $lineexistflag=1;          $lineexistflag=1;
       }        }
       if (/^$perlvar{'lonHostID'}\:/) {        if (/^$lonHostID\:/) {
         $hostidexistflag=1;          $hostidexistflag=1;
       }        }
     }      }
Line 478  END Line 550  END
     if ($hostidexistflag and !$lineexistflag) {      if ($hostidexistflag and !$lineexistflag) {
       print &lt;&lt;END;        print &lt;&lt;END;
 WARNING: $lonHostID already exists inside  WARNING: $lonHostID already exists inside
 loncapa/loncom/production_hosts.tab.  The entry inside  loncapa/loncom/${lonCluster}_hosts.tab.  The entry inside
 production_hosts.tab does not match your settings.  ${lonCluster}_hosts.tab does not match your settings.
 The entry inside production_hosts.tab is being replaced  The entry inside ${lonCluster}_hosts.tab is being replaced
 with your new values.  with your new values.
 END  END
       `grep -v "$lonHostID:" ../production_hosts.tab &gt; ../new_production_hosts.tab`;        `grep -v "$lonHostID:" ../${lonCluster}_hosts.tab &gt; ../new_${lonCluster}_hosts.tab`;
        open(OUT,'&gt;&gt;../new_production_hosts.tab') or         open(OUT,'&gt;&gt;../new_'.$lonCluster.'_hosts.tab') or
          die("cannot open loncom/standalone_hosts.tab for output\n");           die("cannot open loncom/${lonCluster}_hosts.tab for output\n");
          print(OUT $line2insert);           print(OUT $line2insert);
        close(OUT);         close(OUT);
       `ln -s new_production_hosts.tab ../hosts.tab`;        `ln -s new_${lonCluster}_hosts.tab ../hosts.tab`;
       # email appropriate message        # email appropriate message
       `echo "REPLACE:$lonHostID:date:$line2insert" | mail -s "REPLACE:$lonHostID:$date" installrecord\@mail.lon-capa.org`;        `echo "REPLACE:$lonCluster:$lonHostID:$date:$line2insert" | mail -s "REPLACE:$lonCluster:$lonHostID:$date" installrecord\@mail.lon-capa.org`;
     }      }
     elsif ($hostidexistflag and $lineexistflag) {      elsif ($hostidexistflag and $lineexistflag) {
       `ln -s production_hosts.tab ../hosts.tab`;        print &lt;&lt;END;
     }  Entry exists in ${lonCluster}_hosts.tab.
     elsif (!$$hostidexistflag and !$lineexistflag) {  END
       `cat ../production_hosts.tab &gt; ../new_production_hosts.tab`;        `ln -s ${lonCluster}_hosts.tab ../hosts.tab`;
       `ln -s new_production_hosts.tab &gt; ../hosts.tab`;        # email appropriate message
         `echo "STABLEUPDATE:$lonCluster:$lonHostID:$date:$line2insert" | mail -s "STABLEUPDATE:$lonCluster:$lonHostID:$date" installrecord\@mail.lon-capa.org`;
     }      }
     $flag=1;      elsif (!$hostidexistflag and !$lineexistflag) {
   }        print &lt;&lt;END;
   elsif ($choice==2) {  New entry for $lonCluster.
     $lonCluster='standalone';  
     open(OUT,'&gt;../standalone_hosts.tab') or  
       die("cannot open loncom/standalone_hosts.tab for output\n");  
     print(OUT &lt;&lt;END);  
 $perlvar{'lonHostID'}:$perlvar{'lonDefDomain'}:$perlvar{'lonRole'}:$hostname:$hostaddress  
 END  END
     close(OUT);        `cat ../${lonCluster}_hosts.tab &gt; ../new_${lonCluster}_hosts.tab`;
     `rm -f ../hosts.tab`;         open(OUT,'&gt;../new_'.$lonCluster.'_hosts.tab') or
     `ln -s standalone_hosts.tab ../hosts.tab`;           die("cannot open loncom/${lonCluster}_hosts.tab for output\n");
     $flag=1;           print(OUT $line2insert);
   }         close(OUT);
   elsif ($choice==3) {        `ln -s new_${lonCluster}_hosts.tab ../hosts.tab`;
     $lonCluster='development';        # email appropriate message
     `rm -f loncom/hosts.tab`;        `echo "INSERT:$lonCluster:$lonHostID:$date:$line2insert" | mail -s "INSERT:$lonCluster:$lonHostID:$date" installrecord\@mail.lon-capa.org`;
     `ln -s development_hosts.tab ../hosts.tab`;  
     $flag=1;  
   }  
   elsif ($choice==4) {  
     $lonCluster='existing';  
     `rm -f ../hosts.tab`;  
     `touch existing_hosts.tab`;  
     if (-e '/home/httpd/lonTabs/hosts.tab') {  
       `cp /home/httpd/lonTabs/hosts.tab ../existing_hosts.tab`;  
     }      }
     `ln -s existing_hosts.tab ../hosts.tab`;  
     $flag=1;  
   }  
   elsif ($choice==26) {  
     $lonCluster='rawhide';  
     `rm -f ../hosts.tab`;  
     `ln -s rawhide_hosts.tab ../hosts.tab`;  
     $flag=1;  
   }  
   else {  
   
   }    }
 }  }
   

Removed from v.1.14  
changed lines
  Added in v.1.18


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>