Location: PHPKode > projects > Nukequiz > html/modules/Nukequiz/public/NQPQuizTime.php
<?php
/*****************************************************************/
/* Nukequiz (tm)    v 3.1.0                                		 */
/* By: Kissoftware (hide@address.com)      		     */
/* http://www.kissoftware.org.uk                           		 */
/* http://www.kissoftware.co.uk                       		     */
/* Copyright © 2003-2008 by Kissoftware         				 */
/* See Docs For Information & Credits                 			 */
/* For More information Visit Forums Or The Online Help Manual	 */
/*****************************************************************/
class time_online {
function time_online() {
$this -> userID  = $_COOKIE["time_online_ID"]; // user's ID
$this -> userTT  = $_COOKIE["time_online_TT"]; // user's total time on site
$this -> userST  = $_COOKIE["time_online_ST"]; // time when user entered the site
$this -> userTO  = $_COOKIE["time_online_TO"]; // time that the user has been online this sesion
$this -> displayID = 0; // ID used to generate diferent script in case of multiple call of display() function
if ($this -> userID != "") {
if ($this -> userST == "") {
$this -> userST = time();
setcookie("time_online_ST", $this -> userST);
}
$this -> userLPT = time() - $this -> userST - $this -> userTO;
$this -> userTT += $this -> userLPT;
setcookie("time_online_TT", $this -> userTT);
$this -> userTO = time() - $this -> userST;
setcookie("time_online_TO", $this -> userTO);
$this -> userTO = time_online::normalizare($this -> userTO);
$this -> userTT = time_online::normalizare($this -> userTT);
}
if ($this -> userID == "") {
time_online::newID();
}
}
function newID() {
$this -> userID = md5(rand());
$this -> userST = time();
$this -> userTO = 0;
$this -> userTT = 0;
setcookie("time_online_ID", $this -> userID, time()+(60*60*24*365*10));
setcookie("time_online_ST", $this -> userST);
setcookie("time_online_TO", $this -> userTO);
setcookie("time_online_TT", $this -> userTT);
}
function normalizare($secunde) {
$minute  = $secunde / 60;
$secunde = $secunde % 60;
$ore     = $minute  / 60;
$minute  = $minute  % 60;
$zile    = $ore     / 24;
$ore     = $ore     % 24;
return $timp = array("days" => (int)$zile, "hours" => $ore, "minutes" => $minute, "seconds" => $secunde);
}
function display_time($type){
$this -> displayID++;
if ($type == "current_page") {
$time_start_multiply = 0;
}
if ($type == "current_session") {
$time_start_multiply = $this -> userTO["days"]*24*60*60 + $this -> userTO["hours"]*60*60 + $this -> userTO["minutes"]*60 + $this -> userTO["seconds"];
}
if ($type == "total_time") {
$time_start_multiply = $this -> userTT["days"]*24*60*60 + $this -> userTT["hours"]*60*60 + $this -> userTT["minutes"]*60 + $this -> userTT["seconds"];
}
echo "<script type=\"text/javascript\">
document.writeln(\"<span id=\\\"time_online" . $this -> displayID . "\\\"></span>\");
zi_inceput" . $this -> displayID . " = new Date();
ceas_start" . $this -> displayID . " = zi_inceput" . $this -> displayID . ".getTime();
function initStopwatch" . $this -> displayID . "() {
var timp_pe_pag" . $this -> displayID . " = new Date();
return((timp_pe_pag" . $this -> displayID . ".getTime()+(1000*$time_start_multiply) - ceas_start" . $this -> displayID . ")/1000);
}
function getSecs" . $this -> displayID . "() {
  var tSecs" . $this -> displayID . " = Math.round(initStopwatch" . $this -> displayID . "());
  var iSecs" . $this -> displayID . " = tSecs" . $this -> displayID . " % 60;
  var iMins" . $this -> displayID . " = Math.round((tSecs" . $this -> displayID . "-30)/60);
  var iHour" . $this -> displayID . " = Math.round((iMins" . $this -> displayID . "-30)/60);
  var iMins" . $this -> displayID . " = iMins" . $this -> displayID . " % 60;
  var iHour" . $this -> displayID . " = iHour" . $this -> displayID . " % 24;
  var sSecs" . $this -> displayID . " = \"\" + ((iSecs" . $this -> displayID . " > 9) ? iSecs" . $this -> displayID . " : \"0\" + iSecs" . $this -> displayID . ");
  var sMins" . $this -> displayID . " = \"\" + ((iMins" . $this -> displayID . " > 9) ? iMins" . $this -> displayID . " : \"0\" + iMins" . $this -> displayID . ");
  var sHour" . $this -> displayID . " = \"\" + ((iHour" . $this -> displayID . " > 9) ? iHour" . $this -> displayID . " : \"0\" + iHour" . $this -> displayID . ");
document.getElementById('time_online" . $this -> displayID . "').innerHTML=sMins" . $this -> displayID . "+\":\"+sSecs" . $this -> displayID . ";
window.setTimeout('getSecs" . $this -> displayID . "()',1000);

}
window.setTimeout('getSecs" . $this -> displayID . "()',1000)
</script>
";
}
}
?>
Return current item: Nukequiz