<?php
/**
 * phpaga
 *
 * System log
 *
 * Show the entries of the system log
 *
 * @author Florian Lanthaler <florian@phpaga.net>
 * @version $Id: syslog.php 837 2007-08-26 21:35:19Z 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");
phpaga_user_pageperm(PHPAGA_PERM_MANAGE_SYSSETTINGS);

$entries = array();
$search = array("priority" => null,
                "ident" => null,
                "message" => null,
                "num" => 10);

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

if (isset($_REQUEST["ident"]) && strlen($_REQUEST["ident"]))
    $search["ident"] = $_REQUEST["ident"];

if (isset($_REQUEST["message"]) && strlen($_REQUEST["message"]))
    $search["message"] = $_REQUEST["message"];

if (isset($_REQUEST["num"]) && !strlen($_REQUEST["num"]))
    $search["num"] = null;
else if (isset($_REQUEST["num"]) && is_numeric($_REQUEST["num"]) && ($_REQUEST["num"] > 0))
    $search["num"] = $_REQUEST["num"];

$num = array(10 => "10",
             25 => "25",
             50 => "50");

$priorities = $phpaga_logpriorities;
$idents = phpaga_getlogidents();

phpaga_arrayAddOption($priorities, PHPAGA_OPTION_ALL);
phpaga_arrayAddOption($num, PHPAGA_OPTION_ALL);
phpaga_arrayAddOption($idents, PHPAGA_OPTION_ALL);

$entries = phpaga_getsyslog($search);

if (PhPagaError::isError($entries))
    $entries->printMessage();

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

$tpl = new psmarty;
$tpl->assign("priorities", $priorities);
$tpl->assign("idents", $idents);
$tpl->assign("num", $num);
$tpl->assign("search", $search);
$tpl->assign("entries", $entries);
$tpl->display("syslog.tpl.html");

phpaga_footer();

?>