]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/EmailReminder/scripts/sendemailreminder.php
XSS vulnerability when remote-subscribing
[quix0rs-gnu-social.git] / plugins / EmailReminder / scripts / sendemailreminder.php
old mode 100644 (file)
new mode 100755 (executable)
index 6c5ad63..5b5b26d
@@ -90,18 +90,32 @@ case 'all':
 
 if (have_option('u', 'universe')) {
     $sn = new Status_network();
-    if ($sn->find()) {
-        while ($sn->fetch()) {
-            $server = $sn->getServerName();
-            StatusNet::init($server);
-            // Different queue manager, maybe!
-            $qm = QueueManager::get();
-            foreach ($reminders as $reminder) {
-                extract($reminder);
-                $qm->enqueue(array($type, $opts), 'siterem');
-                if (!$quiet) { print "Sent pending {$type} reminders to all unconfirmed addresses in the known universe.\n"; }
+    try {
+        if ($sn->find()) {
+            while ($sn->fetch()) {
+                try {
+                    $server = $sn->getServerName();
+                    GNUsocial::init($server);
+                    // Different queue manager, maybe!
+                    $qm = QueueManager::get();
+                    foreach ($reminders as $reminder) {
+                        extract($reminder);
+                        $qm->enqueue(array($type, $opts), 'siterem');
+                        if (!$quiet) { print "Sent pending {$type} reminders for {$server}.\n"; }
+                    }
+                } catch (Exception $e) {
+                    // keep going
+                    common_log(LOG_ERR, "Couldn't init {$server}.\n", __FILE__);
+                    if (!$quiet) { print "Couldn't init {$server}.\n"; }
+                    continue;
+                }
             }
+           if (!$quiet) { print "Done! Reminders sent to all unconfirmed addresses in the known universe.\n"; }
         }
+    } catch (Exception $e) {
+        if (!$quiet) { print $e->getMessage() . "\n"; }
+        common_log(LOG_ERR, $e->getMessage(), __FILE__);
+        exit(1);
     }
 } else {
     $qm = QueueManager::get();