You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							633 lines
						
					
					
						
							14 KiB
						
					
					
				
			
		
		
	
	
							633 lines
						
					
					
						
							14 KiB
						
					
					
				<?php | 
						|
# | 
						|
include_once('inc.php'); | 
						|
# | 
						|
global $site_title; | 
						|
global $page_title; | 
						|
global $page_scripts; | 
						|
global $page_css; | 
						|
# | 
						|
$site_title = 'CKPool'; | 
						|
$page_title = $site_title; | 
						|
$page_scripts = ''; | 
						|
$page_css = ''; | 
						|
# | 
						|
global $dont_trm; | 
						|
$dont_trm = false; | 
						|
# | 
						|
// work out the page from ?k=page | 
						|
function getPage() | 
						|
{ | 
						|
 $uri = $_SERVER["REQUEST_URI"]; | 
						|
 | 
						|
 $names = explode('k=', trim($uri)); | 
						|
 if (count($names) < 2) | 
						|
	return ''; | 
						|
 | 
						|
 $vals = explode('&', trim($names[1])); | 
						|
 if ($count($vals) < 1) | 
						|
	return ''; | 
						|
 | 
						|
 return trim($vals[0]); | 
						|
} | 
						|
# | 
						|
function addScript($script) | 
						|
{ | 
						|
 global $page_scripts; | 
						|
 | 
						|
 if ($script != null and trim($script) != '') | 
						|
 { | 
						|
	if ($page_scripts == '') | 
						|
		$page_scripts = "<script type='text/javascript'>\n"; | 
						|
 | 
						|
	$page_scripts .= $script; | 
						|
 } | 
						|
} | 
						|
# | 
						|
function addCSS($css) | 
						|
{ | 
						|
 global $page_css; | 
						|
 | 
						|
 $page_css .= $css; | 
						|
} | 
						|
# | 
						|
global $added_gbase; | 
						|
$added_gbase = false; | 
						|
function addGBase() | 
						|
{ | 
						|
 global $added_gbase; | 
						|
 if ($added_gbase == false) | 
						|
 { | 
						|
	$added_gbase = true; | 
						|
	$g = GBaseJS(); | 
						|
	addScript($g); | 
						|
 } | 
						|
} | 
						|
# | 
						|
global $added_tips; | 
						|
$added_tips = false; | 
						|
function addTips() | 
						|
{ | 
						|
 global $added_tips; | 
						|
 if ($added_tips == false) | 
						|
 { | 
						|
	$added_tips = true; | 
						|
	$t = TipsJS(); | 
						|
	addScript($t); | 
						|
	$tcss = TipsCSS(); | 
						|
	addCSS($tcss); | 
						|
 } | 
						|
} | 
						|
# | 
						|
global $added_sort; | 
						|
$added_sort = false; | 
						|
function addSort() | 
						|
{ | 
						|
 global $added_sort; | 
						|
 if ($added_sort == false) | 
						|
 { | 
						|
	$added_sort = true; | 
						|
	$s = SortJS(); | 
						|
	addScript($s); | 
						|
 } | 
						|
} | 
						|
# | 
						|
global $added_qr; | 
						|
$added_qr = false; | 
						|
function addQR() | 
						|
{ | 
						|
 global $added_qr; | 
						|
 if ($added_qr == false) | 
						|
 { | 
						|
	$added_qr = true; | 
						|
	addGBase(); | 
						|
	$q = QRJS(); | 
						|
	addScript($q); | 
						|
 } | 
						|
} | 
						|
# | 
						|
function makeURL($page) | 
						|
{ | 
						|
 if ($page == null) | 
						|
	$page = ''; | 
						|
 else if ($page != '') | 
						|
	$page = '?k='.$page; | 
						|
 return "/index.php$page"; | 
						|
} | 
						|
# | 
						|
function makeLink($page, $rest = '') | 
						|
{ | 
						|
 $href = "<a href='".makeURL($page)."'"; | 
						|
 if ($rest != '') | 
						|
	$href .= " $rest"; | 
						|
 $href .= '>'; | 
						|
 | 
						|
 return $href; | 
						|
} | 
						|
# | 
						|
function makeForm($page) | 
						|
{ | 
						|
 $form = '<form action=index.php method=POST>'; | 
						|
 if (strlen($page) > 0) | 
						|
	$form .= "<input type=hidden name=k value=$page>"; | 
						|
 return $form; | 
						|
} | 
						|
# | 
						|
function dotrm($html, $dontdoit) | 
						|
{ | 
						|
 if ($dontdoit === true) | 
						|
	return $html; | 
						|
 else | 
						|
	return preg_replace('/ *\n */', '', $html); | 
						|
} | 
						|
# | 
						|
function trm($html) | 
						|
{ | 
						|
 global $dont_trm; | 
						|
 | 
						|
 return dotrm($html, $dont_trm); | 
						|
} | 
						|
# | 
						|
function trm_force($html) | 
						|
{ | 
						|
 return dotrm($html, false); | 
						|
} | 
						|
# | 
						|
function pghead($css_marker, $script_marker, $name) | 
						|
{ | 
						|
 global $page_title; | 
						|
 | 
						|
 $head = "<!DOCTYPE html>\n"; | 
						|
 | 
						|
 $head .= "<html><head><title>$page_title$name</title>"; | 
						|
 $head .= "<meta content='text/html; charset=iso-8859-1' http-equiv='Content-Type'>"; | 
						|
 $head .= "<meta content='IE=edge' http-equiv='X-UA-Compatible'>"; | 
						|
 $head .= "<meta content='width=device-width, initial-scale=1' name='viewport'>"; | 
						|
 | 
						|
 $head .= "<script type='text/javascript'>\n"; | 
						|
 $head .= HeadJS(); | 
						|
 $head .= "\n</script>\n"; | 
						|
 $head .= "<style type='text/css'>\n"; | 
						|
 $head .= HeadCSS(); | 
						|
 $head .= "\n$css_marker\n</style>\n"; | 
						|
 | 
						|
 $head .= '<meta name="robots" content="noindex">'; | 
						|
 | 
						|
 $head .= $script_marker; // where to put the scripts | 
						|
 | 
						|
 $head .= '</head>'; | 
						|
 | 
						|
 return $head; | 
						|
} | 
						|
# | 
						|
function pgtop($alert_marker, $info, $dotop, $user, $douser) | 
						|
{ | 
						|
 global $site_title, $loginfailed; | 
						|
 | 
						|
 $phr = '?THs'; | 
						|
 $plb = '?'; | 
						|
 $nlb = '?'; | 
						|
 $pac = '0'; | 
						|
 $per = '0'; | 
						|
 $perset = false; | 
						|
 $uhr = '?GHs'; | 
						|
 $u1hr = ''; | 
						|
 if ($info !== false) | 
						|
 { | 
						|
	$now = time(); | 
						|
 | 
						|
	if (isset($info['p_hashrate5m'])) | 
						|
		$phr = $info['p_hashrate5m']; | 
						|
 | 
						|
//	if (isset($info['p_elapsed']) | 
						|
//	and isset($info['p_hashrate1hr']) | 
						|
//	and $info['p_elapsed'] > 3600) | 
						|
//		$phr = $info['p_hashrate1hr']; | 
						|
 | 
						|
	if ($phr == '?') | 
						|
		$phr = '?THs'; | 
						|
	else | 
						|
		$phr = dsprate($phr); | 
						|
 | 
						|
	if (isset($info['lastblock'])) | 
						|
	{ | 
						|
		$plb = $info['lastblock']; | 
						|
		if ($plb != '?') | 
						|
		{ | 
						|
			$sec = $now - $plb; | 
						|
			if ($sec < 60) | 
						|
				$plb = $sec.'s'; | 
						|
			else | 
						|
			{ | 
						|
				if ($sec < 3600) | 
						|
				{ | 
						|
					$min = round($sec / 60); | 
						|
					$plb = $min.'m'; | 
						|
				} | 
						|
				else | 
						|
				{ | 
						|
					$min = round($sec / 60); | 
						|
					$hr = round($min / 60); | 
						|
					$min -= ($hr * 60); | 
						|
					$plb = $hr.'h'; | 
						|
					if ($min > 0) | 
						|
						$plb .= ' '.$min.'m'; | 
						|
				} | 
						|
			} | 
						|
		} | 
						|
	} | 
						|
 | 
						|
	if (isset($info['lastblockheight'])) | 
						|
		$plb .= ' ('.$info['lastblockheight'].')'; | 
						|
 | 
						|
	if (isset($info['lastbc'])) | 
						|
	{ | 
						|
		$nlb = $info['lastbc']; | 
						|
		if ($nlb != '?') | 
						|
		{ | 
						|
			$sec = $now - $nlb; | 
						|
			$min = round($sec / 60); | 
						|
			$nlb = $min.'m'; | 
						|
			$s = $sec - $min * 60; | 
						|
			if ($s > 0) | 
						|
				$nlb .= " ${s}s"; | 
						|
		} | 
						|
	} | 
						|
 | 
						|
	if (isset($info['lastheight'])) | 
						|
		$nlb .= ' ('.$info['lastheight'].')'; | 
						|
 | 
						|
	if (isset($info['blockacc'])) | 
						|
	{ | 
						|
		$acc = $info['blockacc']; | 
						|
		$pac = number_format($acc, 0); | 
						|
		if (isset($info['currndiff'])) | 
						|
		{ | 
						|
			$cur = $info['currndiff']; | 
						|
			if ($cur != '?' && $cur > 0.0) | 
						|
				$pac .= ' ('.number_format(100.0*$acc/$cur, 2).'%)'; | 
						|
		} | 
						|
	} | 
						|
 | 
						|
	if (isset($info['blockshareinv'])) | 
						|
	{ | 
						|
		$shinv = $info['blockshareinv']; | 
						|
		$per = siprefmt($shinv, 1); | 
						|
		$perset = true; | 
						|
		if (isset($info['blockshareacc'])) | 
						|
		{ | 
						|
			$shacc = $info['blockshareacc']; | 
						|
			if (($shacc+$shinv) > 0) | 
						|
			{ | 
						|
				$amt = 100.0 * $shinv / ($shacc + $shinv); | 
						|
				if (round($amt, 2) > 9.99) | 
						|
					$per .= ' ('.number_format($amt, 1).'%)'; | 
						|
				else | 
						|
					$per .= ' ('.number_format($amt, 2).'%)'; | 
						|
			} | 
						|
		} | 
						|
	} | 
						|
 | 
						|
	if (isset($info['blockerr'])) | 
						|
	{ | 
						|
		if ($perset == false) | 
						|
			$per = ''; | 
						|
		else | 
						|
			$per .= ' · '; | 
						|
 | 
						|
		$inv = $info['blockerr']; | 
						|
		$per .= siprefmt($inv, 1); | 
						|
		if (isset($info['blockacc'])) | 
						|
		{ | 
						|
			$acc = $info['blockacc']; | 
						|
			if (($acc+$inv) > 0) | 
						|
			{ | 
						|
				$amt = 100.0 * $inv / ($acc + $inv); | 
						|
				if (round($amt, 2) > 9.99) | 
						|
					$per .= ' ('.number_format($amt, 1).'%)'; | 
						|
				else | 
						|
					$per .= ' ('.number_format($amt, 2).'%)'; | 
						|
			} | 
						|
		} | 
						|
	} | 
						|
 | 
						|
	if (isset($info['u_hashrate5m'])) | 
						|
	{ | 
						|
		$uhr = $info['u_hashrate5m']; | 
						|
		if ($uhr == '?') | 
						|
			$uhr = '?GHs'; | 
						|
		else | 
						|
			$uhr = dsprate($uhr); | 
						|
	} | 
						|
 | 
						|
	if (isset($info['u_hashrate1hr']) | 
						|
	and isset($info['u_elapsed']) | 
						|
	and $info['u_elapsed'] > 3600) | 
						|
	{ | 
						|
		$u1hr = $info['u_hashrate1hr']; | 
						|
		if ($u1hr == '?') | 
						|
			$u1hr = ''; | 
						|
		else | 
						|
		{ | 
						|
			$u1hr = '/'.dsprate($u1hr); | 
						|
 | 
						|
			// Remove the first XHs if they are the same | 
						|
			if (substr($u1hr, -3) == substr($uhr, -3)) | 
						|
				$uhr = substr($uhr, 0, -3); | 
						|
		} | 
						|
	} | 
						|
 } | 
						|
 | 
						|
 $top = "<noscript><div class=jst id=jst> Javascript isn't enabled."; | 
						|
 $top .= " You need to enable javascript to use"; | 
						|
 $top .= " the $site_title web site.</div></noscript>"; | 
						|
 | 
						|
 $top .= $alert_marker; | 
						|
 if ($loginfailed === true) | 
						|
	$top .= '<div class=accwarn>Login Failed</div>'; | 
						|
 if (isset($info['u_nopayaddr'])) | 
						|
	$top .= '<div class=accwarn>Please set a payout address on your account!</div>'; | 
						|
 if (isset($info['u_noemail'])) | 
						|
	$top .= '<div class=accwarn>Please set an email address on your account!</div>'; | 
						|
 | 
						|
 $top .= '<div class=topd>'; | 
						|
 if ($dotop === true) | 
						|
 { | 
						|
	$lh = ''; $ls = ''; $lw = ''; | 
						|
	if (isset($info['now']) && isset($info['lastsh']) | 
						|
	&&  isset($info['lasthb']) && isset($info['lastwi'])) | 
						|
	{ | 
						|
		$lsn = $info['now'] - $info['lastsh']; | 
						|
		$lhn = $info['now'] - $info['lasthb']; | 
						|
		$lwn = $info['now'] - $info['lastwi']; | 
						|
		if ($lsn < 8) | 
						|
			$lsc = 'green.png'; | 
						|
		else | 
						|
		{ | 
						|
			if ($lsn < 10) | 
						|
				$lsc = 'orange.png'; | 
						|
			else | 
						|
				$lsc = 'red.png'; | 
						|
		} | 
						|
		if ($lhn < 5) | 
						|
			$lhc = 'green.png'; | 
						|
		else | 
						|
		{ | 
						|
			if ($lhn < 10) | 
						|
				$lhc = 'orange.png'; | 
						|
			else | 
						|
				$lhc = 'red.png'; | 
						|
		} | 
						|
		if ($lwn < 36) | 
						|
			$lwc = 'green.png'; | 
						|
		else | 
						|
		{ | 
						|
			if ($lwn < 46) | 
						|
				$lwc = 'orange.png'; | 
						|
			else | 
						|
				$lwc = 'red.png'; | 
						|
		} | 
						|
		$img1 = '<img border=0 src=/'; | 
						|
		$img2 = '>'; | 
						|
		$ls = $img1.$lsc.$img2; | 
						|
		$lh = $img1.$lhc.$img2; | 
						|
		$lw = $img1.$lwc.$img2; | 
						|
	} | 
						|
 | 
						|
	if (!isset($info['users'])) | 
						|
		$info['users'] = '?'; | 
						|
	if (!isset($info['workers'])) | 
						|
		$info['workers'] = '?'; | 
						|
 | 
						|
	$top .= '<table cellpadding=0 cellspacing=0 border=0 width=100%><tr><td>'; | 
						|
	$top .= '<table cellpadding=1 cellspacing=0 border=0>'; | 
						|
	$top .= "<tr><td class=topdes>$lh</td></tr>"; | 
						|
	$top .= "<tr><td class=topdes>$ls</td></tr>"; | 
						|
	$top .= "<tr id=mini0><td class=topdes>$lw</td></tr></table>"; | 
						|
	$top .= '</td><td>'; | 
						|
	$top .= '<table cellpadding=1 cellspacing=0 border=0 width=100%>'; | 
						|
	$top .= '<tr><td class=topdes>CKPool: </td>'; | 
						|
	$top .= "<td class=topdat> $phr</td></tr>"; | 
						|
	$top .= '<tr><td class=topdes>Shares: </td>'; | 
						|
	$top .= "<td class=topdat> $pac</td></tr>"; | 
						|
	$top .= '<tr id=mini1><td class=topdes>Invalids: </td>'; | 
						|
	$top .= "<td class=topdat> $per</td></tr></table>"; | 
						|
	$top .= '</td><td>'; | 
						|
	$top .= '<table cellpadding=1 cellspacing=0 border=0 width=100%>'; | 
						|
	$top .= '<tr><td class=topdes>Last </td>'; | 
						|
	$top .= '<td class=topdesl>Block</td></tr>'; | 
						|
	$top .= '<tr><td class=topdes>Pool: </td>'; | 
						|
	$top .= "<td class=topdat> $plb</td></tr>"; | 
						|
	$top .= '<tr id=mini2><td class=topdes>Network: </td>'; | 
						|
	$top .= "<td class=topdat> $nlb</td></tr></table>"; | 
						|
	$top .= '</td><td id=mini3>'; | 
						|
	$top .= '<table cellpadding=1 cellspacing=0 border=0 width=100%>'; | 
						|
	$top .= '<tr><td class=topdes>Users: </td>'; | 
						|
	$top .= '<td class=topdat> '.$info['users'].'</td></tr>'; | 
						|
	$top .= '<tr><td class=topdes>Workers: </td>'; | 
						|
	$top .= '<td class=topdat> '.$info['workers'].'</td></tr></table>'; | 
						|
	$top .= '</td><td>'; | 
						|
 | 
						|
	if ($douser === true) | 
						|
	{ | 
						|
		$top .= '<span class=login>'; | 
						|
		list($who, $whoid) = validate(); | 
						|
		if ($who == false) | 
						|
		{ | 
						|
			$top .= '<table cellpadding=0 cellspacing=0 border=0><tr><td>'; | 
						|
			$top .= '<a href="https://' . $_SERVER['SERVER_NAME']; | 
						|
			$top .= '/index.php?Register=1">Login<br>Register</a>'; | 
						|
			$top .= '</td></tr></table>'; | 
						|
		} | 
						|
		else | 
						|
		{ | 
						|
			$extra = ''; | 
						|
			if (strlen($who) > 12) | 
						|
			{ | 
						|
				$who = substr($who, 0, 12); | 
						|
				$extra = '…'; | 
						|
			} | 
						|
			$top .= "<span class=topwho>".htmlspecialchars($who)."$extra </span>"; | 
						|
			$top .= makeForm(''); | 
						|
			$top .= "<input type=submit name=Logout value=Logout></form>"; | 
						|
			$top .= "<br><span class=topdes>Hash Rate:</span>"; | 
						|
			$top .= "<span class=topdat>$uhr$u1hr</span><br>"; | 
						|
		} | 
						|
 | 
						|
		$top .= '</span>'; | 
						|
	} | 
						|
	$top .= '</td></tr></table>'; | 
						|
 } | 
						|
 else | 
						|
	$top .= ' '; | 
						|
 | 
						|
 $top .= '</div>'; | 
						|
 return $top; | 
						|
} | 
						|
