Changeset - r36:bc316cd848df
[Not reviewed]
default
0 1 0
root@mecki.wiedenmann-seile.de - 12 years ago 2013-06-17 13:34:11
root@mecki.wiedenmann-seile.de
* index.php: disable permission tests.
1 file changed with 2 insertions and 2 deletions:
0 comments (0 inline, 0 general)
index.php
Show inline comments
 
<?php // -*- php -*-
 
// Copyright (C) 2012, Wolfgang Scherer, <Wolfgang.Scherer at gmx.de>
 
// Sponsored by WIEDENMANN SEILE GMBH, http://www.wiedenmannseile.de
 
//
 
// This file is part of Wiedenmann Vacation.
 
//
 
// 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 3 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.
 
//
 
// You should have received a copy of the GNU General Public License
 
// along with this program. If not, see <http://www.gnu.org/licenses/>,
 
// or write to Wolfgang Scherer, <Wolfgang.Scherer at gmx.de>
 

	
 
// $_REQUEST['_DEBUG_'] = 1;
 

	
 
// --------------------------------------------------
 
// |||:sec:||| Configuration
 
// --------------------------------------------------
 
require_once(dirname(__FILE__) . '/lib/util.php');
 
require_once(dirname(__FILE__) . '/lib/template.php');
 

	
 
// _DEBUG_ = 1 normal debugging
 
// _DEBUG_ = 2 turn off administrator rights
 
// _DEBUG_ = 3 provoke error #1
 
// _DEBUG_ = 4 provoke error #2
 
if (isset($_REQUEST['_DEBUG_'])) {
 
    $_debug = $_REQUEST['_DEBUG_'];
 
    if (empty($_debug)) {
 
        $_debug = 1;
 
    }
 
} else {
 
    $_debug = 0;
 
}
 

	
 
file_put_contents('/tmp/xxxxxxx', 'check');
 
system('touch /tmp/xxxxxx1');
 
// file_put_contents('/tmp/xxxxxxx', 'check');
 
// system('touch /tmp/xxxxxx1');
 

	
 
// --------------------------------------------------
 
// |||:sec:||| Setup
 
// --------------------------------------------------
 

	
 
if (isset($_SERVER["REMOTE_USER"])) {
 
    $remote_user = $_SERVER["REMOTE_USER"];
 
} else {
 
    $remote_user = '';
 
}
 
if (isset($_REQUEST["user"])) {
 
    $request_user = $_REQUEST["user"];
 
} else {
 
    $request_user = '';
 
}
 

	
 
$is_admin = in_array($remote_user, $ADMIN_USERS);
 
if ($_debug > 1) {
 
    $is_admin = False;
 
}
 
// $is_admin = False;              // |:debug:|
 

	
 
$users = get_users();
 
$user_names = array_keys($users);
 

	
 
if (!$is_admin) {
 
    $user = $remote_user;
 
} else {
 
    $user = $request_user;
 
    if (empty($user)) {
 
        $user = $remote_user;
 
    }
 
}
 

	
 
// --------------------------------------------------
 
// |||:sec:||| HTML Header
 
// --------------------------------------------------
 

	
 
$title = get_text('title');
 
$css = '
 
div.error {
 
    margin-bottom: 10px;
 
}
 
span.label {
 
    width: 100px;
 
    display: inline-block;
 
    vertical-align: top;
 
}
 
hr.sep {
 
    width: 550px;
 
    text-align: left;
 
    margin-left: 0;
 
}
 
#body, #copyright-notice {
 
    width: 550px;
 
    margin: 10px auto;
 
    position:relative;
 
}
 
#body {
 
    text-align: left;
 
}
 
#copyright-notice {
 
    text-align: center;
 
    font-size: 8pt;
 
}
 
h4._more, h4._less {
 
    cursor: pointer;
 
}
 
h4._more:after {
 
    content: "...";
 
    font-weight: bold;
 
    padding-left: 4px;
 
}
 
h4._less:before {
 
    content: "^";
 
    font-weight: bold;
 
    padding-right: 4px;
 
}
 
';
 

	
 
