]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/DomainStatusNetwork/scripts/installforemail.php
XSS vulnerability when remote-subscribing
[quix0rs-gnu-social.git] / plugins / DomainStatusNetwork / scripts / installforemail.php
old mode 100644 (file)
new mode 100755 (executable)
index a1f7a65..f773094
 
 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;
 
@@ -31,29 +39,24 @@ require_once INSTALLDIR.'/scripts/commandline.inc';
 
 $email = $args[0];
 
-$domain = DomainStatusNetworkPlugin::toDomain($email);
+$sendWelcome = have_option('w', 'welcome');
 
-$sn = DomainStatusNetworkPlugin::siteForDomain($domain);
+if ($sendWelcome && have_option('t', 'template')) {
+    $template = get_option_value('t', 'template');
+}
 
-if (empty($sn)) {
-    $installer = new DomainStatusNetworkInstaller($domain);
+try {
 
-    $installer->verbose = have_option('v', 'verbose');
+    $confirm = DomainStatusNetworkPlugin::registerEmail($email);
 
-    // Do the thing
-    $installer->main();
+    if ($sendWelcome) {
+        EmailRegistrationPlugin::sendConfirmEmail($confirm, $template);
+    }
 
-    $sn = $installer->getStatusNetwork();
+    $confirmUrl = common_local_url('register', array('code' => $confirm->code));
 
-    $config = $installer->getConfig();
+    print $confirmUrl."\n";
 
-    Status_network::$wildcard = $config['WILDCARD'];
+} catch (Exception $e) {
+    print "ERROR: " . $e->getMessage() . "\n";
 }
-
-StatusNet::switchSite($sn->nickname);
-
-$confirm = EmailRegistrationPlugin::registerEmail($email);
-
-$confirmUrl = common_local_url('register', array('code' => $confirm->code));
-
-print $confirmUrl."\n";