Location: PHPKode > projects > TEMS -Time and Expense Management System > tems/baseclass/History.php
<?php

/*********************************************************************************
 * TES is a Time and Expense Management program developed by
 * Initechs, LLC. Copyright (C) 2009 - 2010 Initechs LLC.
 *
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License version 3 as published by the
 * Free Software Foundation with the addition of the following permission added
 * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
 * IN WHICH THE COPYRIGHT IS OWNED BY INITECHS, INITECHS DISCLAIMS THE WARRANTY
 * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
 *
 * 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 the Free
 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 * 02110-1301 USA.
 *
 * You can contact Initechs headquarters at 1841 Piedmont Road, Suite 301,
 * Marietta, GA, USA. or at email address hide@address.com
 *
 * The interactive user interfaces in modified source and object code versions
 * of this program must display Appropriate Legal Notices, as required under
 * Section 5 of the GNU General Public License version 3.
 *
 * In accordance with Section 7(b) of the GNU General Public License version 3,
 * these Appropriate Legal Notices must retain the display od the "Initechs" logo.
 * If the display of the logo is not reasonably feasible for technical reasons,
 * the Appropriate Legal Notices must display the words "Powered by Initechs".

 ********************************************************************************/

class History
{
	public function addToHistory($key)
	{
		global $history_array;
		global $ini_array;
		$history_depth = $ini_array['display']['history_depth'];

		$new_history = array();
		unset ($new_history);

		if (isset($_SESSION['history']))
		$history_array = $_SESSION['history'];

		$key = "{$_SESSION['module']}: $key";

		if (array_key_exists($key, $history_array))
		unset ($history_array[$key]);

		$new_history[$key] = $_SERVER['REQUEST_URI'];
		$history_array = array_merge($new_history, $history_array);

		if (count($history_array)> $history_depth)
		array_pop($history_array);

		$_SESSION['history'] = $history_array;
	}

	public function removeFromHistory($key)
	{
		global $history_array;

		if (isset($_SESSION['history']))
		$history_array = $_SESSION['history'];

		$key = "{$_SESSION['module']}: $key";

		if (array_key_exists($key, $history_array))
		unset ($history_array[$key]);

		$_SESSION['history'] = $history_array;
	}

	public function printHistory()
	{
		global $history_array;
		if (isset($_SESSION['history']))
			$history_array = $_SESSION['history'];

		$history = changeLiteral('History');
		$history_stack = "\n<table id = 'sidelist'>";
		$history_stack .= "\n\t<tr>\n\t\t<th>\n\t\t\t $history \n\t\t</th>\n\t</tr>";

		$rowStyle = "";

		foreach ($history_array as $tag => $url)
		{
			$rowStyle == "alt" ? $rowStyle = "" : $rowStyle = "alt";
			if ($rowStyle == "alt")
			$history_stack .= "\n\t<tr class=$rowStyle>";
			else
			$history_stack .= "\n\t<tr>";

			$history_stack .= "\n\t\t<td>\n\t\t\t<a href=$url>$tag</a>\n\t\t</td>";
			$history_stack .= "\n\t</tr>";
		}
		$history_stack .= "\n</table>";

		return $history_stack;
	}

}

?>
Return current item: TEMS -Time and Expense Management System