define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..'));
+$shortoptions = 'wt::';
+$longoptions = array('welcome', 'template=');
+
$helptext = <<<END_OF_INSTALLFOREMAIL_HELP
+
installforemail.php [options] <email address>
+Create a new account and, if necessary, a new network for the given email address
+
+-w --welcome Send a welcome email
+-t --template= Use this email template
END_OF_INSTALLFOREMAIL_HELP;
-require_once INSTALLDIR.'/scripts/commandline.inc';
+require_once INSTALLDIR.'/scripts/commandline.inc.php';
$email = $args[0];
-$domain = DomainStatusNetworkPlugin::toDomain($email);
-
-$sn = DomainStatusNetworkPlugin::siteForDomain($domain);
+$sendWelcome = have_option('w', 'welcome');
-if (empty($sn)) {
- $installer = new DomainStatusNetworkInstaller($domain);
- // Do the thing
- $installer->main();
-
- $sn = $installer->getStatusNetwork();
+if ($sendWelcome && have_option('t', 'template')) {
+ $template = get_option_value('t', 'template');
+}
- $config = $installer->getConfig();
+try {
- Status_network::$wildcard = $config['WILDCARD'];
-}
+ $confirm = DomainStatusNetworkPlugin::registerEmail($email);
-StatusNet::switchSite($sn->nickname);
+ if ($sendWelcome) {
+ EmailRegistrationPlugin::sendConfirmEmail($confirm, $template);
+ }
-$confirm = EmailRegistrationPlugin::registerEmail($email);
+ $confirmUrl = common_local_url('register', array('code' => $confirm->code));
-$confirmUrl = common_local_url('register', array('code' => $confirm->code));
+ print $confirmUrl."\n";
-print $confirmUrl."\n";
+} catch (Exception $e) {
+ print "ERROR: " . $e->getMessage() . "\n";
+}