# | 
						|
function pgmenu($menus) | 
						|
{ | 
						|
 $ret = "\n<table cellpadding=0 cellspacing=0 border=0 width=100% id=n42>"; | 
						|
 $ret .= '<tr><td width=100%>'; | 
						|
 $ret .= '<table cellpadding=0 cellspacing=0 border=0 width=100%>'; | 
						|
 $ret .= '<tr>'; | 
						|
 $side = ''; | 
						|
 foreach ($menus as $menu => $submenus) | 
						|
 { | 
						|
  if ($menu == 'Admin' && $submenus == null) | 
						|
	continue; | 
						|
 | 
						|
  if ($menu == 'gap') | 
						|
  { | 
						|
	$side = 'r'; | 
						|
	continue; | 
						|
  } | 
						|
  $ret .= "<td class=navbox$side><table cellpadding=0 cellspacing=0 border=0>"; | 
						|
  $first = true; | 
						|
  foreach ($submenus as $submenu => $item) | 
						|
  { | 
						|
	if ($first == true) | 
						|
	{ | 
						|
		$first = false; | 
						|
		if ($submenu == $menu) | 
						|
		{ | 
						|
			$ret .= "<tr><td class=nav0>".makeLink($item)."$menu</a>"; | 
						|
			$ret .= '<div class=sub><table cellpadding=0 cellspacing=0 border=0 width=100%>'; | 
						|
			continue; | 
						|
		} | 
						|
		$ret .= "<tr><td class=nav onclick=''><a>$menu</a>"; | 
						|
		$ret .= '<div class=sub><table cellpadding=0 cellspacing=0 border=0 width=100%>'; | 
						|
	} | 
						|
	$ret .= "<tr><td class=ts>".makeLink($item,'class=as')."$submenu</a></td></tr>"; | 
						|
  } | 
						|
  if ($first == false) | 
						|
	$ret .= '</table></div></td></tr></table>'; | 
						|
  $ret .= '</td>'; | 
						|
 } | 
						|
 $ret .= "</tr></table></td></tr></table>\n"; | 
						|
 return $ret; | 
						|
} | 
						|
