--- loncom/interface/loncoursequeueadmin.pm 2009/08/16 23:04:42 1.3 +++ loncom/interface/loncoursequeueadmin.pm 2009/08/17 04:39:15 1.4 @@ -1,7 +1,7 @@ # The LearningOnline Network # Utilities to administer domain course requests and course self-enroll requests # -# $Id: loncoursequeueadmin.pm,v 1.3 2009/08/16 23:04:42 raeburn Exp $ +# $Id: loncoursequeueadmin.pm,v 1.4 2009/08/17 04:39:15 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -895,4 +895,30 @@ sub build_batchcreatehash { return %batchhash; } +sub can_clone_course { + my ($uname,$udom,$clonecrs,$clonedom) = @_; + my $canclone; + my %roleshash = &Apache::lonnet::get_my_roles($uname,$udom,'userroles',['active'], + ['cc'],[$clonedom]); + if (exists($roleshash{$clonedom.':'.$clonecrs.':cc'})) { + $canclone = 1; + } else { + my %courseenv = &Apache::lonnet::userenvironment($clonedom,$clonecrs,('cloners')); + my $cloners = $courseenv{'cloners'}; + if ($cloners ne '') { + my @cloneable = split(',',$cloners); + if (grep(/^\*$/,@cloneable)) { + $canclone = 1; + } + if (grep(/^\*:\Q$udom\E$/,@cloneable)) { + $canclone = 1; + } + if (grep(/^\Q$uname\E:\Q$udom\E$/,@cloneable)) { + $canclone = 1; + } + } + } + return $canclone; +} + 1;