]> andersk Git - sql-web.git/commitdiff
check quotas code
authorJoe Presbrey <presbrey@mit.edu>
Fri, 9 Sep 2005 05:22:15 +0000 (05:22 +0000)
committerJoe Presbrey <presbrey@mit.edu>
Fri, 9 Sep 2005 05:22:15 +0000 (05:22 +0000)
impersonate code finished
admin link from menu

git-svn-id: svn://presbrey.mit.edu/sql/mitsql@54 a142d4bd-2cfb-0310-9673-cb33a7e74f58

admin/main.php [moved from admin/index.php with 78% similarity]
lib/security.lib.php
mitsql.cfg.php
test.php
tpl/menu.php

similarity index 78%
rename from admin/index.php
rename to admin/main.php
index 3bf6b3c09361c583dcb6b8093747f5c2599fe7e5..4a7a74944c451e0cb6d71be21ec83dd8688ee328 100755 (executable)
@@ -3,14 +3,14 @@
 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');
 
index 7557465526cf66a96010402dc94cdc699efa461e..03121c4424b7a0cecc7cc05f6ffcc6a076a6c5c3 100644 (file)
@@ -236,8 +236,9 @@ function isImpersonating() {
 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 {
@@ -280,6 +281,9 @@ function redirect($target=null,$secure=null) {
     $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);
 }
index f83bc9a34dcdc273d30478d1f2db3d6b84badb76..0d37ea8316bd181fcda64e643a20dee88bbca50b 100755 (executable)
@@ -21,13 +21,13 @@ if (DEVEL) {
 
 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);
index a633147b657ffc6752d40e9ebc57ea90814e99e5..6109019462b50d69985cfea536546bf39490c671 100755 (executable)
--- a/test.php
+++ b/test.php
@@ -6,8 +6,7 @@ require_once('mitsql.lib.php');
 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)) {
@@ -21,13 +20,28 @@ function getManagedDBs($owner=null) {
        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';
 ?>
index 49f4cbbc7d8b56cadaa3c243cd70010a9780077d..1ab1ded56b5104bdcf78ec684c6df0060a98a166 100644 (file)
@@ -7,13 +7,16 @@
 <?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>&nbsp;
This page took 0.075398 seconds and 5 git commands to generate.