init
Signed-off-by: Nico Schottelius <nico@manager.schottelius.org>
This commit is contained in:
parent
256dc98754
commit
df2daf524d
641 changed files with 140617 additions and 12 deletions
90
viewfile
Executable file
90
viewfile
Executable file
|
|
@ -0,0 +1,90 @@
|
|||
#!/usr/bin/perl -wT
|
||||
#
|
||||
# TWiki Collaboration Platform, http://TWiki.org/
|
||||
#
|
||||
# Copyright (C) 1999-2003 Peter Thoeny, peter@thoeny.com
|
||||
#
|
||||
# For licensing info read license.txt file in the TWiki root.
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details, published at
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
|
||||
# Set library paths in @INC, at compile time
|
||||
BEGIN { unshift @INC, '.'; require 'setlib.cfg'; }
|
||||
|
||||
use CGI::Carp qw(fatalsToBrowser);
|
||||
use CGI;
|
||||
use TWiki;
|
||||
|
||||
&main();
|
||||
|
||||
sub suffixToMimeType
|
||||
{
|
||||
my( $theFilename ) = @_;
|
||||
|
||||
my $mimeType = 'text/plain';
|
||||
if( $theFilename =~ /\.(.+)$/ ) {
|
||||
my $suffix = $1;
|
||||
my @types = grep{ s/^\s*([^\s]+).*?\s$suffix\s.*$/$1/i }
|
||||
map{ "$_ " }
|
||||
split( /[\n\r]/, &TWiki::Store::readFile( $TWiki::mimeTypesFilename ) );
|
||||
$mimeType = $types[0] if( @types );
|
||||
}
|
||||
return $mimeType;
|
||||
}
|
||||
|
||||
sub main
|
||||
{
|
||||
my $query = new CGI;
|
||||
|
||||
my $thePathInfo = $query->path_info();
|
||||
my $theRemoteUser = $query->remote_user();
|
||||
my $theTopic = $query->param( 'topic' );
|
||||
my $theUrl = $query->url;
|
||||
|
||||
( $topic, $webName ) =
|
||||
&TWiki::initialize( $thePathInfo, $theRemoteUser, $theTopic, $theUrl, $query );
|
||||
|
||||
my $tmpl= "";
|
||||
|
||||
if( ! &TWiki::Store::webExists( $webName ) ) {
|
||||
my $url = &TWiki::getOopsUrl( $webName, $topic, "oopsnoweb" );
|
||||
TWiki::redirect( $query, $url );
|
||||
return;
|
||||
}
|
||||
|
||||
my $fileName = $query->param( 'filename' );
|
||||
|
||||
my $rev = $query->param( 'rev' ) || "";
|
||||
my $topRev = &TWiki::Store::getRevisionNumber( $webName, $topic, $fileName );
|
||||
|
||||
if( ( $rev ) && ( $rev ne $topRev ) ) {
|
||||
my $fileContent = &TWiki::Store::readAttachmentVersion( $webName, $topic, $fileName, $rev );
|
||||
if( $fileContent ) {
|
||||
my $mimeType = suffixToMimeType( $fileName );
|
||||
print $query->header( -type => $mimeType,
|
||||
-Content_Disposition => "inline;filename=$fileName");
|
||||
print "$fileContent";
|
||||
return;
|
||||
} else {
|
||||
# If no file content we'll try and show pub content, should there be a warning FIXME
|
||||
}
|
||||
}
|
||||
|
||||
# this should actually kick off a document conversion
|
||||
# (.doc, .xls... to .html) and show the html file.
|
||||
# Convert only if html file does not yet exist
|
||||
# for now, show the original document:
|
||||
|
||||
# PTh 20 Jun 2000: Added host
|
||||
my $pubUrlPath = &TWiki::getPubUrlPath();
|
||||
my $host = $TWiki::urlHost;
|
||||
TWiki::redirect( $query, "$host$pubUrlPath/$webName/$topic/$fileName" );
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue