Version: 1.0
Type: Class
Category: Calendars/Dates
License: GNU Library Public License
Description: The elapsed:: class keeps a record of a specific time using a simple text file referred to as a Token. It provides simple tools to check elapsed time.
<?php /** * The elepsed:: class keeps a record of a specific time * using a simple text file reffered to as a Token. It * provides simple tools to check elepsed time. * * Copyright 2007-2008 Adam GRandt <[email protected]> * * This library is provided under LGPL. see http://www.fsf.org/copyleft/lgpl.html. * */ //***************************************************************************// // This Libary may NOT function due to safe mode . // // Please make sure to put all relevant files in the safe_mode_include_dir. // //***************************************************************************// class ElepsedTimer { /** * * var * * $filenameis the name and pathe of the file that will * contain the last timestamp. This path must be writble by * the web server! The defult value is "TimerToken" wich * you can change at runtime. * * $this->$debug: if == 1 shows debug comments * */ public $FileName = "TimerToken"; public $debug = 0; /** * * Constructor. * */ function __construct() { if (file_exists($this->FileName)&(is_writable($this->FileName))) { if ($this->debug == 1){ echo "The Elepsed token was found and is accessible";} return true; } else { if (@touch($this->FileName)) { $this ->update(); if ($this->debug == 1){ echo "The Elepsed token was created & updated successfully"; } } else { if ($this->debug == 1){ echo "Sorry, The Elepsed token named <b>$this->FileName</b> was not found and could not be created.<br>Please verify the permission settings of your web-root dir.<br>";} exit("<h4>Sorry, We have encountered a fatal error in the Elepsed module. INU0001</h4>"); } } } public function update() { if (file_put_contents("$this->FileName",time())) { if ($this->debug == 1){ echo "The Elepsed token was updated successfully";} } else { if ($this->debug == 1){ echo "Sorry, The Elepsed token could not be updated.<br>";} exit("<h4>Sorry, We have encountered a fatal error in the Elepsed module. INU0002</h4>"); } } /** * * Reaturns the pretty date format of the time stamp in the token. * You can send in any date func format you like * */ public function show($DateFormat = 'l dS of F Y h:i:s A') { if ($token = file_get_contents("$this->FileName") ) { return date($DateFormat,$token); } else { if ($this->debug == 1){ echo "Sorry, The elepsed token could not be read.<br>";} exit("<h4>Sorry, We have encountered a fatal error in the Elepsed module. INU0003</h4>"); } } /** * * Reaturns the elepsed timesince the token. * You can send in "s" for Seconds (def), "m" for Minuets, * "h" for Hours, * or "d" for Days. * Note: You must send the format as a STRING! * */ public function elepsed($format = "s") { if ($token = file_get_contents("$this->FileName") ) { switch ($format) { case "s": return (number_format(time()-$token,0)); break; case "m": return (number_format((time()-$token)/60,0)); break; case "h": return (number_format((time()-$token)/3600,0)); break; case "d": return (number_format((time()-$token)/86400,0)); break; default: break; } } else { if ($this->debug == 1){ echo "Sorry, The Elepsed token could not be read.<br>";} exit("<h4>Sorry, We have encountered a fatal error in the Elepsed module. INU0004</h4>"); } } } ?>