$headers = '<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>';
 

	
 
$script ='
 
jQuery(document).ready(function(){
 
    $("#expert-mode").click(function(ev) {
 
        ev.preventDefault();
 
        var jthis = $(this);
 
        var contents = jthis.next();
 
        if (contents.is(":visible")) {
 
            jthis.addClass("_more");
 
            jthis.removeClass("_less");
 
            contents.hide();
 
        } else {
 
            jthis.removeClass("_more");
 
            jthis.addClass("_less");
 
            contents.show();
 
        }
 
        return false;
 
    }).click();
 
});
 
';
 

	
 
echo substitute_elements(
 
    $HEAD, Array(
 
        'title' => trim($title),
 
        'css' => trim($css),
 
        'headers' => trim($headers),
 
        'script' => trim($script),
 
        ));
 
hl($title);
 

	
 
// --------------------------------------------------
 
// |||:sec:||| Error handling (User)
 
// --------------------------------------------------
 

	
 
if ($_debug > 2) {
 
    $user = '';                 // error #1
 
}
 
if ($_debug > 3) {
 
    $user = 'unknown';          // error #2
 
}
 

	
 
if (empty($user)) {
 
    error_msg(get_text('error_no_user'));
 
    echo $FOOT;
 
    exit(0);
 
}
 

	
 
if (!$is_admin && !in_array($user, $user_names)) {
 
    error_msg(sprintf('%s (%s)!', get_text('error_unknown_user'), $user));
 
    echo $FOOT;
 
    exit(0);
 
}
 

	
 
// --------------------------------------------------
 
// |||:sec:||| Setup HOME/vacation(1)
 
// --------------------------------------------------
 

	
 
$home = $users[$user][1];
 

	
 
if ($_debug) {
 
    echo ('<pre>'."\n");            // |:debug:|
 
    echo ('user: ' . $user . "\n");
 
    echo ('home: ' . $home . "\n");
 
    echo ('</pre>'."\n");
 
}
 

	
 
$vacation_msg_file = sprintf('%s/%s', $home, $VACATION_MSG_FILE);
 
$vacation_db_file = sprintf('%s/%s', $home, $VACATION_DB_FILE);
 
$forward_file = sprintf('%s/%s', $home, $FORWARD_FILE);
 
$forward_active = test_readable($forward_file, $user);
 
$forward_settings = Array(
 
    '\\'.$user, '', sprintf($VACATION_FORWARD_ENTRY, $user));
 
if ($forward_active)
 
{
 
    $forward_settings = cat_file($forward_file, $user);
 
    $lines = explode("\n", $forward_settings);
 
    $forward_settings = preg_split('/, */', $lines[0]);
 
    if (count($forward_settings) < 3) {
 
        $forward_settings[2] = $forward_settings[1];
 
        $forward_settings[1] = '';
 
    }
 
}
 

	
 
$vacation_setup_raw = isset($_REQUEST["raw"]);
 
$vacation_clear = isset($_REQUEST['clear']);
 
if ($vacation_clear || !test_readable($vacation_msg_file, $user)) {
 
    // Reset to default
 
    $vacation_msg = get_text('vacation');
 
    $vacation_parts = vacation_split($vacation_msg, False);
 
    $vacation_subject = $vacation_parts[0];
 
    $vacation_body = $vacation_parts[2];
 
    $vacation_msg = vacation_join($vacation_subject, $vacation_body);
 
    $vacation_setup_raw = False;
 
} else {
 
    $vacation_msg = cat_file($vacation_msg_file, $user);
 
}
 

	
 
$message_parts = message_split($vacation_msg);
 
$message_headers = $message_parts[0];
 
$message_body = $message_parts[1];
 

	
 
$x_wsv_format = header_field_body($message_headers, 'x-wsv-format');
 
if ( $x_wsv_format == 'raw' ) {
 
    $x_wsv_raw = True;
 
} else {
 
    $x_wsv_raw = False;
 
}
 

	
 
if ( $x_wsv_raw )
 
{
 
    $vacation_headers = $message_headers;
0 comments (0 inline, 0 general)