[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