[LON-CAPA-cvs] cvs: loncom(version_2_11_X) / Lond.pm
raeburn
raeburn at source.lon-capa.org
Wed Feb 10 10:08:14 EST 2021
raeburn Wed Feb 10 15:08:14 2021 EDT
Modified files: (Branch: version_2_11_X)
/loncom Lond.pm
Log:
- For 2.11
Backport 1.16 (part)
Index: loncom/Lond.pm
diff -u loncom/Lond.pm:1.8.2.1 loncom/Lond.pm:1.8.2.2
--- loncom/Lond.pm:1.8.2.1 Sun Sep 2 01:58:30 2018
+++ loncom/Lond.pm Wed Feb 10 15:08:14 2021
@@ -1,6 +1,6 @@
# The LearningOnline Network
#
-# $Id: Lond.pm,v 1.8.2.1 2018/09/02 01:58:30 raeburn Exp $
+# $Id: Lond.pm,v 1.8.2.2 2021/02/10 15:08:14 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -811,6 +811,25 @@
return $iscourse;
}
+sub get_dom {
+ my ($userinput) = @_;
+ my ($cmd,$udom,$namespace,$what) =split(/:/,$userinput,4);
+ my $hashref = &tie_domain_hash($udom,$namespace,&GDBM_READER()) or
+ return "error: ".($!+0)." tie(GDBM) Failed while attempting $cmd";
+ my $qresult='';
+ if (ref($hashref)) {
+ chomp($what);
+ my @queries=split(/\&/,$what);
+ for (my $i=0;$i<=$#queries;$i++) {
+ $qresult.="$hashref->{$queries[$i]}&";
+ }
+ $qresult=~s/\&$//;
+ }
+ &untie_user_hash($hashref) or
+ return "error: ".($!+0)." untie(GDBM) Failed while attempting $cmd";
+ return $qresult;
+}
+
1;
__END__
@@ -933,7 +952,18 @@
The contents of the inner hash, for that single item in the outer hash
are returned (and cached in memcache for 10 minutes).
+=item get_dom ( $userinput )
+get_dom() will retrieve domain configuration information from a GDBM file
+in /home/httpd/lonUsers/$dom on the primary library server in a domain.
+The single argument passed is the string: $cmd:$udom:$namespace:$what
+where $cmd is the command historically passed to lond - i.e., getdom
+or egetdom, $udom is the domain, $namespace is the name of the GDBM file
+(encconfig or configuration), and $what is a string containing names of
+items to retrieve from the db file (each item name is escaped and separated
+from the next item name with an ampersand). The return value is either:
+error: followed by an error message, or a string containing the value (escaped)
+for each item, again separated from the next item with an ampersand.
=back
More information about the LON-CAPA-cvs
mailing list