]> andersk Git - sql-web.git/blobdiff - batch/signup.php
Remove ambiguity between usernames and user IDs
[sql-web.git] / batch / signup.php
index 50041296f75041e1d943c9ff7722046961c5405b..1c64fd2b60e7c2b48b81a72ad8a537a17fba4d4c 100755 (executable)
@@ -6,8 +6,17 @@ require_once('mitsql.lib.php');
 
 require_once('batch.inc.php');
 
-$myUsername = $argv[1];
-$myUID = $argv[3];
+if (isset($argv) && count($argv)>=4) {
+    $myUsername = $argv[1];
+    $myUID = $argv[3];
+    if ($myUID<100) exit('bad UID');
+} elseif (defined('SIGNUP_PW') && strlen(SIGNUP_PW) && (isset($_SERVER['HTTP_AUTHORIZATION']) || isset($_SERVER['PHP_AUTH_PW'])) && SIGNUP_PW == $_SERVER['PHP_AUTH_PW']) {
+    $myUsername = $i_u;
+} else {
+    exit;
+}
+
+if (empty($myUsername)) exit('bad User');
 $hescmd = "hesinfo $myUsername passwd";
 $hesinfo = explode(':', trim(exec($hescmd)));
 if (count($hesinfo)>=4) {
@@ -17,14 +26,13 @@ if (count($hesinfo)>=4) {
        $myName = $myUsername;
 }
 $myEmail = $myUsername.'@mit.edu';
-$myPassword = substr(md5(uniqid()),0,8);
-
-if ($myUID<100) exit('bad UID');
+$myPassword = trim(exec(dirname(__FILE__).'/../bin/nicepass.py'));
+if (empty($myPassword)) exit('bad Password');
 
-$Login = new Login($myUsername);
+$Login = new Login(getUsernameID($myUsername));
 if (!$Login->exists() && !empty($myUsername)) {
        addUser(array('Name'=>$myName,'Username'=>$myUsername,'Email'=>$myEmail));
-       $Login->refresh();
+       $Login = new Login(getUsernameID($myUsername));
 }
 if ($Login->canSignup()) {
        $User = new User($Login->getUserId());
This page took 0.026169 seconds and 4 git commands to generate.