|
|
|
<?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);
|
|
|
|
}
|
|
|
|
?>
|