--- /dev/null
+<?php
+
+isset($i_u) || $i_u = '';
+isset($i_p) || $i_p = '';
+isset($i_d) || $i_d = '';
+
+$i_d = str_replace(' ', '+', $i_d);
+
+?>
--- /dev/null
+<?php
+
+require_once('../mitsql.cfg.php');
+require_once('mitsql.lib.php');
+require_once('proc.lib.php');
+
+require_once('batch.inc.php');
+
+$Login = new Login($i_u, $i_p);
+if (!$Login->canLogin()) die('-1');
+
+$User = new User($Login->getUserID());
+$myUsername = $User->getUsername();
+
+if (substr($i_d,0,strlen($myUsername)+1) == $myUsername.DELIMETER) {
+ $i_d = explode(DELIMETER, $i_d);
+ array_shift($i_d);
+ $i_d = implode(DELIMETER, $i_d);
+}
+
+list($msg1, $err1) = proc::newdb($User, $i_d);
+if (!empty($err1)) die('-3');
+if (empty($err1)) die('0');
+
+?>
--- /dev/null
+#!/usr/bin/php
+<?php
+
+require_once(dirname(__FILE__).'/../mitsql.cfg.php');
+require_once('mitsql.lib.php');
+
+require_once('batch.inc.php');
+
+$callingUnix = posix_getpwuid(posix_getuid());
+
+$myUsername = escapeshellcmd($callingUnix['name']);
+$hesinfo = explode(':', trim(`hesinfo $myUsername passwd`));
+if (count($hesinfo)>=4) {
+ $myName = explode(',', $hesinfo[4]);
+ $myName = array_shift($myName);
+} else {
+ $myName = $myUsername;
+}
+$myUID = $callingUnix['uid'];
+$myEmail = $myUsername.'@mit.edu';
+$myPassword = substr(uniqid(),0,7);
+
+if ($myUID<1000) exit;
+
+$Login = new Login($myUsername);
+if (!$Login->exists() && !empty($myUsername)) {
+ addUser(array('Name'=>$myName,'Username'=>$myUsername,'Email'=>$myEmail));
+ $Login->refresh();
+}
+if ($Login->canSignup()) {
+ $User = new User($Login->getUserId());
+ echo $User->signup($myPassword);
+ echo "signup\n";
+ die($myPassword);
+}
+
+?>
--- /dev/null
+<?php
+
+require_once('../mitsql.cfg.php');
+require_once('mitsql.lib.php');
+
+require_once('batch.inc.php');
+
+$Login = new Login($i_u);
+if (!$Login->canLogin()) die('-1');
+
+die('0');
+
+?>
--- /dev/null
+#!/bin/bash
+
+gcc signup.c -o /home/tools/bin/sql-signup
+chown sql /home/tools/bin/sql-signup
+chmod 4701 /home/tools/bin/sql-signup
--- /dev/null
+#include <stdio.h>
+
+int main() {
+ system("php /home/sql/web_scripts/main/batch/signup.php");
+ return 0;
+}
--- /dev/null
+<?php
+
+require_once('mitsql.lib.php');
+
+define('MAXDBS', 20);
+
+class proc {
+ static function newdb(&$User, $i_newdb) {
+ $msg1 = $err1 = array();
+ $dbname = $User->getUsername().DELIMETER.$i_newdb;
+ if ($User->isOverQuota()) {
+ $err1[] = 'You are over your quota. You may not add more databases.';
+ } elseif (count($User->getDBList())>MAXDBS) {
+ $err1[] = 'You have too many databases. You may not add more databases.';
+ } elseif (empty($i_newdb)) {
+ $err1[] = 'Your database name may not be empty.';
+ } elseif (!$User->addDB($dbname)) {
+ if (mysql_error()) {
+ $err1[] = mysql_error();
+ } else {
+ $err1[] = 'Database already exists.';
+ }
+ } else {
+ $msg1[] = 'Database `'.$dbname.'` created.';
+ }
+ return array($msg1, $err1);
+ }
+ static function drop(&$User, $i_drop) {
+ $msg1 = $err1 = array();
+ $dropdbs = array_keys($i_drop);
+ foreach($dropdbs as $dbname) {
+ if ($User->delDB($dbname)) {
+ $msg1[] = 'Database `'.$dbname.'` dropped.';
+ } else {
+ $err1[] = mysql_error();
+ }
+ }
+ return array($msg1, $err1);
+ }
+}
+
+?>
require_once('mitsql.cfg.php');
require_once('mitsql.lib.php');
-
-define('MAXDBS', 20);
+require_once('proc.lib.php');
if (!isLoggedIn()) redirect('index');
if (isPost()) {
if (isset($i_newdb)) {
- $dbname = $User->getUsername().DELIMETER.$i_newdb;
- if ($User->isOverQuota()) {
- $err1[] = 'You are over your quota. You may not add more databases.';
- } elseif (count($User->getDBList())>MAXDBS) {
- $err1[] = 'You have too many databases. You may not add more databases.';
- } elseif (empty($i_newdb)) {
- $err1[] = 'Your database name may not be empty.';
- } elseif (!$User->addDB($dbname)) {
- if (mysql_error()) {
- $err1[] = mysql_error();
- } else {
- $err1[] = 'Database already exists.';
- }
- } else {
- $msg1[] = 'Database `'.$dbname.'` created.';
- }
+ list($msg1, $err1) = proc::newdb($User, $i_newdb);
}
if (isset($i_drop)) {
- $dropdbs = array_keys($i_drop);
- foreach($dropdbs as $dbname) {
- if ($User->delDB($dbname)) {
- $msg1[] = 'Database `'.$dbname.'` dropped.';
- } else {
- $err1[] = mysql_error();
- }
- }
+ list($msg1, $err1) = proc::drop($User, $i_drop);
}
if (!count($err1))
$User->refresh();