require_once('../mitsql.cfg.php');
require_once('mitsql.lib.php');
-if (!isAdmin()) redirect('main');
-
-if (isset($i_impersonate)) {
+if ((isAdmin() || isImpersonating()) && isset($i_impersonate)) {
impersonate($i_impersonate);
- redirect('main');
+ redirectStart();
exit;
}
+if (!isAdmin()) redirectStart();
+
$sql = sprintf("SELECT Username,Name,UserId FROM User WHERE bEnabled=1");
$users = fetchRows(DBSelect($sql),'UserId');
function impersonate($userId=null) {
$wasImpersonating = isImpersonating();
if ($wasImpersonating) {
- if (is_null($userId)) {
+ if (is_null($userId) || empty($userId)) {
sess('UserId',sess('_UserId'));
+ sess('_UserId','');
} elseif ($userId>0) {
sess('UserId',$userId);
} else {
$base = (is_null($target)||substr($target,0,1)=='?')?$_SERVER['REDIRECT_URL']:(dirname($_SERVER['REDIRECT_URL']).'/');
redirectFull(is_null($target)?$base:($base.$target),$secure);
}
+function redirectStart() {
+ redirectFull(BASE_URL,null);
+}
function redirectFull($target,$secure) {
redirect2((((isSSL()&&is_null($secure))||$secure==true)?'https://':'http://').$_SERVER['SERVER_NAME'].$target);
}
define('DELIMETER', '+');
defined('DBHOST') || define('DBHOST', 'sql.mit.edu');
-defined('BASE_URL') || define('BASE_URL', '/~sql/main');
+defined('BASE_URL') || define('BASE_URL', '/~sql/main/');
defined('ADMINUSER') || define('ADMINUSER', 'root');
defined('ADMINPASS') || define('ADMINPASS', base64_decode('TXlCZWF0c1Bvc3RA'));
defined('ADMINDB') || define('ADMINDB', 'mitsql');
$BASE_PATH = dirname(__FILE__).'/';
-$BASE_URL = BASE_URL . '/';
+$BASE_URL = BASE_URL;
//$BASE_URL = isset($_SERVER['SCRIPT_NAME'])?dirname($_SERVER['SCRIPT_NAME']).'/':'';
set_time_limit(0);
include 'tpl/head.php';
function getManagedDBs($owner=null) {
-// $databases = array_keys(fetchRows(DBSelect('SHOW DATABASES'),'Database'));
- $databases = array_keys(fetchRows(DBSelect('SELECT Name FROM DB'),'Name'));
+ $databases = array_keys(fetchRows(DBSelect('SELECT Name FROM DB WHERE bEnabled=1'),'Name'));
$owners = array();
foreach($databases as $database) {
if (stristr($database, DELIMETER)) {
return $owners;
}
+function checkQuotas() {
+ $databases = fetchRows(DBSelect('SELECT DatabaseId,Name FROM DB WHERE bEnabled=1'),'Name');
+ foreach($databases as $db) {
+ $DBId = $db['DatabaseId'];
+ $arr['dLastCheck'] = 'NOW()';
+ $arr['nBytes'] = calcDBSize($db['Name']);
+ $sql = sprintf("UPDATE DB %s WHERE DatabaseId = '%s'",
+ buildSQLSet($arr),
+ mysql_escape_string($DBId));
+ DBUpdate($sql);
+ }
+}
+
/*
$g = getManagedDBs();
print_r($g);
-*/
$User = new User($Login->getUserId());
print_r($User->getDBList());
+*/
+
+checkQuotas();
include 'tpl/foot.php';
?>
<?php
$loggedInText = $Login->getUsername();
if (isImpersonating()) {
- $loggedInText = '<a href="admin?impersonate">'.$loggedInText.'</a>';
+ $loggedInText = '<a href="admin/main?impersonate">'.$loggedInText.'</a>';
}
?>
Logged in as <em><?=$loggedInText?></em> on <?=DBHOST?>
<?php else: ?>
<div style="float:left">
<a href="index">Home</a> |
+<?php if (isAdmin()) { ?>
+<a href="admin/main">Admin</a> |
+<?php } ?>
<a href="signup">Signup</a> |
Login via <a href="login?ssl=0">SQL</a> or <a href="login?ssl=1">SSL</a>
</div>