Diff for /doc/loncapafiles/updatequery.piml between versions 1.8 and 1.15

version 1.8, 2002/05/13 17:56:29 version 1.15, 2002/06/09 23:31:09
Line 52  sleep(3); Line 52  sleep(3);
 </perlscript>  </perlscript>
 </file>  </file>
 <file>  <file>
 <target dist='default'>/home/httpd/lonUsers2/</target>  <target dist='default'>/home/httpd/lonTabs/hosts.tab</target>
 <perlscript mode='fg'>  <perlscript mode='fg'>
 $|=1;  $|=1;
 unless (-e "<TARGET />") {  unless (-e "<TARGET />") {
Line 220  END Line 220  END
 # get e-mail address  # get e-mail address
 # accept if valid, if not valid, tell user and repeat  # accept if valid, if not valid, tell user and repeat
 $flag=0;  $flag=0;
 my $lonAdmEmail;  my $lonAdmEMail;
 while (!$flag) {  while (!$flag) {
   print(&lt;&lt;END);    print(&lt;&lt;END);
   
Line 234  END Line 234  END
   chomp($choice);    chomp($choice);
   if ($choice=~/\@/) {    if ($choice=~/\@/) {
     open(OUT,'&gt;&gt;/tmp/loncapa_updatequery.out');      open(OUT,'&gt;&gt;/tmp/loncapa_updatequery.out');
     print(OUT 'lonAdmEmail'."\t".$choice."\n");      print(OUT 'lonAdmEMail'."\t".$choice."\n");
     close(OUT);      close(OUT);
     $lonAdmEmail=$choice;      $lonAdmEMail=$choice;
     $flag=1;      $flag=1;
   }    }
   else {    else {
Line 255  my %perlvar; Line 255  my %perlvar;
     if ($configline =~ /^[^\#]*PerlSetVar/) {      if ($configline =~ /^[^\#]*PerlSetVar/) {
  my ($unused,$varname,$varvalue)=split(/\s+/,$configline);   my ($unused,$varname,$varvalue)=split(/\s+/,$configline);
  chomp($varvalue);   chomp($varvalue);
  $perlvar{$varname}=$varvalue;   $perlvar{$varname}=$varvalue if $varvalue!~/^\{\[\[\[\[/;
     }      }
  }   }
  close(CONFIG);   close(CONFIG);
     }      }
     $perlvar{'lonHostID'}=$lonHostID;      $perlvar{'lonHostID'}=$lonHostID;
     $perlvar{'lonDefDomain'}=$lonDefDomain;      $perlvar{'lonDefDomain'}=$lonDefDomain;
     $perlvar{'lonAdmEmail'}=$lonAdmEmail;      $perlvar{'lonAdmEMail'}=$lonAdmEMail;
     $perlvar{'lonRole'}=$lonRole;      $perlvar{'lonRole'}=$lonRole;
     unless ($perlvar{'lonSqlAccess'}) {      unless ($perlvar{'lonSqlAccess'}) {
        $perlvar{'lonSqlAccess'}='localhostkey';         $perlvar{'lonSqlAccess'}='localhostkey';
Line 275  my %perlvar; Line 275  my %perlvar;
     }      }
     unless ($perlvar{'lonReceipt'}) {      unless ($perlvar{'lonReceipt'}) {
        my $lonReceipt='';         my $lonReceipt='';
        srand($$.time);         srand(time ^ $$ ^ unpack "%L*", `ps axww | gzip`);
        my @alnum=(0..9,a..z);         my @alnum=(0..9,a..z);
        foreach my $i (1..20) {         foreach my $i (1..20) {
  $lonReceipt.=$alnum[int(rand(36))];   $lonReceipt.=$alnum[int(rand(36))];
Line 299  END Line 299  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 338  while (!$flag) { Line 337  while (!$flag) {
 This is now the current configuration of your machine.  This is now the current configuration of your machine.
 1) Domain Name: $perlvar{'lonDefDomain'}  1) Domain Name: $perlvar{'lonDefDomain'}
 2) Machine Name: $perlvar{'lonHostID'}  2) Machine Name: $perlvar{'lonHostID'}
 3) System Administrator's E-mail Address: $perlvar{'lonAdmEmail'}  3) System Administrator's E-mail Address: $perlvar{'lonAdmEMail'}
 4) Role: $perlvar{'lonRole'}  4) Role: $perlvar{'lonRole'}
 5) Cache Expiration Time: $perlvar{'lonExpire'}  5) Cache Expiration Time: $perlvar{'lonExpire'}
 6) Server Load: $perlvar{'lonLoadLim'}  6) Server Load: $perlvar{'lonLoadLim'}
Line 369  END Line 368  END
   }    }
   elsif ($choice==3) {    elsif ($choice==3) {
   print(&lt;&lt;END);    print(&lt;&lt;END);
 3) System Administrator's E-mail Address: $perlvar{'lonAdmEmail'}  3) System Administrator's E-mail Address: $perlvar{'lonAdmEMail'}
 ENTER NEW VALUE:  ENTER NEW VALUE:
 END  END
     my $choice2=&lt;&gt;;      my $choice2=&lt;&gt;;
     chomp($choice2);      chomp($choice2);
     $perlvar{'lonAdmEmail'}=$choice2;      $perlvar{'lonAdmEMail'}=$choice2;
   }    }
   elsif ($choice==4) {    elsif ($choice==4) {
   print(&lt;&lt;END);    print(&lt;&lt;END);
Line 454  while (!$flag) { Line 453  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;
   $perlvar{'lonHostID'}:$perlvar{'lonDefDomain'}:$perlvar{'lonRole'}:$hostname:$hostaddress
   END
     $date=`date -I`; chomp($date);
     $lonHostID=$perlvar{'lonHostID'};
     $lonHostID=~s/\W//g;
     $lineexistflag=0;
     $hostidexistflag=0;
   if ($choice==1) {    if ($choice==1) {
     $lonCluster='production';      $lonCluster='production'; $flag=1;
     `rm -f ../hosts.tab`;  
     `ln -s production_hosts.tab ../hosts.tab`;  
     $flag=1;  
   }    }
   elsif ($choice==2) {    elsif ($choice==2) {
     $lonCluster='standalone';      $lonCluster='standalone'; $flag=1;
     open(OUT,'&gt;../standalone_hosts.tab') or      open(OUT,'&gt;../'.$lonCluster.'_hosts.tab') or
       die("cannot open loncom/standalone_hosts.tab for output\n");        die('file generation error');
     print(OUT &lt;&lt;END);        print(OUT $line2insert);
 $perlvar{'lonHostID'}:$perlvar{'lonDefDomain'}:$perlvar{'lonRole'}:$hostname:$hostaddress  
 END  
     close(OUT);      close(OUT);
     `rm -f ../hosts.tab`;  
     `ln -s standalone_hosts.tab ../hosts.tab`;  
     $flag=1;  
   }    }
   elsif ($choice==3) {    elsif ($choice==3) {
     $lonCluster='development';      $lonCluster='development'; $flag=1;
     `rm -f loncom/hosts.tab`;  
     `ln -s development_hosts.tab ../hosts.tab`;  
     $flag=1;  
   }    }
   elsif ($choice==4) {    elsif ($choice==4) {
     $lonCluster='existing';      $lonCluster='existing'; $flag=1;
     `rm -f ../hosts.tab`;  
     `touch existing_hosts.tab`;  
     if (-e '/home/httpd/lonTabs/hosts.tab') {      if (-e '/home/httpd/lonTabs/hosts.tab') {
       `cp /home/httpd/lonTabs/hosts.tab ../existing_hosts.tab`;        `cp /home/httpd/lonTabs/hosts.tab ../existing_hosts.tab`;
     }      }
     `ln -s existing_hosts.tab ../hosts.tab`;      else {
     $flag=1;        print &lt;&lt;END;
   There is no existing /home/httpd/lonTabs/hosts.tab
   END
         die('');
       }
   }    }
   elsif ($choice==26) {    elsif ($choice==26) {
     $lonCluster='rawhide';      $lonCluster='rawhide'; $flag=1;
     `rm -f ../hosts.tab`;  
     `ln -s rawhide_hosts.tab ../hosts.tab`;  
     $flag=1;  
   }    }
   else {    if ($flag==1) {
       `rm -f ../hosts.tab`;
       open(IN,'&lt;../'.$lonCluster.'_hosts.tab');
       while(&lt;IN&gt;) {
         if (/^$line2insert$/) {
           $lineexistflag=1;
         }
         if (/^$lonHostID\:/) {
           $hostidexistflag=1;
         }
       }
       close(IN);
       if ($hostidexistflag and !$lineexistflag) {
         print &lt;&lt;END;
   WARNING: $lonHostID already exists inside
   loncapa/loncom/${lonCluster}_hosts.tab.  The entry inside
   ${lonCluster}_hosts.tab does not match your settings.
   The entry inside ${lonCluster}_hosts.tab is being replaced
   with your new values.
   END
         `grep -v "$lonHostID:" ../${lonCluster}_hosts.tab &gt; ../new_${lonCluster}_hosts.tab`;
          open(OUT,'&gt;&gt;../new_'.$lonCluster.'_hosts.tab') or
            die("cannot open loncom/${lonCluster}_hosts.tab for output\n");
            print(OUT $line2insert);
          close(OUT);
         `ln -s new_${lonCluster}_hosts.tab ../hosts.tab`;
         # email appropriate message
         `echo "REPLACE:$lonCluster:$lonHostID:$date:$line2insert" | mail -s "REPLACE:$lonCluster:$lonHostID:$date" installrecord\@mail.lon-capa.org`;
       }
       elsif ($hostidexistflag and $lineexistflag) {
         print &lt;&lt;END;
   Entry exists in ${lonCluster}_hosts.tab.
   END
         `ln -s ${lonCluster}_hosts.tab ../hosts.tab`;
         # email appropriate message
         `echo "STABLEUPDATE:$lonCluster:$lonHostID:$date:$line2insert" | mail -s "STABLEUPDATE:$lonCluster:$lonHostID:$date" installrecord\@mail.lon-capa.org`;
       }
       elsif (!$hostidexistflag and !$lineexistflag) {
         print &lt;&lt;END;
   New entry for $lonCluster.
   END
         `cat ../${lonCluster}_hosts.tab &gt; ../new_${lonCluster}_hosts.tab`;
          open(OUT,'&gt;../new_'.$lonCluster.'_hosts.tab') or
            die("cannot open loncom/${lonCluster}_hosts.tab for output\n");
            print(OUT $line2insert);
          close(OUT);
         `ln -s new_${lonCluster}_hosts.tab ../hosts.tab`;
         # email appropriate message
         `echo "INSERT:$lonCluster:$lonHostID:$date:$line2insert" | mail -s "INSERT:$lonCluster:$lonHostID:$date" installrecord\@mail.lon-capa.org`;
       }
   }    }
 }  }
   

Removed from v.1.8  
changed lines
  Added in v.1.15


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