<?php
/**
 * phpaga
 *
 * person
 *
 * View person information
 *
 * @author Florian Lanthaler <florian@phpaga.net>
 * @version $Id: person.php 726 2006-08-05 22:34:30Z florian $
 *
 * Copyright (c) 2002, Florian Lanthaler <florian@phpaga.net>
 *
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 *    * Redistributions of source code must retain the above copyright
 *      notice, this list of conditions and the following disclaimer.
 *
 *    * Redistributions in binary form must reproduce the above copyright
 *      notice, this list of conditions and the following disclaimer in
 *      the documentation and/or other materials provided with the
 *      distribution.
 *
 *    * Neither the name of Florian Lanthaler nor the names of his
 *      contributors may be used to endorse or promote products derived
 *      from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

include_once("./config.php");

$status = "";
$error = array();
$sum_duration = 0;
$opcat_byproject = 0;
$action = ACTION_NONE;
$mhr_year = date("Y");
$isowner = false;

if (isset($_REQUEST["action"]) && is_numeric($_REQUEST["action"]))
    $action = $_REQUEST["action"];

if (isset($_REQUEST["detail"]) && ($_REQUEST["detail"]) == PHPAGA_OPCGRP_PROJECT)
    $opcat_byproject = PHPAGA_OPCGRP_PROJECT;

if (isset($_REQUEST["mhr_year"]) && is_numeric($_REQUEST["mhr_year"]))
     $mhr_year = $_REQUEST["mhr_year"];

if (isset($_REQUEST["id"]) && is_numeric($_REQUEST["id"]))
    $pe_id = $_REQUEST["id"];
else
{

    /* get current user's person id from session variables */
    if (isset($_SESSION["auth_user"]["pe_id"])
        && is_numeric($_SESSION["auth_user"]["pe_id"]))

        $pe_id = $_SESSION["auth_user"]["pe_id"];
    else
        $pe_id = "";
}

phpaga_persons_isowner($isowner, $pe_id, $_SESSION["auth_user"]["pe_id"]);

switch($action)
{
    case ACTION_PE_REMOVE:

        if (!$isowner && !phpaga_user_hasperm(PHPAGA_PERM_MANAGE_OTHERPERSONS))
        {
            phpaga_header(array("menuitem" => "core"));
            phpaga_message(_("No access"), _("You are not allowed to delete this record."));
            phpaga_footer();
            exit;
        }

        $result = phpaga_persons_delete($pe_id);
        if ($result == PHPAGA_ERR_NONE)
            header("Location: persons.php");
        else
            $error[] = $result;
        break;

    default:
        break;
}

phpaga_header(array("menuitem" => "core"));

$result = phpaga_persons_getInfo($pe_id, $peInfo);

if ($result != PHPAGA_ERR_NONE)
    phpaga_error($result);
else
{

    if (count($error) > 0)
        phpaga_error($error);

    $tpl = new psmarty;
    $tpl->assign("person", $peInfo);

    $tpl->assign("MANHOURS_HEADER",
                        sprintf(_("Manhours"), $mhr_year));

    $opcatresult = phpaga_operations_getOpcatStats(array("pe_id" => $pe_id),
                                                   $peopcatStats,
                                                   $sum_duration,
                                                   $opcat_byproject);

    if ($opcatresult != PHPAGA_ERR_NONE)
    {
        $tpl->assign("opcatresult", false);
    }
    else
    {
        $tpl->assign("opcatresult", true);
        $tpl->assign("opcats", $peopcatStats);
        $tpl->assign("TOTAL_DURATION", $sum_duration);

        if ($opcat_byproject == PHPAGA_OPCGRP_PROJECT)
            $tpl->assign("opcatcols", count($peopcatStats["projects"]));

    }

    $tpl->assign("curryear", date("Y"));
    $tpl->assign("mhr_year", $mhr_year);
    $tpl->assign("opcat_byproject", $opcat_byproject);
    $tpl->assign("STATUSMSG", $status);
    $tpl->assign("perm_persons", phpaga_user_hasperm(PHPAGA_PERM_MANAGE_OTHERPERSONS));
    $tpl->assign("perm_rate", ($isowner
                               || phpaga_user_hasperm(PHPAGA_PERM_MANAGE_OTHERPERSONS)
                               || phpaga_user_hasperm(PHPAGA_PERM_VIEW_FINANCE)));
    $tpl->display("person.tpl.html");
}

phpaga_footer();

?>