From: Evan Prodromou <evan@status.net>
Date: Mon, 6 Jun 2011 16:25:26 +0000 (-0400)
Subject: move email registration code to DomainStatusNetworkPlugin
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=17294a46270edd9716b9df44e495319944943e26;p=quix0rs-gnu-social.git

move email registration code to DomainStatusNetworkPlugin
---

diff --git a/plugins/DomainStatusNetwork/DomainStatusNetworkPlugin.php b/plugins/DomainStatusNetwork/DomainStatusNetworkPlugin.php
index 9390a6e083..68679f53bf 100644
--- a/plugins/DomainStatusNetwork/DomainStatusNetworkPlugin.php
+++ b/plugins/DomainStatusNetwork/DomainStatusNetworkPlugin.php
@@ -195,6 +195,32 @@ class DomainStatusNetworkPlugin extends Plugin
                             _m('A plugin that maps a single status_network to an email domain.'));
         return true;
     }
+
+    static function registerEmail($email, $sendWelcome, $template)
+    {
+        $domain = self::toDomain($email);
+
+        $sn = self::siteForDomain($domain);
+
+        if (empty($sn)) {
+            $installer = new DomainStatusNetworkInstaller($domain);
+
+            // Do the thing
+            $installer->main();
+
+            $sn = $installer->getStatusNetwork();
+
+            $config = $installer->getConfig();
+
+            Status_network::$wildcard = $config['WILDCARD'];
+        }
+
+        StatusNet::switchSite($sn->nickname);
+
+        $confirm = EmailRegistrationPlugin::registerEmail($email);
+
+        return $confirm;
+    }
 }
 
 // The way addPlugin() works, this global variable gets disappeared.
diff --git a/plugins/DomainStatusNetwork/scripts/installforemail.php b/plugins/DomainStatusNetwork/scripts/installforemail.php
index 98ce620c28..f773094a74 100644
--- a/plugins/DomainStatusNetwork/scripts/installforemail.php
+++ b/plugins/DomainStatusNetwork/scripts/installforemail.php
@@ -39,39 +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 (empty($sn)) {
-    $installer = new DomainStatusNetworkInstaller($domain);
-
-    $installer->verbose = have_option('v', 'verbose');
-
-    // Do the thing
-    $installer->main();
-
-    $sn = $installer->getStatusNetwork();
-
-    $config = $installer->getConfig();
-
-    Status_network::$wildcard = $config['WILDCARD'];
+if ($sendWelcome && have_option('t', 'template')) {
+    $template = get_option_value('t', 'template');
 }
 
-StatusNet::switchSite($sn->nickname);
+try {
 
-$confirm = EmailRegistrationPlugin::registerEmail($email);
+    $confirm = DomainStatusNetworkPlugin::registerEmail($email);
 
-if (have_option('w', 'welcome')) {
-    if (have_option('t', 'template')) {
-        // use the provided template
-        EmailRegistrationPlugin::sendConfirmEmail($confirm, get_option_value('t', 'template'));
-    } else {
-        // use the default template
-        EmailRegistrationPlugin::sendConfirmEmail($confirm);
+    if ($sendWelcome) {
+        EmailRegistrationPlugin::sendConfirmEmail($confirm, $template);
     }
-}
 
-$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";
+}