--- loncom/lonnet/perl/lonnet.pm 2006/10/19 21:23:23 1.797 +++ loncom/lonnet/perl/lonnet.pm 2006/10/20 00:34:45 1.798 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.797 2006/10/19 21:23:23 raeburn Exp $ +# $Id: lonnet.pm,v 1.798 2006/10/20 00:34:45 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1636,7 +1636,14 @@ sub removeuploadedurl { sub removeuserfile { my ($docuname,$docudom,$fname)=@_; my $home=&homeserver($docuname,$docudom); - return &reply("removeuserfile:$docudom/$docuname/$fname",$home); + my $result = &reply("removeuserfile:$docudom/$docuname/$fname",$home); + if ($result eq 'ok') { + if (($fname !~ /\.meta$/) && (&is_portfolio_file($fname))) { + my $metafile = $fname.'.meta'; + my $metaresult = &removeuserfile($docuname,$docudom,$metafile); + } + } + return $result; } sub mkdiruserfile { @@ -1648,8 +1655,17 @@ sub mkdiruserfile { sub renameuserfile { my ($docuname,$docudom,$old,$new)=@_; my $home=&homeserver($docuname,$docudom); - return &reply("renameuserfile:$docudom:$docuname:".&escape("$old").':'. - &escape("$new"),$home); + my $result = &reply("renameuserfile:$docudom:$docuname:". + &escape("$old").':'.&escape("$new"),$home); + if ($result eq 'ok') { + if (($old !~ /\.meta$/) && (&is_portfolio_file($old))) { + my $oldmeta = $old.'.meta'; + my $newmeta = $new.'.meta'; + my $metaresult = + &renameuserfile($docuname,$docudom,$oldmeta,$newmeta); + } + } + return $result; } # ------------------------------------------------------------------------- Log @@ -3444,6 +3460,15 @@ sub is_portfolio_url { return scalar(&parse_portfolio_url($url)); } +sub is_portfolio_file { + my ($file) = @_; + if (($file =~ /^portfolio/) || ($file =~ /^groups\/\w+\/portfolio/)) { + return 1; + } + return; +} + + # ---------------------------------------------- Custom access rule evaluation sub customaccess {