Server IP : 195.201.23.43 / Your IP : 18.191.209.202 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/kdecoratie/public_html/libraries/fof30/Timer/ |
Upload File : |
<?php /** * @package FOF * @copyright Copyright (c)2010-2019 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU GPL version 2 or later */ namespace FOF30\Timer; defined('_JEXEC') or die; /** * Timeout prevention timer */ class Timer { /** * Maximum execution time allowance per step * * @var integer */ private $max_exec_time = null; /** * Timestamp of execution start * * @var integer */ private $start_time = null; /** * Public constructor, creates the timer object and calculates the execution * time limits. * * @param integer $max_exec_time Maximum execution time, in seconds * @param integer $runtime_bias Runtime bias factor, as percent points of the max execution time * * @return Timer */ public function __construct($max_exec_time = 5, $runtime_bias = 75) { // Initialize start time $this->start_time = microtime(true); $this->max_exec_time = $max_exec_time * $runtime_bias / 100; } /** * Wake-up function to reset internal timer when we get unserialized * * @return void */ public function __wakeup() { // Re-initialize start time on wake-up $this->start_time = microtime(true); } /** * Gets the number of seconds left, before we hit the "must break" threshold * * @return float */ public function getTimeLeft() { return $this->max_exec_time - $this->getRunningTime(); } /** * Gets the time elapsed since object creation/unserialization, effectively * how long this step is running * * @return float */ public function getRunningTime() { return microtime(true) - $this->start_time; } /** * Reset the timer * * @return void */ public function resetTime() { $this->start_time = microtime(true); } }Private