[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 #!/usr/bin/env php 2 <?php 3 4 $root = dirname(dirname(dirname(__FILE__))); 5 require_once $root.'/scripts/__init_script__.php'; 6 7 if ($argc !== 5) { 8 echo "usage: add_user.php <username> <email> <realname> <admin_user>\n"; 9 exit(1); 10 } 11 12 $username = $argv[1]; 13 $email = $argv[2]; 14 $realname = $argv[3]; 15 $admin = $argv[4]; 16 17 $admin = id(new PhabricatorUser())->loadOneWhere( 18 'username = %s', 19 $argv[4]); 20 if (!$admin) { 21 throw new Exception( 22 'Admin user must be the username of a valid Phabricator account, used '. 23 'to send the new user a welcome email.'); 24 } 25 26 $existing_user = id(new PhabricatorUser())->loadOneWhere( 27 'username = %s', 28 $username); 29 if ($existing_user) { 30 throw new Exception( 31 "There is already a user with the username '{$username}'!"); 32 } 33 34 $existing_email = id(new PhabricatorUserEmail())->loadOneWhere( 35 'address = %s', 36 $email); 37 if ($existing_email) { 38 throw new Exception( 39 "There is already a user with the email '{$email}'!"); 40 } 41 42 $user = new PhabricatorUser(); 43 $user->setUsername($username); 44 $user->setRealname($realname); 45 $user->setIsApproved(1); 46 47 $email_object = id(new PhabricatorUserEmail()) 48 ->setAddress($email) 49 ->setIsVerified(1); 50 51 id(new PhabricatorUserEditor()) 52 ->setActor($admin) 53 ->createNewUser($user, $email_object); 54 55 $user->sendWelcomeEmail($admin); 56 57 echo "Created user '{$username}' (realname='{$realname}', email='{$email}').\n";
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |