--- loncom/interface/londocs.pm 2003/09/05 18:11:26 1.73
+++ loncom/interface/londocs.pm 2003/09/15 15:24:18 1.78
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Documents
#
-# $Id: londocs.pm,v 1.73 2003/09/05 18:11:26 bowersj2 Exp $
+# $Id: londocs.pm,v 1.78 2003/09/15 15:24:18 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -35,6 +35,7 @@ use Apache::loncommon;
use Apache::lonratedt;
use Apache::lonratsrv;
use Apache::lonxml;
+use Apache::loncreatecourse;
use HTML::Entities;
use GDBM_File;
@@ -72,6 +73,118 @@ sub storemap {
$map,1);
}
+# ----------------------------------------- Return hash with valid author names
+
+sub authorhosts {
+ my %outhash=();
+ my $home=0;
+ my $other=0;
+ foreach (keys %ENV) {
+ if ($_=~/^user\.role\.(au|ca)\.(.+)$/) {
+ my $role=$1;
+ my $realm=$2;
+ my ($start,$end)=split(/\./,$ENV{$_});
+ if (($start) && ($start>time)) { next; }
+ if (($end) && (time>$end)) { next; }
+ my $ca; my $cd;
+ if ($1 eq 'au') {
+ $ca=$ENV{'user.name'};
+ $cd=$ENV{'user.domain'};
+ } else {
+ ($cd,$ca)=($realm=~/^\/(\w+)\/(\w+)$/);
+ }
+ if (&Apache::lonnet::homeserver($ca,$cd) eq
+ $Apache::lonnet::perlvar{'lonHostID'}) {
+ $home++;
+ $outhash{'home_'.$ca.'@'.$cd}=1;
+ } else {
+ $outhash{'otherhome_'.$ca.'@'.$cd}=
+ &Apache::lonnet::homeserver($ca,$cd);
+ $other++;
+ }
+ }
+ }
+ return ($home,$other,%outhash);
+}
+# ------------------------------------------------------ Generate "dump" button
+
+sub dumpbutton {
+ my ($home,$other,%outhash)=&authorhosts();
+ if ($home+$other==0) { return ''; }
+ my $output='
';
+ if ($home) {
+ return ' | '.
+ '';
+ } else {
+ return' | '.
+ 'Dump Course DOCS to Construction Space: available on other servers';
+ }
+}
+
+# -------------------------------------------------------- Actually dump course
+
+sub dumpcourse {
+ my $r=shift;
+ $r->print('Dump DOCS'.
+ &Apache::loncommon::bodytag('Dump Course DOCS to Construction Space').
+ '');
+ }
+}
+
+
# Imports the given (name, url) resources into the course
# coursenum, coursedom, and folder must precede the list
sub group_import {
@@ -382,34 +495,12 @@ sub checkonthis {
}
}
-# ================================================================ Main Handler
-sub handler {
- my $r = shift;
- $r->content_type('text/html');
- $r->send_http_header;
- return OK if $r->header_only;
-# --------------------------------------------- Initialize help topics for this
- foreach ('Adding_Course_Doc','Main_Course_Documents',
- 'Adding_External_Resource','Navigate_Content',
- 'Adding_Folders','Docs_Overview', 'Load_Map',
- 'Supplemental', 'Score_Upload_Form',
- 'Importing_LON-CAPA_Resource','Uploading_From_Harddrive') {
- $help{$_}=&Apache::loncommon::help_open_topic('Docs_'.$_);
- }
- # Composite help files
- $help{'Syllabus'} = &Apache::loncommon::help_open_topic(
- 'Docs_About_Syllabus,Docs_Editing_Templated_Pages');
- $help{'Simple Page'} = &Apache::loncommon::help_open_topic(
- 'Docs_About_Simple_Page,Docs_Editing_Templated_Pages');
- $help{'Bulletin Board'} = &Apache::loncommon::help_open_topic(
- 'Docs_About_Bulletin_Board,Docs_Editing_Templated_Pages');
- $help{'My Personal Info'} = &Apache::loncommon::help_open_topic(
- 'Docs_About_My_Personal_Info,Docs_Editing_Templated_Pages');
- $help{'Caching'} = &Apache::loncommon::help_open_topic('Caching');
-
- if ($ENV{'form.verify'}) {
-
+#
+# -------------------------------------------------------------- Verify Content
+#
+sub verifycontent {
+ my $r=shift;
my $loaderror=&Apache::lonnet::overloaderror($r);
if ($loaderror) { return $loaderror; }
@@ -426,8 +517,13 @@ sub handler {
}
&untiehash();
$r->print('Done.');
- } elsif ($ENV{'form.versions'}) {
- $r->print('Check Versions'.
+}
+
+# -------------------------------------------------------------- Check Versions
+
+sub checkversions {
+ my $r=shift;
+ $r->print('Check Versions'.
&Apache::loncommon::bodytag('Check Course Document Versions'));
$hashtied=0;
&tiehash();
@@ -460,7 +556,7 @@ sub handler {
$seltext='since yesterday ('.localtime($starttime).')';
$daysel='selected';
}
-
+
$r->print(<
|