|
|
|
<?php
|
|
|
|
#
|
|
|
|
function uset($data, $user, $api, $err)
|
|
|
|
{
|
|
|
|
$pg = '<h1>User Settings</h1>';
|
|
|
|
|
|
|
|
if ($err != '')
|
|
|
|
$pg .= "<span class=err>$err<br><br></span>";
|
|
|
|
|
|
|
|
$pg .= '<table cellpadding=20 cellspacing=0 border=1>';
|
|
|
|
$pg .= '<tr class=dc><td><span class=nb>';
|
|
|
|
$pg .= "<input type=checkbox id=minicb onclick='md(this)'>";
|
|
|
|
$pg .= 'mini header</span></td></tr>';
|
|
|
|
$pg .= '<tr class=dc><td><center>';
|
|
|
|
|
|
|
|
$pg .= makeForm('userset');
|
|
|
|
$pg .= '<table cellpadding=5 cellspacing=0 border=0>';
|
|
|
|
$pg .= '<tr class=dc><td>';
|
|
|
|
if ($api === false)
|
|
|
|
{
|
|
|
|
$pg .= "You don't have an API Key setup yet";
|
|
|
|
$draw = false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
addQR();
|
|
|
|
$pg .= 'Your current API Key is:';
|
|
|
|
$pg .= '</td></tr><tr class=dc><td>';
|
|
|
|
$pg .= "<span class=hil>$api</span></td></tr>";
|
|
|
|
$pg .= '<tr class=dc><td><div id=can0><canvas id=can width=1 height=1>';
|
|
|
|
$pg .= 'A qrcode will show here if your browser supports html5/canvas';
|
|
|
|
$pg .= "</canvas></div>";
|
|
|
|
$draw = true;
|
|
|
|
}
|
|
|
|
$pg .= '</td></tr><tr class=dc><td>';
|
|
|
|
$pg .= 'Click to generate a new API key';
|
|
|
|
$pg .= ": <input type=submit name=Change value='API Key'>";
|
|
|
|
$pg .= '</td></tr>';
|
|
|
|
if ($api !== false)
|
|
|
|
{
|
|
|
|
$pg .= '<tr class=dc><td> </td></tr>';
|
|
|
|
$pg .= '<tr class=dc><td>You can access the API via:';
|
|
|
|
$pg .= '</td></tr><tr class=dc><td>';
|
|
|
|
$pg .= "<span class=hil>/index.php?k=api&username=";
|
|
|
|
$pg .= htmlspecialchars(urlencode($user));
|
|
|
|
$pg .= "&api=$api&json=y</span><br>";
|
|
|
|
$pg .= '</td></tr>';
|
|
|
|
$pg .= '<tr class=dc><td>You can get your workers via:';
|
|
|
|
$pg .= '</td></tr><tr class=dc><td>';
|
|
|
|
$pg .= "<span class=hil>/index.php?k=api&username=";
|
|
|
|
$pg .= htmlspecialchars(urlencode($user));
|
|
|
|
$pg .= "&api=$api&json=y&work=y</span><br>";
|
|
|
|
$pg .= '</td></tr>';
|
|
|
|
}
|
|
|
|
$pg .= '</table></form>';
|
|
|
|
|
|
|
|
$pg .= '</center></td></tr>';
|
|
|
|
$pg .= '</table>';
|
|
|
|
|
|
|
|
if ($draw !== false)
|
|
|
|
{
|
|
|
|
$qr = shell_exec("../pool/myqr.sh '$api'");
|
|
|
|
if ($qr !== null and strlen($qr) > 30)
|
|
|
|
{
|
|
|
|
$pg .= "<script type='text/javascript'>\n";
|
|
|
|
$pg .= "${qr}qr(tw,fa,qrx,qry,qrd);</script>\n";
|
|
|
|
|
|
|
|
if (strpos($qr, 'var tw=1,fa=0,qrx=') === false)
|
|
|
|
error_log("QR error for '$user' res='$qr'");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
if ($qr === null)
|
|
|
|
$qr = 'null';
|
|
|
|
error_log("QR failed for '$user' res='$qr'");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return $pg;
|
|
|
|
}
|
|
|
|
#
|
|
|
|
function douserset($data, $user)
|
|
|
|
{
|
|
|
|
$err = '';
|
|
|
|
$chg = getparam('Change', false);
|
|
|
|
$api = false;
|
|
|
|
switch ($chg)
|
|
|
|
{
|
|
|
|
case 'API Key':
|
|
|
|
$ans = getAtts($user, 'KAPIKey.str,KAPIKey.dateexp');
|
|
|
|
if ($ans['STATUS'] != 'ok')
|
|
|
|
dbdown(); // Should be no other reason?
|
|
|
|
if (isset($ans['KAPIKey.dateexp']) && $ans['KAPIKey.dateexp'] == 'N')
|
|
|
|
{
|
|
|
|
$err = 'You can only change it once a day';
|
|
|
|
if (isset($ans['KAPIKey.str']))
|
|
|
|
$api = $ans['KAPIKey.str'];
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
$ran = $ans['STAMP'].$user.rand(100000000,999999999);
|
|
|
|
$api = hash('md4', $ran);
|
|
|
|
|
|
|
|
$day = 60 * 60 * 24;
|
|
|
|
$ans = setAtts($user, array('ua_KAPIKey.str' => $api,
|
|
|
|
'ua_KAPIKey.date' => "now+$day"));
|
|
|
|
if ($ans['STATUS'] != 'ok')
|
|
|
|
syserror();
|
|
|
|
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
if ($api === false)
|
|
|
|
{
|
|
|
|
$ans = getAtts($user, 'KAPIKey.str');
|
|
|
|
if ($ans['STATUS'] != 'ok')
|
|
|
|
dbdown(); // Should be no other reason?
|
|
|
|
if (isset($ans['KAPIKey.str']))
|
|
|
|
$api = $ans['KAPIKey.str'];
|
|
|
|
}
|
|
|
|
$pg = uset($data, $user, $api, $err);
|
|
|
|
return $pg;
|
|
|
|
}
|
|
|
|
#
|
|
|
|
function show_userset($info, $page, $menu, $name, $user)
|
|
|
|
{
|
|
|
|
gopage($info, NULL, 'douserset', $page, $menu, $name, $user);
|
|
|
|
}
|
|
|
|
#
|
|
|
|
?>
|