[LON-CAPA-cvs] cvs: loncom / lond
albertel
lon-capa-cvs@mail.lon-capa.org
Tue, 31 Jan 2006 04:40:13 -0000
albertel Mon Jan 30 23:40:13 2006 EDT
Modified files:
/loncom lond
Log:
- remove last direct usages of tie
Index: loncom/lond
diff -u loncom/lond:1.309 loncom/lond:1.310
--- loncom/lond:1.309 Mon Jan 30 23:26:41 2006
+++ loncom/lond Mon Jan 30 23:40:12 2006
@@ -2,7 +2,7 @@
# The LearningOnline Network
# lond "LON Daemon" Server (port "LOND" 5663)
#
-# $Id: lond,v 1.309 2006/01/31 04:26:41 albertel Exp $
+# $Id: lond,v 1.310 2006/01/31 04:40:12 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -59,7 +59,7 @@
my $status='';
my $lastlog='';
-my $VERSION='$Revision: 1.309 $'; #' stupid emacs
+my $VERSION='$Revision: 1.310 $'; #' stupid emacs
my $remoteVERSION;
my $currenthostid="default";
my $currentdomainid;
@@ -5623,38 +5623,38 @@
sub get_chat {
my ($cdom,$cname,$udom,$uname)=@_;
- my %hash;
- my $proname=&propath($cdom,$cname);
+
my @entries=();
- if (tie(%hash,'GDBM_File',"$proname/nohist_chatroom.db",
- &GDBM_READER(),0640)) {
- @entries=map { $_.':'.$hash{$_} } sort keys %hash;
- untie %hash;
+ my $hashref = &tie_user_hash($cdom, $cname, 'nohist_chatroom',
+ &GDBM_READER());
+ if ($hashref) {
+ @entries=map { $_.':'.$hashref->{$_} } sort(keys(%$hashref));
+ untie(%$hashref);
}
my @participants=();
my $cutoff=time-60;
- if (tie(%hash,'GDBM_File',"$proname/nohist_inchatroom.db",
- &GDBM_WRCREAT(),0640)) {
- $hash{$uname.':'.$udom}=time;
- foreach (sort keys %hash) {
- if ($hash{$_}>$cutoff) {
- $participants[$#participants+1]='active_participant:'.$_;
+ $hashref = &tie_user_hash($cdom, $cname, 'nohist_inchatroom',
+ &GDBM_WRCREAT());
+ if ($hashref) {
+ $hashref->{$uname.':'.$udom}=time;
+ foreach my $user (sort(keys(%$hashref))) {
+ if ($hashref->{$user}>$cutoff) {
+ push(@participants, 'active_participant:'.$user);
}
}
- untie %hash;
+ untie(%$hashref);
}
return (@participants,@entries);
}
sub chat_add {
my ($cdom,$cname,$newchat)=@_;
- my %hash;
- my $proname=&propath($cdom,$cname);
my @entries=();
my $time=time;
- if (tie(%hash,'GDBM_File',"$proname/nohist_chatroom.db",
- &GDBM_WRCREAT(),0640)) {
- @entries=map { $_.':'.$hash{$_} } sort keys %hash;
+ my $hashref = &tie_user_hash($cdom, $cname, 'nohist_chatroom',
+ &GDBM_WRCREAT());
+ if ($hashref) {
+ @entries=map { $_.':'.$hashref->{$_} } sort(keys(%$hashref));
my ($lastid)=($entries[$#entries]=~/^(\w+)\:/);
my ($thentime,$idnum)=split(/\_/,$lastid);
my $newid=$time.'_000000';
@@ -5664,21 +5664,22 @@
$idnum=substr('000000'.$idnum,-6,6);
$newid=$time.'_'.$idnum;
}
- $hash{$newid}=$newchat;
+ $hashref->{$newid}=$newchat;
my $expired=$time-3600;
- foreach (keys %hash) {
- my ($thistime)=($_=~/(\d+)\_/);
+ foreach my $comment (keys(%$hashref)) {
+ my ($thistime) = ($comment=~/(\d+)\_/);
if ($thistime<$expired) {
- delete $hash{$_};
+ delete $hashref->{$comment};
}
}
- untie %hash;
- }
- {
- my $hfh;
- if ($hfh=IO::File->new(">>$proname/chatroom.log")) {
- print $hfh "$time:".&unescape($newchat)."\n";
+ {
+ my $proname=&propath($cdom,$cname);
+ if (open(CHATLOG,">>$proname/chatroom.log")) {
+ print CHATLOG ("$time:".&unescape($newchat)."\n");
+ }
+ close(CHATLOG);
}
+ untie(%$hashref);
}
}