# | 
						|
function pgbody($alert_marker, $info, $page, $menu, $dotop, $user, $douser) | 
						|
{ | 
						|
 $body = '<body'; | 
						|
 if ($page == 'index') | 
						|
	$body .= ' background=/BTC20.png'; | 
						|
 $body .= '><div class=page>'; | 
						|
 $body .=  '<table border=0 cellpadding=0 cellspacing=0 width=100%>'; | 
						|
 | 
						|
 $body .=   '<tr><td><center>'; | 
						|
 $body .=    '<table border=0 cellpadding=0 cellspacing=0 width=94%>'; | 
						|
 | 
						|
 $body .=     '<tr><td>'; | 
						|
 $body .= pgtop($alert_marker, $info, $dotop, $user, $douser); | 
						|
 $body .=     '</td></tr>'; | 
						|
 | 
						|
 $body .=     '<tr><td>'; | 
						|
 $body .= pgmenu($menu); | 
						|
 $body .=     '</td></tr>'; | 
						|
 | 
						|
 $body .=     '<tr><td><div align=center>'; | 
						|
 | 
						|
 return $body; | 
						|
} | 
						|
# | 
						|
function pgfoot($elapsed_marker, $info) | 
						|
{ | 
						|
 global $stt; | 
						|
 $foot =      '</div></td></tr>'; | 
						|
 $foot .=    '</table>'; | 
						|
 $foot .=   '</center></td></tr>'; | 
						|
 $foot .=  '</table>'; | 
						|
 $foot .= '<div class=push></div></div>'; | 
						|
 $std = gmdate('jS M H:i:s \U\T\C', intval($stt)); | 
						|
 $foot .= "<div class=foot><br><span class=ftl>$std </span><span class=ftm>"; | 
						|
 if (is_array($info) && isset($info['sync'])) | 
						|
 { | 
						|
  $sync = $info['sync']; | 
						|
  if ($sync > 5000) | 
						|
	$syc = 'hi'; | 
						|
  else | 
						|
	$syc = 'lo'; | 
						|
  $syncd = number_format($sync); | 
						|
  $foot .= "<span class=ft$syc>sync: $syncd</span> "; | 
						|
 } | 
						|
 $foot .= 'Copyright © Kano 2014'; | 
						|
 $now = date('Y'); | 
						|
 if ($now != '2014') | 
						|
	$foot .= "-$now"; | 
						|
 $foot .= ' <span class=ft>' . $elapsed_marker; | 
						|
 $foot .= '</span></span><span class=ftr id=ftr> </span></div>'; | 
						|
 $foot .= "<script type='text/javascript'>jst();tim();mini();</script></body></html>\n"; | 
						|
 | 
						|
 return $foot; | 
						|
} | 
						|
