xref: /aoo4110/main/sd/res/webview/common.pl (revision b1cdbd2c)
1*b1cdbd2cSJim Jagielski# *************************************************************
2*b1cdbd2cSJim Jagielski#
3*b1cdbd2cSJim Jagielski#  Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski#  or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski#  distributed with this work for additional information
6*b1cdbd2cSJim Jagielski#  regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski#  to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski#  "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski#  with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski#
11*b1cdbd2cSJim Jagielski#    http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski#
13*b1cdbd2cSJim Jagielski#  Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski#  software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski#  KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski#  specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski#  under the License.
19*b1cdbd2cSJim Jagielski#
20*b1cdbd2cSJim Jagielski# *************************************************************
21*b1cdbd2cSJim Jagielskipackage common;
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski$REFRESH_TIME = 5;
24*b1cdbd2cSJim Jagielski
25*b1cdbd2cSJim Jagielskisub File_read
26*b1cdbd2cSJim Jagielski{
27*b1cdbd2cSJim Jagielski    $sFilename = @_[ 0 ];
28*b1cdbd2cSJim Jagielski
29*b1cdbd2cSJim Jagielski    @aFileContentList = "";
30*b1cdbd2cSJim Jagielski    open( F_CURRPIC, "<" . $sFilename ) || "Could not open file " . $sFilename . " !<BR>\n";
31*b1cdbd2cSJim Jagielski    while( <F_CURRPIC> )
32*b1cdbd2cSJim Jagielski    {
33*b1cdbd2cSJim Jagielski        push( @aFileContentList, $_ );
34*b1cdbd2cSJim Jagielski    }
35*b1cdbd2cSJim Jagielski    close( F_CURRPIC );
36*b1cdbd2cSJim Jagielski
37*b1cdbd2cSJim Jagielski    return @aFileContentList;
38*b1cdbd2cSJim Jagielski}   ##File_read
39*b1cdbd2cSJim Jagielski
40*b1cdbd2cSJim Jagielski
41*b1cdbd2cSJim Jagielskisub HTTP_getRequest
42*b1cdbd2cSJim Jagielski{
43*b1cdbd2cSJim Jagielski    # post- or get- method ?
44*b1cdbd2cSJim Jagielski    if( $ENV{ 'REQUEST_METHOD' } eq 'GET' )
45*b1cdbd2cSJim Jagielski    {
46*b1cdbd2cSJim Jagielski        # get parameters from querystring (get)
47*b1cdbd2cSJim Jagielski        $sRequest = $ENV{ 'QUERY_STRING' }
48*b1cdbd2cSJim Jagielski    }
49*b1cdbd2cSJim Jagielski    else
50*b1cdbd2cSJim Jagielski    {
51*b1cdbd2cSJim Jagielski        # get parameters from stdin (post)
52*b1cdbd2cSJim Jagielski        read( STDIN, $sRequest, $ENV{ 'CONTENT_LENGTH' } );
53*b1cdbd2cSJim Jagielski    }
54*b1cdbd2cSJim Jagielski    # process parameters
55*b1cdbd2cSJim Jagielski    @aRequestList = split( /&/, $sRequest );
56*b1cdbd2cSJim Jagielski    foreach $Feld ( @aRequestList )
57*b1cdbd2cSJim Jagielski    {
58*b1cdbd2cSJim Jagielski        ( $name, $sValue ) = split( /=/, $Feld );
59*b1cdbd2cSJim Jagielski        $sValue =~ tr/+/ /;
60*b1cdbd2cSJim Jagielski        $sValue =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
61*b1cdbd2cSJim Jagielski        $sValue =~ s/<!--(.|\n)*-->//g;
62*b1cdbd2cSJim Jagielski        $aRequestMap{ $name } = $sValue;
63*b1cdbd2cSJim Jagielski    }
64*b1cdbd2cSJim Jagielski
65*b1cdbd2cSJim Jagielski    return %aRequestMap;
66*b1cdbd2cSJim Jagielski}   ##HTTP_getRequest
67*b1cdbd2cSJim Jagielski
68*b1cdbd2cSJim Jagielski1;
69