]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/register.php
extract log-line formatting to its own function
[quix0rs-gnu-social.git] / actions / register.php
index 4ac7c349d770abcb18ae4d72200ee3be07176e2d..dcbbbdb6a6de9afb238715b7ff1cac3d78f40b7d 100644 (file)
@@ -63,13 +63,14 @@ class RegisterAction extends Action
      * @return string title
      */
 
-    function prepare()
+    function prepare($args)
     {
+        parent::prepare($args);
         $this->code = $this->trimmed('code');
 
         if (empty($this->code)) {
             common_ensure_session();
-            if (!empty($_SESSION['invitecode'])) {
+            if (array_key_exists('invitecode', $_SESSION)) {
                 $this->code = $_SESSION['invitecode'];
             }
         }
@@ -80,7 +81,7 @@ class RegisterAction extends Action
         }
 
         if (!empty($this->code)) {
-            $this->invite = Invitation::staticGet($code);
+            $this->invite = Invitation::staticGet('code', $this->code);
             if (empty($this->invite)) {
                 $this->clientError(_('Sorry, invalid invitation code.'));
                 return false;
@@ -381,6 +382,19 @@ class RegisterAction extends Action
 
     function showFormContent()
     {
+        $code = $this->trimmed('code');
+
+        $invite = null;
+
+        if ($code) {
+            $invite = Invitation::staticGet($code);
+        }
+
+        if (common_config('site', 'inviteonly') && !($code && $invite)) {
+            $this->clientError(_('Sorry, only invited people can register.'));
+            return;
+        }
+
         $this->elementStart('form', array('method' => 'post',
                                           'id' => 'form_register',
                                           'class' => 'form_settings',