# | 
						|
function gopage($info, $data, $pagefun, $page, $menu, $name, $user, $ispage = true, $dotop = true, $douser = true) | 
						|
{ | 
						|
 global $dbg, $stt; | 
						|
 global $page_css, $page_scripts; | 
						|
 global $alrts; | 
						|
 | 
						|
 $dbg_marker = '[@dbg@]'; | 
						|
 $css_marker = '[@css@]'; | 
						|
 $script_marker = '[@scripts@]'; | 
						|
 $alert_marker = '[@alert@]'; | 
						|
 $elapsed_marker = '[@elapsed@]'; | 
						|
 | 
						|
 if ($dbg === true) | 
						|
	$pg = $dbg_marker.'<br>'; | 
						|
 else | 
						|
	$pg = ''; | 
						|
 | 
						|
 if ($info === NULL) | 
						|
	$info = homeInfo($user); | 
						|
 | 
						|
 if ($ispage == true) | 
						|
 { | 
						|
	$both = array('info' => $info, 'data' => $data); | 
						|
	$pg .= $pagefun($both, $user); | 
						|
 } | 
						|
 else | 
						|
	$pg .= $pagefun; | 
						|
 | 
						|
// if (isset($_SESSION['logkey'])) | 
						|
//	unset($_SESSION['logkey']); | 
						|
 | 
						|
 $head = pghead($css_marker, $script_marker, $name); | 
						|
 $body = pgbody($alert_marker, $info, $page, $menu, $dotop, $user, $douser); | 
						|
 $foot = pgfoot($elapsed_marker, $info); | 
						|
 | 
						|
 if ($dbg === true) | 
						|
	$pg = str_replace($dbg_marker, cvtdbg(), $pg); | 
						|
 | 
						|
 $head = str_replace($css_marker, $page_css, $head); | 
						|
 | 
						|
 if ($page_scripts != '') | 
						|
	$page_scripts .= "</script>"; | 
						|
 | 
						|
 $head = str_replace($script_marker, $page_scripts, $head); | 
						|
 | 
						|
 $alertstr = ''; | 
						|
 foreach ($alrts as $str => $num) | 
						|
	$alertstr .= "<div class=accwarn>$str</div>"; | 
						|
 $body = str_replace($alert_marker, $alertstr, $body); | 
						|
 | 
						|
 $all = $head; | 
						|
 $all .= trm_force($body); | 
						|
 $all .= trm($pg); | 
						|
 | 
						|
 if (isset($_SERVER["REQUEST_TIME_FLOAT"])) | 
						|
	$elapsed = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"]; | 
						|
 else | 
						|
	$elapsed = microtime(true) - $stt; | 
						|
 | 
						|
 $foot = trm_force(str_replace($elapsed_marker, number_format($elapsed, 4).'s', $foot)); | 
						|
 | 
						|
 usleep(100000); | 
						|
 | 
						|
 echo $all.$foot; | 
						|
 | 
						|
 exit(0); | 
						|
} | 
						|
?>
 | 
						|
 |