version 1.529, 2004/08/23 19:34:01
|
version 1.532, 2004/08/25 16:03:17
|
Line 1047 sub currentversion {
|
Line 1047 sub currentversion {
|
sub subscribe { |
sub subscribe { |
my $fname=shift; |
my $fname=shift; |
if ($fname=~/\/(aboutme|syllabus|bulletinboard|smppg)$/) { return ''; } |
if ($fname=~/\/(aboutme|syllabus|bulletinboard|smppg)$/) { return ''; } |
|
$fname=~s/[\n\r]//g; |
my $author=$fname; |
my $author=$fname; |
$author=~s/\/home\/httpd\/html\/res\/([^\/]*)\/([^\/]*).*/$1\/$2/; |
$author=~s/\/home\/httpd\/html\/res\/([^\/]*)\/([^\/]*).*/$1\/$2/; |
my ($udom,$uname)=split(/\//,$author); |
my ($udom,$uname)=split(/\//,$author); |
Line 1067 sub repcopy {
|
Line 1068 sub repcopy {
|
my $filename=shift; |
my $filename=shift; |
$filename=~s/\/+/\//g; |
$filename=~s/\/+/\//g; |
if ($filename=~/^\/home\/httpd\/html\/adm\//) { return OK; } |
if ($filename=~/^\/home\/httpd\/html\/adm\//) { return OK; } |
|
$filename=~s/[\n\r]//g; |
my $transname="$filename.in.transfer"; |
my $transname="$filename.in.transfer"; |
if ((-e $filename) || (-e $transname)) { return OK; } |
if ((-e $filename) || (-e $transname)) { return OK; } |
my $remoteurl=subscribe($filename); |
my $remoteurl=subscribe($filename); |
Line 1267 sub process_coursefile {
|
Line 1269 sub process_coursefile {
|
# input: name of form element, coursedoc=1 means this is for the course |
# input: name of form element, coursedoc=1 means this is for the course |
# output: url of file in userspace |
# output: url of file in userspace |
|
|
sub userfileupload { |
sub clean_filename { |
my ($formname,$coursedoc,$subdir)=@_; |
my ($fname)=@_; |
if (!defined($subdir)) { $subdir='unknown'; } |
|
my $fname=$ENV{'form.'.$formname.'.filename'}; |
|
# Replace Windows backslashes by forward slashes |
# Replace Windows backslashes by forward slashes |
$fname=~s/\\/\//g; |
$fname=~s/\\/\//g; |
# Get rid of everything but the actual filename |
# Get rid of everything but the actual filename |
Line 1279 sub userfileupload {
|
Line 1279 sub userfileupload {
|
$fname=~s/\s+/\_/g; |
$fname=~s/\s+/\_/g; |
# Replace all other weird characters by nothing |
# Replace all other weird characters by nothing |
$fname=~s/[^\w\.\-]//g; |
$fname=~s/[^\w\.\-]//g; |
|
return $fname; |
|
} |
|
|
|
sub userfileupload { |
|
my ($formname,$coursedoc,$subdir)=@_; |
|
if (!defined($subdir)) { $subdir='unknown'; } |
|
my $fname=$ENV{'form.'.$formname.'.filename'}; |
|
$fname=&clean_filename($fname); |
# See if there is anything left |
# See if there is anything left |
unless ($fname) { return 'error: no uploaded file'; } |
unless ($fname) { return 'error: no uploaded file'; } |
chop($ENV{'form.'.$formname}); |
chop($ENV{'form.'.$formname}); |
Line 1372 sub removeuserfile {
|
Line 1380 sub removeuserfile {
|
return &reply("removeuserfile:$docudom/$docuname/$fname",$home); |
return &reply("removeuserfile:$docudom/$docuname/$fname",$home); |
} |
} |
|
|
|
sub mkdiruserfile { |
|
my ($docuname,$docudom,$dir)=@_; |
|
my $home=&homeserver($docuname,$docudom); |
|
return &reply("mkdiruserfile:".&escape("$docudom/$docuname/$dir"),$home); |
|
} |
|
|
|
sub renameuserfile { |
|
my ($docuname,$docudom,$old,$new)=@_; |
|
my $home=&homeserver($docuname,$docudom); |
|
return &reply("renameuserfile:$docudom:$docuname:".&escape("$old").':'. |
|
&escape("$new"),$home); |
|
} |
|
|
# ------------------------------------------------------------------------- Log |
# ------------------------------------------------------------------------- Log |
|
|
sub log { |
sub log { |